commit 4142e0d1def2c0176c27fd2e810243045a62eb6d Merge: 33f1de6 2daea67 Author: Linus Torvalds Date: Mon Sep 14 14:36:47 2009 -0700 Merge branch 'osync_cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'osync_cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: fsync: wait for data writeout completion before calling ->fsync vfs: Remove generic_osync_inode() and sync_page_range{_nolock}() fat: Opencode sync_page_range_nolock() pohmelfs: Use new syncing helper xfs: Convert sync_page_range() to simple filemap_write_and_wait_range() ocfs2: Update syncing after splicing to match generic version ntfs: Use new syncing helpers and update comments ext4: Remove syncing logic from ext4_file_write ext3: Remove syncing logic from ext3_file_write ext2: Update comment about generic_osync_inode vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode vfs: Rename generic_file_aio_write_nolock ocfs2: Use __generic_file_aio_write instead of generic_file_aio_write_nolock pohmelfs: Use __generic_file_aio_write instead of generic_file_aio_write_nolock vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() vfs: Export __generic_file_aio_write() and add some comments vfs: Introduce filemap_fdatawait_range commit 33f1de69312432baecb997a570b7d77c4d02d1ed Merge: 041d6d0 86d0063 Author: Linus Torvalds Date: Mon Sep 14 14:35:56 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: GFS2: Whitespace fixes GFS2: Remove unused sysfs file GFS2: Be extra careful about deallocating inodes GFS2: Remove no_formal_ino generating code GFS2: Rename eattr.[ch] as xattr.[ch] GFS2: Clean up of extended attribute support GFS2: Add explanation of extended attr on-disk format GFS2: Add "-o errors=panic|withdraw" mount options GFS2: jumping to wrong label? GFS2: free disk inode which is deleted by remote node -V2 GFS2: Add a document explaining GFS2's uevents GFS2: Add sysfs link to device GFS2: Replace assertion with proper error handling GFS2: Improve error handling in inode allocation GFS2: Add some more info to uevents GFS2: Add online uevent to GFS2 commit 041d6d0be82bed7e0b87181dba5d10b8ab14afd9 Merge: af8cb8a cbc8cc3 Author: Linus Torvalds Date: Mon Sep 14 14:35:07 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: udf: Fix possible corruption when close races with write udf: Perform preallocation only for regular files udf: Remove wrong assignment in udf_symlink udf: Remove dead code commit af8cb8aa38296ecc43aca7fae9e574db7b8ae0c4 Merge: 6cdb593 41f4db0 Author: Linus Torvalds Date: Mon Sep 14 14:34:33 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (21 commits) fs/Kconfig: move nilfs2 outside misc filesystems nilfs2: convert nilfs_bmap_lookup to an inline function nilfs2: allow btree code to directly call dat operations nilfs2: add update functions of virtual block address to dat nilfs2: remove individual gfp constants for each metadata file nilfs2: stop zero-fill of btree path just before free it nilfs2: remove unused btree argument from btree functions nilfs2: remove nilfs_dat_abort_start and nilfs_dat_abort_free nilfs2: shorten freeze period due to GC in write operation v3 nilfs2: add more check routines in mount process nilfs2: An unassigned variable is assigned to a never used structure member nilfs2: use GFP_NOIO for bio_alloc instead of GFP_NOWAIT nilfs2: stop using periodic write_super callback nilfs2: clean up nilfs_write_super nilfs2: fix disorder of nilfs_write_super in nilfs_sync_fs nilfs2: remove redundant super block commit nilfs2: implement nilfs_show_options to display mount options in /proc/mounts nilfs2: always lookup disk block address before reading metadata block nilfs2: use semaphore to protect pointer to a writable FS-instance nilfs2: fix format string compile warning (ino_t) ... commit 6cdb5930a6fa0e35b236f4aa0e056001fe1384b4 Merge: 99bc470 9162ab2 Author: Linus Torvalds Date: Mon Sep 14 14:33:13 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: cifs: consolidate reconnect logic in smb_init routines cifs: Replace wrtPending with a real reference count cifs: protect GlobalOplock_Q with its own spinlock cifs: use tcon pointer in cifs_show_options cifs: send IPv6 addr in upcall with colon delimiters [CIFS] Fix checkpatch warnings PATCH] cifs: fix broken mounts when a SSH tunnel is used (try #4) [CIFS] Memory leak in ntlmv2 hash calculation [CIFS] potential NULL dereference in parse_DFS_referrals() commit 99bc47067910f7070e65ee318a6dd79a2371f1e5 Merge: d7e9660 cabc5c0 Author: Linus Torvalds Date: Mon Sep 14 10:48:59 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (21 commits) sparc64: Initial niagara2 perf counter support. sparc64: Perf counter 'nop' event is not constant. sparc64: Provide a way to specify a perf counter overflow IRQ enable bit. sparc64: Provide hypervisor tracing bit support for perf counters. sparc64: Initial hw perf counter support. sparc64: Implement a real set_perf_counter_pending(). sparc64: Use nmi_enter() and nmi_exit(), as needed. sparc64: Provide extern decls for sparc_??u_type strings. sparc64: Make touch_nmi_watchdog() actually work. sparc64: Kill unnecessary cast in profile_timer_exceptions_notify(). sparc64: Manage NMI watchdog enabling like x86. sparc: add basic support for 'perf' sparc: convert /proc/io_map, /proc/dvma_map to seq_file sparc, leon: sparc-leon specific SRMMU initialization and bootup fixes. sparc,leon: Added support for AMBAPP bus. sparc,leon: Introduce the sparc-leon CPU type. sparc,leon: Redefine MMU register access asi if CONFIG_LEON sparc,leon: CONFIG_SPARC_LEON option and leon specific files. sparc64: cheaper asm/uaccess.h inclusion SPARC: fix duplicate declaration ... commit d7e9660ad9d5e0845f52848bce31bcf5cdcdea6b Merge: b8cb48a 13af7a6 Author: Linus Torvalds Date: Mon Sep 14 10:37:28 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1623 commits) netxen: update copyright netxen: fix tx timeout recovery netxen: fix file firmware leak netxen: improve pci memory access netxen: change firmware write size tg3: Fix return ring size breakage netxen: build fix for INET=n cdc-phonet: autoconfigure Phonet address Phonet: back-end for autoconfigured addresses Phonet: fix netlink address dump error handling ipv6: Add IFA_F_DADFAILED flag net: Add DEVTYPE support for Ethernet based devices mv643xx_eth.c: remove unused txq_set_wrr() ucc_geth: Fix hangs after switching from full to half duplex ucc_geth: Rearrange some code to avoid forward declarations phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs drivers/net/phy: introduce missing kfree drivers/net/wan: introduce missing kfree net: force bridge module(s) to be GPL Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded ... Fixed up trivial conflicts: - arch/x86/include/asm/socket.h converted to in the x86 tree. The generic header has the same new #define's, so that works out fine. - drivers/net/tun.c fix conflict between 89f56d1e9 ("tun: reuse struct sock fields") that switched over to using 'tun->socket.sk' instead of the redundantly available (and thus removed) 'tun->sk', and 2b980dbd ("lsm: Add hooks to the TUN driver") which added a new 'tun->sk' use. Noted in 'next' by Stephen Rothwell. commit b8cb48aae1b8c50b37dcb7710363aa69a7a0d9ca Merge: 0cc6d77 78c86e5 Author: Linus Torvalds Date: Mon Sep 14 10:23:49 2009 -0700 Merge branch 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: split __phys_addr out into separate file xen: use stronger barrier after unlocking lock xen: only enable interrupts while actually blocking for spinlock xen: make -fstack-protector work under Xen commit cbc8cc33529b0e0e55ae0ff077b8cb0b71d54c7a Author: Jan Kara Date: Fri Aug 7 00:27:27 2009 +0200 udf: Fix possible corruption when close races with write When we close a file, we remove preallocated blocks from it. But this truncation was not protected by i_mutex and thus it could have raced with a write through a different fd and cause crashes or even filesystem corruption. Signed-off-by: Jan Kara commit 81056dd04465902461b627169c4b4487a11acba1 Author: Jan Kara Date: Thu Jul 16 18:02:25 2009 +0200 udf: Perform preallocation only for regular files So far we preallocated blocks also for directories but that brings a problem, when to get rid of preallocated blocks we don't need. So far we removed them in udf_clear_inode() which has a disadvantage that 1) blocks are unavailable long after writing to a directory finished and thus one can get out of space unnecessarily early 2) releasing blocks from udf_clear_inode is problematic because VFS does not expect us to redirty inode there and it also slows down memory reclaim. So preallocate blocks only for regular files where we can drop preallocation in udf_release_file. Signed-off-by: Jan Kara commit 7c6e3d1aaeb3b25b49510d193000c27037004acb Author: Jan Kara Date: Thu Jul 16 17:36:54 2009 +0200 udf: Remove wrong assignment in udf_symlink Recomputation of the pointer was wrong (it should have been just increment). Luckily, we never use the computed value. Remove it. Signed-off-by: Jan Kara commit 5891d9dd2a47d38c205115211841a3d82304628f Author: Jan Kara Date: Thu Jul 16 17:35:11 2009 +0200 udf: Remove dead code Remove code that gets never used. Signed-off-by: Jan Kara commit 2daea67e966dc0c42067ebea015ddac6834cef88 Author: Christoph Hellwig Date: Thu Sep 3 12:39:39 2009 +0200 fsync: wait for data writeout completion before calling ->fsync Currenly vfs_fsync(_range) first calls filemap_fdatawrite to write out the data, the calls into ->fsync to write out the metadata and then finally calls filemap_fdatawait to wait for the data I/O to complete. What sounds like a clever micro-optimization actually is nast trap for many filesystems. For many modern filesystems i_size or other inode information is only updated on I/O completion and we need to wait for I/O to finish before we can write out the metadata. For old fashionen filesystems that instanciate blocks during the actual write and also update the metadata at that point it opens up a large window were we could expose uninitialized blocks after a crash. While a few filesystems that need it already wait for the I/O to finish inside their ->fsync methods it is rather suboptimal as it is done under the i_mutex and also always for the whole file instead of just a part as we could do for O_SYNC handling. Here is a small audit of all fsync instances in the tree: - spufs_mfc_fsync: - ps3flash_fsync: - vol_cdev_fsync: - printer_fsync: - fb_deferred_io_fsync: - bad_file_fsync: - simple_sync_file: don't care - filesystems/drivers do't use the page cache or are purely in-memory. - simple_fsync: - file_fsync: - affs_file_fsync: - fat_file_fsync: - jfs_fsync: - ubifs_fsync: - reiserfs_dir_fsync: - reiserfs_sync_file: never touch pagecache themselves. We need to wait before if we do not want to expose stale data after an allocation. - afs_fsync: - fuse_fsync_common: do the waiting writeback itself in awkward ways, would benefit from proper semantics - block_fsync: Does a filemap_write_and_wait on the block device inode. Because we now have f_mapping that is the same inode we call it on in vfs_fsync. So just removing it and letting the VFS do the work in one go would be an improvement. - btrfs_sync_file: - cifs_fsync: - xfs_file_fsync: need the wait first and currently do it themselves. would benefit from doing it outside i_mutex. - coda_fsync: - ecryptfs_fsync: - exofs_file_fsync: - shm_fsync: only passes the fsync through to the lower layer - ext3_sync_file: doesn't seem to care, comments are confusing. - ext4_sync_file: would need the wait to work correctly for delalloc mode with late i_size updates. Otherwise the ext3 comment applies. currently implemens it's own writeback and wait in an odd way, could benefit from doing it properly. - gfs2_fsync: not needed for journaled data mode, but probably harmless there. Currently writes back data asynchronously itself. Needs some major audit. - hostfs_fsync: just calls fsync/datasync on the host FD. Without the wait before data might not even be inflight yet if we're unlucky. - hpfs_file_fsync: - ncp_fsync: no-ops. Dangerous before and after. - jffs2_fsync: just calls jffs2_flush_wbuf_gc, not sure how this relates to data. - nfs_fsync_dir: just increments stats, claims all directory operations are synchronous - nfs_file_fsync: only writes out data??? Looks very odd. - nilfs_sync_file: looks like it expects all data done, but not sure from the code - ntfs_dir_fsync: - ntfs_file_fsync: appear to do their own data writeback. Very convoluted code. - ocfs2_sync_file: does it's own data writeback, but no wait. probably needs the wait. - smb_fsync: according to a comment expects all pages written already, probably needs the wait before. This patch only changes vfs_fsync_range, removal of the wait in the methods that have it is left to the filesystem maintainers. Note that most filesystems really do need an audit for their fsync methods given the gems found in this very brief audit. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara commit 18f2ee705d98034b0f229a3202d827468d4bffd9 Author: Jan Kara Date: Tue Aug 18 18:43:15 2009 +0200 vfs: Remove generic_osync_inode() and sync_page_range{_nolock}() Remove these three functions since nobody uses them anymore. Signed-off-by: Jan Kara commit 2f3d675bcd4a84251d6e8eea8096ec8fc795e5d6 Author: Jan Kara Date: Mon Aug 17 17:00:02 2009 +0200 fat: Opencode sync_page_range_nolock() fat_cont_expand() is the only user of sync_page_range_nolock(). It's also the only user of generic_osync_inode() which does not have a file open. So opencode needed actions for FAT so that we can convert generic_osync_inode() to a standard syncing path. Update a comment about generic_osync_inode(). CC: OGAWA Hirofumi Signed-off-by: Jan Kara commit aa3caafe53cab7ef60605e481cd5d7943e1c3022 Author: Jan Kara Date: Tue Aug 18 18:38:45 2009 +0200 pohmelfs: Use new syncing helper Use new generic_write_sync() helper instead of sync_page_range(). Acked-by: Evgeniy Polyakov Signed-off-by: Jan Kara commit af0f4414f343429971d33b0dd8dccc85c1f3dcd2 Author: Jan Kara Date: Tue Aug 18 18:32:55 2009 +0200 xfs: Convert sync_page_range() to simple filemap_write_and_wait_range() Christoph Hellwig says that it is enough for XFS to call filemap_write_and_wait_range() instead of sync_page_range() because we do all the metadata syncing when forcing the log. CC: Felix Blyakher CC: xfs@oss.sgi.com CC: Christoph Hellwig Signed-off-by: Jan Kara commit d23c937b0f740888765676f6f82f509dbbb2bbad Author: Jan Kara Date: Tue Aug 18 18:24:31 2009 +0200 ocfs2: Update syncing after splicing to match generic version Update ocfs2 specific splicing code to use generic syncing helper. The sync now does not happen under rw_lock because generic_write_sync() acquires i_mutex which ranks above rw_lock. That should not matter because standard fsync path does not hold it either. Acked-by: Joel Becker Acked-by: Mark Fasheh CC: ocfs2-devel@oss.oracle.com Signed-off-by: Jan Kara commit ebbbf757c6b8577ac2fb6181c08c2059153bb0e2 Author: Jan Kara Date: Tue Aug 18 18:13:58 2009 +0200 ntfs: Use new syncing helpers and update comments Use new syncing helpers in .write and .aio_write functions. Also remove superfluous syncing in ntfs_file_buffered_write() and update comments about generic_osync_inode(). CC: Anton Altaparmakov CC: linux-ntfs-dev@lists.sourceforge.net Signed-off-by: Jan Kara commit 0d34ec62e18984ac9476208660372306ef54e70d Author: Jan Kara Date: Tue Aug 18 17:48:27 2009 +0200 ext4: Remove syncing logic from ext4_file_write The syncing is now properly handled by generic_file_aio_write() so no special ext4 code is needed. CC: linux-ext4@vger.kernel.org CC: tytso@mit.edu Signed-off-by: Jan Kara commit e367626b6164aeecb97fb7c20509ed8696babc26 Author: Jan Kara Date: Tue Aug 18 17:51:23 2009 +0200 ext3: Remove syncing logic from ext3_file_write Syncing is now properly done by generic_file_aio_write() so no special logic is needed in ext3. CC: linux-ext4@vger.kernel.org Signed-off-by: Jan Kara commit a2a735ad666a04306a708b5a0109cc1fe113f569 Author: Jan Kara Date: Tue Aug 18 17:54:11 2009 +0200 ext2: Update comment about generic_osync_inode We rely on generic_write_sync() now. CC: linux-ext4@vger.kernel.org Signed-off-by: Jan Kara commit 148f948ba877f4d3cdef036b1ff6d9f68986706a Author: Jan Kara Date: Mon Aug 17 19:52:36 2009 +0200 vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Introduce new function for generic inode syncing (vfs_fsync_range) and use it from fsync() path. Introduce also new helper for syncing after a sync write (generic_write_sync) using the generic function. Use these new helpers for syncing from generic VFS functions. This makes O_SYNC writes to block devices acquire i_mutex for syncing. If we really care about this, we can make block_fsync() drop the i_mutex and reacquire it before it returns. CC: Evgeniy Polyakov CC: ocfs2-devel@oss.oracle.com CC: Joel Becker CC: Felix Blyakher CC: xfs@oss.sgi.com CC: Anton Altaparmakov CC: linux-ntfs-dev@lists.sourceforge.net CC: OGAWA Hirofumi CC: linux-ext4@vger.kernel.org CC: tytso@mit.edu Acked-by: Christoph Hellwig Signed-off-by: Jan Kara commit eef99380679e20e7edc096aa4d8a98b875404d79 Author: Christoph Hellwig Date: Thu Aug 20 17:43:41 2009 +0200 vfs: Rename generic_file_aio_write_nolock generic_file_aio_write_nolock() is now used only by block devices and raw character device. Filesystems should use __generic_file_aio_write() in case generic_file_aio_write() doesn't suit them. So rename the function to blkdev_aio_write() and move it to fs/blockdev.c. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara commit 918941a3f3d46c2a69971b4718aaf13b1be2f1a7 Author: Jan Kara Date: Mon Aug 17 18:50:08 2009 +0200 ocfs2: Use __generic_file_aio_write instead of generic_file_aio_write_nolock Use the new helper. We have to submit data pages ourselves in case of O_SYNC write because __generic_file_aio_write does not do it for us. OCFS2 developpers might think about moving the sync out of i_mutex which seems to be easily possible but that's out of scope of this patch. CC: ocfs2-devel@oss.oracle.com Acked-by: Joel Becker Signed-off-by: Jan Kara commit b04f932171e8a99bb8ca2f863b2b9eadb85741e8 Author: Jan Kara Date: Mon Aug 17 18:14:33 2009 +0200 pohmelfs: Use __generic_file_aio_write instead of generic_file_aio_write_nolock Use new helper __generic_file_aio_write(). Since the fs takes care of syncing by itself afterwards, there are no more changes needed. CC: Evgeniy Polyakov Signed-off-by: Jan Kara commit c7b50db21fe8c295092518e224d60b95e69da3b0 Author: Jan Kara Date: Tue Aug 18 16:18:20 2009 +0200 vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() generic_file_direct_write() and generic_file_buffered_write() called generic_osync_inode() if it was called on O_SYNC file or IS_SYNC inode. But this is superfluous since generic_file_aio_write() does the syncing as well. Also XFS and OCFS2 which call these functions directly handle syncing themselves. So let's have a single place where syncing happens: generic_file_aio_write(). We slightly change the behavior by syncing only the range of file to which the write happened for buffered writes but that should be all that is required. CC: ocfs2-devel@oss.oracle.com CC: Joel Becker CC: Felix Blyakher CC: xfs@oss.sgi.com Signed-off-by: Jan Kara commit e4dd9de3c66bc7e26c5c7f149a060c5a67cf06a0 Author: Jan Kara Date: Mon Aug 17 18:10:06 2009 +0200 vfs: Export __generic_file_aio_write() and add some comments Rename __generic_file_aio_write_nolock() to __generic_file_aio_write(), add comments to write helpers explaining how they should be used and export __generic_file_aio_write() since it will be used by some filesystems. CC: ocfs2-devel@oss.oracle.com CC: Joel Becker Acked-by: Evgeniy Polyakov Reviewed-by: Christoph Hellwig Signed-off-by: Jan Kara commit d3bccb6f4b886060aa0f58976b92b77d951f5434 Author: Jan Kara Date: Mon Aug 17 19:30:27 2009 +0200 vfs: Introduce filemap_fdatawait_range This simple helper saves some filesystems conversion from byte offset to page numbers and also makes the fdata* interface more complete. Reviewed-by: Christoph Hellwig Signed-off-by: Jan Kara commit 0cc6d77e55eca9557bbe41bf2db94b31aa8fcb2a Merge: 55e0715 5051fd6 Author: Linus Torvalds Date: Mon Sep 14 08:01:47 2009 -0700 Merge branch 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, e820: Guard against array overflowed in __e820_add_region() x86, setup: remove obsolete pre-Kconfig CONFIG_VIDEO_ variables commit 55e0715f612f19b44c17497929091df2f3357e5d Merge: 7dfd54a bdf977b Author: Linus Torvalds Date: Mon Sep 14 08:01:28 2009 -0700 Merge branch 'x86-percpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-percpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, percpu: Collect hot percpu variables into one cacheline x86, percpu: Fix DECLARE/DEFINE_PER_CPU_PAGE_ALIGNED() x86, percpu: Add 'percpu_read_stable()' interface for cacheable accesses commit 7dfd54a905be0242bd604557d543c3a2d7b0a540 Merge: 6512c0d 565b0c1 Author: Linus Torvalds Date: Mon Sep 14 07:59:32 2009 -0700 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, highmem_32.c: Clean up comment x86, pgtable.h: Clean up types x86: Clean up dump_pagetable() commit 6512c0d62589c9f4da00328518e492ddd1c01c7f Merge: 625037c c7bd041 Author: Linus Torvalds Date: Mon Sep 14 07:59:07 2009 -0700 Merge branch 'x86-kbuild-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-kbuild-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Simplify the Makefile in a minor way through use of cc-ifversion commit 625037cc405eabbfd2a39e9297e583a94886225f Merge: 8fafa0a 17950c5 Author: Linus Torvalds Date: Mon Sep 14 07:58:08 2009 -0700 Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86-64: move clts into batch cpu state updates when preloading fpu x86-64: move unlazy_fpu() into lazy cpu state part of context switch x86-32: make sure clts is batched during context switch x86: split out core __math_state_restore commit 8fafa0a789faaff4318cbfa9c2f827d2198505dc Merge: c7208de 23b6c52 Author: Linus Torvalds Date: Mon Sep 14 07:57:50 2009 -0700 Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Decrease the level of some NUMA messages to KERN_DEBUG commit c7208de304ac335d5d58db346bb773a471fc636b Merge: 15b0404 5367b68 Author: Linus Torvalds Date: Mon Sep 14 07:57:32 2009 -0700 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (22 commits) x86: Fix code patching for paravirt-alternatives on 486 x86, msr: change msr-reg.o to obj-y, and export its symbols x86: Use hard_smp_processor_id() to get apic id for AMD K8 cpus x86, sched: Workaround broken sched domain creation for AMD Magny-Cours x86, mcheck: Use correct cpumask for shared bank4 x86, cacheinfo: Fixup L3 cache information for AMD multi-node processors x86: Fix CPU llc_shared_map information for AMD Magny-Cours x86, msr: Fix msr-reg.S compilation with gas 2.16.1, on 32-bit too x86: Move kernel_fpu_using to irq_fpu_usable in asm/i387.h x86, msr: fix msr-reg.S compilation with gas 2.16.1 x86, msr: Export the register-setting MSR functions via /dev/*/msr x86, msr: Create _on_cpu helpers for {rw,wr}msr_safe_regs() x86, msr: Have the _safe MSR functions return -EIO, not -EFAULT x86, msr: CFI annotations, cleanups for msr-reg.S x86, asm: Make _ASM_EXTABLE() usable from assembly code x86, asm: Add 32-bit versions of the combined CFI macros x86, AMD: Disable wrongly set X86_FEATURE_LAHF_LM CPUID bit x86, msr: Rewrite AMD rd/wrmsr variants x86, msr: Add rd/wrmsr interfaces with preset registers x86: add specific support for Intel Atom architecture ... commit 15b0404272e1513940223cf9eefadfd22804a060 Merge: 9b74aec d535e43 Author: Linus Torvalds Date: Mon Sep 14 07:56:43 2009 -0700 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Make memtype_seq_ops const x86: uv: Clean up uv_ptc_init(), use proc_create() x86: Use printk_once() x86/cpu: Clean up various files a bit x86: Remove duplicated #include x86, ipi: Clean up safe_smp_processor_id() by using the cpu_has_apic() macro helper x86: Clean up idt_descr and idt_tableby using NR_VECTORS instead of hardcoded number x86: Further clean up of mtrr/generic.c x86: Clean up mtrr/main.c x86: Clean up mtrr/state.c x86: Clean up mtrr/mtrr.h x86: Clean up mtrr/if.c x86: Clean up mtrr/generic.c x86: Clean up mtrr/cyrix.c x86: Clean up mtrr/cleanup.c x86: Clean up mtrr/centaur.c x86: Clean up mtrr/amd.c: x86: ds.c fix invalid assignment commit 9b74aec028e7d7ce57b8deef490e440003555520 Merge: b581af5 73a2d09 Author: Linus Torvalds Date: Mon Sep 14 07:55:37 2009 -0700 Merge branch 'x86-asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: remove all now-duplicate header files x86: convert termios.h to the asm-generic version x86: convert almost generic headers to asm-generic version x86: convert trivial headers to asm-generic version x86: add copies of some headers to convert to asm-generic commit b581af5110ab62db3a33f86ea7531d5f898a520c Merge: ffaf854 53f8245 Author: Linus Torvalds Date: Mon Sep 14 07:53:49 2009 -0700 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86/i386: Put aligned stack-canary in percpu shared_aligned section x86/i386: Make sure stack-protector segment base is cache aligned x86: Detect stack protector for i386 builds on x86_64 x86: allow "=rm" in native_save_fl() x86: properly annotate alternatives.c x86: Introduce GDT_ENTRY_INIT(), initialize bad_bios_desc statically x86, 32-bit: Use generic sys_pipe() x86: Introduce GDT_ENTRY_INIT(), fix APM x86: Introduce GDT_ENTRY_INIT() x86: Introduce set_desc_base() and set_desc_limit() x86: Remove unused patch_espfix_desc() x86: Use get_desc_base() commit ffaf854b011bde97d63955a71232a20fe4382a38 Merge: 86d7101 eebc57f Author: Linus Torvalds Date: Mon Sep 14 07:51:20 2009 -0700 Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits) ACPI, x86: expose some IO-APIC routines when CONFIG_ACPI=n x86, apic: Slim down stack usage in early_init_lapic_mapping() x86, ioapic: Get rid of needless check and simplify ioapic_setup_resources() x86, ioapic: Define IO_APIC_DEFAULT_PHYS_BASE constant x86: Fix x86_model test in es7000_apic_is_cluster() x86, apic: Move dmar_table_init() out of enable_IR() x86, ioapic: Panic on irq-pin binding only if needed x86/apic: Enable x2APIC without interrupt remapping under KVM x86, apic: Drop redundant bit assignment x86, ioapic: Throw BUG instead of NULL dereference x86, ioapic: Introduce for_each_irq_pin() helper x86: Remove superfluous NULL pointer check in destroy_irq() x86/ioapic.c: unify ioapic_retrigger_irq() x86/ioapic.c: convert __target_IO_APIC_irq to conventional for() loop x86/ioapic.c: clean up replace_pin_at_irq_node logic and comments x86/ioapic.c: convert replace_pin_at_irq_node to conventional for() loop x86/ioapic.c: simplify add_pin_to_irq_node() x86/ioapic.c: convert io_apic_level_ack_pending loop to normal for() loop x86/ioapic.c: move lost comment to what seems like appropriate place x86/ioapic.c: remove redundant declaration of irq_pin_list ... commit 41f4db0f48c72db3a93cc1a0b18368d9a9aca700 Author: Ryusuke Konishi Date: Sat Aug 8 16:09:46 2009 +0900 fs/Kconfig: move nilfs2 outside misc filesystems Some people asked me questions like the following: On Wed, 15 Jul 2009 13:11:21 +0200, Leon Woestenberg wrote: > just wondering, any reasons why NILFS2 is one of the miscellaneous > filesystems and, for example, btrfs, is not in Kconfig? Actually, nilfs is NOT a filesystem came from other operating systems, but a filesystem created purely for Linux. Nor is it a flash filesystem but that for generic block devices. So, this moves nilfs outside the misc category as I responded in LKML "Re: Why does NILFS2 hide under Miscellaneous filesystems?" (Message-Id: <20090716.002526.93465395.ryusuke@osrg.net>). Signed-off-by: Ryusuke Konishi commit 0f3fe33b398abbecfcf9f08c16959d1a9a14a49a Author: Ryusuke Konishi Date: Sat Aug 15 02:29:28 2009 +0900 nilfs2: convert nilfs_bmap_lookup to an inline function The nilfs_bmap_lookup() is now a wrapper function of nilfs_bmap_lookup_at_level(). This moves the nilfs_bmap_lookup() to a header file converting it to an inline function and gives an opportunity for optimization. Signed-off-by: Ryusuke Konishi commit 2e0c2c73923fed27337039ddfd69985e6c4b91fe Author: Ryusuke Konishi Date: Sat Aug 15 15:34:33 2009 +0900 nilfs2: allow btree code to directly call dat operations The current btree code is written so that btree functions call dat operations via wrapper functions in bmap.c when they allocate, free, or modify virtual block addresses. This abstraction requires additional function calls and causes frequent call of nilfs_bmap_get_dat() function since it is used in the every wrapper function. This removes the wrapper functions and makes them available from btree.c and direct.c, which will increase the opportunity of compiler optimization. Signed-off-by: Ryusuke Konishi commit bd8169efae8bdd292675c386010f6b35f0771057 Author: Ryusuke Konishi Date: Sat Aug 15 17:22:13 2009 +0900 nilfs2: add update functions of virtual block address to dat This is a preparation for the successive cleanup ("nilfs2: allow btree to directly call dat operations"). This adds functions bundling a few operations to change an entry of virtual block address on the dat file. Signed-off-by: Ryusuke Konishi commit 7a102b09232be1ad7c180dfd1f46c7aa95dff1e0 Author: Ryusuke Konishi Date: Sat Aug 15 13:47:09 2009 +0900 nilfs2: remove individual gfp constants for each metadata file This gets rid of NILFS_CPFILE_GFP, NILFS_SUFILE_GFP, NILFS_DAT_GFP, and NILFS_IFILE_GFP. All of these constants refer to NILFS_MDT_GFP, and can be removed. Signed-off-by: Ryusuke Konishi commit 3218929dbd25245e0f601df1e359a3ed3f7fb03b Author: Ryusuke Konishi Date: Sat Aug 15 01:54:59 2009 +0900 nilfs2: stop zero-fill of btree path just before free it The btree path object is cleared just before it is freed. This will remove the code doing the unnecessary clear operation. Signed-off-by: Ryusuke Konishi commit 6d28f7ea43856449ed2f344cb209af3ba1c6b757 Author: Ryusuke Konishi Date: Sat Aug 15 01:14:10 2009 +0900 nilfs2: remove unused btree argument from btree functions Even though many btree functions take a btree object as their first argument, most of them are not used in their functions. This sticky use of the btree argument is hurting code readability and giving the possibility of inefficient code generation. So, this removes the unnecessary btree arguments. Signed-off-by: Ryusuke Konishi commit 9ead98637300dc7caefd904bbe1e092bf4d21f87 Author: Ryusuke Konishi Date: Fri Aug 14 23:39:45 2009 +0900 nilfs2: remove nilfs_dat_abort_start and nilfs_dat_abort_free These functions are not called from any functions. Signed-off-by: Ryusuke Konishi commit 1cf58fa840472ec7df6bf2312885949ebb308853 Author: Jiro SEKIBA Date: Thu Sep 3 22:24:17 2009 +0900 nilfs2: shorten freeze period due to GC in write operation v3 This is a re-revised patch to shorten freeze period. This version include a fix of the bug Konishi-san mentioned last time. When GC is runnning, GC moves live block to difference segments. Copying live blocks into memory is done in a transaction, however it is not necessarily to be in the transaction. This patch will get the nilfs_ioctl_move_blocks() out from transaction lock and put it before the transaction. I ran sysbench fileio test against nilfs partition. I copied some DVD/CD images and created snapshot to create live blocks before starting the benchmark. Followings are summary of rc8 and rc8 w/ the patch of per-request statistics, which is min/max and avg. I ran each test three times and bellow is average of those numers. According to this benchmark result, average time is slightly degrated. However, worstcase (max) result is significantly improved. This can address a few seconds write freeze. - random write per-request performance of rc8 min 0.843ms max 680.406ms avg 3.050ms - random write per-request performance of rc8 w/ this patch min 0.843ms -> 100.00% max 380.490ms -> 55.90% avg 3.233ms -> 106.00% - sequential write per-request performance of rc8 min 0.736ms max 774.343ms avg 2.883ms - sequential write per-request performance of rc8 w/ this patch min 0.720ms -> 97.80% max 644.280ms-> 83.20% avg 3.130ms -> 108.50% -----8<-----8<-----nilfs_cleanerd.conf-----8<-----8<----- protection_period 150 selection_policy timestamp # timestamp in ascend order nsegments_per_clean 2 cleaning_interval 2 retry_interval 60 use_mmap log_priority info -----8<-----8<-----nilfs_cleanerd.conf-----8<-----8<----- Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 43be0ec0387a5ccce2e064cb78502e7b2b4dd590 Author: Zhu Yanhai Date: Wed Aug 12 14:17:59 2009 +0800 nilfs2: add more check routines in mount process nilfs2: Add more safeguard routines and protections in mount process, which also makes nilfs2 report consistency error messages when checkpoint number is invalid. Signed-off-by: Zhu Yanhai Signed-off-by: Ryusuke Konishi commit a4f0b9c5b4ae83636dafde8f3a0e04b5e411a0f3 Author: Zhang Qiang Date: Sun Aug 9 19:13:10 2009 +0800 nilfs2: An unassigned variable is assigned to a never used structure member nilfs2: In procedure 'nilfs_get_sb()', when a nilfs filesysttem is mounted for the first time, local variable 'nilfs->ns_last_cno' is used before loading the latest checkpoint number from disk (in 'nilfs_fill_super'). 'nilfs->ns_last_cno' is assigned to 'sd.cno', but 'sd.cno' has never been used in the procedure. Signed-off-by: Zhang Qiang Signed-off-by: Ryusuke Konishi commit c1b353f04a42f1b531be920149b85343d56a6b3b Author: Ryusuke Konishi Date: Fri Jun 19 15:25:42 2009 +0900 nilfs2: use GFP_NOIO for bio_alloc instead of GFP_NOWAIT Alberto Bertogli advised me about bio_alloc() use in nilfs: On Sat, 13 Jun 2009 22:52:40 -0300, Alberto Bertogli wrote: > By the way, those bio_alloc()s are using GFP_NOWAIT but it looks > like they could use at least GFP_NOIO or GFP_NOFS, since the caller > can (and sometimes do) sleep. The only caller is nilfs_submit_bh(), > which calls nilfs_submit_seg_bio() which can sleep calling > wait_for_completion(). This takes in the comment and replaces the use of GFP_NOWAIT flag with GFP_NOIO. Signed-off-by: Ryusuke Konishi commit 1dfa27105a6cf4171c439fd40a004a0a17838115 Author: Jiro SEKIBA Date: Thu Jul 23 01:33:49 2009 +0900 nilfs2: stop using periodic write_super callback This removes nilfs_write_super and commit super block in nilfs internal thread, instead of periodic write_super callback. VFS layer calls ->write_super callback periodically. However, it looks like that calling back is ommited when disk I/O is busy. And when cleanerd (nilfs GC) is runnig, disk I/O tend to be busy thus nilfs superblock is not synchronized as nilfs designed. To avoid it, syncing superblock by nilfs thread instead of pdflush. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 79efdd94111f30c373fce05e4e5822d8ff671c2a Author: Jiro SEKIBA Date: Thu Jul 23 01:26:34 2009 +0900 nilfs2: clean up nilfs_write_super Separate conditions that check if syncing super block and alternative super block are required as inline functions to reuse the conditions. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 6233caa9d5b153c2190d6c1c35c1dd1010104fc1 Author: Jiro SEKIBA Date: Thu Jul 23 01:26:33 2009 +0900 nilfs2: fix disorder of nilfs_write_super in nilfs_sync_fs This fixes disorder of nilfs_write_super in nilfs_sync_fs. Commiting super block must be the end of the function so that every changes are reflected. ->sync_fs() is not called frequently so this makes nilfs_sync_fs call nilfs_commit_super instead of nilfs_write_super. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit ec5d66abdb0caf8b753a138568f20770a3d64c8c Author: Jiro SEKIBA Date: Fri Jul 10 19:57:28 2009 +0900 nilfs2: remove redundant super block commit This removes redundant super block commit. nilfs_write_super will call nilfs_commit_super to store super block into block device. However, nilfs_put_super will call nilfs_commit_super right after calling nilfs_write_super. So calling nilfs_write_super in nilfs_put_super would be redundant. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit b58a285ba40866e22e5876969a8f796a74311d9e Author: Jiro SEKIBA Date: Wed Jun 24 20:06:34 2009 +0900 nilfs2: implement nilfs_show_options to display mount options in /proc/mounts This is a patch to display mount options in procfs. Mount options will show up in the /proc/mounts as other fs does. ... /dev/sda6 /mnt nilfs2 ro,relatime,barrier=off,cp=3,order=strict 0 0 ... Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 143511046765504d2d1be633efd710f8d84e0407 Author: Ryusuke Konishi Date: Sun Sep 6 17:49:49 2009 +0900 nilfs2: always lookup disk block address before reading metadata block The current metadata file code skips disk address lookup for its data block if the buffer has a mapped flag. This has a potential risk to cause read request to be performed against the stale block address that GC moved, and it may lead to meta data corruption. The mapped flag is safe if the buffer has an uptodate flag, otherwise it may prevent necessary update of disk address in the next read. This will avoid the potential problem by ensuring disk address lookup before reading metadata block even for buffers with the mapped flag. Signed-off-by: Ryusuke Konishi commit 027d6404eb4327878454db72a006adfcb8001bb8 Author: Ryusuke Konishi Date: Sun Aug 2 22:45:33 2009 +0900 nilfs2: use semaphore to protect pointer to a writable FS-instance will get rid of nilfs_get_writer() and nilfs_put_writer() pair used to retain a writable FS-instance for a period. The pair functions were making up some kind of recursive lock with a mutex, but they became overkill since the commit 201913ed746c7724a40d33ee5a0b6a1fd2ef3193. Furthermore, they caused the following lockdep warning because the mutex can be released by a task which didn't lock it: ===================================== [ BUG: bad unlock balance detected! ] ------------------------------------- kswapd0/422 is trying to release lock (&nilfs->ns_writer_mutex) at: [] mutex_unlock+0x8/0xa but there are no more locks to release! other info that might help us debug this: no locks held by kswapd0/422. stack backtrace: Pid: 422, comm: kswapd0 Not tainted 2.6.31-rc4-nilfs #51 Call Trace: [] ? printk+0xf/0x18 [] print_unlock_inbalance_bug+0xcc/0xd7 [] ? prop_put_global+0x3/0x35 [] lock_release+0xed/0x1dc [] ? mutex_unlock+0x8/0xa [] __mutex_unlock_slowpath+0xaf/0x119 [] mutex_unlock+0x8/0xa [] nilfs_mdt_write_page+0xd8/0xe1 [nilfs2] [] shrink_page_list+0x379/0x68d [] ? isolate_pages_global+0xb4/0x18c [] shrink_list+0x26b/0x54b [] shrink_zone+0x20c/0x2a2 [] kswapd+0x407/0x591 [] ? isolate_pages_global+0x0/0x18c [] ? autoremove_wake_function+0x0/0x33 [] ? kswapd+0x0/0x591 [] kthread+0x69/0x6e [] ? kthread+0x0/0x6e [] kernel_thread_helper+0x7/0x1a This patch uses a reader/writer semaphore instead of the own lock and kills this warning. Signed-off-by: Ryusuke Konishi commit b5696e5e0dbfb6323277d51d67d230317c18aba9 Author: Heiko Carstens Date: Thu Sep 3 17:42:48 2009 +0200 nilfs2: fix format string compile warning (ino_t) Unlike on most other architectures ino_t is an unsigned int on s390. So add an explicit cast to avoid this compile warning: fs/nilfs2/recovery.c: In function 'recover_dsync_blocks': fs/nilfs2/recovery.c:555: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'ino_t' Signed-off-by: Heiko Carstens Signed-off-by: Ryusuke Konishi commit 1b2f5a641bca91966fd91dc489238068a0ab4b69 Author: Ryusuke Konishi Date: Sat Aug 22 19:10:07 2009 +0900 nilfs2: fix ignored error code in __nilfs_read_inode() The __nilfs_read_inode function is ignoring the error code returned from nilfs_read_inode_common(), and wrongly delivers a success code (zero) when it escapes from the function in erroneous cases. This adds the missing error handling. Signed-off-by: Ryusuke Konishi commit 86d006365610fe6cda243d89b67d5047dca44656 Author: Steven Whitehouse Date: Mon Sep 14 09:50:57 2009 +0100 GFS2: Whitespace fixes Reported-by: Daniel Walker Signed-off-by: Steven Whitehouse commit cabc5c0f7fa1342049042d6e147db5a73773955b Merge: b73d884 86d7101 Author: David S. Miller Date: Fri Sep 11 20:35:13 2009 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ Conflicts: arch/sparc/Kconfig commit 13af7a6ea502fcdd4c0e3d7de6e332b102309491 Author: Dhananjay Phadke Date: Fri Sep 11 11:28:15 2009 +0000 netxen: update copyright o Add QLogic copyright, add linux-driver@qlogic.com to MAINTAINERS. o Delete old contact information. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 74c520da5414d15b0ab2839d67efab2e7227be75 Author: Amit Kumar Salecha Date: Fri Sep 11 11:28:14 2009 +0000 netxen: fix tx timeout recovery Redesign tx timeout handling in line with new firmware reset design that co-ordinates with other PCI function drivers. o For NX3031, first try to reset PCI function's own context before requesting firmware reset. o For NX2031, since firmware heartbit is not supported directly request firmware reset. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ec5c50cb93c446a4686863df74e4b7a547628115 Author: Dhananjay Phadke Date: Fri Sep 11 11:28:13 2009 +0000 netxen: fix file firmware leak Release file firmware when no firmware reset is required. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ea6828b8aa3a8ebae8d7740f32f212ba1d2f0742 Author: Dhananjay Phadke Date: Fri Sep 11 11:28:12 2009 +0000 netxen: improve pci memory access o Access on card memory through memory controller (agent) rather than moving small pci window around. Clean up the code for moving windows around. o Restrict memory accesss to 64 bit, currently only firmware download uses this. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f78c0850d2ebe7a44a4b0263480a2f1a36a92218 Author: Amit Kumar Salecha Date: Fri Sep 11 11:28:11 2009 +0000 netxen: change firmware write size Use 8 byte strides for firmware download into card memory since oncard memory controller needs 8 byte (64 bit) accesses. This avoids unnecessary rmw cycles. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 5ea1c50662d447de344812054175d7151783ea25 Author: Matt Carlson Date: Fri Sep 11 16:50:16 2009 -0700 tg3: Fix return ring size breakage Commit f6eb9b1fc1411d22c073f5264e5630a541d0f7df, "tg3: Add 5717 asic rev" changed how the rx return ring size operations are done. It effectively inverts the sense of the previous test, but it failed to also invert the resulting sizes. This patch corrects that error. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 86d710146fb9975f04c505ec78caa43d227c1018 Merge: 8637343 ab3bbaa Author: Linus Torvalds Date: Fri Sep 11 16:39:11 2009 -0700 Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (87 commits) NFSv4: Disallow 'mount -t nfs4 -overs=2' and 'mount -t nfs4 -overs=3' NFS: Allow the "nfs" file system type to support NFSv4 NFS: Move details of nfs4_get_sb() to a helper NFS: Refactor NFSv4 text-based mount option validation NFS: Mount option parser should detect missing "port=" NFS: out of date comment regarding O_EXCL above nfs3_proc_create() NFS: Handle a zero-length auth flavor list SUNRPC: Ensure that sunrpc gets initialised before nfs, lockd, etc... nfs: fix compile error in rpc_pipefs.h nfs: Remove reference to generic_osync_inode from a comment SUNRPC: cache must take a reference to the cache detail's module on open() NFS: Use the DNS resolver in the mount code. NFS: Add a dns resolver for use with NFSv4 referrals and migration SUNRPC: Fix a typo in cache_pipefs_files nfs: nfs4xdr: optimize low level decoding nfs: nfs4xdr: get rid of READ_BUF nfs: nfs4xdr: simplify decode_exchange_id by reusing decode_opaque_inline nfs: nfs4xdr: get rid of COPYMEM nfs: nfs4xdr: introduce decode_sessionid helper nfs: nfs4xdr: introduce decode_verifier helper ... commit 86373435d2299b722ec87c416005953215f049c1 Merge: 483e3cd c984123 Author: Linus Torvalds Date: Fri Sep 11 16:38:33 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (25 commits) pata_rz1000: use printk_once ahci: kill @force_restart and refine CLO for ahci_kick_engine() pata_cs5535: add pci id for AMD based CS5535 controllers ahci: Add AMD SB900 SATA/IDE controller device IDs drivers/ata: use resource_size sata_fsl: Defer non-ncq commands when ncq commands active libata: add SATA PMP revision information for spec 1.2 libata: fix off-by-one error in ata_tf_read_block() ahci: Gigabyte GA-MA69VM-S2 can't do 64bit DMA ahci: make ahci_asus_m2a_vm_32bit_only() quirk more generic dmi: extend dmi_get_year() to dmi_get_date() dmi: fix date handling in dmi_get_year() libata: unbreak TPM filtering by reorganizing ata_scsi_pass_thru() sata_sis: convert to slave_link sata_sil24: always set protocol override for non-ATAPI data commands libata: Export AHCI capabilities libata: Delegate nonrot flag setting to SCSI [libata] Add pata_rdc driver for RDC ATA devices drivers/ata: Remove unnecessary semicolons libata: remove spindown skipping and warning ... commit 9feae56c0de65fdd8b1f64f376bb6578417d2b79 Author: Randy Dunlap Date: Fri Sep 11 12:41:04 2009 +0000 netxen: build fix for INET=n When CONFIG_INET is disabled, netxen has a build failure: netxen_nic_main.c:(.text+0x118fd1): undefined reference to `netxen_config_indev_addr' so make that function just an empty stub when CONFIG_INET=n. (not "inline" since that conflicts with other declarations of it) Signed-off-by: Randy Dunlap Acked-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 483e3cd6a34ad2d7e41100bc1b98614ac42a4567 Merge: 774a694 d28daf9 Author: Linus Torvalds Date: Fri Sep 11 13:24:03 2009 -0700 Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (105 commits) ring-buffer: only enable ring_buffer_swap_cpu when needed ring-buffer: check for swapped buffers in start of committing tracing: report error in trace if we fail to swap latency buffer tracing: add trace_array_printk for internal tracers to use tracing: pass around ring buffer instead of tracer tracing: make tracing_reset safe for external use tracing: use timestamp to determine start of latency traces tracing: Remove mentioning of legacy latency_trace file from documentation tracing/filters: Defer pred allocation, fix memory leak tracing: remove users of tracing_reset tracing: disable buffers and synchronize_sched before resetting tracing: disable update max tracer while reading trace tracing: print out start and stop in latency traces ring-buffer: disable all cpu buffers when one finds a problem ring-buffer: do not count discarded events ring-buffer: remove ring_buffer_event_discard ring-buffer: fix ring_buffer_read crossing pages ring-buffer: remove unnecessary cpu_relax ring-buffer: do not swap buffers during a commit ring-buffer: do not reset while in a commit ... commit 774a694f8cd08115d130a290d73c6d8563f26b1b Merge: 4f0ac85 e1f8450 Author: Linus Torvalds Date: Fri Sep 11 13:23:18 2009 -0700 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (64 commits) sched: Fix sched::sched_stat_wait tracepoint field sched: Disable NEW_FAIR_SLEEPERS for now sched: Keep kthreads at default priority sched: Re-tune the scheduler latency defaults to decrease worst-case latencies sched: Turn off child_runs_first sched: Ensure that a child can't gain time over it's parent after fork() sched: enable SD_WAKE_IDLE sched: Deal with low-load in wake_affine() sched: Remove short cut from select_task_rq_fair() sched: Turn on SD_BALANCE_NEWIDLE sched: Clean up topology.h sched: Fix dynamic power-balancing crash sched: Remove reciprocal for cpu_power sched: Try to deal with low capacity, fix update_sd_power_savings_stats() sched: Try to deal with low capacity sched: Scale down cpu_power due to RT tasks sched: Implement dynamic cpu_power sched: Add smt_gain sched: Update the cpu_power sum during load-balance sched: Add SD_PREFER_SIBLING ... commit 4f0ac854167846bd55cd81dbc9a36e03708aa01c Merge: b9356c5 6b58e7f Author: Linus Torvalds Date: Fri Sep 11 13:22:43 2009 -0700 Merge branch 'perfcounters-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (60 commits) perf tools: Avoid unnecessary work in directory lookups perf stat: Clean up statistics calculations a bit more perf stat: More advanced variance computation perf stat: Use stddev_mean in stead of stddev perf stat: Remove the limit on repeat perf stat: Change noise calculation to use stddev x86, perf_counter, bts: Do not allow kernel BTS tracing for now x86, perf_counter, bts: Correct pointer-to-u64 casts x86, perf_counter, bts: Fail if BTS is not available perf_counter: Fix output-sharing error path perf trace: Fix read_string() perf trace: Print out in nanoseconds perf tools: Seek to the end of the header area perf trace: Fix parsing of perf.data perf trace: Sample timestamps as well perf_counter: Introduce new (non-)paranoia level to allow raw tracepoint access perf trace: Sample the CPU too perf tools: Work around strict aliasing related warnings perf tools: Clean up warnings list in the Makefile perf tools: Complete support for dynamic strings ... commit b9356c53ba2f593081e5aa45eb67adcce243d1c0 Merge: d90a7e8 4680e64 Author: Linus Torvalds Date: Fri Sep 11 13:22:30 2009 -0700 Merge branch 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (55 commits) arch/x86/oprofile/op_model_amd.c: fix op_amd_handle_ibs() return type Revert "x86: oprofile/op_model_amd.c set return values for op_amd_handle_ibs()" x86/oprofile: Small coding style fixes x86/oprofile: Add counter reservation check for virtual counters x86/oprofile: Implement op_x86_virt_to_phys() oprofile: Adding switch counter to oprofile statistic variables x86/oprofile: Implement mux_clone() x86/oprofile: Enable multiplexing only if the model supports it x86/oprofile: Add function has_mux() to check multiplexing support x86/oprofile: Modify initialization of num_virt_counters x86/oprofile: Remove unused num_virt_controls from struct op_x86_model_spec x86/oprofile: Remove const qualifier from struct op_x86_model_spec x86/oprofile: Moving nmi_cpu_switch() in nmi_int.c x86/oprofile: Moving nmi_cpu_save/restore_mpx_registers() in nmi_int.c x86/oprofile: Moving nmi_setup_cpu_mux() in nmi_int.c x86/oprofile: Implement multiplexing setup/shutdown functions oprofile: Grouping multiplexing code in op_model_amd.c oprofile: Introduce op_x86_phys_to_virt() oprofile: Grouping multiplexing code in oprof.c oprofile: Remove oprofile_multiplexing_init() ... commit d90a7e86401ffea2163a4337f3a47f3909c4e255 Merge: 12a4996 4dbc9ca Author: Linus Torvalds Date: Fri Sep 11 13:21:31 2009 -0700 Merge branch 'irq-threaded-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-threaded-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: Do not mask oneshot edge type interrupts genirq: Support nested threaded irq handling genirq: Add buslock support genirq: Add oneshot support commit 12a499612e1ff439bdad240c7f86c55366941d4d Merge: eee2775 70590ea Author: Linus Torvalds Date: Fri Sep 11 13:20:42 2009 -0700 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: pci/intr_remapping: Allocate irq_iommu on node irq: Add irq_node() primitive irq: Make sure irq_desc for legacy irq get correct node setting genirq: Add prototype for handle_nested_irq() irq: Remove superfluous NULL pointer check in check_irq_resend() irq: Clean up by removing irqfixup MODULE_PARM_DESC() genirq: Fix comment describing suspend_device_irqs() genirq: Remove obsolete defines and typedefs commit eee2775d9924b22643bd89b2e568cc5eed7e8a04 Merge: 53e16fb 7db905e Author: Linus Torvalds Date: Fri Sep 11 13:20:18 2009 -0700 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (28 commits) rcu: Move end of special early-boot RCU operation earlier rcu: Changes from reviews: avoid casts, fix/add warnings, improve comments rcu: Create rcutree plugins to handle hotplug CPU for multi-level trees rcu: Remove lockdep annotations from RCU's _notrace() API members rcu: Add #ifdef to suppress __rcu_offline_cpu() warning in !HOTPLUG_CPU builds rcu: Add CPU-offline processing for single-node configurations rcu: Add "notrace" to RCU function headers used by ftrace rcu: Remove CONFIG_PREEMPT_RCU rcu: Merge preemptable-RCU functionality into hierarchical RCU rcu: Simplify rcu_pending()/rcu_check_callbacks() API rcu: Use debugfs_remove_recursive() simplify code. rcu: Merge per-RCU-flavor initialization into pre-existing macro rcu: Fix online/offline indication for rcudata.csv trace file rcu: Consolidate sparse and lockdep declarations in include/linux/rcupdate.h rcu: Renamings to increase RCU clarity rcu: Move private definitions from include/linux/rcutree.h to kernel/rcutree.h rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP rcu: Delay rcu_barrier() wait until beginning of next CPU-hotunplug operation. rcu: Fix typo in rcu_irq_exit() comment header rcu: Make rcupreempt_trace.c look at offline CPUs ... commit 53e16fbd30005905168d9b75555fdc7e0a2eac58 Merge: 4e3408d 42c2c8c Author: Linus Torvalds Date: Fri Sep 11 13:19:40 2009 -0700 Merge branch 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: printk: Fix "printk: Enable the use of more than one CON_BOOT (early console)" printk: Restore previous console_loglevel when re-enabling logging printk: Ensure that "console enabled" messages are printed on the console printk: Enable the use of more than one CON_BOOT (early console) commit 4e3408d9f71a70316ebe844c20ef0d7715281f84 Merge: a66a500 96910b6 Author: Linus Torvalds Date: Fri Sep 11 13:17:24 2009 -0700 Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (32 commits) locking, m68k/asm-offsets: Rename signal defines locking: Inline spinlock code for all locking variants on s390 locking: Simplify spinlock inlining locking: Allow arch-inlined spinlocks locking: Move spinlock function bodies to header file locking, m68k: Calculate thread_info offset with asm offset locking, m68k/asm-offsets: Rename pt_regs offset defines locking, sparc: Rename __spin_try_lock() and friends locking, powerpc: Rename __spin_try_lock() and friends lockdep: Remove recursion stattistics lockdep: Simplify lock_stat seqfile code lockdep: Simplify lockdep_chains seqfile code lockdep: Simplify lockdep seqfile code lockdep: Fix missing entries in /proc/lock_chains lockdep: Fix missing entry in /proc/lock_stat lockdep: Fix memory usage info of BFS lockdep: Reintroduce generation count to make BFS faster lockdep: Deal with many similar locks lockdep: Introduce lockdep_assert_held() lockdep: Fix style nits ... commit a66a50054e46ec2a03244bc14c48b9125fcd75a7 Merge: 7193bea 695a461 Author: Linus Torvalds Date: Fri Sep 11 13:16:37 2009 -0700 Merge branch 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (59 commits) x86/gart: Do not select AGP for GART_IOMMU x86/amd-iommu: Initialize passthrough mode when requested x86/amd-iommu: Don't detach device from pt domain on driver unbind x86/amd-iommu: Make sure a device is assigned in passthrough mode x86/amd-iommu: Align locking between attach_device and detach_device x86/amd-iommu: Fix device table write order x86/amd-iommu: Add passthrough mode initialization functions x86/amd-iommu: Add core functions for pd allocation/freeing x86/dma: Mark iommu_pass_through as __read_mostly x86/amd-iommu: Change iommu_map_page to support multiple page sizes x86/amd-iommu: Support higher level PTEs in iommu_page_unmap x86/amd-iommu: Remove old page table handling macros x86/amd-iommu: Use 2-level page tables for dma_ops domains x86/amd-iommu: Remove bus_addr check in iommu_map_page x86/amd-iommu: Remove last usages of IOMMU_PTE_L0_INDEX x86/amd-iommu: Change alloc_pte to support 64 bit address space x86/amd-iommu: Introduce increase_address_space function x86/amd-iommu: Flush domains if address space size was increased x86/amd-iommu: Introduce set_dte_entry function x86/amd-iommu: Add a gneric version of amd_iommu_flush_all_devices ... commit 7193bea53f9d9730bbc859777c2f86c76349914d Merge: 989aa44 84bc4af Author: Linus Torvalds Date: Fri Sep 11 13:16:22 2009 -0700 Merge branch 'core-futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futex: Detect mismatched requeue targets futex: Correct futex_wait_requeue_pi() commentary commit 989aa44a5f215427085ccfe65c1e378e3399c9eb Merge: 4004f02 47cab6a Author: Linus Torvalds Date: Fri Sep 11 13:15:55 2009 -0700 Merge branch 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: debug lockups: Improve lockup detection, fix generic arch fallback debug lockups: Improve lockup detection commit 4004f02d7af9bb1f5fd993fba60ed5bd0f5397a9 Merge: 332a339 5b0f437 Author: Linus Torvalds Date: Fri Sep 11 13:13:32 2009 -0700 Merge branch 'core-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: workqueues: Improve schedule_work() documentation commit 02571f89871e009b66fb5f8d5ae222e90e9f357c Author: Rémi Denis-Courmont Date: Wed Sep 9 00:00:06 2009 +0000 cdc-phonet: autoconfigure Phonet address Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit f5bb1c558405aaac41b08b2ea71137db9db46e72 Author: Rémi Denis-Courmont Date: Wed Sep 9 00:00:05 2009 +0000 Phonet: back-end for autoconfigured addresses In some cases, the network device driver knows what layer-3 address the device should have. This adds support for the Phonet stack to automatically request from the driver and add that address to the network device. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 998ec759ef2fc9c60319815c72b2b699ab939733 Author: Rémi Denis-Courmont Date: Tue Sep 8 23:59:51 2009 +0000 Phonet: fix netlink address dump error handling Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit cc411d0bae9c19ec85a150aeab4b08335f5751d1 Author: Brian Haley Date: Wed Sep 9 14:41:32 2009 +0000 ipv6: Add IFA_F_DADFAILED flag Add IFA_F_DADFAILED flag to denote an IPv6 address that has failed Duplicate Address Detection, that way tools like /sbin/ip can be more informative. 3: eth0: mtu 1500 qlen 1000 inet6 2001:db8::1/64 scope global tentative dadfailed valid_lft forever preferred_lft forever Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 384912ed194e43c03ad1cdaa09b0b1e488c34d46 Author: Marcel Holtmann Date: Mon Aug 31 21:08:19 2009 +0000 net: Add DEVTYPE support for Ethernet based devices The Ethernet framing is used for a lot of devices these days. Most prominent are WiFi and WiMAX based devices. However for userspace application it is important to classify these devices correctly and not only see them as Ethernet devices. The daemons like HAL, DeviceKit or even NetworkManager with udev support tries to do the classification in userspace with a lot trickery and extra system calls. This is not good and actually reaches its limitations. Especially since the kernel does know the type of the Ethernet device it is pretty stupid. To solve this problem the underlying device type needs to be set and then the value will be exported as DEVTYPE via uevents and available within udev. # cat /sys/class/net/wlan0/uevent DEVTYPE=wlan INTERFACE=wlan0 IFINDEX=5 This is similar to subsystems like USB and SCSI that distinguish between hosts, devices, disks, partitions etc. The new SET_NETDEV_DEVTYPE() is a convenience helper to set the actual device type. All device types are free form, but for convenience the same strings as used with RFKILL are choosen. Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit f510c35de0e63e1066db83d2fdce99e6dbde0c80 Author: Mikael Pettersson Date: Sun Sep 6 23:59:16 2009 +0000 mv643xx_eth.c: remove unused txq_set_wrr() The txq_set_wrr() function in drivers/net/mv643xx_eth.c is unused, not even referenced under #if 0 or something like that, which results in a compile-time warning: drivers/net/mv643xx_eth.c:1070: warning: 'txq_set_wrr' defined but not used Fix: remove it. Signed-off-by: Mikael Pettersson Signed-off-by: David S. Miller commit 864fdf884e82bacbe8ca5e93bd43393a61d2e2b4 Author: Anton Vorontsov Date: Thu Sep 10 11:48:12 2009 +0000 ucc_geth: Fix hangs after switching from full to half duplex MPC8360 QE UCC ethernet controllers hang when changing link duplex under a load (a bit of NFS activity is enough). PHY: mdio@e0102120:00 - Link is Up - 1000/Full sh-3.00# ethtool -s eth0 speed 100 duplex half autoneg off PHY: mdio@e0102120:00 - Link is Down PHY: mdio@e0102120:00 - Link is Up - 100/Half NETDEV WATCHDOG: eth0 (ucc_geth): transmit queue 0 timed out ------------[ cut here ]------------ Badness at c01fcbd0 [verbose debug info unavailable] NIP: c01fcbd0 LR: c01fcbd0 CTR: c0194e44 ... The cure is to disable the controller before changing speed/duplex and enable it afterwards. Though, disabling the controller might take quite a while, so we better not grab any spinlocks in adjust_link(). Instead, we quiesce the driver's activity, and only then disable the controller. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 7de8ee787e8e10adaf5635bffab4ee19a7558afb Author: Anton Vorontsov Date: Wed Sep 9 16:01:40 2009 +0000 ucc_geth: Rearrange some code to avoid forward declarations We'll need ugeth_disable() and ugeth_enable() calls earlier in the file, so rearrange some code to avoid forward declarations. The patch doesn't contain any functional changes. Signed-off-by: Anton Vorontsov Acked-by: Timur Tabi Signed-off-by: David S. Miller commit 8ff44985c761ad6697a3c97e7b14cf5362ff3801 Author: Anton Vorontsov Date: Wed Sep 9 16:01:30 2009 +0000 phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs According to specs, when auto-negotiation is disabled, Marvell PHYs need a software reset after changing speed/duplex forcing bits. Otherwise, the modified bits have no effect. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit a4b11649618ef5366ee553f4083449d6bee5d8ec Author: Julia Lawall Date: Fri Sep 11 06:22:09 2009 +0000 drivers/net/phy: introduce missing kfree Error handling code following a kzalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 966a5d1b85c45f1b55abbc1b595e0b5ca14b87db Author: Julia Lawall Date: Fri Sep 11 06:21:51 2009 +0000 drivers/net/wan: introduce missing kfree Error handling code following a kmalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 4fb019a01a7f67342d4a88d26c0817afe392c669 Author: Stephen Hemminger Date: Fri Sep 11 11:50:08 2009 -0700 net: force bridge module(s) to be GPL The only valid usage for the bridge frame hooks are by a GPL components (such as the bridge module). The kernel should not leave a crack in the door for proprietary networking stacks to slip in. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ffcfb8db540ff879c2a85bf7e404954281443414 Author: Arnaldo Carvalho de Melo Date: Fri Sep 11 11:35:22 2009 -0700 Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded And also do a better job of returning proper NET_{RX,XMIT}_ values. Based on a patch and suggestions by Mark Smith. This fixes CVE-2009-2903 Reported-by: Mark Smith Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ab3bbaa8b257845e248e9a01d12a69ca245f4197 Merge: 332a339 2ecda72 Author: Trond Myklebust Date: Fri Sep 11 14:59:37 2009 -0400 Merge branch 'nfs-for-2.6.32' commit 8ba69ba6a324b13e1190fc31e41954d190fd4f1d Author: Miklos Szeredi Date: Fri Sep 11 11:31:45 2009 -0700 net: unix: fix sending fds in multiple buffers Kalle Olavi Niemitalo reported that: "..., when one process calls sendmsg once to send 43804 bytes of data and one file descriptor, and another process then calls recvmsg three times to receive the 16032+16032+11740 bytes, each of those recvmsg calls returns the file descriptor in the ancillary data. I confirmed this with strace. The behaviour differs from Linux 2.6.26, where reportedly only one of those recvmsg calls (I think the first one) returned the file descriptor." This bug was introduced by a patch from me titled "net: unix: fix inflight counting bug in garbage collector", commit 6209344f5. And the reason is, quoting Kalle: "Before your patch, unix_attach_fds() would set scm->fp = NULL, so that if the loop in unix_stream_sendmsg() ran multiple iterations, it could not call unix_attach_fds() again. But now, unix_attach_fds() leaves scm->fp unchanged, and I think this causes it to be called multiple times and duplicate the same file descriptors to each struct sk_buff." Fix this by introducing a flag that is cleared at the start and set when the fds attached to the first buffer. The resulting code should work equivalently to the one on 2.6.26. Reported-by: Kalle Olavi Niemitalo Signed-off-by: Miklos Szeredi Signed-off-by: David S. Miller commit 332a3392188e0ad966543c87b8da2b9d246f301d Merge: a9c86d4 81bd5f6 Author: Linus Torvalds Date: Fri Sep 11 09:38:37 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (102 commits) crypto: sha-s390 - Fix warnings in import function crypto: vmac - New hash algorithm for intel_txt support crypto: api - Do not displace newly registered algorithms crypto: ansi_cprng - Fix module initialization crypto: xcbc - Fix alignment calculation of xcbc_tfm_ctx crypto: fips - Depend on ansi_cprng crypto: blkcipher - Do not use eseqiv on stream ciphers crypto: ctr - Use chainiv on raw counter mode Revert crypto: fips - Select CPRNG crypto: rng - Fix typo crypto: talitos - add support for 36 bit addressing crypto: talitos - align locks on cache lines crypto: talitos - simplify hmac data size calculation crypto: mv_cesa - Add support for Orion5X crypto engine crypto: cryptd - Add support to access underlaying shash crypto: gcm - Use GHASH digest algorithm crypto: ghash - Add GHASH digest algorithm for GCM crypto: authenc - Convert to ahash crypto: api - Fix aligned ctx helper crypto: hmac - Prehash ipad/opad ... commit a9c86d42599519f3d83b5f46bdab25046fe47b84 Merge: a12e4d3 1110afb Author: Linus Torvalds Date: Fri Sep 11 09:19:35 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (377 commits) ASoC: au1x: PSC-AC97 bugfixes ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128 ALSA: dummy - Add debug proc file ALSA: Add const prefix to proc helper functions ALSA: Re-export snd_pcm_format_name() function ALSA: hda - Use auto model for HP laptops with ALC268 codec ALSA: cs46xx - Fix minimum period size ASoC: Fix WM835x Out4 capture enumeration ALSA: Remove unneeded ifdef from sound/core.h ALSA: Remove struct snd_monitor_file from public sound/core.h ASoC: Remove unuused hw_read_t sound: oxygen: work around MCE when changing volume ALSA: dummy - Fake buffer allocations ALSA: hda/realtek: Added support for CLEVO M540R subsystem, 6 channel + digital ASoC: fix pxa2xx-ac97.c breakage ALSA: dummy - Fix the timer calculation in systimer mode ALSA: dummy - Add more description ALSA: dummy - Better jiffies handling ALSA: dummy - Support high-res timer mode ALSA: Release v1.0.21 ... commit a12e4d304ce701844c639541d90df86e165d03f9 Merge: 89af571 500b067 Author: Linus Torvalds Date: Fri Sep 11 09:17:05 2009 -0700 Merge branch 'writeback' of git://git.kernel.dk/linux-2.6-block * 'writeback' of git://git.kernel.dk/linux-2.6-block: writeback: check for registered bdi in flusher add and inode dirty writeback: add name to backing_dev_info writeback: add some debug inode list counters to bdi stats writeback: get rid of pdflush completely writeback: switch to per-bdi threads for flushing data writeback: move dirty inodes from super_block to backing_dev_info writeback: get rid of generic_sync_sb_inodes() export commit 89af571ca633ada14d17746519a179553a732d31 Merge: 1b195b1 59e3692 Author: Linus Torvalds Date: Fri Sep 11 09:16:39 2009 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (54 commits) [S390] tape: Use pr_xxx instead of dev_xxx in shared driver code [S390] Wire up page fault events for software perf counters. [S390] Remove smp_cpu_not_running. [S390] Get rid of cpuid.h header file. [S390] Limit cpu detection to 256 physical cpus. [S390] tape: Fix device online messages [S390] Enable guest page hinting by default. [S390] use generic scatterlist.h [S390] s390dbf: Add description for usage of "%s" in sprintf events [S390] Initialize __LC_THREAD_INFO early. [S390] fix recursive locking on page_table_lock [S390] kvm: use console_initcall() to initialize s390 virtio console [S390] tape: reversed order of labels [S390] hypfs: Use "%u" instead of "%d" for unsigned ints in snprintf [S390] kernel: Print an error message if kernel NSS cannot be defined [S390] zcrypt: Free ap_device if dev_set_name fails. [S390] zcrypt: Use spin_lock_bh in suspend callback [S390] xpram: Remove checksum validation for suspend/resume [S390] vmur: Invalid allocation sequence for vmur class [S390] hypfs: remove useless variable qname ... commit 1b195b170da6d75abafa290deeb8863dc8a4d79b Merge: 2490138 addd72c Author: Linus Torvalds Date: Fri Sep 11 09:16:22 2009 -0700 Merge branch 'kmemleak' of git://linux-arm.org/linux-2.6 * 'kmemleak' of git://linux-arm.org/linux-2.6: kmemleak: Improve the "Early log buffer exceeded" error message kmemleak: fix sparse warning for static declarations kmemleak: fix sparse warning over overshadowed flags kmemleak: move common painting code together kmemleak: add clear command support kmemleak: use bool for true/false questions kmemleak: Do no create the clean-up thread during kmemleak_disable() kmemleak: Scan all thread stacks kmemleak: Don't scan uninitialized memory when kmemcheck is enabled kmemleak: Ignore the aperture memory hole on x86_64 kmemleak: Printing of the objects hex dump kmemleak: Do not report alloc_bootmem blocks as leaks kmemleak: Save the stack trace for early allocations kmemleak: Mark the early log buffer as __initdata kmemleak: Dump object information on request kmemleak: Allow rescheduling during an object scanning commit 2490138cb785d299d898b579fa2874a59a3d321a Merge: f6f7919 73f526d Author: Linus Torvalds Date: Fri Sep 11 08:58:32 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (48 commits) RDMA/iwcm: Reject the connection when the cm_id is destroyed RDMA/cxgb3: Clean up properly on FW mismatch failures RDMA/cxgb3: Don't ignore insert_handle() failures MAINTAINERS: InfiniBand/RDMA mailing list transition to vger IB/mad: Allow tuning of QP0 and QP1 sizes IB/mad: Fix possible lock-lock-timer deadlock RDMA/nes: Map MTU to IB_MTU_* and correctly report link state RDMA/nes: Rework the disconn routine for terminate and flushing RDMA/nes: Use the flush code to fill in cqe error RDMA/nes: Make poll_cq return correct number of wqes during flush RDMA/nes: Use flush mechanism to set status for wqe in error RDMA/nes: Implement Terminate Packet RDMA/nes: Add CQ error handling RDMA/nes: Clean out CQ completions when QP is destroyed RDMA/nes: Change memory allocation for cqp request to GFP_ATOMIC RDMA/nes: Allocate work item for disconnect event handling RDMA/nes: Update refcnt during disconnect IB/mthca: Don't allow userspace open while recovering from catastrophic error IB/mthca: Distinguish multiple devices in /proc/interrupts IB/mthca: Annotate CQ locking ... commit f6f79190866d5b2d06a2114d673f91f54e7c7ce4 Merge: 0d03d59 a3c8b97 Author: Linus Torvalds Date: Fri Sep 11 08:55:49 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (57 commits) binfmt_elf: fix PT_INTERP bss handling TPM: Fixup boot probe timeout for tpm_tis driver sysfs: Add labeling support for sysfs LSM/SELinux: inode_{get,set,notify}secctx hooks to access LSM security context information. VFS: Factor out part of vfs_setxattr so it can be called from the SELinux hook for inode_setsecctx. KEYS: Add missing linux/tracehook.h #inclusions KEYS: Fix default security_session_to_parent() Security/SELinux: includecheck fix kernel/sysctl.c KEYS: security_cred_alloc_blank() should return int under all circumstances IMA: open new file for read KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] KEYS: Extend TIF_NOTIFY_RESUME to (almost) all architectures [try #6] KEYS: Do some whitespace cleanups [try #6] KEYS: Make /proc/keys use keyid not numread as file position [try #6] KEYS: Add garbage collection for dead, revoked and expired keys. [try #6] KEYS: Flag dead keys to induce EKEYREVOKED [try #6] KEYS: Allow keyctl_revoke() on keys that have SETATTR but not WRITE perm [try #6] KEYS: Deal with dead-type keys appropriately [try #6] CRED: Add some configurable debugging [try #6] selinux: Support for the new TUN LSM hooks ... commit addd72c1a917091f4bb5e699e307c4c4553f6fd3 Author: Catalin Marinas Date: Fri Sep 11 10:42:09 2009 +0100 kmemleak: Improve the "Early log buffer exceeded" error message Based on a suggestion from Jaswinder, clarify what the user would need to do to avoid this error message from kmemleak. Reported-by: Jaswinder Singh Rajput Signed-off-by: Catalin Marinas commit 59e36927ee08f3bf06d8d14597e57389bf1b41dc Author: Michael Holzheu Date: Fri Sep 11 10:29:07 2009 +0200 [S390] tape: Use pr_xxx instead of dev_xxx in shared driver code For messages from the tape core that is shared between the 3590 and 34xx tape disciplines, we want to have the "tape" prefix instead of "tape_3590" or "tape_34xx". In order to fix this, we now use the pr_xxx printk macros. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit bde69af2ab696eebfac9583ea1e8a46b571e317f Author: Heiko Carstens Date: Fri Sep 11 10:29:06 2009 +0200 [S390] Wire up page fault events for software perf counters. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5c0b912e755caaad555eb6feefdb1124462d8f37 Author: Heiko Carstens Date: Fri Sep 11 10:29:05 2009 +0200 [S390] Remove smp_cpu_not_running. smp_cpu_not_running() and cpu_stopped() are doing the same. Remove one and also get rid of the last hard_smp_processor_id() leftover. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit e86a6ed63f46fe8fb555fda531084bca3ef62fd7 Author: Heiko Carstens Date: Fri Sep 11 10:29:04 2009 +0200 [S390] Get rid of cpuid.h header file. Merge cpuid.h header file into cpu.h. While at it convert from typedef to struct declaration and also convert cio code to use proper lowcore structure instead of casts. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 4bb5e07b68565d7983108993aa23eccf5f1b35fe Author: Heiko Carstens Date: Fri Sep 11 10:29:03 2009 +0200 [S390] Limit cpu detection to 256 physical cpus. Saves us more than 65k pointless IPIs. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 53f8c573ea3b54b7e1b81d2cd403373b08103736 Author: Michael Holzheu Date: Fri Sep 11 10:29:02 2009 +0200 [S390] tape: Fix device online messages Currently, when a tape device is set online and no cartridge is loaded, we get the messages "The tape cartridge has been successfully unloaded" and "Determining the size of the recorded area". These messages are not correct. To fix this, we now print the "cartridge loaded/unloaded" messages only, when the load/unload event really occurs. In addition to that, the message "Determining the size of the recorded area" is only printed, if a cartridge is loaded. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 2ddddf3e0a55a7fcd6f240a7416cfcb12dd38b7e Author: Heiko Carstens Date: Fri Sep 11 10:29:01 2009 +0200 [S390] Enable guest page hinting by default. Get rid of the PAGE_STATES config option and enable guest page hinting by default. It can be disabled by specifying "cmma=off" at the command line. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5dd1d2ece0250125fec2dcccbfb8ab9bb2ac020c Author: Heiko Carstens Date: Fri Sep 11 10:29:00 2009 +0200 [S390] use generic scatterlist.h Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f64d04c042193183c6dad98944ae2861b998e8b7 Author: Michael Holzheu Date: Fri Sep 11 10:28:59 2009 +0200 [S390] s390dbf: Add description for usage of "%s" in sprintf events Using "%s" in sprintf event functions is dangerous. This patch adds a short description for this issue to the s390 debug feature documentation. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 0c88ee5b7523e76e290d558c28cd0be48ffad597 Author: Heiko Carstens Date: Fri Sep 11 10:28:58 2009 +0200 [S390] Initialize __LC_THREAD_INFO early. "lockdep: Fix backtraces" reveales a bug in early setup code: when lockdep tries to save a stack backtrace before setup_arch has been called the lowcore pointer for the current thread info pointer isn't initialized yet. However our save stack backtrace code relies on it. If the pointer isn't initialized the saved backtrace will have zero entries. lockdep however relies (correctly) on the fact that that cannot happen. A write access to some random memory region is the result. Fix this by initializing the thread info pointer early. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 50aa98bad056a17655864a4d71ebc32d95c629a7 Author: Martin Schwidefsky Date: Fri Sep 11 10:28:57 2009 +0200 [S390] fix recursive locking on page_table_lock Suzuki Poulose reported the following recursive locking bug on s390: Here is the stack trace : (see Appendix I for more info) [<0000000000406ed6>] _spin_lock+0x52/0x94 [<0000000000103bde>] crst_table_free+0x14e/0x1a4 [<00000000001ba684>] __pmd_alloc+0x114/0x1ec [<00000000001be8d0>] handle_mm_fault+0x2cc/0xb80 [<0000000000407d62>] do_dat_exception+0x2b6/0x3a0 [<0000000000114f8c>] sysc_return+0x0/0x8 [<00000200001642b2>] 0x200001642b2 The page_table_lock is already acquired in __pmd_alloc (mm/memory.c) and it tries to populate the pud/pgd with a new pmd allocated. If another thread populates it before we get a chance, we free the pmd using pmd_free(). On s390x, pmd_free(even pud_free ) is #defined to crst_table_free(), which acquires the page_table_lock to protect the crst_table index updates. Hence this ends up in a recursive locking of the page_table_lock. The solution suggested by Dave Hansen is to use a new spin lock in the mmu context to protect the access to the crst_list and the pgtable_list. Reported-by: Suzuki Poulose Cc: Dave Hansen Signed-off-by: Martin Schwidefsky commit c4de0c1a18237c2727dde8ad392e333539b0af3c Author: Hendrik Brueckner Date: Fri Sep 11 10:28:56 2009 +0200 [S390] kvm: use console_initcall() to initialize s390 virtio console Use a console_initcall() to initialize the s390 virtio console and clean up s390 console initialization in setup.c. Signed-off-by: Hendrik Brueckner Tested-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 68d36bdbf6377d36129b2c6bcbe9d24c5fb1739a Author: Roel Kluin Date: Fri Sep 11 10:28:55 2009 +0200 [S390] tape: reversed order of labels Fix the order of goto labels in tape_generic_online. Signed-off-by: Roel Kluin commit ad2a5d8e0b518f997af126dd737127bdada90a6f Author: Michael Holzheu Date: Fri Sep 11 10:28:54 2009 +0200 [S390] hypfs: Use "%u" instead of "%d" for unsigned ints in snprintf For printing unsigned integers hypfs uses "%d" in snprintf(). This is wrong. With this patch "%u" is used instead. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 11af97e18ea8c310d73b59f1361e6f04444e05a8 Author: Hendrik Brueckner Date: Fri Sep 11 10:28:53 2009 +0200 [S390] kernel: Print an error message if kernel NSS cannot be defined If a named saved system (NSS) cannot be defined or saved, print out an error message with the return code of the underlying z/VM CP command. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit edc44fa03ed7bc9847787e080190cf1d7ed68ceb Author: Felix Beck Date: Fri Sep 11 10:28:52 2009 +0200 [S390] zcrypt: Free ap_device if dev_set_name fails. If dev_set_name fails during scanning the AP bus, the reserved memory has to be freed. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 95f1556c35529a162cef50296f3dc7f978852048 Author: Felix Beck Date: Fri Sep 11 10:28:51 2009 +0200 [S390] zcrypt: Use spin_lock_bh in suspend callback Fix lock dependency warning. inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage. bash/1442 [HC0[0]:SC0[0]:HE1:SE1] takes: (&ap_dev->lock){+.?...}, at: [<000003e001280404>] __ap_poll_device+0x40/0x3e8 [ap] {IN-SOFTIRQ-W} state was registered at: [<000000000017f094>] __lock_acquire+0xb78/0x182c [<000000000017fe8e>] lock_acquire+0x146/0x178 [<0000000000549cf2>] _spin_lock+0x5a/0x98 [<000003e001280404>] __ap_poll_device+0x40/0x3e8 [ap] [<000003e001280afe>] ap_poll_all+0xaa/0x1a4 [ap] [<000000000014fa82>] tasklet_action+0xfe/0x1f4 [<0000000000150a56>] __do_softirq+0x116/0x284 [<0000000000111058>] do_softirq+0xe4/0xe8 [<00000000001504ba>] irq_exit+0xba/0xd8 [<00000000003dd04a>] do_IRQ+0x176/0x1fc [<000000000011823c>] io_return+0x0/0x8 [<0000004bfbfd2c0e>] 0x4bfbfd2c0e Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 99b5e2d3d7ae8f5a2dba7a41a02ba7eb25523b3f Author: Michael Holzheu Date: Fri Sep 11 10:28:50 2009 +0200 [S390] xpram: Remove checksum validation for suspend/resume Currently in the suspend process checksums for the XPRAM partitions are created and stored. During the resume process it is checked, if the checksums are still the same. If this is not the case, a kernel panic is triggered. Unfortunately this prevents XPRAM from beeing used as suspend device, because in this case after the checksum has been created, the memory image is written to XPRAM and therefore the contents of the suspend partition is changed. In order to allow XPRAM to be used as suspend device, this patch removes the checksum validation. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 3f7cb51fac60618aa543058a90e668956d5fb518 Author: Michael Holzheu Date: Fri Sep 11 10:28:49 2009 +0200 [S390] vmur: Invalid allocation sequence for vmur class The vmur class is allocated after the CCW driver is registered and it is destroyed before the CCW driver is unregistered. This is not the correct sequence, because the vmur class can be used via driver core callbacks that are triggered during the CCW driver deregistration. For Example: 1. vmur device is online 2. vmur module is unloaded This leads to the following function call stack: <4> [<0000000000387286>] device_destroy+0x36/0x5c <4> [<000003e000209714>] ur_set_offline_force+0x9c/0x10c [vmur] <4> [<000003e00020a928>] ur_remove+0x64/0xbc [vmur] <4> [<00000000003e4d2e>] ccw_device_remove+0x42/0x1ac <4> [<000000000038a1aa>] __device_release_driver+0x9a/0xe4 <4> [<000000000038a2da>] driver_detach+0xe6/0xec <4> [<0000000000388ee4>] bus_remove_driver+0xc0/0x108 <4> [<000003e00020ad5a>] ur_exit+0x52/0x84 [vmur] In device_destroy() the vmur class is used. Since it is already freed, this can lead to a kernel panic. To fix the problem, the vmur class has to be allocated before the CCW driver is registered and destroyed after the CCW driver has ben unregistered. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 2395ecd98f028b16a6200eb81108a0f67461d16b Author: Vitaliy Gusev Date: Fri Sep 11 10:28:48 2009 +0200 [S390] hypfs: remove useless variable qname Local variable 'qname' in the function hypfs_create_file() really is not used for any purpose. Signed-off-by: Vitaliy Gusev Cc: Michael Holzheu Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit c114728af2acdca0bd8b1d2f5792e393c775f5fc Author: Hans-Joachim Picht Date: Fri Sep 11 10:28:47 2009 +0200 [S390] add call home support Signed-off-by: Hans-Joachim Picht Signed-off-by: Martin Schwidefsky commit 275c340941991a925969c03ec6b900fd135d09dd Author: Christoph Hellwig Date: Fri Sep 11 10:28:46 2009 +0200 [S390] remove unused irq_cpustat_t defintion No need to defined a irq_cpustat_t type if __ARCH_IRQ_STAT is defined. Signed-off-by: Christoph Hellwig Signed-off-by: Martin Schwidefsky commit d3135e0c40c9a13ad0c57783f2b9569c4c00bd26 Author: Heiko Carstens Date: Fri Sep 11 10:28:45 2009 +0200 [S390] kernel: always keep machine flags in lowcore Eleminate the local variable machine_flags and always change machine flags directly in the lowcore. This avoids confusion about when and why the two variables have to be synchronized. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 04a95f6df9d7753098729ef1464e38552627af9d Author: Nelson Elhage Date: Fri Sep 11 10:28:44 2009 +0200 [S390] clean up linker script using new linker script macros. Note that this patch moves .data.init_task inside _edata. In addition, the alignment of .init.ramfs changes: It is now PAGE_ALIGNED and __initramfs_end is arbitrarily aligned; Previously it was only aligned to a 0x100-byte boundary, and always ended on an even byte. This change results in fewer output sections and in some data being reordered, but should have no functional effect. Signed-off-by: Nelson Elhage Signed-off-by: Tim Abbott Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: linux-s390@vger.kernel.org Signed-off-by: Martin Schwidefsky commit 26803144666bd2155a19392fa58a7d512d9c0962 Author: Tim Abbott Date: Fri Sep 11 10:28:43 2009 +0200 [S390] Use macros for .data.page_aligned. .data.page_aligned should not need a separate output section, so as part of this cleanup I moved into the .data output section in the linker scripts in order to eliminate unnecessary references to the section name. Remove the reference to .data.idt, since nothing is put into the .data.idt section on the s390 architecture. It looks like Cyrill Gorcunov posted a patch to remove the .data.idt code on s390 previously: CCing him and the people who acked that patch in case there's a reason it wasn't applied. Signed-off-by: Tim Abbott Cc: Martin Schwidefsky Acked-by: Cyrill Gorcunov Cc: Sam Ravnborg Signed-off-by: Martin Schwidefsky commit a8c3cb4955d1a051732ead9ecf8bcffc8e7c039d Author: Hendrik Brueckner Date: Fri Sep 11 10:28:42 2009 +0200 [S390] move (io|sysc)_restore_trace_psw into .data section The sysc_restore_trace_psw and io_restore_trace_psw storage locations are created in the .text section. When creating and IPLing from a named saved system (NSS), writing to these locations causes a protection exception (because the .text section is mapped as shared read-only in the NSS). To permit write access, move the storage locations into the .data section. The problem occurs only when CONFIG_TRACE_IRQFLAGS is set. The git commmit that has introduced these variables is: 411788ea7fca01ee803af8225ac35807b4d02050 Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 18d00acfe2f3fc5ee62f679eb2e397ae962fe69b Author: Hendrik Brueckner Date: Fri Sep 11 10:28:41 2009 +0200 [S390] kernel: Convert upper case scpdata to lower case If the CP SET LOADDEV on the 3215 console has been used to specify SCPdata, all data is converted to upper case letters. When scpdata contains upper case letters only, convert all letters to lower case. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 684d2fd48e718e70dad21ef7c528649578147e48 Author: Hendrik Brueckner Date: Fri Sep 11 10:28:40 2009 +0200 [S390] kernel: Append scpdata to kernel boot command line Append scpdata to the kernel boot command line. If scpdata starts with the equal sign (=), the kernel boot command line is replaced. (For consistency with zIPL and IPL PARM parameters.) To use scpdata for the kernel boot command line, scpdata must consist of ascii characters only. If scpdata contains other characters, scpdata is not appended to the kernel boot command line. In addition, re-IPL is extended for setting scpdata for the next Linux reboot. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 6292b9ef5a4e85d6b782412a85725dd38df24b85 Author: Frank Munzert Date: Fri Sep 11 10:28:39 2009 +0200 [S390] tape: use init_timer_on_stack() rather than init_timer() With CONFIG_DEBUG_OBJECTS_TIMERS=y "chccwdev --online" for a tape device will fail with message "ODEBUG: object is on stack, but not annotated". We now use init_timer_on_stack. Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky commit c6304933274f8e3cc6983d496456757ac8ab2e0b Author: Sebastian Ott Date: Fri Sep 11 10:28:38 2009 +0200 [S390] proper use of device register Don't use kfree directly after device registration started. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit c48ff644f2c86f34f69f382b68b16c6d30854783 Author: Heiko Carstens Date: Fri Sep 11 10:28:37 2009 +0200 [S390] hibernation: merge files and move to kernel/ Merge the nearly empty C files and move everything from power/ to kernel/. That way the files are easier to handle. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f3d1263e81daf2be1353baf1ad3f6e25d135f2c5 Author: Heiko Carstens Date: Fri Sep 11 10:28:36 2009 +0200 [S390] hibernation: remove dead file There is no caller of do_after_copyback() anywhere. Remove it. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bfe3349b516df011dcf6462b0fd748a6f5c2e8af Author: Heiko Carstens Date: Fri Sep 11 10:28:35 2009 +0200 [S390] atomic ops: small cleanups Couple of coding style fixes, replace __inline__ with inline and remove #ifdef __KERNEL_- since the header file isn't exported. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 12751058515860ed43c8f874ebcb2097b323736a Author: Heiko Carstens Date: Fri Sep 11 10:28:34 2009 +0200 [S390] atomic ops: add effecient atomic64 support for 31 bit Use compare double and swap to implement efficient atomic64 ops for 31 bit. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 6ac2a4ddd10d6916785b4c566d521025c855f823 Author: Martin Schwidefsky Date: Fri Sep 11 10:28:33 2009 +0200 [S390] improve mcount code Move the 64 bit mount code from mcount.S into mcount64.S and avoid code duplication. Signed-off-by: Martin Schwidefsky commit 04efc3be767cfed0d348fd598eba8fe5f5bf5fe6 Author: Heiko Carstens Date: Fri Sep 11 10:28:32 2009 +0200 [S390] convert/optimize csum_fold() to C In the meantime gcc generates better code than the old inline assemblies do. Original inline assembly results in: lr %r1,%r2 sr %r3,%r3 lr %r2,%r1 srdl %r2,16 alr %r2,%r3 alr %r1,%r2 srl %r1,16 xilf %r1,65535 llghr %r2,%r1 br %r14 Out of the C code gcc generates this: rll %r1,%r2,16 ar %r1,%r2 srl %r1,16 xilf %r1,65535 llghr %r2,%r1 br %r14 In addition we don't have any static register allocations anymore and gcc is free to shuffle instructions around for better pipeline usage. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 05e7ff7da78bad3edc1290ed86b4a37da72ced62 Author: Heiko Carstens Date: Fri Sep 11 10:28:31 2009 +0200 [S390] introduce get_clock_monotonic Introduce get_clock_monotonic() function which can be used to get a (fast) timestamp. Resolution is the same as for get_clock(). The only difference is that the timestamps are monotonic and don't jump backward or forward. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ca99dab01dd63dcc413395bd3e75b0be152dfefc Author: Stefan Haberland Date: Fri Sep 11 10:28:30 2009 +0200 [S390] dasd: fix message naming This patch fixes message naming so that generic dasd messages do not contain the device discipline. For this purpose the dev_ makros are replaced by pr_ makros for generic dasd messages. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 68b781fe1bed89011ab7c58ede8476abe64432d2 Author: Stefan Haberland Date: Fri Sep 11 10:28:29 2009 +0200 [S390] dasd: optimize cpu usage in goodcase remove unnecessary dbf call, remove string operations for magic Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 97f604b07473669f4da52b1f859ee45e8d48d42a Author: Stefan Weinhuber Date: Fri Sep 11 10:28:28 2009 +0200 [S390] dasd: fail requests when device state is less then ready A DASD device that is not ready or online has no defined disk layout, so all requests that arrive in such a state need to be returned as failed. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 3ac276f8cb020adbbc3399c47edc1100748c2c16 Author: Sebastian Ott Date: Fri Sep 11 10:28:27 2009 +0200 [S390] cio: remove ccw_device init_name We used the init_name to set the console ccw_device's name early at the boot stage. This patch moves the name setting (for all ccw devices) to the point where we actually register the device. At this time we can do dynamic allocations and therefore use dev_set_name. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 3b554a14f4bdf754ba9d2f64c2b6edf8dafe93b9 Author: Sebastian Ott Date: Fri Sep 11 10:28:26 2009 +0200 [S390] cio: move final put_device to ccw_device_unregister We use a test_and_clear_bit to prevent a device from being unregistered twice. Unfortunately in this cases the "final" put_device (from device_initialize) was issued more than once, resulting in an use after free error. Fix this by moving this put_device to ccw_device_unregister. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 6ee4fec6be06f7d138860b37cba58982cc3ccb16 Author: Sebastian Ott Date: Fri Sep 11 10:28:25 2009 +0200 [S390] cio: remove subchannel init_name We used the init_name to set the console subchannels name early at the boot stage. With the patch cio: fix memleak in subchannel validation we moved the name setting to the point where we actually register the console subchannel. At this time we can do dynamic allocations and therefore use dev_set_name. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit ab6aae09024be1b039df441fa1b64dbe092d0acb Author: Sebastian Ott Date: Fri Sep 11 10:28:24 2009 +0200 [S390] cio: fix memleak in subchannel validation When scanning for new subchannels we have a code path where we allocate memory for a struct subchannel, set the device name (which is dynamically allocated now) and do a check if the underlying device is blacklisted - if so we free the subchannel structure. Since we have not set up refcounting at this stage, the device name's memory is lost. Fix this by moving the dev_set_name after the blacklist test. Note: With this patch the init_name for the console subchannel becomes virtually obsolete. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit f014824ee72e66292c3b1172dc142f959b42e61b Author: Sebastian Ott Date: Fri Sep 11 10:28:23 2009 +0200 [S390] cio: fix use after free in s390 debug feature When using s390dbf with "%s" in sprintf format strings the string itself is not copied to the dbf buffer. Since in this case only pointers are stored in the s390dbf, we should not use dev_name - which is bound to the lifetime of the device. Reading this entry from s390dbf after the device was released will cause an use after free error. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 3f09bb8965cefe36f42a9ec09ebb821523eba530 Author: Jan Glauber Date: Fri Sep 11 10:28:22 2009 +0200 [S390] qdio: remove limited number of debugfs entries The number of qdio debugfs entries was limited. Remove this limit and group the queue files in a per device directory. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 217ee6c64a9589bc5ad4d1c88136fc359d17930b Author: Michael Ernst Date: Fri Sep 11 10:28:21 2009 +0200 [S390] cio: failing set online/offline processing. When unit checks trigger sensing the device state is set to W4SENSE until sense completion; then the device state is set back to ONLINE. If a unit check occurs while set online or set offline requests are processed then it might happen that the device's temporary W4SENSE state causes these functions to terminate, leaving the device in an inconsistent state when the state is set back to ONLINE later on so that the device cannot be set online or offline any longer. To solve this, set online/offline and related rollback or error routines are processed only if the device is in a final or DISCONNECTED state. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky commit be7a2ddce66991c05a1c6ad19790289591e53547 Author: Sebastian Ott Date: Fri Sep 11 10:28:20 2009 +0200 [S390] cio: ensure to hold a reference for deferred deregistration Ensure to always hold an extra device reference for scheduling a subchannel deregistration, by moving the get_device to ccw_device_schedule_sch_unregister. This fixes an use after free error in ccw_device_call_sch_unregister where put_device was called on an already freed device structure. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit e2910bcf8ca762b306767a0894ab1987be014c9e Author: Jan Glauber Date: Fri Sep 11 10:28:19 2009 +0200 [S390] qdio: continue polling if the queue is not finished With commit c38f96080955854e54df9cb392bc674e1ae330e1 polling was stopped for the queue even if new data is available. Return immediately after scheduling the queue tasklet if the queue is not done. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit efd986db2d720e8f6660ec2c292509ee7d28cc6a Author: Sebastian Ott Date: Fri Sep 11 10:28:18 2009 +0200 [S390] cio: increase trace level Move debug traces for start I/O and interrupt events to exclusive trace levels. Also change tracing in hot-path from sprintf (costly) to hex. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 626e476ae011cafddc0ccb39ab838b90cc5d2272 Author: Sebastian Ott Date: Fri Sep 11 10:28:17 2009 +0200 [S390] cio: fix not oper handling after failed [on|off]line processing If online/offline processing of a ccw device fails, resulting in not operational state, notify the driver and unregister the device in case the driver dosn't want to keep it. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 1da73bc80bdfc9588192a6e6f5a72f8138f7378d Author: Peter Oberparleiter Date: Fri Sep 11 10:28:16 2009 +0200 [S390] cio: consolidate subchannel intparm reset Ensure that the hardware interruption parameter for a subchannel is reset when the associated subchannel data structure is freed. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 62733e5a5a480a893e56fa6133ae90904d857bc4 Author: Heiko Carstens Date: Fri Sep 11 10:28:15 2009 +0200 [S390] cio: move scsw helper functions to header file All scsw helper functions are very short and usage of them shouldn't result in function calls. Therefore we move them to a separate header file. Also saves a lot of EXPORT_SYMBOLs. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 1f1148c88ad37c87f14d2153416a605bf0aeaf74 Author: Peter Oberparleiter Date: Fri Sep 11 10:28:14 2009 +0200 [S390] cio: fix ineffective verify event Path verification events occurring for offline devices are currently ignored. As a result, offline devices are not removed, even though they might no longer be accessible (for example because the last path to the device was varied offline). Fix this by scheduling a status evaluation for the affected subchannel when a path verification event occurs. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 500b067c5e6ceea49cf280a02597b1169320e08c Author: Jens Axboe Date: Wed Sep 9 09:10:25 2009 +0200 writeback: check for registered bdi in flusher add and inode dirty Also a debugging aid. We want to catch dirty inodes being added to backing devices that don't do writeback. Signed-off-by: Jens Axboe commit d993831fa7ffeb89e994f046f93eeb09ec91df08 Author: Jens Axboe Date: Fri Jun 12 14:45:52 2009 +0200 writeback: add name to backing_dev_info This enables us to track who does what and print info. Its main use is catching dirty inodes on the default_backing_dev_info, so we can fix that up. Signed-off-by: Jens Axboe commit f09b00d3e789a88fa6c7c03cedc62cb65c1de0cb Author: Jens Axboe Date: Mon May 25 09:08:21 2009 +0200 writeback: add some debug inode list counters to bdi stats Add some debug entries to be able to inspect the internal state of the writeback details. Signed-off-by: Jens Axboe commit d0bceac747b547c0b4769b91fec7d3c15600153f Author: Jens Axboe Date: Mon May 18 08:20:32 2009 +0200 writeback: get rid of pdflush completely It is now unused, so kill it off. Signed-off-by: Jens Axboe commit 03ba3782e8dcc5b0e1efe440d33084f066e38cae Author: Jens Axboe Date: Wed Sep 9 09:08:54 2009 +0200 writeback: switch to per-bdi threads for flushing data This gets rid of pdflush for bdi writeout and kupdated style cleaning. pdflush writeout suffers from lack of locality and also requires more threads to handle the same workload, since it has to work in a non-blocking fashion against each queue. This also introduces lumpy behaviour and potential request starvation, since pdflush can be starved for queue access if others are accessing it. A sample ffsb workload that does random writes to files is about 8% faster here on a simple SATA drive during the benchmark phase. File layout also seems a LOT more smooth in vmstat: r b swpd free buff cache si so bi bo in cs us sy id wa 0 1 0 608848 2652 375372 0 0 0 71024 604 24 1 10 48 42 0 1 0 549644 2712 433736 0 0 0 60692 505 27 1 8 48 44 1 0 0 476928 2784 505192 0 0 4 29540 553 24 0 9 53 37 0 1 0 457972 2808 524008 0 0 0 54876 331 16 0 4 38 58 0 1 0 366128 2928 614284 0 0 4 92168 710 58 0 13 53 34 0 1 0 295092 3000 684140 0 0 0 62924 572 23 0 9 53 37 0 1 0 236592 3064 741704 0 0 4 58256 523 17 0 8 48 44 0 1 0 165608 3132 811464 0 0 0 57460 560 21 0 8 54 38 0 1 0 102952 3200 873164 0 0 4 74748 540 29 1 10 48 41 0 1 0 48604 3252 926472 0 0 0 53248 469 29 0 7 47 45 where vanilla tends to fluctuate a lot in the creation phase: r b swpd free buff cache si so bi bo in cs us sy id wa 1 1 0 678716 5792 303380 0 0 0 74064 565 50 1 11 52 36 1 0 0 662488 5864 319396 0 0 4 352 302 329 0 2 47 51 0 1 0 599312 5924 381468 0 0 0 78164 516 55 0 9 51 40 0 1 0 519952 6008 459516 0 0 4 78156 622 56 1 11 52 37 1 1 0 436640 6092 541632 0 0 0 82244 622 54 0 11 48 41 0 1 0 436640 6092 541660 0 0 0 8 152 39 0 0 51 49 0 1 0 332224 6200 644252 0 0 4 102800 728 46 1 13 49 36 1 0 0 274492 6260 701056 0 0 4 12328 459 49 0 7 50 43 0 1 0 211220 6324 763356 0 0 0 106940 515 37 1 10 51 39 1 0 0 160412 6376 813468 0 0 0 8224 415 43 0 6 49 45 1 1 0 85980 6452 886556 0 0 4 113516 575 39 1 11 54 34 0 2 0 85968 6452 886620 0 0 0 1640 158 211 0 0 46 54 A 10 disk test with btrfs performs 26% faster with per-bdi flushing. A SSD based writeback test on XFS performs over 20% better as well, with the throughput being very stable around 1GB/sec, where pdflush only manages 750MB/sec and fluctuates wildly while doing so. Random buffered writes to many files behave a lot better as well, as does random mmap'ed writes. A separate thread is added to sync the super blocks. In the long term, adding sync_supers_bdi() functionality could get rid of this thread again. Signed-off-by: Jens Axboe commit 66f3b8e2e103a0b93b945764d98e9ba46cb926dd Author: Jens Axboe Date: Wed Sep 2 09:19:46 2009 +0200 writeback: move dirty inodes from super_block to backing_dev_info This is a first step at introducing per-bdi flusher threads. We should have no change in behaviour, although sb_has_dirty_inodes() is now ridiculously expensive, as there's no easy way to answer that question. Not a huge problem, since it'll be deleted in subsequent patches. Signed-off-by: Jens Axboe commit d8a8559cd7a9ccac98d5f6f13297a2ff68a43627 Author: Jens Axboe Date: Wed Sep 2 12:34:32 2009 +0200 writeback: get rid of generic_sync_sb_inodes() export This adds two new exported functions: - writeback_inodes_sb(), which only attempts to writeback dirty inodes on this super_block, for WB_SYNC_NONE writeout. - sync_inodes_sb(), which writes out all dirty inodes on this super_block and also waits for the IO to complete. Acked-by: Jan Kara Signed-off-by: Jens Axboe commit c984123c7a888731b7e971e1c878b6f2b716b292 Author: Marcin Slusarz Date: Sun Aug 23 20:23:34 2009 +0200 pata_rz1000: use printk_once Signed-off-by: Marcin Slusarz Signed-off-by: Jeff Garzik commit 78d5ae39af19a02a3d16213c0f62930d9a5d25f7 Author: Shane Huang Date: Fri Aug 7 15:05:52 2009 +0800 ahci: kill @force_restart and refine CLO for ahci_kick_engine() This patch refines ahci_kick_engine() after discussion with Tejun about FBS(FIS-based switching) support preparation: a. Kill @force_restart and always kick the engine. The only case where @force_restart is zero is when it's called from ahci_p5wdh_hardreset() Actually at that point, BSY is pretty much guaranteed to be set. b. If PMP is attached, ignore busy and always do CLO. (AHCI-1.3 9.2) Signed-off-by: Shane Huang Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit 02cb009bb942007b76c38da4cc2ca0a0a974c667 Author: Otavio Salvador Date: Fri Jul 3 11:22:42 2009 -0300 pata_cs5535: add pci id for AMD based CS5535 controllers Signed-off-by: Otavio Salvador Signed-off-by: Jeff Garzik commit e2dd90b1ad4c61ecb52f2424049d91ce6ccc1f17 Author: Shane Huang Date: Wed Jul 29 11:34:49 2009 +0800 ahci: Add AMD SB900 SATA/IDE controller device IDs Add AMD SB900 SATA/IDE controller device IDs. Signed-off-by: Shane Huang Signed-off-by: Jeff Garzik commit 041b5eac254107cd3ba60034c38a411531cc64ee Author: Julia Lawall Date: Thu Aug 6 16:05:08 2009 -0700 drivers/ata: use resource_size Use the function resource_size, which reduces the chance of introducing off-by-one errors in calculating the resource size. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct resource *res; @@ - (res->end - res->start) + 1 + resource_size(res) // Signed-off-by: Julia Lawall Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 73f526da0260db5376951373c267596993dc13a8 Merge: 45c448a b76aabc Author: Roland Dreier Date: Thu Sep 10 21:19:45 2009 -0700 Merge branch 'mad' into for-linus Conflicts: drivers/infiniband/core/mad.c commit 45c448a1c0bed9c7eab6064493a7c5d94defcafd Merge: ffc40c6 6303e74 286b63d 5e47596 cb58160 3b4a8cd d841064 cd1d3f7 Author: Roland Dreier Date: Thu Sep 10 21:18:07 2009 -0700 Merge branches 'cxgb3', 'ehca', 'ipath', 'ipoib', 'misc', 'mlx4', 'mthca' and 'nes' into for-linus commit 9a0da0d19c573e01aded6ac17747d2efc5b1115f Merge: ec282e9 8a56df0 Author: David S. Miller Date: Thu Sep 10 18:17:09 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit 5367b6887e7d8c870a5da7d9b8c6e9c207684e43 Author: Ben Hutchings Date: Thu Sep 10 02:53:50 2009 +0100 x86: Fix code patching for paravirt-alternatives on 486 As reported in and , kernels with paravirt-alternatives enabled crash in text_poke_early() on at least some 486-class processors. The problem is that text_poke_early() itself uses inline functions affected by paravirt-alternatives and so will modify instructions that have already been prefetched. Pentium and later processors will invalidate the prefetched instructions in this case, but 486-class processors do not. Change sync_core() to limit prefetching on 486-class (and 386-class) processors, and move the call to sync_core() above the call to the modifiable local_irq_restore(). Signed-off-by: Ben Hutchings LKML-Reference: <1252547631.3423.134.camel@localhost> Signed-off-by: H. Peter Anvin commit a3c8b97396ef42edfb845788ba6f53b2a93ce980 Merge: 74fca6a 9f0ab4a Author: James Morris Date: Fri Sep 11 08:04:49 2009 +1000 Merge branch 'next' into for-linus commit 0d03d59d9b31cd1e33b7e46a80b6fef66244b1f2 Author: Geert Uytterhoeven Date: Thu Sep 10 23:13:28 2009 +0200 md: Fix "strchr" [drivers/md/dm-log-userspace.ko] undefined! Commit b8313b6da7e2e7c7f47d93d8561969a3ff9ba0ea ("dm log: remove incorrect field from userspace table output") added a call to strstr() with a single-character "needle" string parameter. Unfortunately some versions of gcc replace such calls to strstr() by calls to strchr() behind our back. This causes linking errors if strchr() is defined as an inline function in (e.g. on m68k): | WARNING: "strchr" [drivers/md/dm-log-userspace.ko] undefined! Avoid this by explicitly calling strchr() instead. Signed-off-by: Geert Uytterhoeven Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit e1f8450854d69f0291882804406ea1bab3ca44b4 Author: Ingo Molnar Date: Thu Sep 10 20:52:09 2009 +0200 sched: Fix sched::sched_stat_wait tracepoint field This weird perf trace output: cc1-9943 [001] 2802.059479616: sched_stat_wait: task: as:9944 wait: 2801938766276 [ns] Is caused by setting one component field of the delta to zero a bit too early. Move it to later. ( Note, this does not affect the NEW_FAIR_SLEEPERS interactivity bug, it's just a reporting bug in essence. ) Acked-by: Peter Zijlstra Cc: Nikos Chantziaras Cc: Jens Axboe Cc: Mike Galbraith LKML-Reference: <4AA93D34.8040500@arcor.de> Signed-off-by: Ingo Molnar commit 78c86e5e5691fc84d5fbea0cd4ac7147e87b7490 Author: Jeremy Fitzhardinge Date: Thu Sep 10 10:09:38 2009 -0700 x86: split __phys_addr out into separate file Split __phys_addr out into its own file so we can disable -fstack-protector in a fine-grained fashion. Also it doesn't have terribly much to do with the rest of ioremap.c. Signed-off-by: Jeremy Fitzhardinge commit 3f2aa307c4d26b4ed6509d0a79e8254c9e07e921 Author: Ingo Molnar Date: Thu Sep 10 20:34:48 2009 +0200 sched: Disable NEW_FAIR_SLEEPERS for now Nikos Chantziaras and Jens Axboe reported that turning off NEW_FAIR_SLEEPERS improves desktop interactivity visibly. Nikos described his experiences the following way: " With this setting, I can do "nice -n 19 make -j20" and still have a very smooth desktop and watch a movie at the same time. Various other annoyances (like the "logout/shutdown/restart" dialog of KDE not appearing at all until the background fade-out effect has finished) are also gone. So this seems to be the single most important setting that vastly improves desktop behavior, at least here. " Jens described it the following way, referring to a 10-seconds xmodmap scheduling delay he was trying to debug: " Then I tried switching NO_NEW_FAIR_SLEEPERS on, and then I get: Performance counter stats for 'xmodmap .xmodmap-carl': 9.009137 task-clock-msecs # 0.447 CPUs 18 context-switches # 0.002 M/sec 1 CPU-migrations # 0.000 M/sec 315 page-faults # 0.035 M/sec 0.020167093 seconds time elapsed Woot! " So disable it for now. In perf trace output i can see weird delta timestamps: cc1-9943 [001] 2802.059479616: sched_stat_wait: task: as:9944 wait: 2801938766276 [ns] That nsec field is not supposed to be that large. More digging is needed - but lets turn it off while the real bug is found. Reported-by: Nikos Chantziaras Tested-by: Nikos Chantziaras Reported-by: Jens Axboe Tested-by: Jens Axboe Acked-by: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <4AA93D34.8040500@arcor.de> Signed-off-by: Ingo Molnar commit b73d884756303316ead4cd7dad51236b2a515a1a Author: David S. Miller Date: Thu Sep 10 07:22:18 2009 -0700 sparc64: Initial niagara2 perf counter support. Signed-off-by: David S. Miller commit 660d13765f342ecb6e774fcbc35b64beb0a069da Author: David S. Miller Date: Thu Sep 10 07:13:26 2009 -0700 sparc64: Perf counter 'nop' event is not constant. On Niagara-2, for example, it's going to be different. So make it something specified in sparc_pmu. Signed-off-by: David S. Miller commit 496c07e3b43475124d7f2d77fafbc1f5055abfee Author: David S. Miller Date: Thu Sep 10 07:10:59 2009 -0700 sparc64: Provide a way to specify a perf counter overflow IRQ enable bit. Signed-off-by: David S. Miller commit 91b9286d819b821fd742c0053fe0748818374198 Author: David S. Miller Date: Thu Sep 10 07:09:06 2009 -0700 sparc64: Provide hypervisor tracing bit support for perf counters. A PMU need only specify which bit in the PCR enabled hypervisor tracing in order to enable this. This will be used in Niagara-2 perf counter support. Signed-off-by: David S. Miller commit 1110afbe728838ac7ce973c37af9e11385dbaef9 Merge: fd30afa 6e2efaa Author: Takashi Iwai Date: Thu Sep 10 15:33:09 2009 +0200 Merge branch 'topic/ymfpci' into for-linus * topic/ymfpci: sound: ymfpci: increase timer resolution to 96 kHz commit fd30afa454282bbe1b36d5d77bd72c0ea5b3f97c Merge: b34c866 f1e6d3c Author: Takashi Iwai Date: Thu Sep 10 15:33:07 2009 +0200 Merge branch 'topic/usb-audio' into for-linus * topic/usb-audio: ALSA: usb-audio - Fix types taken in min() sound: usb-audio: do not make URBs longer than sync packet interval sound: usb-audio: add MIDI drain callback sound: usb-audio: use multiple output URBs sound: usb-audio: use multiple input URBs sound: usb-audio: Xonar U1 digital output support commit b34c8663940dfc7da767c42b37605e5ad3ae11f7 Merge: 3827119 eedbdf0 Author: Takashi Iwai Date: Thu Sep 10 15:33:06 2009 +0200 Merge branch 'topic/tlv-minmax' into for-linus * topic/tlv-minmax: ALSA: usb-audio - Correct bogus volume dB information ALSA: usb-audio - Use the new TLV_DB_MINMAX type ALSA: Add new TLV types for dBwith min/max commit 3827119e207823ff0f3e85271bef7a0dc953ee38 Merge: 9d416811 93fe448 Author: Takashi Iwai Date: Thu Sep 10 15:33:04 2009 +0200 Merge branch 'topic/soundcore-preclaim' into for-linus * topic/soundcore-preclaim: sound: make OSS device number claiming optional and schedule its removal sound: request char-major-* module aliases for missing OSS devices chrdev: implement __[un]register_chrdev() commit 9d416811f8cab11bf595b2880c557c33e3ae1ae9 Merge: df9200d cf0baf1 Author: Takashi Iwai Date: Thu Sep 10 15:33:03 2009 +0200 Merge branch 'topic/snd-printk' into for-linus * topic/snd-printk: ALSA: Fixed a typo of printk() ALSA: Add debug module option ALSA: core - strip too long file names in snd_print*() commit df9200dd0454c91c5436c22072611f0edd3b5f42 Merge: 2c0d19a 5184040 Author: Takashi Iwai Date: Thu Sep 10 15:33:02 2009 +0200 Merge branch 'topic/pcm-estrpipe-in-pm' into for-linus * topic/pcm-estrpipe-in-pm: ALSA: pcm - Tell user that stream to be rewound is suspended commit 2c0d19a78de1ea5d0e92d86be0b16ccab0feccec Merge: 05a33e3 5a53a76 Author: Takashi Iwai Date: Thu Sep 10 15:33:00 2009 +0200 Merge branch 'topic/pcm-drain-nonblock' into for-linus * topic/pcm-drain-nonblock: ALSA: pcm - Increase protocol version ALSA: pcm - Fix drain behavior in non-blocking mode commit 05a33e3d6fdca6ae3f645cc7bca9c11a4476e84c Merge: fa28519 f1bc07a Author: Takashi Iwai Date: Thu Sep 10 15:32:59 2009 +0200 Merge branch 'topic/oxygen' into for-linus * topic/oxygen: sound: oxygen: work around MCE when changing volume commit fa285190025d0b9a35ed0f6233bfaa721281e0f4 Merge: 9cd9f42 cbbb057 Author: Takashi Iwai Date: Thu Sep 10 15:32:58 2009 +0200 Merge branch 'topic/oss' into for-linus * topic/oss: ALSA: allocation may fail in snd_pcm_oss_change_params() sound: vwsnd: Fix setting of cfgval and ctlval in li_setup_dma() sound: fix OSS MIDI output data loss commit 9cd9f4276766e15be40d09f77e28656797a1b06f Merge: 0f23c5c b8c60ed Author: Takashi Iwai Date: Thu Sep 10 15:32:57 2009 +0200 Merge branch 'topic/misc' into for-linus * topic/misc: ALSA: Remove unneeded ifdef from sound/core.h ALSA: Remove struct snd_monitor_file from public sound/core.h ALSA: Release v1.0.21 commit 0f23c5cc50550f194e71e694f2b4433356dd99ea Merge: 8a3351b 2d4b842 Author: Takashi Iwai Date: Thu Sep 10 15:32:56 2009 +0200 Merge branch 'topic/midi' into for-linus * topic/midi: sound: rawmidi: disable active-sensing-on-close by default sound: seq_oss_midi: remove magic numbers sound: seq_midi: do not send MIDI reset when closing seq-midi: always log message on output overrun commit 8a3351bbb93b15ec5d35fd4b3e6e971d6285e674 Merge: dcb37d5 cd77538 Author: Takashi Iwai Date: Thu Sep 10 15:32:55 2009 +0200 Merge branch 'topic/ice1724-pm' into for-linus * topic/ice1724-pm: ALSA: ice1724 - Fix section mismatch ALSA: ice1724 - Patch for suspend/resume for Audiotrak Prodigy HD2 commit dcb37d509a93710f96ebfd8b653e3653144799f9 Merge: 2d4ff66 c18bc9b Author: Takashi Iwai Date: Thu Sep 10 15:32:54 2009 +0200 Merge branch 'topic/hdsp' into for-linus * topic/hdsp: ALSA: hdsp - allow proc reporting with disconnected io box commit 2d4ff66ad7b8811d0c75ccccad346496f67cb43a Merge: 6a0f402 33d7867 Author: Takashi Iwai Date: Thu Sep 10 15:32:52 2009 +0200 Merge branch 'topic/hda' into for-linus * topic/hda: (92 commits) ALSA: hda - Use auto model for HP laptops with ALC268 codec ALSA: hda/realtek: Added support for CLEVO M540R subsystem, 6 channel + digital ALSA: hda - Add support of Alienware M17x laptop ALSA: hda - Remove dead codes from patch_sigmatel.c ALSA: hda - Fix input source selection of IDT92HD73xx ALSA: hda - Fix obsolete CONFIG_SND_DEBUG_DETECT ALSA: hda - Unmute docking line-out as default with AD1984A codec ALSA: hda - Add another entry for Nvidia HDMI device ALSA: hda - Add missing GPIO initialization for AD1984A laptop model ALSA: hda - Add support of docking auto-mute/mic for AD1984A laptop model ALSA: hda - Fix ALC268/ALC269 headphone pin routing ALSA: hda - Create "Digital Mic Capture Volume" correctly for IDT codecs ALSA: hda - Add more quirk for HP laptops with AD1984A ALSA: hda - Add / fix model entries for HD-audio driver ALSA: hda - Add full audio support on Acer Aspire 7730G notebook ALSA: hda - Improve auto-cfg mixer name for ALC662 ALSA: hda - Improve auto-cfg mixer name for ALC861-VD ALSA: hda - Improve auto-cfg mixer name for ALC262 ALSA: hda - Improve auto-cfg mixer name for ALC260 ALSA: hda - Improve auto-cfg mixer name for ALC880 ... commit 6a0f4021469727675b83d85ac91d106bfae0e2c3 Merge: f9892a5 b888d1c Author: Takashi Iwai Date: Thu Sep 10 15:32:51 2009 +0200 Merge branch 'topic/dummy' into for-linus * topic/dummy: ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128 ALSA: dummy - Add debug proc file ALSA: Add const prefix to proc helper functions ALSA: Re-export snd_pcm_format_name() function ALSA: dummy - Fake buffer allocations ALSA: dummy - Fix the timer calculation in systimer mode ALSA: dummy - Add more description ALSA: dummy - Better jiffies handling ALSA: dummy - Support high-res timer mode commit f9892a52e2405b4c5fa205d4f18ad292cb7e40bb Merge: 6c5cb93 cc6a8ac Author: Takashi Iwai Date: Thu Sep 10 15:32:50 2009 +0200 Merge branch 'topic/dma-sgbuf' into for-linus * topic/dma-sgbuf: ALSA: Fix SG-buffer DMA with non-coherent architectures commit 6c5cb93b1e87be56d7f00767fd12cf57852a0b9f Merge: f604529 35ebf6e Author: Takashi Iwai Date: Thu Sep 10 15:32:48 2009 +0200 Merge branch 'topic/ctxfi' into for-linus * topic/ctxfi: ALSA: ctxfi - Simple code clean up ALSA: ctxfi - Native timer support for emu20k2 commit f604529d0c1c24be025f47b591366e257ee75f66 Merge: 124e39b 18dd0aa Author: Takashi Iwai Date: Thu Sep 10 15:32:47 2009 +0200 Merge branch 'topic/ctl-add-remove-fixes' into for-linus * topic/ctl-add-remove-fixes: sound: snd_ctl_remove_user_ctl: prevent removal of kernel controls sound: snd_ctl_remove_unlocked_id: simplify user control counting sound: snd_ctl_remove_unlocked_id: simplify error paths sound: snd_ctl_elem_add: fix value count check commit 124e39b34d9b38cde4cac02077d5b58f6c1f063e Merge: 9d2743f 6148b13 Author: Takashi Iwai Date: Thu Sep 10 15:32:46 2009 +0200 Merge branch 'topic/cs46xx' into for-linus * topic/cs46xx: ALSA: cs46xx - Fix minimum period size commit 9d2743f84d08ce9c6ea8369c571b04385b42fb01 Merge: d0064a1 72b43cf Author: Takashi Iwai Date: Thu Sep 10 15:32:45 2009 +0200 Merge branch 'topic/cmi8330' into for-linus * topic/cmi8330: ALSA: cmi8330: Allow MPU-401-less operation ALSA: cmi8330: find OPL3 port automatically cmi8330: Add basic CMI8329 support ALSA: cmi8330: revert comments about AD1848 back commit d0064a1b22d0f60058902a870e6bf9aab0d8202c Merge: b81e5ab 9983aa6 Author: Takashi Iwai Date: Thu Sep 10 15:32:43 2009 +0200 Merge branch 'topic/cleanup' into for-linus * topic/cleanup: ALSA: info - Use krealloc() commit b81e5ab34d960335c71ce33bf283ff5a22463a67 Merge: e0b3032 78df617 Author: Takashi Iwai Date: Thu Sep 10 15:32:41 2009 +0200 Merge branch 'topic/azt3328' into for-linus * topic/azt3328: ALSA: azt3328: fix previous breakage, improve suspend, cleanups ALSA: azt3328: large codec cleanup, add I2S port etc. ALSA: azt3328: fix Kconfig entry commit e0b3032bcdf1419d97de636d5fb1c9469da75776 Merge: 45fae5c cdc65fb Author: Takashi Iwai Date: Thu Sep 10 15:32:40 2009 +0200 Merge branch 'topic/asoc' into for-linus * topic/asoc: (226 commits) ASoC: au1x: PSC-AC97 bugfixes ASoC: Fix WM835x Out4 capture enumeration ASoC: Remove unuused hw_read_t ASoC: fix pxa2xx-ac97.c breakage ASoC: Fully specify DC servo bits to update in wm_hubs ASoC: Debugged improper setting of PLL fields in WM8580 driver ASoC: new board driver to connect bfin-5xx with ad1836 codec ASoC: OMAP: Add functionality to set CLKR and FSR sources in McBSP DAI ASoC: davinci: i2c device creation moved into board files ASoC: Don't reconfigure WM8350 FLL if not needed ASoC: Fix s3c-i2s-v2 build ASoC: Make platform data optional for TLV320AIC3x ASoC: Add S3C24xx dependencies for Simtec machines ASoC: SDP3430: Fix TWL GPIO6 pin mux request ASoC: S3C platform: Fix s3c2410_dma_started() called at improper time ARM: OMAP: McBSP: Merge two functions into omap_mcbsp_start/_stop ASoC: OMAP: Fix setup of XCCR and RCCR registers in McBSP DAI OMAP: McBSP: Use textual values in DMA operating mode sysfs files ARM: OMAP: DMA: Add support for DMA channel self linking on OMAP1510 ASoC: Select core DMA when building for S3C64xx ... commit 45fae5c78d873b10c66dfc04db6701e05c493791 Merge: 74fca6a 848bffe Author: Takashi Iwai Date: Thu Sep 10 15:32:38 2009 +0200 Merge branch 'topic/ali5451-cleanup' into for-linus * topic/ali5451-cleanup: ALSA: ali5451: remove dead code commit 59abbd1e7cfd6018fb8e58a96aa562aaff8711e7 Author: David S. Miller Date: Thu Sep 10 06:28:20 2009 -0700 sparc64: Initial hw perf counter support. Only supports one simple counter and only UltraSPARC-IIIi chips. Signed-off-by: David S. Miller commit 5686f9c3d67d5a20108fa26105c98b042df13123 Author: David S. Miller Date: Thu Sep 10 05:59:24 2009 -0700 sparc64: Implement a real set_perf_counter_pending(). When the perf counter subsystem needs to reschedule work out from an NMI, it invokes set_perf_counter_pending(). This triggers a non-NMI irq which should invoke perf_counter_do_pending(). Currently this won't trigger because sparc64 won't trigger the perf counter subsystem from NMIs, but when the HW counter support is added it will. Signed-off-by: David S. Miller commit 2d0740c4562493b60f59ca9b0330a2d5e01d43ec Author: David S. Miller Date: Thu Sep 10 05:56:16 2009 -0700 sparc64: Use nmi_enter() and nmi_exit(), as needed. Signed-off-by: David S. Miller commit 76c36d016a3f958d6231dcdef54a132614c3b578 Author: David S. Miller Date: Thu Sep 10 05:55:17 2009 -0700 sparc64: Provide extern decls for sparc_??u_type strings. Signed-off-by: David S. Miller commit 9f0ab4a3f0fdb1ff404d150618ace2fa069bb2e1 Author: Roland McGrath Date: Tue Sep 8 19:49:40 2009 -0700 binfmt_elf: fix PT_INTERP bss handling In fs/binfmt_elf.c, load_elf_interp() calls padzero() for .bss even if the PT_LOAD has no PROT_WRITE and no .bss. This generates EFAULT. Here is a small test case. (Yes, there are other, useful PT_INTERP which have only .text and no .data/.bss.) ----- ptinterp.S _start: .globl _start nop int3 ----- $ gcc -m32 -nostartfiles -nostdlib -o ptinterp ptinterp.S $ gcc -m32 -Wl,--dynamic-linker=ptinterp -o hello hello.c $ ./hello Segmentation fault # during execve() itself After applying the patch: $ ./hello Trace trap # user-mode execution after execve() finishes If the ELF headers are actually self-inconsistent, then dying is fine. But having no PROT_WRITE segment is perfectly normal and correct if there is no segment with p_memsz > p_filesz (i.e. bss). John Reiser suggested checking for PROT_WRITE in the bss logic. I think it makes most sense to simply apply the bss logic only when there is bss. This patch looks less trivial than it is due to some reindentation. It just moves the "if (last_bss > elf_bss) {" test up to include the partial-page bss logic as well as the more-pages bss logic. Reported-by: John Reiser Signed-off-by: Roland McGrath Signed-off-by: James Morris commit ec57935837a78f9661125b08a5d08b697568e040 Author: Jason Gunthorpe Date: Wed Sep 9 17:22:18 2009 -0600 TPM: Fixup boot probe timeout for tpm_tis driver When probing the device in tpm_tis_init the call request_locality uses timeout_a, which wasn't being initalized until after request_locality. This results in request_locality falsely timing out if the chip is still starting. Move the initialization to before request_locality. This probably only matters for embedded cases (ie mine), a BIOS likely gets the TPM into a state where this code path isn't necessary. Signed-off-by: Jason Gunthorpe Acked-by: Rajiv Andrade Signed-off-by: James Morris commit 526b678093a8a4bcf1ffffbe17bcf21c057eddf5 Merge: 752015d 18f4c64 Author: Linus Torvalds Date: Wed Sep 9 20:04:54 2009 -0700 Merge branch 'lookup-permissions-cleanup' * lookup-permissions-cleanup: jffs2/jfs/xfs: switch over to 'check_acl' rather than 'permission()' ext[234]: move over to 'check_acl' permission model shmfs: use 'check_acl' instead of 'permission' Make 'check_acl()' a first-class filesystem op Simplify exec_permission_lite(), part 3 Simplify exec_permission_lite() further Simplify exec_permission_lite() logic Do not call 'ima_path_check()' for each path component commit 752015d1b0683a8c623ebfe4c62893413e9b30d3 Author: Roland McGrath Date: Tue Sep 8 19:49:40 2009 -0700 binfmt_elf: fix PT_INTERP bss handling In fs/binfmt_elf.c, load_elf_interp() calls padzero() for .bss even if the PT_LOAD has no PROT_WRITE and no .bss. This generates EFAULT. Here is a small test case. (Yes, there are other, useful PT_INTERP which have only .text and no .data/.bss.) ----- ptinterp.S _start: .globl _start nop int3 ----- $ gcc -m32 -nostartfiles -nostdlib -o ptinterp ptinterp.S $ gcc -m32 -Wl,--dynamic-linker=ptinterp -o hello hello.c $ ./hello Segmentation fault # during execve() itself After applying the patch: $ ./hello Trace trap # user-mode execution after execve() finishes If the ELF headers are actually self-inconsistent, then dying is fine. But having no PROT_WRITE segment is perfectly normal and correct if there is no segment with p_memsz > p_filesz (i.e. bss). John Reiser suggested checking for PROT_WRITE in the bss logic. I think it makes most sense to simply apply the bss logic only when there is bss. This patch looks less trivial than it is due to some reindentation. It just moves the "if (last_bss > elf_bss) {" test up to include the partial-page bss logic as well as the more-pages bss logic. Reported-by: John Reiser Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit ec282e9225be924479d4880b51f13524795bd8d3 Author: Tobias Klauser Date: Wed Sep 9 01:07:43 2009 +0000 dm9000: Use resource_size instead of private macro The macro res_size in drivers/net/dm9000.c is a copy of resource_size in linux/ioport.h. Remove the function and use resource_size instead. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 07fcb044b6ea53b67d00e198f9073e0538df7b75 Author: Tobias Klauser Date: Wed Sep 9 01:07:44 2009 +0000 dm9000: Remove unnecessary memset of netdev private data The memory for the private data is allocated using kzalloc in alloc_etherdev (or alloc_netdev_mq respectively) so there is no need to set it to 0 again. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 58f25468b5636c390ad2a58356b127c0055884b4 Author: Amit Kumar Salecha Date: Wed Sep 9 18:12:59 2009 -0700 netxen: fix tx descriptor structure Fix the offset of vlan_TCI field in cmd_desc_type0. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 3db7675506ef7460bf6220545bfc69abb7dbceab Author: Amit Kumar Salecha Date: Wed Sep 9 18:12:37 2009 -0700 netxen: fix check for ip addr hashing support Fix typo in checking dest ip has support before programming destip addresses. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 23bcf634c8bc0d84607a5b863333191d58baee4c Author: Patrick McHardy Date: Wed Sep 9 18:11:23 2009 -0700 net_sched: fix estimator lock selection for mq child qdiscs When new child qdiscs are attached to the mq qdisc, they are actually attached as root qdiscs to the device queues. The lock selection for new estimators incorrectly picks the root lock of the existing and to be replaced qdisc, which results in a use-after-free once the old qdisc has been destroyed. Mark mq qdisc instances with a new flag and treat qdiscs attached to mq as children similar to regular root qdiscs. Additionally prevent estimators from being attached to the mq qdisc itself since it only updates its byte and packet counters during dumps. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ea6a634ef7f0ab1d1f48ba0ad4f50e96d6065312 Merge: fa1a9c6 b2e3abd Author: David S. Miller Date: Wed Sep 9 17:33:45 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit ddd29ec6597125c830f7badb608a86c98b936b64 Author: David P. Quigley Date: Wed Sep 9 14:25:37 2009 -0400 sysfs: Add labeling support for sysfs This patch adds a setxattr handler to the file, directory, and symlink inode_operations structures for sysfs. The patch uses hooks introduced in the previous patch to handle the getting and setting of security information for the sysfs inodes. As was suggested by Eric Biederman the struct iattr in the sysfs_dirent structure has been replaced by a structure which contains the iattr, secdata and secdata length to allow the changes to persist in the event that the inode representing the sysfs_dirent is evicted. Because sysfs only stores this information when a change is made all the optional data is moved into one dynamically allocated field. This patch addresses an issue where SELinux was denying virtd access to the PCI configuration entries in sysfs. The lack of setxattr handlers for sysfs required that a single label be assigned to all entries in sysfs. Granting virtd access to every entry in sysfs is not an acceptable solution so fine grained labeling of sysfs is required such that individual entries can be labeled appropriately. [sds: Fixed compile-time warnings, coding style, and setting of inode security init flags.] Signed-off-by: David P. Quigley Signed-off-by: Stephen D. Smalley Signed-off-by: James Morris commit 1ee65e37e904b959c24404139f5752edc66319d5 Author: David P. Quigley Date: Thu Sep 3 14:25:57 2009 -0400 LSM/SELinux: inode_{get,set,notify}secctx hooks to access LSM security context information. This patch introduces three new hooks. The inode_getsecctx hook is used to get all relevant information from an LSM about an inode. The inode_setsecctx is used to set both the in-core and on-disk state for the inode based on a context derived from inode_getsecctx.The final hook inode_notifysecctx will notify the LSM of a change for the in-core state of the inode in question. These hooks are for use in the labeled NFS code and addresses concerns of how to set security on an inode in a multi-xattr LSM. For historical reasons Stephen Smalley's explanation of the reason for these hooks is pasted below. Quote Stephen Smalley inode_setsecctx: Change the security context of an inode. Updates the in core security context managed by the security module and invokes the fs code as needed (via __vfs_setxattr_noperm) to update any backing xattrs that represent the context. Example usage: NFS server invokes this hook to change the security context in its incore inode and on the backing file system to a value provided by the client on a SETATTR operation. inode_notifysecctx: Notify the security module of what the security context of an inode should be. Initializes the incore security context managed by the security module for this inode. Example usage: NFS client invokes this hook to initialize the security context in its incore inode to the value provided by the server for the file when the server returned the file's attributes to the client. Signed-off-by: David P. Quigley Acked-by: Serge Hallyn Signed-off-by: James Morris commit b1ab7e4b2a88d3ac13771463be8f302ce1616cfc Author: David P. Quigley Date: Thu Sep 3 14:25:56 2009 -0400 VFS: Factor out part of vfs_setxattr so it can be called from the SELinux hook for inode_setsecctx. This factors out the part of the vfs_setxattr function that performs the setting of the xattr and its notification. This is needed so the SELinux implementation of inode_setsecctx can handle the setting of the xattr while maintaining the proper separation of layers. Signed-off-by: David P. Quigley Acked-by: Serge Hallyn Signed-off-by: James Morris commit 2496afbf1e50c70f80992656bcb730c8583ddac3 Author: Yang Xiaowei Date: Wed Sep 9 12:44:52 2009 -0700 xen: use stronger barrier after unlocking lock We need to have a stronger barrier between releasing the lock and checking for any waiting spinners. A compiler barrier is not sufficient because the CPU's ordering rules do not prevent the read xl->spinners from happening before the unlock assignment, as they are different memory locations. We need to have an explicit barrier to enforce the write-read ordering to different memory locations. Because of it, I can't bring up > 4 HVM guests on one SMP machine. [ Code and commit comments expanded -J ] [ Impact: avoid deadlock when using Xen PV spinlocks ] Signed-off-by: Yang Xiaowei Signed-off-by: Jeremy Fitzhardinge commit 4d576b57b50a92801e6493e76e5243d6cff193d2 Author: Jeremy Fitzhardinge Date: Wed Sep 9 12:33:51 2009 -0700 xen: only enable interrupts while actually blocking for spinlock Where possible we enable interrupts while waiting for a spinlock to become free, in order to reduce big latency spikes in interrupt handling. However, at present if we manage to pick up the spinlock just before blocking, we'll end up holding the lock with interrupts enabled for a while. This will cause a deadlock if we recieve an interrupt in that window, and the interrupt handler tries to take the lock too. Solve this by shrinking the interrupt-enabled region to just around the blocking call. [ Impact: avoid race/deadlock when using Xen PV spinlocks ] Reported-by: "Yang, Xiaowei" Signed-off-by: Jeremy Fitzhardinge commit 577eebeae34d340685d8985dfdb7dfe337c511e8 Author: Jeremy Fitzhardinge Date: Thu Aug 27 12:46:35 2009 -0700 xen: make -fstack-protector work under Xen -fstack-protector uses a special per-cpu "stack canary" value. gcc generates special code in each function to test the canary to make sure that the function's stack hasn't been overrun. On x86-64, this is simply an offset of %gs, which is the usual per-cpu base segment register, so setting it up simply requires loading %gs's base as normal. On i386, the stack protector segment is %gs (rather than the usual kernel percpu %fs segment register). This requires setting up the full kernel GDT and then loading %gs accordingly. We also need to make sure %gs is initialized when bringing up secondary cpus too. To keep things consistent, we do the full GDT/segment register setup on both architectures. Because we need to avoid -fstack-protected code before setting up the GDT and because there's no way to disable it on a per-function basis, several files need to have stack-protector inhibited. [ Impact: allow Xen booting with stack-protector enabled ] Signed-off-by: Jeremy Fitzhardinge commit cb58160e72244a23f4e0cf4d6f81ffbd131fcd51 Author: Steve Wise Date: Wed Sep 9 11:37:38 2009 -0700 RDMA/iwcm: Reject the connection when the cm_id is destroyed If the cm_id of a connect request is destroyed prior to the ULP accepting or rejecting the connection, then the provider never cleans up the connection. The iwcm should explicitly reject these connections if the cm_id is destroyed. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit ffc40c6433e763209d2b1ec5b1a9854eb3bcd61c Author: Steve Wise Date: Wed Sep 9 11:25:56 2009 -0700 RDMA/cxgb3: Clean up properly on FW mismatch failures FW mismatches can cause a crash in the iw_cxgb3 event handler. - NULL the t3cdev->ulp pointer on failures in cxio_rdev_open() - Silently ignore events when the ulp ptr is NULL in iwch_err_handler() Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 13a239330abdda5afcb1161fce68ec214af2cc90 Author: Steve Wise Date: Wed Sep 9 11:25:55 2009 -0700 RDMA/cxgb3: Don't ignore insert_handle() failures Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 61cbe54d9479ad98283b2dda686deae4c34b2d59 Author: Mike Galbraith Date: Wed Sep 9 15:41:37 2009 +0200 sched: Keep kthreads at default priority Removes kthread/workqueue priority boost, they increase worst-case desktop latencies. Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: <1252486344.28645.18.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 172e082a9111ea504ee34cbba26284a5ebdc53a7 Author: Mike Galbraith Date: Wed Sep 9 15:41:37 2009 +0200 sched: Re-tune the scheduler latency defaults to decrease worst-case latencies Reduce the latency target from 20 msecs to 5 msecs. Why? Larger latencies increase spread, which is good for scaling, but bad for worst case latency. We still have the ilog(nr_cpus) rule to scale up on bigger server boxes. Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: <1252486344.28645.18.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 2bba22c50b06abe9fd0d23933b1e64d35b419262 Author: Mike Galbraith Date: Wed Sep 9 15:41:37 2009 +0200 sched: Turn off child_runs_first Set child_runs_first default to off. It hurts 'optimal' make -j workloads as make jobs get preempted by child tasks, reducing parallelism. Note, this patch might make existing races in user applications more prominent than before - so breakages might be bisected to this commit. Child-runs-first is broken on SMP to begin with, and we already had it off briefly in v2.6.23 so most of the offenders ought to be fixed. Would be nice not to revert this commit but fix those apps finally ... Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: <1252486344.28645.18.camel@marge.simson.net> [ made the sysctl independent of CONFIG_SCHED_DEBUG, in case people want to work around broken apps. ] Signed-off-by: Ingo Molnar commit b2e3abdc708f8c0eff194af25362fdb239abe241 Author: Holger Schurig Date: Wed Sep 9 13:09:54 2009 +0200 cfg80211: allow scanning on specified frequencies when using wext-compatibility Handles the case when SIOCSIWSCAN specified iw_scan_req.num_channels and iw_scan_req.channels[]. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 8c8f9ba7051b017e44124666b41c1dc70333a77c Author: Vasanthakumar Thiagarajan Date: Wed Sep 9 15:25:52 2009 +0530 ath9k: Initialize the priority gpio for BT coex 3-wire Oops, a stupid mistake in the original patch which adds coex 3-wire support. Bluetooth priority gpio needs to be gpio 7. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f42cc2c2909f24faa1381ae139067edeba8c796d Author: Vasanthakumar Thiagarajan Date: Wed Sep 9 15:25:51 2009 +0530 ath9k: Get rid of the modparam btcoex_enable Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit fe12946e66575677879941a14f75b70ca2d2962a Author: Vasanthakumar Thiagarajan Date: Wed Sep 9 15:25:50 2009 +0530 ath9k: Enable btcoex based on the subsystem id of the device Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit aeac355d23fb13a2082a8740ae7cf9408a71ec2c Author: Vasanthakumar Thiagarajan Date: Wed Sep 9 15:25:49 2009 +0530 ath9k: Store subsystem id in struct hw_version This subsystem id will be used later to turn on the btcoex support. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 4d8cd26849737e141ff0aa23fedacef4ea76ea4f Author: Luis R. Rodriguez Date: Tue Sep 8 12:09:47 2009 -0700 wireless: mark prism54 as deprecated and mark for removal The preferred module is p54pci which also supports FullMAC PCI / Cardbus devices. We schedule removal for 2.6.34. Reason to remove this is no one really is testing prism54 anymore, and while it works p54pci provides support for the same hardware. It should be noted I have been told some FullMAC devices may not have worked with the SoftMAC driver but to date we have yet to recieve a single bug report regarding this. If there are users out there please let us know! Cc: aquilaver@yahoo.com Cc: linux-kernel@vger.kernel.org Cc: Dan Williams Cc: Kai Engert Cc: Jean Tourrilhes Cc: Tim de Waal Cc: Roy Marples Cc: Alan Cox Cc: Christian Lamparter Cc: Björn Steinbrink Cc: Tim Gardner Cc: Larry Finger Cc: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 98a1e2a9260d30ad691fbd1ed778a05e38fe655b Author: Michael Buesch Date: Tue Sep 8 19:33:31 2009 +0200 b44/b43/b43legacy: Fix switch warnings introduced by SSB-SDIO This fixes some gcc warnings for switch statements. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 24ea602e183ca20a7577ebe253323d0e5d0f9847 Author: Albert Herranz Date: Tue Sep 8 19:30:12 2009 +0200 ssb: Implement SDIO host bus support Add support for communicating with a Sonics Silicon Backplane through a SDIO interface, as found in the Nintendo Wii WLAN daughter card. The Nintendo Wii WLAN card includes a custom Broadcom 4318 chip with a SDIO host interface. Signed-off-by: Albert Herranz Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit f020979d5d7c9816c071d0aedf60a889fa4fae40 Author: Vasanthakumar Thiagarajan Date: Mon Sep 7 17:46:50 2009 +0530 ath9k: Remove unnecessary casting to u8 in pci_read_config_byte() call Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 7b6840ab5f836a18c4ea98173f73c8d046930efb Author: Vasanthakumar Thiagarajan Date: Mon Sep 7 17:46:49 2009 +0530 ath9k: Disable ASPM when btcoex is active Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 72c706b775777e8ae546756a5d07ffda4a05ed7b Author: Joe Perches Date: Mon Sep 7 11:34:30 2009 -0700 MAINTAINERS: Add Atheros Linux wireless drivers home page On Sun, 2009-09-06 at 12:26 -0700, Luis R. Rodriguez wrote: > On Sun, Sep 6, 2009 at 10:59 AM, Joe Perches wrote: > > On Thu, 2009-09-03 at 15:54 -0700, Luis R. Rodriguez wrote: > >> I'm pleased to announce the new home page to Atheros Linux wireless drivers: > >> http://wireless.kernel.org/en/users/Drivers/Atheros > > Perhaps add this to MAINTAINERS? > Fine by me, except ath5k and ath9k also have their own respective page > so those can also be added. (cc's trimmed and maintainers added) Perhaps this instead: Signed-off-by: Joe Perches Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cde1b55b43b71cabb1a94278a809bca21b9df791 Author: Michael Buesch Date: Sun Sep 6 16:18:58 2009 +0200 b43: Fix sparse warning in hw-tkip code This fixes a sparse warning in the hardware-TKIP code: drivers/net/wireless/b43/xmit.c:272:18: warning: incorrect type in assignment (different base types) drivers/net/wireless/b43/xmit.c:272:18: expected unsigned short [unsigned] [short] drivers/net/wireless/b43/xmit.c:272:18: got restricted unsigned short [usertype] The code should work correctly with and without this patch applied. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit b0544eb6019a33e836141156a8fbe74a9f8367b4 Author: Michael Buesch Date: Sun Sep 6 15:42:45 2009 +0200 b43: Really disable QoS, if requested Currently, when QoS-disable is requested, we would leave QoS enabled in firmware, but only queue frames on one queue. Change that and also tell firmware about disabled QoS, so it completely ignores all the QoS parameters. Also don't upload the parameters, if QoS is disabled. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 4789666e13fb0b2d45feb1b4a5119a1b997ec84c Author: Ivo van Doorn Date: Sun Sep 6 15:14:23 2009 +0200 rt2x00: Hardcode TX ack timeout and consume time The calculated values for the ACK timeout and ACK consume time are different then the values as used by the Legacy drivers. After testing from James Ledwith it appeared that the calculated values caused a high amount of TX failures, and the values from the Legacy drivers were the most optimal to prevent TX failure due to excessive retries. The symptoms of this problem: - Rate control module always falls back to 1Mbs - Low throughput when bitrate was fixed Possible side-effects (not confirmed but highly likely) - Problems with DHCP - Broken connections due to lack of probe response This should fix at least: Kernel bugzilla reports: [13362], [13009], [9273] Fedora bugzilla reports: [443203] but possible some additional bugs as well. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2b88f7c535a8125213def012a67c1b0a667ceb2e Author: Steven Whitehouse Date: Wed Sep 9 15:59:35 2009 +0100 GFS2: Remove unused sysfs file The /sys/fs/gfs2//lock_module/id file has been unused for some time now, so we can remove it. We still accept the mount option though, as userspace still sends that. Signed-off-by: Steven Whitehouse commit fa1a9c681377c57e233038e50479e7d7a5cc3108 Author: Alexey Dobriyan Date: Wed Sep 9 03:43:50 2009 -0700 headers: net/ipv[46]/protocol.c header trim Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 5d5d9c97ff807b643b6c2284dea7fe04ecc74355 Author: Tushar Gohad Date: Wed Sep 9 03:42:23 2009 -0700 IPv6/addrconf: Fix minor addrlabel thinko Fix apparent thinko related to RTM_DELADDRLABEL, introduced by commit 2a8cc6c89039e0530a3335954253b76ed0f9339a ("[IPV6] ADDRCONF: Support RFC3484 configurable address selection policy table."). Signed-off-by: Tushar Gohad Signed-off-by: David S. Miller commit 6f0e013548fd15fddb952f657a3cc81282641191 Author: Tobias Klauser Date: Wed Sep 9 01:41:30 2009 -0700 niu: Use resource_size instead of private function The function res_size in drivers/net/niu.c is a copy of resource_size in linux/ioport.h. Remove the function and use resource_size instead. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 733e5e4b4eb1bc1e27acbe092200154051171426 Author: David Howells Date: Wed Sep 9 08:30:21 2009 +0100 KEYS: Add missing linux/tracehook.h #inclusions Add #inclusions of linux/tracehook.h to those arch files that had the tracehook call for TIF_NOTIFY_RESUME added when support for that flag was added to that arch. Signed-off-by: David Howells Signed-off-by: James Morris commit d89be56b2153ccad7e8cd9e71b5d8b686632e8c2 Author: David S. Miller Date: Tue Sep 8 23:29:16 2009 -0700 sparc64: Make touch_nmi_watchdog() actually work. It guards it's actions on nmi_watchdog_active, but nothing ever sets that and it's initial value is zero. Signed-off-by: David S. Miller commit 4e85f5915dedb7c852c1e1189aa4133c87798a5e Author: David S. Miller Date: Tue Sep 8 23:20:39 2009 -0700 sparc64: Kill unnecessary cast in profile_timer_exceptions_notify(). Signed-off-by: David S. Miller commit a8f22264550e64c0cd11fb6647284b0bd6407f9c Author: David S. Miller Date: Tue Sep 8 23:16:06 2009 -0700 sparc64: Manage NMI watchdog enabling like x86. Use a per-cpu 'wd_enabled' boolean and a global atomic_t count of watchdog NMI enabled cpus which is set to '-1' if something is wrong with the watchdog and it can't be used. Signed-off-by: David S. Miller commit f90f613c3ed7381209de8aa36458442b5130170b Author: Ashish Kalra Date: Wed Jul 29 21:15:49 2009 +0530 sata_fsl: Defer non-ncq commands when ncq commands active Fix for non-ncq & ncq commands causing timeouts when both are issued simultaneously to the same device. Signed-off-by: Ashish Kalra [fixed to be actual compileable C code -jg] Signed-off-by: Jeff Garzik commit deeb003e5e01c0db02bb68fd9c93faf75ab9002d Author: Shane Huang Date: Tue Sep 8 17:37:01 2009 +0800 libata: add SATA PMP revision information for spec 1.2 This small patch is just adding the information for PMP spec 1.2 Signed-off-by: Shane Huang Signed-off-by: Jeff Garzik commit ac8672ea922bde59acf50eaa1eaa1640a6395fd2 Author: Tejun Heo Date: Sun Aug 16 21:21:21 2009 +0900 libata: fix off-by-one error in ata_tf_read_block() ata_tf_read_block() has off-by-one error when converting CHS address to LBA. The bug isn't very visible because ata_tf_read_block() is used only when generating sense data for a failed RW command and CHS addressing isn't used too often these days. This problem was spotted by Atsushi Nemoto. Signed-off-by: Tejun Heo Reported-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 1b549dcbf607e88f3016bc149109472a46fe7bbb Author: Tejun Heo Date: Sun Aug 16 21:06:57 2009 +0900 ahci: Gigabyte GA-MA69VM-S2 can't do 64bit DMA Gigabyte GA-MA69VM-S2 can't do 64bit DMA either. It's yet unknown whether recent BIOS fixes the problem. Blacklist regardless of BIOS revisions for now. Sandor Bodo-Merle reported and provided the initial patch for this issue. Signed-off-by: Tejun Heo Reported-by: Sandor Bodo-Merle Cc: Shane Huang Signed-off-by: Jeff Garzik commit 03d783bf5573ff316a8c703eed811a9a97901a8b Author: Tejun Heo Date: Sun Aug 16 21:04:02 2009 +0900 ahci: make ahci_asus_m2a_vm_32bit_only() quirk more generic It turns out ASUS M2A-VM isn't the only one with the 32bit DMA problem. Make ahci_asus_m2a_vm_32bit_only() more generic using the new dmi_get_date() and rename it to ahci_sb600_32bit_only(). Cut off date is now pointed to by dmi_system_id->driver_data in "yyyymmdd" format and it's now also allowed to be omitted. Signed-off-by: Tejun Heo Cc: Sandor Bodo-Merle Cc: Shane Huang Signed-off-by: Jeff Garzik commit 3e5cd1f2576c720f1d0705fdd7ba64f27e8836b7 Author: Tejun Heo Date: Sun Aug 16 21:02:36 2009 +0900 dmi: extend dmi_get_year() to dmi_get_date() There are cases where full date information is required instead of just the year. Add month and day parsing to dmi_get_year() and rename it to dmi_get_date(). As the original function only required '/' followed by any number of parseable characters at the end of the string, keep that behavior to avoid upsetting existing users. The new function takes dates of format [mm[/dd]]/yy[yy]. Year, month and date are checked to be in the ranges of [1-9999], [1-12] and [1-31] respectively and any invalid or out-of-range component is returned as zero. The dummy implementation is updated accordingly but the return value is updated to indicate field not found which is consistent with how other dummy functions behave. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 02c24fa87724bb3af969463cd74dc3b3feb24740 Author: Tejun Heo Date: Sun Aug 16 21:01:22 2009 +0900 dmi: fix date handling in dmi_get_year() Year parsing in dmi_get_year() had the following two bugs. * "00" is treated as invalid instead of 2000 because zero return from simple_strtoul() is treated as error. * "0N" where N >= 8 is treated as invalid of 200N because the leading 0 is considered to specify octal. Fix the above two bugs by using endptr to detect invalid number and forcing decimal. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit bd30add88cea831dfb854d564478f09ee66206b5 Author: Tejun Heo Date: Thu Sep 3 16:08:11 2009 +0900 libata: unbreak TPM filtering by reorganizing ata_scsi_pass_thru() ata_scsi_pass_thru() was checking for input sanity and disallowed commands while initializaing qc from scmd. TPM filtering was added right after protocol check at which point tf wasn't initialized properly. This means that TPM filtering has never really worked. This patch fixes the bug by reorganizing ata_scsi_pass_thru() such that qc is fully initialized before checking for invalid conditions which is way less error prone. Discovered while Thilo-Alexander Ginkel was trying debug patches for bko#13416. Signed-off-by: Tejun Heo Cc: Thilo-Alexander Ginkel Signed-off-by: Jeff Garzik commit 72fee3823d2938fa98f2f3113301f46803f4c711 Author: Tejun Heo Date: Tue Sep 1 23:19:10 2009 +0900 sata_sis: convert to slave_link During introduction of slave_link, sata_sis slipped through the crack and left with ad-hoc merged SCR access. As SCR status was shared for both the master and slave devices, when only one of the device is online, libata EH would think both are online but would only get valid device signature for the actually present one, which in turn trigger the probing safety net mechanism and make EH retry causing large delay during boot. This patch converts sata_sis to slave_link mechanism. This bug was reported by TAXI in bko#14075. http://bugzilla.kernel.org/show_bug.cgi?id=14075 Signed-off-by: Tejun Heo Reported-by: TAXI Cc: Uwe Koziolek Signed-off-by: Jeff Garzik commit 2ecda72b49a0849ce41e7fa1fa974a245b9119f8 Author: Trond Myklebust Date: Tue Sep 8 19:50:07 2009 -0400 NFSv4: Disallow 'mount -t nfs4 -overs=2' and 'mount -t nfs4 -overs=3' Signed-off-by: Trond Myklebust commit 764302ccb88dd0df062eccd507b6c6de24f1c560 Author: Chuck Lever Date: Tue Sep 8 19:50:03 2009 -0400 NFS: Allow the "nfs" file system type to support NFSv4 When mounting an "nfs" type file system, recognize "v4," "vers=4," or "nfsvers=4" mount options, and convert the file system to "nfs4" under the covers. Signed-off-by: Chuck Lever [trondmy: fixed up binary mount code so it sets the 'version' field too] Signed-off-by: Trond Myklebust commit a6fe23be90aa78783523a25330e09bfaa43a1581 Author: Chuck Lever Date: Tue Sep 8 19:50:00 2009 -0400 NFS: Move details of nfs4_get_sb() to a helper Clean up: Refactor nfs4_get_sb() to allow its guts to be invoked by nfs_get_sb(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7630c852e19c7fffb85b50d98eeb5516fec7c088 Author: Chuck Lever Date: Tue Sep 8 19:49:57 2009 -0400 NFS: Refactor NFSv4 text-based mount option validation Clean up: Refactor the part of nfs4_validate_mount_options() that handles text-based options, so we can call it from the NFSv2/v3 option validation function. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 4cfd74fc99a41fdc161f243e1c16199656d33ab1 Author: Chuck Lever Date: Tue Sep 8 19:49:47 2009 -0400 NFS: Mount option parser should detect missing "port=" The meaning of not specifying the "port=" mount option is different for "-t nfs" and "-t nfs4" mounts. The default port value for NFSv2/v3 mounts is 0, but the default for NFSv4 mounts is 2049. To support "-t nfs -o vers=4", the mount option parser must detect when "port=" is missing so that the correct default port value can be set depending on which NFS version is requested. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit dbab8360ed8abca38121109feab47c4bea895994 Author: Harshula Jayasuriya Date: Tue Sep 8 19:49:33 2009 -0400 NFS: out of date comment regarding O_EXCL above nfs3_proc_create() Hi Trond, Recently we were observing the behaviour difference between a 2.4.x and 2.6.x kernel with respect to O_EXCL. A comment from 2.4.x era, "For now, we don't implement O_EXCL." seems inaccurate in TOT. If so, here's a patch to remove the comment. This patch is against: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Signed-off-by: Harshula Jayasuriya Signed-off-by: Trond Myklebust commit fd413da852991e96c555ad7253cc481bc133e221 Author: Michael Buesch Date: Sun Sep 6 14:49:43 2009 +0200 b43: PCMCIA is not experimental anymore PCMCIA support works well and is not experimental anymore. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit fea6734a0e444c31c99a1271154bb0281d7908d8 Author: Joerg Albert Date: Sat Sep 5 16:07:47 2009 +0200 ath,ar9170: implemented conformance test limit calc. for tx power apply the conformance test limits (CTL) stored in the eeprom upon the values calculated for the tx power (ar->power_*). This is based on the implementation in the vendor driver (hal/hpmain.c, line 3700 ff.) with one difference: If any ctl mode isn't found in the eeprom, we fall back to the "lower", legacy modes (5GHT20,11A or 2GHT20,11G,11B). Otus only did 5GHT20->11A. Currently CTL are applied for the FCC group only. Signed-off-by: Joerg Albert Signed-off-by: John W. Linville commit 7f42c37aa676825fea329a7bec2fefe51033b3e9 Author: Joerg Albert Date: Sat Sep 5 16:07:43 2009 +0200 ath,ar9170: move CTL_ defines into regd.h The ar9170 driver needs the defines for conformance test limit groups and cannot include regd_common.h Signed-off-by: Joerg Albert Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e6c463e3a3d067f5da2c79d5acdb2f626754cdb3 Author: Michael Buesch Date: Sat Sep 5 11:18:47 2009 +0200 ssb: Fail ssb modinit, if attach of the buses failed. SSB modinit should not succeed, if busattach failed. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 69eddc8a37a33479205ac3a3d8575fad1466da90 Author: Michael Buesch Date: Fri Sep 4 22:57:26 2009 +0200 b43: remove SHM spinlock This removes the SHM spinlock. SHM is protected by wl->mutex. Signed-off-by: Michael Buesch Tested-by: Larry Finger Signed-off-by: John W. Linville commit 77ca07ffe1797a0f2f41aa4997c9a5ae433a0be8 Author: Michael Buesch Date: Fri Sep 4 22:56:19 2009 +0200 b43: Remove PIO RX workqueue This removes the PIO RX work. It's not needed anymore, because we can sleep in the threaded interrupt handler. Signed-off-by: Michael Buesch Tested-by: Larry Finger Signed-off-by: John W. Linville commit 637dae3f637eb7dab447e74362e0dfeded775c7c Author: Michael Buesch Date: Fri Sep 4 22:55:00 2009 +0200 b43: Remove DMA/PIO queue locks This removes the DMA/PIO queue locks. Locking is handled by wl->mutex now. Signed-off-by: Michael Buesch Tested-by: Larry Finger Signed-off-by: John W. Linville commit f5d40eedb32aa9a0e226d468e1f89fb676824694 Author: Michael Buesch Date: Fri Sep 4 22:53:18 2009 +0200 b43: Remove TX spinlock This removes the TX spinlock and defers TX to a workqueue to allow locking wl->mutex instead and to allow sleeping for register accesses. Signed-off-by: Michael Buesch Tested-by: Larry Finger Signed-off-by: John W. Linville commit 36dbd9548e92268127b0c31b0e121e63e9207108 Author: Michael Buesch Date: Fri Sep 4 22:51:29 2009 +0200 b43: Use a threaded IRQ handler Use a threaded IRQ handler to allow locking the mutex and sleeping while executing an interrupt. This removes usage of the irq_lock spinlock, but introduces a new hardirq_lock, which is _only_ used for the PCI/SSB lowlevel hard-irq handler. Sleeping busses (SDIO) will use mutex instead. Signed-off-by: Michael Buesch Tested-by: Larry Finger Signed-off-by: John W. Linville commit b275f28535fc774325bb8ad5f664e6c44a8fbc9b Author: Luis R. Rodriguez Date: Tue Sep 1 08:53:49 2009 -0700 wireless: update cfg80211 kconfig entry cfg80211 is now *the* wireless configuration API. Lets also give a little explanation as to what it is and refer people to the wireless wiki for more information. Cc: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d9c35a506ed7770301f705a9070e05f0c5fae4bd Author: Christian Lamparter Date: Thu Sep 3 20:25:31 2009 +0200 ar9170: implement frequency calibration for one-stage/openfw This patch ports some code from the vendor driver, which is supposed to upload the right calibration values for the chosen frequency. In theory, this should give a better range and throughput for all users with the open, or one-stage firmware. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 8813262ea79acf9daa0e03901bdfe93db4dc4ca5 Author: Sujith Date: Thu Sep 3 12:08:53 2009 +0530 ath9k: Fix channelFlags for 2GHZ CHANNEL_G has to be set for 2GHZ channels since IS_CHAN_G() checks for this in channelFlags and not in chanmode. To make things messier, ath9k_hw_process_ini() checks for CHANNEL_G in chanmode and not in channelFlags. The supreme, brain-searing fix is to set the flag in both cases. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7ea310be65bfcbc6e2395844fd3498762dc2aea6 Author: Sujith Date: Thu Sep 3 12:08:43 2009 +0530 ath9k: Fix RX Filter handling for BAR BAR frames have to be sent to mac80211 only if the current channel is HT. Also, move the macro to enum ath9k_rx_filter. Signed-off-by: Sujith Signed-off-by: John W. Linville commit fc548af877374f7e26c4f670f3843c6d29e02a98 Author: Luis R. Rodriguez Date: Wed Sep 2 17:06:21 2009 -0700 ath9k: claim irq for ath9k, not ath for pci ath9k ahb requests an IRQ and indicates 'ath9k' claimed it, ath9k pci requests an IRQ and indicates 'ath' claims it; since 'ath' is another module sync both ahb and pci to claim the irq using 'ath9k'. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 580171f7cd08687cdf1b263aabb35608b3c37433 Author: Luis R. Rodriguez Date: Wed Sep 2 17:02:18 2009 -0700 ath9k: propagate errors on ath_init_device() and request_irq() We've cleaned up ath_init_device() and its children enough to pass meaninful errors back from probe. When this fails it means our device could not be initialized and a meaninful error will have been passed. Do the same for request_irq() and also synchronize the error messages while at it. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit db6be53cbaf118fdad5bdca211a19ca5354c9462 Author: Luis R. Rodriguez Date: Wed Sep 2 16:34:57 2009 -0700 ath9k: propagate ieee80211_alloc_hw() failure The -ENOMEM was never being passed on failure. While at it use dev_err() as ahb does upon failure. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5c630ce7e6cb144a29fd5a993363f4928fb4b890 Author: Joerg Albert Date: Thu Sep 3 01:02:59 2009 +0200 ar9170: added phy register initialisation from eeprom values This patch adds the initialisation of some PHY registers from the modal_header[] values in the EEPROM (see otus/hal/hpmain.c, line 333 ff.) Signed-off-by: Joerg Albert Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit cdc65fbe18aef15e92d2ebb410a189fbf956fb06 Author: Manuel Lauss Date: Tue Sep 8 19:45:17 2009 +0200 ASoC: au1x: PSC-AC97 bugfixes This patch fixes the following bugs: - only reprogram bitdepth if it has changed since last call to hw_params. - add locking inside ac97_read/write functions: When reprogramming sample depth, the ac97 unit has to be disabled, which should not be done in the middle of codec register accesses. - retry timed-out codec register accesses. - wait for status bits to set/clear when starting/stopping various functional blocks; very important after reenabling AC97 unit else sound may be distorted (e.g. high-pitch noise in 1kHz sine wave). - clear fifos before/after starting/stopping RX/TX. - longer timeouts waiting for PSC/AC97 ready after cold reset with certain codecs this can take ridiculous amounts of time. Run-tested on various Au1200 platforms with various codecs. Signed-off-by: Manuel Lauss Signed-off-by: Mark Brown commit 18f4c644773bc8de1fd9c5182b30c231aafb94ef Author: Linus Torvalds Date: Fri Aug 28 12:29:03 2009 -0700 jffs2/jfs/xfs: switch over to 'check_acl' rather than 'permission()' This avoids an indirect call in the VFS for each path component lookup. Well, at least as long as you own the directory in question, and the ACL check is unnecessary. Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit 1d5ccd1c422d7d292a9e45248aa36771900c6331 Author: Linus Torvalds Date: Fri Aug 28 12:12:24 2009 -0700 ext[234]: move over to 'check_acl' permission model Don't implement per-filesystem 'extX_permission()' functions that have to be called for every path component operation, and instead just expose the actual ACL checking so that the VFS layer can now do it for us. Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit 6d848a488ad83cc3891bb274691118f45ce6aab9 Author: Linus Torvalds Date: Fri Aug 28 12:04:28 2009 -0700 shmfs: use 'check_acl' instead of 'permission' shmfs wants purely standard POSIX ACL semantics, so we can use the new generic VFS layer POSIX ACL checking rather than cooking our own 'permission()' function. Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Hugh Dickins Signed-off-by: Linus Torvalds commit 5909ccaa300a4a834ffa275327af4df0b9cb5295 Author: Linus Torvalds Date: Fri Aug 28 11:51:25 2009 -0700 Make 'check_acl()' a first-class filesystem op This is stage one in flattening out the callchains for the common permission testing. Rather than have most filesystem implement their own inode->i_op->permission function that just calls back down to the VFS layers 'generic_permission()' with the per-filesystem ACL checking function, the filesystem can just expose its 'check_acl' function directly, and let the VFS layer do everything for it. This is all just preparatory - no filesystem actually enables this yet. Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit cb9179ead0aa0e3b7b4087cdba59baf16bbeef6d Author: Linus Torvalds Date: Fri Aug 28 11:08:31 2009 -0700 Simplify exec_permission_lite(), part 3 Don't call down to the generic inode_permission() function just to call the inode-specific permission function - just do it directly. The generic inode_permission() code does things like checking MAY_WRITE and devcgroup_inode_permission(), neither of which are relevant for the light pathname walk permission checks (we always do just MAY_EXEC, and the inode is never a special device). Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit f1ac9f6bfea6f21e8ab6dbbe46879d62a6fba8c0 Author: Linus Torvalds Date: Fri Aug 28 10:53:56 2009 -0700 Simplify exec_permission_lite() further This function is only called for path components that are already known to be directories (they have a '->lookup' method). So don't bother doing that whole S_ISDIR() testing, the whole point of the 'lite()' version is that we know that we are looking at a directory component, and that we're only checking name lookup permission. Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit b7a437b08a44a3ed7e3a052eb39d2c5f618b603b Author: Linus Torvalds Date: Fri Aug 28 10:50:37 2009 -0700 Simplify exec_permission_lite() logic Instead of returning EAGAIN and having the caller do something special for that case, just do the special case directly. Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit e8e66ed25b5cbeebed69c475f6c108e52078a3b3 Author: Linus Torvalds Date: Fri Aug 28 10:05:33 2009 -0700 Do not call 'ima_path_check()' for each path component Not only is that a supremely timing-critical path, but it's hopefully some day going to be lockless for the common case, and ima can't do that. Plus the integrity code doesn't even care about non-regular files, so it was always a total waste of time and effort. Acked-by: Serge Hallyn Acked-by: Mimi Zohar Signed-off-by: Linus Torvalds commit acf7e2444acfaf4c8540603b76d71010eea3fc24 Author: Steven Whitehouse Date: Tue Sep 8 18:00:30 2009 +0100 GFS2: Be extra careful about deallocating inodes There is a potential race in the inode deallocation code if two nodes try to deallocate the same inode at the same time. Most of the issue is solved by the iopen locking. There is still a small window which is not covered by the iopen lock. This patches fixes that and also makes the deallocation code more robust in the face of any errors in the rgrp bitmaps, or erroneous iopen callbacks from other nodes. This does introduce one extra disk read, but that is generally not an issue since its the same block that must be written to later in the deallocation process. The total disk accesses therefore stay the same, Signed-off-by: Steven Whitehouse commit 7eb0d5e5be4e312d5368896744476cc705b3d7e7 Author: Luis R. Rodriguez Date: Tue Sep 8 17:31:45 2009 +0100 kmemleak: fix sparse warning for static declarations This fixes these sparse warnings: mm/kmemleak.c:1179:6: warning: symbol 'start_scan_thread' was not declared. Should it be static? mm/kmemleak.c:1194:6: warning: symbol 'stop_scan_thread' was not declared. Should it be static? Acked-by: Pekka Enberg Signed-off-by: Luis R. Rodriguez Signed-off-by: Catalin Marinas commit 0580a1819c584eb8b98f8701157667037e11153a Author: Luis R. Rodriguez Date: Tue Sep 8 17:32:34 2009 +0100 kmemleak: fix sparse warning over overshadowed flags A secondary irq_save is not required as a locking before it was already disabling irqs. This fixes this sparse warning: mm/kmemleak.c:512:31: warning: symbol 'flags' shadows an earlier one mm/kmemleak.c:448:23: originally declared here Signed-off-by: Luis R. Rodriguez Acked-by: Pekka Enberg Signed-off-by: Catalin Marinas commit a1084c8779f5efa771c6896a0a4184900b4ab736 Author: Luis R. Rodriguez Date: Fri Sep 4 17:44:52 2009 -0700 kmemleak: move common painting code together When painting grey or black we do the same thing, bring this together into a helper and identify coloring grey or black explicitly with defines. This makes this a little easier to read. Signed-off-by: Luis R. Rodriguez Signed-off-by: Catalin Marinas commit b888d1ce82ebd2bafecf64c765754968e78b4228 Author: Takashi Iwai Date: Tue Sep 8 18:15:17 2009 +0200 ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128 Increase the limit of PCM substreams to 128. The default value is unchanged; only the max accept value is increased. Signed-off-by: Takashi Iwai commit 30b3710105be0ba6bbdb7d7d126af76246b02eba Author: Luis R. Rodriguez Date: Fri Sep 4 17:44:51 2009 -0700 kmemleak: add clear command support In an ideal world your kmemleak output will be small, when its not (usually during initial bootup) you can use the clear command to ingore previously reported and unreferenced kmemleak objects. We do this by painting all currently reported unreferenced objects grey. We paint them grey instead of black to allow future scans on the same objects as such objects could still potentially reference newly allocated objects in the future. To test a critical section on demand with a clean /sys/kernel/debug/kmemleak you can do: echo clear > /sys/kernel/debug/kmemleak test your kernel or modules echo scan > /sys/kernel/debug/kmemleak Then as usual to get your report with: cat /sys/kernel/debug/kmemleak Signed-off-by: Luis R. Rodriguez Signed-off-by: Catalin Marinas commit 4a558dd6f93d419cd318958577e25492bd09e960 Author: Luis R. Rodriguez Date: Tue Sep 8 16:34:50 2009 +0100 kmemleak: use bool for true/false questions Acked-by: Pekka Enberg Signed-off-by: Luis R. Rodriguez Signed-off-by: Catalin Marinas commit 179a8100e12d0053f4b368ea3358dd9a0fc6cb94 Author: Catalin Marinas Date: Mon Sep 7 10:14:42 2009 +0100 kmemleak: Do no create the clean-up thread during kmemleak_disable() The kmemleak_disable() function could be called from various contexts including IRQ. It creates a clean-up thread but the kthread_create() function has restrictions on which contexts it can be called from, mainly because of the kthread_create_lock. The patch changes the kmemleak clean-up thread to a workqueue. Signed-off-by: Catalin Marinas Reported-by: Eric Paris commit 9b151fec139d32ab3acce5da5761d868e205fadd Author: Takashi Iwai Date: Tue Sep 8 14:30:49 2009 +0200 ALSA: dummy - Add debug proc file Added the debug proc file to see or change the snd_pcm_hardware fields to emulate. The parameters can be changed by writing to a proc file like: # echo periods_min 4 > /proc/asound/card1/dummy_pcm Signed-off-by: Takashi Iwai commit 4f7454a9970fa0f3e9f1a68201520e3df1bb5224 Author: Takashi Iwai Date: Tue Sep 8 14:29:58 2009 +0200 ALSA: Add const prefix to proc helper functions Add appropriate const prefix to char * arguments in proc helper functions. Also fixed the caller side to be proper const pointers. Signed-off-by: Takashi Iwai commit 6e5265ec34d3b9578973841ddec8b925e986136a Author: Takashi Iwai Date: Tue Sep 8 14:26:51 2009 +0200 ALSA: Re-export snd_pcm_format_name() function Re-export snd_pcm_format_name() function to be used outside the PCM core. As a first example, usbaudio is changed to use it now again. Signed-off-by: Takashi Iwai commit b5d9d734a53e0204aab0089079cbde2a1285a38f Author: Mike Galbraith Date: Tue Sep 8 11:12:28 2009 +0200 sched: Ensure that a child can't gain time over it's parent after fork() A fork/exec load is usually "pass the baton", so the child should never be placed behind the parent. With START_DEBIT we make room for the new task, but with child_runs_first, that room comes out of the _parent's_ hide. There's nothing to say that the parent wasn't ahead of min_vruntime at fork() time, which means that the "baton carrier", who is essentially the parent in drag, can gain time and increase scheduling latencies for waiters. With NEW_FAIR_SLEEPERS + START_DEBIT + child_runs_first enabled, we essentially pass the sleeper fairness off to the child, which is fine, but if we don't base placement on the parent's updated vruntime, we can end up compounding latency woes if the child itself then does fork/exec. The debit incurred at fork doesn't hurt the parent who is then going to sleep and maybe exit, but the child who acquires the error harms all comers. This improves latencies of make -j kernel build workloads. Reported-by: Jens Axboe Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 33d78674586aeb6a623b1e612e6f92dd83015ed3 Author: Takashi Iwai Date: Tue Sep 8 11:03:41 2009 +0200 ALSA: hda - Use auto model for HP laptops with ALC268 codec The HP laptops with ALC268 codec seem working better with model=auto than model=toshiba; e.g. the auto model fixes missing digital outputs. Let's fix quirk entry to choose auto model explicitly. Tested-by: Jens Jorgensen Signed-off-by: Takashi Iwai commit 6148b130eb84edc76e4fa88da1877b27be6c2f06 Author: Sophie Hamilton Date: Tue Sep 8 10:58:42 2009 +0200 ALSA: cs46xx - Fix minimum period size Fix minimum period size for cs46xx cards. This fixes a problem in the case where neither a period size nor a buffer size is passed to ALSA; this is the case in Audacious, OpenAL, and others. Signed-off-by: Sophie Hamilton Cc: Signed-off-by: Takashi Iwai commit e6cc0fd1e31cfe48e207de78742ccdf301369bf3 Author: Roland Dreier Date: Mon Sep 7 21:54:38 2009 -0700 MAINTAINERS: InfiniBand/RDMA mailing list transition to vger InfiniBand/RDMA development discussion is moving from general@lists.openfabrics.org to linux-rdma@vger.kernel.org. Signed-off-by: Roland Dreier commit a8fae3ec5f118dc92517dcbed3ecf69ddb641d0f Author: Peter Zijlstra Date: Mon Sep 7 18:32:32 2009 +0200 sched: enable SD_WAKE_IDLE Now that SD_WAKE_IDLE doesn't make pipe-test suck anymore, enable it by default for MC, CPU and NUMA domains. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 71a29aa7b600595d0ef373ea605ac656876d1f2f Author: Peter Zijlstra Date: Mon Sep 7 18:28:05 2009 +0200 sched: Deal with low-load in wake_affine() wake_affine() would always fail under low-load situations where both prev and this were idle, because adding a single task will always be a significant imbalance, even if there's nothing around that could balance it. Deal with this by allowing imbalance when there's nothing you can do about it. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit cdd2ab3de4301728b20efd6225681d3ff591a938 Author: Peter Zijlstra Date: Mon Sep 7 18:12:06 2009 +0200 sched: Remove short cut from select_task_rq_fair() select_task_rq_fair() incorrectly skips the wake_affine() logic, remove this. When prev_cpu == this_cpu, the code jumps straight to the wake_idle() logic, this doesn't give the wake_affine() logic the chance to pin the task to this cpu. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 87831cb660954356d68cebdb1406f3be09e784e9 Author: Mark Brown Date: Mon Sep 7 18:09:58 2009 +0100 ASoC: Fix WM835x Out4 capture enumeration It's the 8th enum of a zero indexed array. This is why I don't let new drivers use these arrays of enums... Signed-off-by: Mark Brown Cc: stable@kernel.org commit b76aabc3956e9b95e7b7dc1aeecb8c6caf57f74c Author: Hal Rosenstock Date: Mon Sep 7 08:28:48 2009 -0700 IB/mad: Allow tuning of QP0 and QP1 sizes MADs are UD and can be dropped if there are no receives posted, so allow receive queue size to be set with a module parameter in case the queue needs to be lengthened. Send side tuning is done for symmetry with receive. Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier commit 6b2eef8fd78ff909c3396b8671d57c42559cc51d Author: Roland Dreier Date: Mon Sep 7 08:27:50 2009 -0700 IB/mad: Fix possible lock-lock-timer deadlock Lockdep reported a possible deadlock with cm_id_priv->lock, mad_agent_priv->lock and mad_agent_priv->timed_work.timer; this happens because the mad module does cancel_delayed_work(&mad_agent_priv->timed_work); while holding mad_agent_priv->lock. cancel_delayed_work() internally does del_timer_sync(&mad_agent_priv->timed_work.timer). This can turn into a deadlock because mad_agent_priv->lock is taken inside cm_id_priv->lock, so we can get the following set of contexts that deadlock each other: A: holding cm_id_priv->lock, waiting for mad_agent_priv->lock B: holding mad_agent_priv->lock, waiting for del_timer_sync() C: interrupt during mad_agent_priv->timed_work.timer that takes cm_id_priv->lock Fix this by using the new __cancel_delayed_work() interface (which internally does del_timer() instead of del_timer_sync()) in all the places where we are holding a lock. Addresses: http://bugzilla.kernel.org/show_bug.cgi?id=13757 Reported-by: Bart Van Assche Signed-off-by: Roland Dreier commit b8c60ede6abf8e96a892c114131700b0cfb0be89 Author: Takashi Iwai Date: Mon Sep 7 15:52:30 2009 +0200 ALSA: Remove unneeded ifdef from sound/core.h Remove the old hack that was needed for building alsa-driver modules externally for old kernels. Signed-off-by: Takashi Iwai commit 82a783f4bcb878e6c4f02e24c7cd0687bdea7443 Author: Takashi Iwai Date: Mon Sep 7 15:50:18 2009 +0200 ALSA: Remove struct snd_monitor_file from public sound/core.h The struct snd_monitor_file is used locally only in sound/core/init.c, thus it should be moved there from the public sound/core.h. Signed-off-by: Takashi Iwai commit be1d6a5f55b30042c57bdfbe7cb4761ed081def0 Author: David Howells Date: Mon Sep 7 13:24:17 2009 +0100 KEYS: Fix default security_session_to_parent() Fix the default security_session_to_parent() in linux/security.h to have a body. Signed-off-by: David Howells Signed-off-by: James Morris commit 236cc52856f6ebe47f52d50ba5431b0e172fd0d1 Author: Mark Brown Date: Mon Sep 7 12:46:42 2009 +0100 ASoC: Remove unuused hw_read_t Signed-off-by: Mark Brown commit f1bc07af9a9edc5c1d4bdd971f7099316ed2e405 Author: Clemens Ladisch Date: Mon Sep 7 10:18:54 2009 +0200 sound: oxygen: work around MCE when changing volume When the volume is changed continuously (e.g., when the user drags a volume slider with the mouse), the driver does lots of I2C writes. Apparently, the sound chip can get confused when we poll the I2C status register too much, and fails to complete a read from it. On the PCI-E models, the PCI-E/PCI bridge gets upset by this and generates a machine check exception. To avoid this, this patch replaces the polling with an unconditional wait that is guaranteed to be long enough. Signed-off-by: Clemens Ladisch Tested-by: Johann Messner Cc: Signed-off-by: Takashi Iwai commit 3a5f29c1dbe5814349efacdea483079c470dcc38 Author: David S. Miller Date: Mon Sep 7 02:03:37 2009 -0700 r8169: Fix warning in rtl8169_start_xmit(). Reported by Stephen Rothwell: drivers/net/r8169.c: In function 'rtl8169_start_xmit': drivers/net/r8169.c:3421: warning: label 'out' defined but not used Introduced by commit 61357325f377889a1daffa14962d705dc814dd0e ("netdev: convert bulk of drivers to netdev_tx_t"). Signed-off-by: David S. Miller commit cf33ce15463b784a1d648905fc067fa4d6b17466 Author: Randy Dunlap Date: Fri Sep 4 14:20:37 2009 +0000 net: fix hydra printk format warning m68k: drivers/net/hydra.c:178: warning: format '%08lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 5dbc46506a4f7b9f564bb7589a49ed32bc1caa15 Author: Krzysztof Halasa Date: Sat Sep 5 03:59:49 2009 +0000 IXP42x HSS support for setting internal clock rate HSS usually uses external clocks, so it's not a big deal. Internal clock is used for direct DTE-DTE connections and when the DCE doesn't provide it's own clock. This also depends on the oscillator frequency. Intel seems to have calculated the clock register settings for 33.33 MHz (66.66 MHz timer base). Their settings seem quite suboptimal both in terms of average frequency (60 ppm is unacceptable for G.703 applications, their primary intended usage(?)) and jitter. Many (most?) platforms use a 33.333 MHz oscillator, a 10 ppm difference from Intel's base. Instead of creating static tables, I've created a procedure to program the HSS clock register. The register consists of 3 parts (A, B, C). The average frequency (= bit rate) is: 66.66x MHz / (A + (B + 1) / (C + 1)) The procedure aims at the closest average frequency, possibly at the cost of increased jitter. Nobody would be able to directly drive an unbufferred transmitter with a HSS anyway, and the frequency error is what it really counts. I've verified the above with an oscilloscope on IXP425. It seems IXP46x and possibly IXP43x use a bit different clock generation algorithm - it looks like the avg frequency is: (on IXP465) 66.66x MHz / (A + B / (C + 1)). Also they use much greater precomputed A and B - on IXP425 it would simply result in more jitter, but I don't know how does it work on IXP46x (perhaps 3 least significant bits aren't used?). Anyway it looks that they were aiming for exactly +60 ppm or -60 ppm, while <1 ppm is typically possible (with a synchronized clock, of course). The attached patch makes it possible to set almost any bit rate (my IXP425 533 MHz quits at > 22 Mb/s if a single port is used, and the minimum is ca. 65 Kb/s). This is independent of MVIP (multi-E1/T1 on one HSS) mode. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit 32e6a0c82e7a7991a02414d830f262e1f4db73e6 Author: Krzysztof Halasa Date: Sat Sep 5 00:54:30 2009 +0000 WAN: remove deprecated PCI_DEVICE_ID from PCI200SYN driver. PCI200SYN has its own PCI subsystem device ID for 3+ years, now it's time to remove the generic PLX905[02] ID from the driver. Anyone with old EEPROM data will have to run the upgrade. Having the generic PLX905[02] (PCI-local bus bridge) ID is harmful as the driver tries to handle other devices based on these bridges. Signed-off-by: Krzysztof Halasa Signed-off-by: David S. Miller commit c190e3c8f6b22004b9cdc62ee5e7ba2fa5f74dc7 Author: Ajit Khaparde Date: Fri Sep 4 03:12:29 2009 +0000 be2net: Code changes in Tx path to use skb_dma_map/skb_dma_unmap Code changes to - In the tx completion processing, there were instances of unmapping a memory as a page which was originally mapped as single. This patch takes care of this by using skb_dma_map()/skb_dma_unmap() to map/unmap Tx buffers. - set gso_max_size to 65535. This was not done till now. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 84517482e19bc775de7b3b4e998dee2f506bc34e Author: Ajit Khaparde Date: Fri Sep 4 03:12:16 2009 +0000 be2net: Changes to support flashing of the be2 network adapter Changes to support flashing of the be2 network adapter using the request_firmware() & ethtool infrastructure. The trigger to flash the device will come from ethtool utility. The driver will invoke request_firmware() to start the flash process. The file containing the flash image is expected to be available in /lib/firmware/ Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 384824281caa9ac4b76664033416f1eac4a652fe Author: Stephen Hemminger Date: Fri Sep 4 05:33:46 2009 +0000 wan: dlci/sdla transmit return dehacking This is a brute force removal of the wierd slave interface done for DLCI -> SDLA transmit. Before it was using non-standard return values and freeing skb in caller. This changes it to using normal return values, and freeing in the callee. Luckly only one driver pair was doing this. Not tested on real hardware, in fact I wonder if this driver pair is even being used by any users. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5877e55f32bb50956c9a1df8e7db3fbc67dc47b6 Author: Dhananjay Phadke Date: Sat Sep 5 17:43:12 2009 +0000 netxen: update version to 4.0.50 Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 2b9e62ee7b2f1971c01fdaa7653c9dae7b571187 Author: Dhananjay Phadke Date: Sat Sep 5 17:43:11 2009 +0000 netxen: refactor firmware info code o Combine netxen_get_firmware_info(), netxen_check_options() so that they are updated every time firmware is reset. o Set dma mask everytime firmware is reset. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 195c5f9829407857cba86f083caec6302b1fd8e1 Author: Amit Kumar Salecha Date: Sat Sep 5 17:43:10 2009 +0000 netxen: pre calculate register addresses For registers accessed in fast path (interrupt / softirq) avoid expensive I/O address translation. These registers are directly mapped in PCI bar 0 and do not require any window checks. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d0725e4d3ccf603c4fcf3589850cb464c927d42a Author: Amit Kumar Salecha Date: Sat Sep 5 17:43:09 2009 +0000 netxen: fix ip addr hashing after firmware reset Reprogram local IP addresses after firmware is reset or after resuming from suspend. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 6a581e93981e8838c85e407303186faf937830d3 Author: Dhananjay Phadke Date: Sat Sep 5 17:43:08 2009 +0000 netxen: firmware hang detection Implement state machine to detect firmware hung state and recover. Since firmware will be shared by all PCI functions that have different class drivers (NIC or FCOE or iSCSI), explicit hardware based serialization is required for initializing firmware. o Used global scratchpad register to maintain device reference count. Every probed pci function adds to ref count. o Implement timer (delayed work) for each pci func that checks firmware heartbit every 5 sec and detaches itself if firmware is dead. Last detaching function reloads firmware. Other functions wait for firmware init, and re-attach themselves. Heartbit is not supported by NX2031 firmware. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit db4cfd8a6149e778befb2ff6e6f91cdc6394cbe6 Author: Dhananjay Phadke Date: Sat Sep 5 17:43:07 2009 +0000 netxen: handle firmware load errors Unwind allocations and release file firmware when when firmware load fails. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit a68c4d11336610dc348620766119db09675707c2 Author: Takashi Iwai Date: Fri Sep 4 12:19:36 2009 +0200 ALSA: dummy - Fake buffer allocations Instead of allocating the real buffers, use a fake buffer and ignore read/write in the dummy driver so that we can save the resources. For mmap, a single page (unique to the direction, though) is reused to all buffers. When the app requires to read/write the real buffers, pass fake_buffer=0 module option at loading time. This will get back to the old behavior. Signed-off-by: Takashi Iwai commit a65cc60f6349fe91539f736dad8fb2398488e431 Author: ddiaz@cenditel.gob.ve Date: Sat Sep 5 16:28:06 2009 -0430 ALSA: hda/realtek: Added support for CLEVO M540R subsystem, 6 channel + digital The model clevo-m540r was created with 6-channel and digital support. All functions verified except spdif. Tested with a VIT D2000 laptop which has: [lspci extract] Audio device [0403]: Intel Corporation 82801H (ICH8 Family) HD Audio Controller [8086:284b] (rev 03) Subsystem: CLEVO/KAPOK Computer Device [1558:5409] [/proc/asound/card0/codec\#0 header] Codec: Realtek ALC883 Address: 0 Function Id: 0x1 Vendor Id: 0x10ec0883 Subsystem Id: 0x15585409 Revision Id: 0x100002 [Added a comment about HP mute and the model description by tiwai] Signed-off-by: Dhionel Diaz Signed-off-by: Takashi Iwai commit b6d9c25631e7c38dc7be220b04553068fb542683 Author: Jaswinder Singh Rajput Date: Fri Sep 4 23:13:21 2009 +0530 Security/SELinux: includecheck fix kernel/sysctl.c fix the following 'make includecheck' warning: kernel/sysctl.c: linux/security.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: James Morris commit 945af7c3289c26c9070d6b1bf3ca759d36643e0b Author: David Howells Date: Fri Sep 4 09:19:48 2009 +0100 KEYS: security_cred_alloc_blank() should return int under all circumstances Make security_cred_alloc_blank() return int, not void, when CONFIG_SECURITY=n. Signed-off-by: David Howells Signed-off-by: James Morris commit 6ec1c69a8f6492fd25722f4762721921da074c12 Author: David S. Miller Date: Sun Sep 6 01:58:51 2009 -0700 net_sched: add classful multiqueue dummy scheduler This patch adds a classful dummy scheduler which can be used as root qdisc for multiqueue devices and exposes each device queue as a child class. This allows to address queues individually and graft them similar to regular classes. Additionally it presents an accumulated view of the statistics of all real root qdiscs in the dummy root. Two new callbacks are added to the qdisc_ops and qdisc_class_ops: - cl_ops->select_queue selects the tx queue number for new child classes. - qdisc_ops->attach() overrides root qdisc device grafting to attach non-shared qdiscs to the queues. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 589983cd21f4a2e4ed74a958805a90fa676845c5 Author: Patrick McHardy Date: Fri Sep 4 06:41:20 2009 +0000 net_sched: move dev_graft_qdisc() to sch_generic.c It will be used in a following patch by the multiqueue qdisc. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit af356afa010f3cd2c8b8fcc3bce90f7a7b7ec02a Author: Patrick McHardy Date: Fri Sep 4 06:41:18 2009 +0000 net_sched: reintroduce dev->qdisc for use by sch_api Currently the multiqueue integration with the qdisc API suffers from a few problems: - with multiple queues, all root qdiscs use the same handle. This means they can't be exposed to userspace in a backwards compatible fashion. - all API operations always refer to queue number 0. Newly created qdiscs are automatically shared between all queues, its not possible to address individual queues or restore multiqueue behaviour once a shared qdisc has been attached. - Dumps only contain the root qdisc of queue 0, in case of non-shared qdiscs this means the statistics are incomplete. This patch reintroduces dev->qdisc, which points to the (single) root qdisc from userspace's point of view. Currently it either points to the first (non-shared) default qdisc, or a qdisc shared between all queues. The following patches will introduce a classful dummy qdisc, which will be used as root qdisc and contain the per-queue qdiscs as children. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5b9a9ccfad8553dbf7a9b17ba78bad70215ed0e2 Author: Patrick McHardy Date: Fri Sep 4 06:41:17 2009 +0000 net_sched: remove some unnecessary checks in classful schedulers The class argument to the ->graft(), ->leaf(), ->dump(), ->dump_stats() all originate from either ->get() or ->walk() and are always valid. Remove unnecessary checks. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit de6d5cdf881353f83006d5f3e28ac4fffd42145e Author: Patrick McHardy Date: Fri Sep 4 06:41:16 2009 +0000 net_sched: make cls_ops->change and cls_ops->delete optional Some schedulers don't support creating, changing or deleting classes. Make the respective callbacks optionally and consistently return -EOPNOTSUPP for unsupported operations, instead of currently either -EOPNOTSUPP, -ENOSYS or no error. In case of sch_prio and sch_multiq, the removed operations additionally checked for an invalid class. This is not necessary since the class argument can only orginate from ->get() or in case of ->change is 0 for creation of new classes, in which case ->change() incorrectly returned -ENOENT. As a side-effect, this patch fixes a possible (root-only) NULL pointer function call in sch_ingress, which didn't implement a so far mandatory ->delete() operation. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 71ebe5e91947392bc276af713827eab12b6db8e4 Author: Patrick McHardy Date: Fri Sep 4 06:41:15 2009 +0000 net_sched: make cls_ops->tcf_chain() optional Some qdiscs don't support attaching filters. Handle this centrally in cls_api and return a proper errno code (EOPNOTSUPP) instead of EINVAL. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d535e4319a2e598ba25dc966ada4e52ea774e33f Author: Tobias Klauser Date: Fri Sep 4 15:53:09 2009 +0200 x86: Make memtype_seq_ops const Signed-off-by: Tobias Klauser Signed-off-by: Ingo Molnar commit 23b6c52cf558f2a1dc6c7010c601b3624eb4591f Author: Rafael J. Wysocki Date: Sat Sep 5 01:07:45 2009 +0200 x86: Decrease the level of some NUMA messages to KERN_DEBUG Some NUMA messages in srat_32.c are confusing to users, because they seem to indicate errors, while in fact they reflect normal behaviour. Decrease the level of these messages to KERN_DEBUG so that they don't show up unnecessarily. Signed-off-by: Rafael J. Wysocki LKML-Reference: <200909050107.45175.rjw@sisk.pl> Signed-off-by: Ingo Molnar commit d28daf923ac5e4a0d7cecebae56f3e339189366b Merge: ed011b2 4a88d44 Author: Ingo Molnar Date: Sun Sep 6 06:27:40 2009 +0200 Merge branch 'tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core commit ed011b22ce567eabefa9ea571d3721c10ecd0553 Merge: 85bac32 e07cccf Author: Ingo Molnar Date: Sun Sep 6 06:11:38 2009 +0200 Merge commit 'v2.6.31-rc9' into tracing/core Merge reason: move from -rc5 to -rc9. Signed-off-by: Ingo Molnar commit cd1d3f7abec19719949ec5b5189a821cd52af868 Author: Chien Tung Date: Sat Sep 5 20:36:39 2009 -0700 RDMA/nes: Map MTU to IB_MTU_* and correctly report link state Old query_port code reports static MTU and link state values. Instead, map actual MTU to next largest IB_MTU_* constant and correctly report link state. Cc: Steve Wise Reported-by: Jeff Squyres Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit b29a4fc49b028dbdab53b679826ed1eb658dde59 Author: Don Wood Date: Sat Sep 5 20:36:39 2009 -0700 RDMA/nes: Rework the disconn routine for terminate and flushing The disconn routine has been reworked to acoomodate the terminate and flushing changes. The routine has been reorganized to make all the decisions at the start then it performs all the required operations. This simplified the lock handling and is easier to follow. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 320cdfd21d4a9f6ef54b74871e0d6b19a0e86fd6 Author: Don Wood Date: Sat Sep 5 20:36:39 2009 -0700 RDMA/nes: Use the flush code to fill in cqe error Use the flush status to fill in cqe status when a specific error has been identified. Subsequent flushed completions still use the flushed value. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 6eed5e7c8bdce6ee21bbe0be4a3f3dce4d4b392a Author: Don Wood Date: Sat Sep 5 20:36:39 2009 -0700 RDMA/nes: Make poll_cq return correct number of wqes during flush When a flush request is given to the hw, it will place one cqe marked as flushed (unless there is nothing to flush). An application that is waiting for all wqe's to complete will be left hanging. This modifies poll_cq to return the correct number of flushes for the pending elements on the wq. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 4b281faec3ad00f7fb00080078321e4d819795eb Author: Don Wood Date: Sat Sep 5 20:36:38 2009 -0700 RDMA/nes: Use flush mechanism to set status for wqe in error When an asynchronous event occurs that requires a terminate, it is sometimes possible to identify the wqe in error. This change uses flush to get this information to the poll routine. The flush operation puts the status into the cqe. If this information is not available, it continues to use the more generic flush code as before. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 8b1c9dc4ba713985d33aba87c761bf71d5a96491 Author: Don Wood Date: Sat Sep 5 20:36:38 2009 -0700 RDMA/nes: Implement Terminate Packet Implement the sending and receiving of Terminate packets. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 3c28b4457a4cf95e982ca13578a5613a11009394 Author: Don Wood Date: Sat Sep 5 20:36:38 2009 -0700 RDMA/nes: Add CQ error handling CQ errors are not being handled correctly. Put in the the upcall for CQ errors. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 5ee21fe0eaf68fb840f442131ab7addced1a31c3 Author: Don Wood Date: Sat Sep 5 20:36:37 2009 -0700 RDMA/nes: Clean out CQ completions when QP is destroyed When a QP is destroyed, unprocessed CQ entries could still reference the QP. This change zeroes the context value at QP destroy time. By skipping over cqe's with a zero context, poll_cq no longer processes a cqe for a destroyed QP. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit ba0c5d9a8975cf740a4a4b8c579cc4b325f8b852 Author: Don Wood Date: Sat Sep 5 20:36:37 2009 -0700 RDMA/nes: Change memory allocation for cqp request to GFP_ATOMIC The routine to allocate a cqp request is not called from process context code. Since it is not OK to sleep, it needs to use GFP_ATOMIC not GFP_KERNEL. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 873fcdd4bfc75880888a7d148a71d70ed87c9ebf Author: Don Wood Date: Sat Sep 5 20:36:37 2009 -0700 RDMA/nes: Allocate work item for disconnect event handling The code currently has a work structure in the QP. This requires a lock and a pending flag to ensure there is never more than one request active. When two events happen quickly (such as FIN and LLP CLOSE), it causes unnecessary timeouts since the second one is dropped. This fix allocates memory for the work request so the second one can be queued. A lock is removed since it is no longer needed. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit c4c3f279cd8e9cc1d3e2f364a27beadb2e69cda8 Author: Don Wood Date: Sat Sep 5 20:36:36 2009 -0700 RDMA/nes: Update refcnt during disconnect During termination, it is possible for the refcnt to go to zero while the worker thread is posting events upward. This fix increments the refcnt before the request is passed to the worker thread. The thread decrements the refcnt when the request is completed. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit d84106477733cb155c5dcaea664ddf120bf69eb7 Author: Jack Morgenstein Date: Sat Sep 5 20:36:16 2009 -0700 IB/mthca: Don't allow userspace open while recovering from catastrophic error Userspace apps are supposed to release all ib device resources if they receive a fatal async event (IBV_EVENT_DEVICE_FATAL). However, the app has no way of knowing when the device has come back up, except to repeatedly attempt ibv_open_device() until it succeeds. However, currently there is no protection against the open succeeding while the device is in being removed following the fatal event. In this case, the open will succeed, but as a result the device waits in the middle of its removal until the new app releases its resources -- and the new app will not do so, since the open succeeded at a point following the fatal event generation. This patch adds an "active" flag to the device. The active flag is set to false (in the fatal event flow) before the "fatal" event is generated, so any subsequent ibv_dev_open() call to the device will fail until the device comes back up, thus preventing the above deadlock. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit d94a86890137fabcc97eaa324bfef3f1827744c8 Author: Arputham Benjamin Date: Sat Sep 5 20:36:15 2009 -0700 IB/mthca: Distinguish multiple devices in /proc/interrupts When the mthca driver uses the same name for interrupts for every device in the system. This can make it very confusing trying to work out exactly which device MSI-X interrupts are for. Change the driver to add the PCI name of the device to the interrupt name. Signed-off-by: Arputham Benjamin Signed-off-by: Roland Dreier commit ffe063f32bacad7d5111ae9c2b3e31addb47ce39 Author: Roland Dreier Date: Sat Sep 5 20:36:15 2009 -0700 IB/mthca: Annotate CQ locking mthca_ib_lock_cqs()/mthca_ib_unlock_cqs() are helper functions that lock/unlock both CQs attached to a QP in the proper order to avoid AB-BA deadlocks. Annotate this so sparse can understand what's going on (and warn us if we misuse these functions). Signed-off-by: Roland Dreier commit deecb5d6728fff5288b6f7241ee8225ba0d8c6d2 Author: Roland Dreier Date: Sat Sep 5 20:36:15 2009 -0700 IB/mthca: Remove unnecessary include of mthca_reset.c doesn't have any function annotations, so there's no reason to include . Signed-off-by: Roland Dreier commit fc1285585f5bfda18e3fe7f90afd47da51b82bd6 Author: Roland Dreier Date: Sat Sep 5 20:36:13 2009 -0700 IB/mthca: Remove unnecessary include of mthca_config_reg.h was including for no reason -- the whole file is just defines of constants, so it's entirely self-contained. Signed-off-by: Roland Dreier commit 3b4a8cd51e59c1c342c51b241bbb96c6ac24a147 Author: Jack Morgenstein Date: Sat Sep 5 20:24:50 2009 -0700 IB/mlx4: Don't allow userspace open while recovering from catastrophic error Userspace apps are supposed to release all ib device resources if they receive a fatal async event (IBV_EVENT_DEVICE_FATAL). However, the app has no way of knowing when the device has come back up, except to repeatedly attempt ibv_open_device() until it succeeds. However, currently there is no protection against the open succeeding while the device is in being removed following the fatal event. In this case, the open will succeed, but as a result the device waits in the middle of its removal until the new app releases its resources -- and the new app will not do so, since the open succeeded at a point following the fatal event generation. This patch adds an "active" flag to the device. The active flag is set to false (in the fatal event flow) before the "fatal" event is generated, so any subsequent ibv_dev_open() call to the device will fail until the device comes back up, thus preventing the above deadlock. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit f5f5951c7494b6ae89ec53ca7ca6b0177ebd1308 Author: Arputham Benjamin Date: Sat Sep 5 20:24:50 2009 -0700 mlx4_core: Distinguish multiple devices in /proc/interrupts When the mlx4 driver uses the same name for interrupts for every device in the system. This can make it very confusing trying to work out exactly which device MSI-X interrupts are for. Change the driver to add the PCI name of the device to the interrupt name. Signed-off-by: Arputham Benjamin Signed-off-by: Roland Dreier commit 1af92e2a211b0d46ef60ea9f30f989fd7b5725fa Author: Yevgeny Petrilin Date: Sat Sep 5 20:24:49 2009 -0700 mlx4_core: Avoid double free_icms On the error path of mlx4_init_hca(), mlx4_close_hca() is called, followed by mlx4_free_icms() and mlx4_UNMAP_FA(). But both those functions are also called from mlx4_close_hca(), which leads to a double free. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit fa0681d2129732027355d6b7083dd8932b9b799d Author: Roland Dreier Date: Sat Sep 5 20:24:49 2009 -0700 mlx4_core: Allocate and map sufficient ICM memory for EQ context The current implementation allocates a single host page for EQ context memory, which was OK when we only allocated a few EQs. However, since we now allocate an EQ for each CPU core, this patch removes the hard-coded limit (which we exceed with 4 KB pages and 128 byte EQ context entries with 32 CPUs) and uses the same ICM table code as all other context tables, which ends up simplifying the code quite a bit while fixing the problem. This problem was actually hit in practice on a dual-socket Nehalem box with 16 real hardware threads and sufficiently odd ACPI tables that it shows on boot SMP: Allowing 32 CPUs, 16 hotplug CPUs so num_possible_cpus() ends up 32, and mlx4 ends up creating 33 MSI-X interrupts and 33 EQs. This mlx4 bug means that mlx4 can't even initialize at all on this quite mainstream system. Cc: Reported-by: Eli Cohen Tested-by: Christoph Lameter Signed-off-by: Roland Dreier commit 338a8fad27908f64a0d249cc9f5c7d4ddb7e5684 Author: Roland Dreier Date: Sat Sep 5 20:24:49 2009 -0700 IB/mlx4: Annotate CQ locking mlx4_ib_lock_cqs()/mlx4_ib_unlock_cqs() are helper functions that lock/unlock both CQs attached to a QP in the proper order to avoid AB-BA deadlocks. Annotate this so sparse can understand what's going on (and warn us if we misuse these functions). Signed-off-by: Roland Dreier commit ff149b2a168296c74763cb4a6e7054bdb0a426a1 Author: Roland Dreier Date: Sat Sep 5 20:24:49 2009 -0700 mlx4_core: Remove unnecessary includes of Lots of mlx4 files with no function annotations included for no reason. Signed-off-by: Roland Dreier commit a01df0fe5e4db8c272dcc395354884ff7c15fc10 Author: Roland Dreier Date: Sat Sep 5 20:24:48 2009 -0700 mlx4_core: Use pci_request_regions() The old code used two calls to pci_request_region() to get the two BARs for the mlx4 device, for no particularly good reason. Clean up the code a little by converting this to a single call to pci_request_regions(). Signed-off-by: Roland Dreier commit 1493ab4083c315a978e51b8957bf87859703745d Author: Roel Kluin Date: Sat Sep 5 20:24:24 2009 -0700 RDMA/amso1100: Check kmalloc() result in c2_register_device() dev->ibdev.iwcm allocation may fail, prevent a dereference. Signed-off-by: Roel Kluin Signed-off-by: Roland Dreier commit b1b8afb83336b66ac7198111aad4ead41132b53f Author: Jack Morgenstein Date: Sat Sep 5 20:24:24 2009 -0700 IB/uverbs: Return ENOSYS for unimplemented commands (not EINVAL) Since the original commit 883a99c7 ("[IB] uverbs: Add a mask of device methods allowed for userspace"), the uverbs core returns EINVAL for commands not implemented by a specific low-level driver. This creates a problem that there is no way to tell the difference between an unimplemented command and an implemented one which is incorrectly invoked (which also returns EINVAL). The fix is to have unimplemented commands return ENOSYS. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit e1d7806df32bd247af6a2fe52433ecdd34fee773 Author: Yossi Etigin Date: Sat Sep 5 20:24:24 2009 -0700 IB/core: Fix send multicast group leave retry Until now, retries were only sent when joining a multicast group. This patch will adds retries when leaving a multicast group as well. Signed-off-by: Ron Livne Signed-off-by: Yossi Etigin Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit f1aa78b26e8dabc2956be94a93c40c6cc08eb4a3 Author: Marcin Slusarz Date: Sat Sep 5 20:24:24 2009 -0700 IB: Use printk_once() for driver versions Replace open-coded reimplementations with printk_once(). Signed-off-by: Marcin Slusarz Signed-off-by: Roland Dreier commit 181c74e87eb93df447a759af93cf0a279875ea7d Author: Tobias Klauser Date: Sat Sep 5 20:24:23 2009 -0700 RDMA/amso1100: Use %pM conversion specifier Use the %pM conversion specifier to print a MAC address. Signed-off-by: Tobias Klauser Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 6276e08a9bdf645b71a092fb4530baf4f6c4c6eb Author: Roland Dreier Date: Sat Sep 5 20:24:23 2009 -0700 IB: Use DEFINE_SPINLOCK() for static spinlocks Rather than just defining static spinlock_t variables and then initializing them later in init functions, simply define them with DEFINE_SPINLOCK() and remove the calls to spin_lock_init(). This cleans up the source a tad and also shrinks the compiled code; eg on x86-64: add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-40 (-40) function old new delta ib_uverbs_init 336 326 -10 ib_mad_init_module 147 137 -10 ib_sa_init 123 103 -20 Signed-off-by: Roland Dreier commit 60f2b652f54aa4ac4127a538abad05235fb9c469 Author: Roland Dreier Date: Sat Sep 5 20:24:10 2009 -0700 IB/mad: Check hop count field in directed route MAD to avoid array overflow The hop count field in a directed route MAD is only allowed to be in the range 0 to 63 (by spec). Check that this really is the case to avoid accessing outside the bounds of the hop array. Reported-by: Roel Kluin Signed-off-by: Roland Dreier commit 5e47596bee12597824a3b5b21e20f80b61e58a35 Author: Jason Gunthorpe Date: Sat Sep 5 20:23:40 2009 -0700 IPoIB: Check multicast address format Check that the format of multicast link addresses is correct before taking them from dev->mc_list to priv->multicast_list. This way we never try to send a bogus address to the SA, which prevents badness from erronous 'ip maddr addr add', broken bonding drivers, etc. Signed-off-by: Jason Gunthorpe Signed-off-by: Roland Dreier commit 721d67cdca5b7642b380ca0584de8dceecf6102f Author: Roland Dreier Date: Sat Sep 5 20:23:40 2009 -0700 IPoIB: Drop priv->lock before calling ipoib_send() IPoIB currently must use irqsave locking for priv->lock, since it is taken from interrupt context in one path. However, ipoib_send() does skb_orphan(), and the network stack locking is not IRQ-safe. Therefore we need to make sure we don't hold priv->lock when calling ipoib_send() to avoid lockdep warnings (the code was almost certainly safe in practice, since the only code path that takes priv->lock from interrupt context would never call into the network stack). Addresses: http://bugzilla.kernel.org/show_bug.cgi?id=13757 Reported-by: Bart Van Assche Signed-off-by: Roland Dreier commit cd0bcf4cb963a147baf0b79d94c25ba86220f708 Author: Roland Dreier Date: Sat Sep 5 20:23:38 2009 -0700 IPoIB: Remove unused includes Signed-off-by: Roland Dreier commit 286b63d09660de0fbd0d7748984d7ae491c7fdb6 Author: Roel Kluin Date: Sat Sep 5 20:23:21 2009 -0700 IB/ipath: strncpy() doesn't always NUL-terminate strlcpy() will always null terminate the string. node_desc is not guaranteed to be NUL-terminated so just use memcpy(). Signed-off-by: Roel Kluin Signed-off-by: Roland Dreier commit 6303e74c699d6ba8bd3d44ec6898b2d6aa55d788 Author: Joachim Fenkes Date: Sat Sep 5 20:22:55 2009 -0700 IB/ehca: Fix CQE flags reporting The driver was reporting CQE flags in the wrong bit positions, causing consumers to miss incoming immediate data. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit d706834d995939c96b4952bf042918879b4db18b Author: Joachim Fenkes Date: Sat Sep 5 20:22:55 2009 -0700 IB/ehca: Construct MAD redirect replies from request MAD The old code used a lot of hard-coded values, which might not be valid in all environments (especially routed fabrics or partitioned subnets). Copy as much information as possible from the incoming request to correct that. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 50d40b8e53fab58b0141a75f7448eb28f9e21338 Author: Alexander Schmidt Date: Sat Sep 5 20:22:54 2009 -0700 IB/ehca: Make port autodetect mode the default Make port autodetect mode the default for the ehca driver. The autodetect code has been in the kernel for several releases now and has proved to be stable. Signed-off-by: Roland Dreier commit a52bf98d99e922363d1d600a79de6aaf00090d47 Author: Steve Wise Date: Sat Sep 5 20:22:38 2009 -0700 RDMA/cxgb3: Wake up any waiters on peer close/abort A close/abort while waiting for a wr_ack during connection migration can cause a hung process in iwch_accept_cr/iwch_reject_cr. The fix is to set rpl_error/rpl_done and wake up the waiters when we get a close/abort while in MPA_REQ_RCVD state. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 6e47fe43502ba6dfe86d556661795d9bb0361309 Author: Steve Wise Date: Sat Sep 5 20:22:38 2009 -0700 RDMA/cxgb3: Don't free endpoints early - Keep ref on connection request endpoints until either accepted or rejected so it doesn't get freed early. - Endpoint flags now need to be set via atomic bitops because they can be set on both the iw_cxgb3 workqueue thread and user disconnect threads. - Don't move out of CLOSING too early due to multiple calls to iwch_ep_disconnect. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit fa0d4c11c4b6eb49708b82b638ceb0761152f46a Author: Steve Wise Date: Sat Sep 5 20:22:38 2009 -0700 RDMA/cxgb3: Handle port events properly Massage the err_handler upcall into an event handler upcall, pass netdev port events to the cxgb3 ULPs and generate RDMA port events based on LLD port events. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit b496fe82d4075847a1c42efba2e81d28f6467b3a Author: Steve Wise Date: Sat Sep 5 20:22:37 2009 -0700 RDMA/cxgb3: Set the appropriate IO channel in rdma_init work requests Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 3793d2fc3eac7da11ca44df125cbcedd0b5315d0 Author: Steve Wise Date: Sat Sep 5 20:22:36 2009 -0700 RDMA/cxgb3: iwch_unregister_device leaks memory The iwcm struct mem is never freed. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 81bd5f6c966cf2f137c2759dfc78abdffcff055e Author: Jan Glauber Date: Sat Sep 5 16:27:35 2009 +1000 crypto: sha-s390 - Fix warnings in import function That patch should fix the warnings. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit c9f1d0389b962521af1e2b699c8ee5e299d77b85 Author: Patrick McHardy Date: Fri Sep 4 06:41:13 2009 +0000 net_sched: fix class grafting errno codes If the parent qdisc doesn't support classes, use EOPNOTSUPP. If the parent class doesn't exist, use ENOENT. Currently EINVAL is returned in both cases. Additionally check whether grafting is supported and remove a now unnecessary graft function from sch_ingress. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b1f57195585e376d1944c32c046359640b06a669 Author: Brian Haley Date: Fri Sep 4 20:36:52 2009 -0700 netlink: silence compiler warning CC net/netlink/genetlink.o net/netlink/genetlink.c: In function ‘genl_register_mc_group’: net/netlink/genetlink.c:139: warning: ‘err’ may be used uninitialized in this function From following the code 'err' is initialized, but set it to zero to silence the warning. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 85bac32c4a52c592b857f2c360cc5ec93a097d70 Author: Steven Rostedt Date: Fri Sep 4 14:24:40 2009 -0400 ring-buffer: only enable ring_buffer_swap_cpu when needed Since the ability to swap the cpu buffers adds a small overhead to the recording of a trace, we only want to add it when needed. Only the irqsoff and preemptoff tracers use this feature, and both are not recommended for production kernels. This patch disables its use when neither irqsoff nor preemptoff is configured. Signed-off-by: Steven Rostedt commit 62f0b3eb5cb58931a02ee4e599e19c80a171e351 Author: Steven Rostedt Date: Fri Sep 4 14:11:34 2009 -0400 ring-buffer: check for swapped buffers in start of committing Because the irqsoff tracer can swap an internal CPU buffer, it is possible that a swap happens between the start of the write and before the committing bit is set (the committing bit will disable swapping). This patch adds a check for this and will fail the write if it detects it. Signed-off-by: Steven Rostedt commit e8165dbb03ed04d798163ee512074b9a9466a9c8 Author: Steven Rostedt Date: Thu Sep 3 19:13:05 2009 -0400 tracing: report error in trace if we fail to swap latency buffer The irqsoff tracer will fail to swap the cpu buffer with the max buffer if it preempts a commit. Instead of ignoring this, this patch makes the tracer report it if the last max latency failed due to preempting a current commit. The output of the latency tracer will look like this: # tracer: irqsoff # # irqsoff latency trace v1.1.5 on 2.6.31-rc5 # -------------------------------------------------------------------- # latency: 112 us, #1/1, CPU#1 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:4) # ----------------- # | task: -4281 (uid:0 nice:0 policy:0 rt_prio:0) # ----------------- # => started at: save_args # => ended at: __do_softirq # # # _------=> CPU# # / _-----=> irqs-off # | / _----=> need-resched # || / _---=> hardirq/softirq # ||| / _--=> preempt-depth # |||| / # ||||| delay # cmd pid ||||| time | caller # \ / ||||| \ | / bash-4281 1d.s6 265us : update_max_tr_single: Failed to swap buffers due to commit in progress Note the latency time and the functions that disabled the irqs or preemption will still be listed. Signed-off-by: Steven Rostedt commit 659372d3e42a3e17a2e042d38a8bcdb94bfbe797 Author: Steven Rostedt Date: Thu Sep 3 19:11:07 2009 -0400 tracing: add trace_array_printk for internal tracers to use This patch adds a trace_array_printk to allow a tracer to use the trace_printk on its own trace array. Signed-off-by: Steven Rostedt commit e77405ad80f53966524b5c31244e13fbbbecbd84 Author: Steven Rostedt Date: Wed Sep 2 14:17:06 2009 -0400 tracing: pass around ring buffer instead of tracer The latency tracers (irqsoff and wakeup) can swap trace buffers on the fly. If an event is happening and has reserved data on one of the buffers, and the latency tracer swaps the global buffer with the max buffer, the result is that the event may commit the data to the wrong buffer. This patch changes the API to the trace recording to be recieve the buffer that was used to reserve a commit. Then this buffer can be passed in to the commit. Signed-off-by: Steven Rostedt commit f633903af2ceb0cec07d45e499a072b6593d0ed1 Author: Steven Rostedt Date: Fri Sep 4 12:35:16 2009 -0400 tracing: make tracing_reset safe for external use Reseting the trace buffer without first disabling the buffer and waiting for any writers to complete, can corrupt the ring buffer. This patch makes the external version of tracing_reset safe from corruption by disabling the ring buffer and calling synchronize_sched. This version can no longer be called from interrupt context. But all those callers have been removed. Signed-off-by: Steven Rostedt commit 2f26ebd549b9ab55ac756b836ec759c11fe93f81 Author: Steven Rostedt Date: Tue Sep 1 11:06:29 2009 -0400 tracing: use timestamp to determine start of latency traces Currently the latency tracers reset the ring buffer. Unfortunately if a commit is in process (due to a trace event), this can corrupt the ring buffer. When this happens, the ring buffer will detect the corruption and then permanently disable the ring buffer. The bug does not crash the system, but it does prevent further tracing after the bug is hit. Instead of reseting the trace buffers, the timestamp of the start of the trace is used instead. The buffers will still contain the previous data, but the output will not count any data that is before the timestamp of the trace. Note, this only affects the static trace output (trace) and not the runtime trace output (trace_pipe). The runtime trace output does not make sense for the latency tracers anyway. Reported-by: Arnaldo Carvalho de Melo Signed-off-by: Steven Rostedt commit f1751c57f7bb816c9b6b4cb5d79c703aaa7199da Author: Vlad Yasevich Date: Fri Sep 4 18:21:03 2009 -0400 sctp: Catch bogus stream sequence numbers Since our TSN map is capable of holding at most a 4K chunk gap, there is no way that during this gap, a stream sequence number (unsigned short) can wrap such that the new number is smaller then the next expected one. If such a case is encountered, this is a protocol violation. Signed-off-by: Vlad Yasevich commit be2971438dec2e2d041af4701472a93a7dd03642 Author: Wei Yongjun Date: Fri Sep 4 14:34:06 2009 +0800 sctp: remove dup code in net/sctp/output.c Use sctp_packet_reset() instead of dup code. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 9237ccbc0b22b5aa5396463ba0b14dc5efe5b98c Author: Wei Yongjun Date: Fri Sep 4 14:33:19 2009 +0800 sctp: turn flags in 'struct sctp_association' into bit fields This shrinks the size of struct sctp_association a little. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 723884339f90a9c420783135168cc1045750eb5d Author: Bhaskar Dutta Date: Thu Sep 3 17:25:47 2009 +0530 sctp: Sysctl configuration for IPv4 Address Scoping This patch introduces a new sysctl option to make IPv4 Address Scoping configurable . In networking environments where DNAT rules in iptables prerouting chains convert destination IP's to link-local/private IP addresses, SCTP connections fail to establish as the INIT chunk is dropped by the kernel due to address scope match failure. For example to support overlapping IP addresses (same IP address with different vlan id) a Layer-5 application listens on link local IP's, and there is a DNAT rule that maps the destination IP to a link local IP. Such applications never get the SCTP INIT if the address-scoping draft is strictly followed. This sysctl configuration allows SCTP to function in such unconventional networking environments. Sysctl options: 0 - Disable IPv4 address scoping draft altogether 1 - Enable IPv4 address scoping (default, current behavior) 2 - Enable address scoping but allow IPv4 private addresses in init/init-ack 3 - Enable address scoping but allow IPv4 link local address in init/init-ack Signed-off-by: Bhaskar Dutta Signed-off-by: Vlad Yasevich commit 8da645e101a8c20c6073efda3c7cc74eec01b87f Author: Vlad Yasevich Date: Fri Sep 4 18:21:01 2009 -0400 sctp: Get rid of an extra routing lookup when adding a transport. We used to perform 2 routing lookups for a new transport: one just for path mtu detection, and one to actually route to destination and path mtu update when sending a packet. There is no point in doing both of them, especially since the first one just for path mtu doesn't take into account source address and sometimes gives the wrong route, causing path mtu updates anyway. We now do just the one call to do both route to destination and get path mtu updates. Signed-off-by: Vlad Yasevich commit a803c942303e6a4ef0ab6b80114529852cffa058 Author: Vlad Yasevich Date: Fri Sep 4 18:21:01 2009 -0400 sctp: Turn flags in 'sctp_packet' into bit fields This shrinks the size of sctp_packet a little. Signed-off-by: Vlad Yasevich commit 4007cc88ceec8892b74792f0a10983b140beae72 Author: Vlad Yasevich Date: Fri Sep 4 18:21:00 2009 -0400 sctp: Correctly track if AUTH has been bundled. We currently track if AUTH has been bundled using the 'auth' pointer to the chunk. However, AUTH is disallowed after DATA is already in the packet, so we need to instead use the 'has_auth' field. Signed-off-by: Vlad Yasevich commit d521c08f4c16d27f193718da778503a6472501da Author: Wei Yongjun Date: Wed Sep 2 13:05:33 2009 +0800 sctp: fix to reset packet information after packet transmit The packet information does not reset after packet transmit, this may cause some problems such as following DATA chunk be sent without AUTH chunk, even if the authentication of DATA chunk has been requested by the peer. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 31b02e1549406efa346534acad956a42bc3f28c4 Author: Vlad Yasevich Date: Fri Sep 4 18:21:00 2009 -0400 sctp: Failover transmitted list on transport delete Add-IP feature allows users to delete an active transport. If that transport has chunks in flight, those chunks need to be moved to another transport or association may get into unrecoverable state. Reported-by: Rafael Laufer Signed-off-by: Vlad Yasevich commit f68b2e05f326971cd76c65aa91a1a41771dd7485 Author: Vlad Yasevich Date: Fri Sep 4 18:21:00 2009 -0400 sctp: Fix SCTP_MAXSEG socket option to comply to spec. We had a bug that we never stored the user-defined value for MAXSEG when setting the value on an association. Thus future PMTU events ended up re-writing the frag point and increasing it past user limit. Additionally, when setting the option on the socket/endpoint, we effect all current associations, which is against spec. Now, we store the user 'maxseg' value along with the computed 'frag_point'. We inherit 'maxseg' from the socket at association creation and use it as an upper limit for 'frag_point' when its set. Signed-off-by: Vlad Yasevich commit cb95ea32a457871f72752164de8d94fa20f4703c Author: Vlad Yasevich Date: Fri Sep 4 18:20:59 2009 -0400 sctp: Don't do NAGLE delay on large writes that were fragmented small SCTP will delay the last part of a large write due to NAGLE, if that part is smaller then MTU. Since we are doing large writes, we might as well send the last portion now instead of waiting untill the next large write happens. The small portion will be sent as is regardless, so it's better to not delay it. This is a result of much discussions with Wei Yongjun and Doug Graham . Many thanks go out to them. Signed-off-by: Vlad Yasevich commit b29e7907288554db9c987c36facfd0304ee8ff5a Author: Vlad Yasevich Date: Fri Sep 4 18:20:59 2009 -0400 sctp: Nagle delay should be based on path mtu The decision to delay due to Nagle should be based on the path mtu and future packet size. We currently incorrectly base it on 'frag_point' which is the SCTP DATA segment size, and also we do not count DATA chunk header overhead in the computation. This actuall allows situations where a user can set low 'frag_point', and then send small messages without delay. Signed-off-by: Vlad Yasevich commit d4d6fb5787a6ef6e1dab731d617ebda6be73d561 Author: Vlad Yasevich Date: Fri Sep 4 18:20:59 2009 -0400 sctp: Try not to change a_rwnd when faking a SACK from SHUTDOWN. We currently set a_rwnd to 0 when faking a SACK from SHUTDOWN. This results in an hung association if the remote only uses SHUTDOWNs (which it's allowed to do) to acknowlege DATA when closing. The reason for that is that we simply honor the a_rwnd from the sack, but since we faked it to be 0, we enter 0-window probing. The fix is to use the peers old rwnd and add our flight size to it. Signed-off-by: Vlad Yasevich commit 4d3c46e6833208428d366630aa708f6876e61fc1 Author: Vlad Yasevich Date: Fri Sep 4 18:20:59 2009 -0400 sctp: drop a_rwnd to 0 when receive buffer overflows. SCTP has a problem that when small chunks are used, it is possible to exhaust the receiver buffer without fully closing receive window. This happens due to all overhead that we have account for with small messages. To fix this, when receive buffer is exceeded, we'll drop the window to 0 and save the 'drop' portion. When application starts reading data and freeing up recevie buffer space, we'll wait until we've reached the 'drop' window and then add back this 'drop' one mtu at a time. This worked well in testing and under stress produced rather even recovery. Signed-off-by: Vlad Yasevich commit 33ce828131ca6655b48bd2070dadd80f816dfe0d Author: Vlad Yasevich Date: Fri Sep 4 18:20:58 2009 -0400 sctp: Clear fast_recovery on the transport when T3 timer expires. If T3 timer expires, we are retransmitting data due to timeout any any fast recovery is null and void. We can clear the fast recovery flag. Signed-off-by: Vlad Yasevich commit b9f8478682445c2a3e0b87718a0563ef543ad94e Author: Vlad Yasevich Date: Wed Aug 26 09:36:25 2009 -0400 sctp: Fix error count increments that were results of HEARTBEATS SCTP RFC 4960 states that unacknowledged HEARTBEATS count as errors agains a given transport or endpoint. As such, we should increment the error counts for only for unacknowledged HB, otherwise we detect failure too soon. This goes for both the overall error count and the path error count. Now, there is a difference in how the detection is done between the two. The path error detection is done after the increment, so to detect it properly, we actually need to exceed the path threshold. The overall error detection is done _BEFORE_ the increment. Thus to detect the failure, it's enough for the error count to match the threshold. This is why all the state functions use '>=' to detect failure, while path detection uses '>'. Thanks goes to Chunbo Luo who first proposed patches to fix this issue and made me re-read the spec and the code to figure out how this cruft really works. Signed-off-by: Vlad Yasevich commit d71a09ed555e52299b5d3ad8945bdf84f65423a6 Author: Alexey Dobriyan Date: Sun Aug 23 23:11:36 2009 +0400 sctp: use proc_create() create_proc_entry() is deprecated (not formally, though). Signed-off-by: Alexey Dobriyan Signed-off-by: Vlad Yasevich commit dadb50cc1ada2906594df83d991f0bc388039bb6 Author: Wei Yongjun Date: Sat Aug 22 11:27:37 2009 +0800 sctp: fix check the chunk length of received HEARTBEAT-ACK chunk The receiver of the HEARTBEAT should respond with a HEARTBEAT ACK that contains the Heartbeat Information field copied from the received HEARTBEAT chunk. So the received HEARTBEAT-ACK chunk must have a length of: sizeof(sctp_chunkhdr_t) + sizeof(sctp_sender_hb_info_t) A badly formatted HB-ACK chunk, it is possible that we may access invalid memory. We should really make sure that the chunk format is what we expect, before attempting to touch the data. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit a2f36eec5647548fa94fb68e2843b00fb9c0d46b Author: Wei Yongjun Date: Sat Aug 22 11:24:00 2009 +0800 sctp: drop SHUTDOWN chunk if the TSN is less than the CTSN If Cumulative TSN Ack field of SHUTDOWN chunk is less than the Cumulative TSN Ack Point then drop the SHUTDOWN chunk. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 9c5c62be2f794c7cee533d856f9f34c3cf21ff1b Author: Vlad Yasevich Date: Mon Aug 10 13:51:03 2009 -0400 sctp: Send user messages to the lower layer as one Currenlty, sctp breaks up user messages into fragments and sends each fragment to the lower layer by itself. This means that for each fragment we go all the way down the stack and back up. This also discourages bundling of multiple fragments when they can fit into a sigle packet (ex: due to user setting a low fragmentation threashold). We introduce a new command SCTP_CMD_SND_MSG and hand the whole message down state machine. The state machine and the side-effect parser will cork the queue, add all chunks from the message to the queue, and then un-cork the queue thus causing the chunks to get transmitted. Signed-off-by: Vlad Yasevich commit 5d7ff261ef497c62f54c39effc259910a28b313d Author: Vlad Yasevich Date: Fri Aug 7 13:23:28 2009 -0400 sctp: Try to encourage SACK bundling with DATA. If the association has a SACK timer pending and now DATA queued to be send, we'll try to bundle the SACK with the next application send. As such, try encourage bundling by accounting for SACK in the size of the first chunk fragment. Signed-off-by: Vlad Yasevich commit e83963b769a2c38b436f5dcf82309f5cbc2f6012 Author: Vlad Yasevich Date: Fri Aug 7 10:43:07 2009 -0400 sctp: Generate SACKs when actually sending outbound DATA We are now trying to bundle SACKs when we have outbound DATA to send. However, there are situations where this outbound DATA will not be sent (due to congestion or available window). In such cases it's ok to wait for the timer to expire. This patch refactors the sending code so that betfore attempting to bundle the SACK we check to see if the DATA will actually be transmitted. Based on eirlier works for Doug Graham and Wei Youngjun . Signed-off-by: Vlad Yasevich commit 3e62abf92f34d75fe22352d8d102e3cd2755804d Author: Vlad Yasevich Date: Fri Sep 4 18:20:56 2009 -0400 sctp: Fix data segmentation with small frag_size Since an application may specify the maximum SCTP fragment size that all data should be fragmented to, we need to fix how we do segmentation. Right now, if a user specifies a small fragment size, the segment size can go negative in the presence of AUTH or COOKIE_ECHO bundling. What we need to do is track the largest possbile DATA chunk that can fit into the mtu. Then if the fragment size specified is bigger then this maximum length, we'll shrink it down. Otherwise, we just use the smaller segment size without changing it further. Signed-off-by: Vlad Yasevich commit bec9640bb0d451813b1bb1f2cc13a5bfb17c3e48 Author: Vlad Yasevich Date: Thu Jul 30 18:08:28 2009 -0400 sctp: Disallow new connection on a closing socket If a socket has a lot of association that are in the process of of being closed/aborted, it is possible for a remote to establish new associations during the time period that the old ones are shutting down. If this was a result of a close() call, there will be no socket and will cause a memory leak. We'll prevent this by setting the socket state to CLOSING and disallow new associations when in this state. Signed-off-by: Vlad Yasevich commit af87b823ca2b05257192e8d48dc686db6173d7b2 Author: Doug Graham Date: Wed Jul 29 12:05:57 2009 -0400 sctp: Fix piggybacked ACKs This patch corrects the conditions under which a SACK will be piggybacked on a DATA packet. The previous condition was incorrect due to a misinterpretation of RFC 4960 and/or RFC 2960. Specifically, the following paragraph from section 6.2 had not been implemented correctly: Before an endpoint transmits a DATA chunk, if any received DATA chunks have not been acknowledged (e.g., due to delayed ack), the sender should create a SACK and bundle it with the outbound DATA chunk, as long as the size of the final SCTP packet does not exceed the current MTU. See Section 6.2. When about to send a DATA chunk, the code now checks to see if the SACK timer is running. If it is, we know we have a SACK to send to the peer, so we append the SACK (assuming available space in the packet) and turn off the timer. For a simple request-response scenario, this will result in the SACK being bundled with the response, meaning the the SACK is received quickly by the client, and also meaning that no separate SACK packet needs to be sent by the server to acknowledge the request. Prior to this patch, a separate SACK packet would have been sent by the server SCTP only after its delayed-ACK timer had expired (usually 200ms). This is wasteful of bandwidth, and can also have a major negative impact on performance due the interaction of delayed ACKs with the Nagle algorithm. Signed-off-by: Doug Graham Signed-off-by: Vlad Yasevich commit b4e8c6a7e6caa9c80edcbfb78fc50962b792d5f0 Author: Rami Rosen Date: Thu Jul 30 09:38:43 2009 +0300 sctp: remove unused union (sctp_cmsg_data_t) definition This patch removes an unused union definition (sctp_cmsg_data_t) from include/net/sctp/user.h. Signed-off-by: Rami Rosen Signed-off-by: Vlad Yasevich commit 40187886bc31aee9c5c6f08f46cde4ab618e9736 Author: Vlad Yasevich Date: Tue Jun 23 11:28:05 2009 -0400 sctp: release cached route when the transport goes down. When the sctp transport is marked down, we can release the cached route and force a new lookup when attempting to use this transport for anything. This way, if a better route or source address is available, we'll try to use it. Signed-off-by: Vlad Yasevich commit 3cd9749c0b758223a71e059fa44c2234547d9ee0 Author: Wei Yongjun Date: Tue Jun 16 10:07:23 2009 +0800 sctp: update the route for non-active transports after addresses are added Update the route and saddr entries for the non-active transports as some of the added addresses can be used as better source addresses, or may be there is a better route. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 44e65c1ef1e771b32c82546ebfba910137aa8871 Author: Wei Yongjun Date: Tue Jun 16 14:48:24 2009 +0800 sctp: check the unrecognized ASCONF parameter before access it This patch fix to check the unrecognized ASCONF parameter before access it. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 425e0f685230986511b1fdf80340e2f28b214c5d Author: Wei Yongjun Date: Tue Jun 16 14:47:30 2009 +0800 sctp: avoid overwrite the return value of sctp_process_asconf_ack() The return value of sctp_process_asconf_ack() may be overwritten while process parameters with no error. This patch fixed the problem. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 4a88d44ab17da5f8a238050d1b43dfd2e204bc2f Author: Albin Tonnerre Date: Mon Aug 31 22:40:08 2009 +0200 tracing: Remove mentioning of legacy latency_trace file from documentation The latency_trace file got removed a while back by commit 886b5b73d71e4027d7dc6c14f5f7ab102201ea6b and has been replaced by the latency-format option. This patch fixes the documentation by reflecting this change. Changes since v1: - mention that the trace format is configurable through the latency-format option - Fix a couple mistakes related to the timestamps Signed-off-by: Albin Tonnerre Cc: Steven Rostedt LKML-Reference: <20090831204007.GE4237@pc-ras4041.res.insa> Signed-off-by: Frederic Weisbecker commit c58b43218c1a04a0bcf338ea47406c759ac28e11 Author: Li Zefan Date: Tue Sep 1 13:31:38 2009 +0800 tracing/filters: Defer pred allocation, fix memory leak The predicates of an event and their filter structure are allocated when we create an event filter for the first time. These objects must be created once but each time we come with a new filter, we overwrite such pre-existing allocation, if any. Thus, this patch checks if the filter has already been allocated before going ahead. Spotted-by: Frederic Weisbecker Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Tom Zanussi Cc: Masami Hiramatsu LKML-Reference: <4A9CB1BA.3060402@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit 6b58e7f146f8d79c08f62087f928e1f01747de71 Author: Ulrich Drepper Date: Fri Sep 4 16:39:51 2009 -0300 perf tools: Avoid unnecessary work in directory lookups This patch improves some (common) inefficiencies in the handling of directory lookups: - not using the d_type information returned by the kernel - constructing (absolute) paths for file operation even though directory-relative operations using the *at functions is possible There are more places to fix but this is a start. Signed-off-by: Ulrich Drepper Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20090904193951.GB6186@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 367da1527aff2a4f789d03082f9fb191cdf332c4 Author: Robert Schwebel Date: Fri Sep 4 21:16:36 2009 +0200 ASoC: fix pxa2xx-ac97.c breakage Today's linux-next fails to build with sound/arm/pxa2xx-ac97.c: In function 'pxa2xx_ac97_probe': sound/arm/pxa2xx-ac97.c:211: error: 'pxa2xx_audio_ops_t' has no member named 'codec_data' make[2]: *** [sound/arm/pxa2xx-ac97.o] Error 1 It looks like commit e2365bf313fb21b49b1e4c911033389564428d03 has introduced this; patch below. Signed-off-by: Robert Schwebel Signed-off-by: Mark Brown commit 849abde92bd3314a4894f2b4f70b30c2accf8653 Author: Peter Zijlstra Date: Fri Sep 4 18:23:38 2009 +0200 perf stat: Clean up statistics calculations a bit more Remove some, now useless, global storage. Don't calculate the stddev when not needed. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit b19ae3999891cad21a3995c34d313dda5df014e2 Author: H. Peter Anvin Date: Fri Sep 4 10:00:09 2009 -0700 x86, msr: change msr-reg.o to obj-y, and export its symbols Change msr-reg.o to obj-y (it will be included in virtually every kernel since it is used by the initialization code for AMD processors) and add a separate C file to export its symbols to modules, so that msr.ko can use them; on uniprocessors we bypass the helper functions in msr.o and use the accessor functions directly via inlines. Signed-off-by: H. Peter Anvin LKML-Reference: <20090904140834.GA15789@elte.hu> Cc: Borislav Petkov commit 76f0d07376388f32698ba51b6090a26b90c1342f Author: Steven Rostedt Date: Fri Sep 4 12:12:39 2009 -0400 tracing: remove users of tracing_reset The function tracing_reset is deprecated for outside use of trace.c. The new function to reset the the buffers is tracing_reset_online_cpus. The reason for this is that resetting the buffers while the event trace points are active can corrupt the buffers, because they may be writing at the time of reset. The tracing_reset_online_cpus disables writes and waits for current writers to finish. This patch replaces all users of tracing_reset except for the latency tracers. Those changes require more work and will be removed in the following patches. Signed-off-by: Steven Rostedt commit 621968cdb2563b667d6ecb484ba91ef4c3a797b3 Author: Steven Rostedt Date: Fri Sep 4 12:02:35 2009 -0400 tracing: disable buffers and synchronize_sched before resetting Resetting the ring buffers while traces are happening can corrupt the ring buffer and disable it (no kernel crash to worry about). The safest thing to do is disable the ring buffers, call synchronize_sched() to wait for all current writers to finish and then reset the buffer. Signed-off-by: Steven Rostedt commit b8de7bd168fa54d059b16d3057b2f8a32cc5bdc3 Author: Steven Rostedt Date: Mon Aug 31 22:32:27 2009 -0400 tracing: disable update max tracer while reading trace When reading the tracer from the trace file, updating the max latency may corrupt the output. This patch disables the tracing of the max latency while reading the trace file. Signed-off-by: Steven Rostedt commit 8248ac052dfd1eb41819fbc0ca5c7a1667e7e70c Author: Steven Rostedt Date: Wed Sep 2 12:27:41 2009 -0400 tracing: print out start and stop in latency traces During development of the tracer, we would copy information from the live tracer to the max tracer with one memcpy. Since then we added a generic ring buffer and we handle the copies differently now. Unfortunately, we never copied the critical section information, and we lost the output: # => started at: kmem_cache_alloc # => ended at: kmem_cache_alloc This patch adds back the critical start and end copying as well as removes the unused "trace_idx" and "overrun" fields of the trace_array_cpu structure. Signed-off-by: Steven Rostedt commit 077c5407cd3231cf13472623995f0dfdda510d62 Author: Steven Rostedt Date: Thu Sep 3 19:53:46 2009 -0400 ring-buffer: disable all cpu buffers when one finds a problem Currently the way RB_WARN_ON works, is to disable either the current CPU buffer or all CPU buffers, depending on whether a ring_buffer or ring_buffer_per_cpu struct was passed into the macro. Most users of the RB_WARN_ON pass in the CPU buffer, so only the one CPU buffer gets disabled but the rest are still active. This may confuse users even though a warning is sent to the console. This patch changes the macro to disable the entire buffer even if the CPU buffer is passed in. Signed-off-by: Steven Rostedt commit a1863c212b7517afc2b13e549552ac322fb44cab Author: Steven Rostedt Date: Thu Sep 3 10:23:58 2009 -0400 ring-buffer: do not count discarded events The latency tracers report the number of items in the trace buffer. This uses the ring buffer data to calculate this. Because discarded events are also counted, the numbers do not match the number of items that are printed. The ring buffer also adds a "padding" item to the end of each buffer page which also gets counted as a discarded item. This patch decrements the counter to the page entries on a discard. This allows us to ignore discarded entries while reading the buffer. Decrementing the counter is still safe since it can only happen while the committing flag is still set. Signed-off-by: Steven Rostedt commit 8a02631a470d6f2ccec7bcf79c1058b0d4240bce Author: Peter Zijlstra Date: Fri Sep 4 17:26:26 2009 +0200 perf stat: More advanced variance computation Use the more advanced single pass variance algorithm outlined on the wikipedia page. This is numerically more stable for larger sample sets. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 63d40deb2e7c64ed55943d49f078e09fc4b64b54 Author: Peter Zijlstra Date: Fri Sep 4 17:03:13 2009 +0200 perf stat: Use stddev_mean in stead of stddev When we're computing the mean by sampling the distribution, then the std dev of the mean is related to the std dev of the sample set by: stddev_mean = std_dev / sqrt(N) Which is exactly what we want. This results in the error on the mean decreasing with increasing number of samples. Also fix the scaled == -1, aka not counted case. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit dc892f7339af2d125478b800edb9081d6149665b Author: Steven Rostedt Date: Thu Sep 3 15:33:41 2009 -0400 ring-buffer: remove ring_buffer_event_discard The function ring_buffer_event_discard can be used on any item in the ring buffer, even after the item was committed. This function provides no safety nets and is very race prone. An item may be safely removed from the ring buffer before it is committed with the ring_buffer_discard_commit. Since there are currently no users of this function, and because this function is racey and error prone, this patch removes it altogether. Note, removing this function also allows the counters to ignore all discarded events (patches will follow). Signed-off-by: Steven Rostedt commit 7e9391cfedce34eb9786bfa69d7d545dc93ef930 Author: Steven Rostedt Date: Thu Sep 3 10:02:09 2009 -0400 ring-buffer: fix ring_buffer_read crossing pages When the ring buffer uses an iterator (static read mode, not on the fly reading), when it crosses a page boundery, it will skip the first entry on the next page. The reason is that the last entry of a page is usually padding if the page is not full. The padding will not be returned to the user. The problem arises on ring_buffer_read because it also increments the iterator. Because both the read and peek use the same rb_iter_peek, the rb_iter_peak will return the padding but also increment to the next item. This is because the ring_buffer_peek will not incerment it itself. The ring_buffer_read will increment it again and then call rb_iter_peek again to get the next item. But that will be the second item, not the first one on the page. The reason this never showed up before, is because the ftrace utility always calls ring_buffer_peek first and only uses ring_buffer_read to increment to the next item. The ring_buffer_peek will always keep the pointer to a valid item and not padding. This just hid the bug. Signed-off-by: Steven Rostedt commit 1b959e18c4d6b4b981f887260b0f8e7939efa411 Author: Steven Rostedt Date: Thu Sep 3 10:12:13 2009 -0400 ring-buffer: remove unnecessary cpu_relax The loops in the ring buffer that use cpu_relax are not dependent on other CPUs. They simply came across some padding in the ring buffer and are skipping over them. It is a normal loop and does not require a cpu_relax. Signed-off-by: Steven Rostedt commit 98277991a99734f3a31d638afb47d4484ac73e43 Author: Steven Rostedt Date: Wed Sep 2 10:56:15 2009 -0400 ring-buffer: do not swap buffers during a commit If a commit is taking place on a CPU ring buffer, do not allow it to be swapped. Return -EBUSY when this is detected instead. Signed-off-by: Steven Rostedt commit 41b6a95d693319f804607b559893fbbd27498548 Author: Steven Rostedt Date: Wed Sep 2 09:59:48 2009 -0400 ring-buffer: do not reset while in a commit The callers of reset must ensure that no commit can be taking place at the time of the reset. If it does then we may corrupt the ring buffer. Signed-off-by: Steven Rostedt commit 43ed5d6ee0f9bfd655d6bc3cb2d964b80c4422c0 Author: Catalin Marinas Date: Tue Sep 1 11:12:44 2009 +0100 kmemleak: Scan all thread stacks This patch changes the for_each_process() loop with the do_each_thread()/while_each_thread() pair. Signed-off-by: Catalin Marinas commit 8e019366ba749a536131cde1947af6dcaccf8e8f Author: Pekka Enberg Date: Thu Aug 27 14:50:00 2009 +0100 kmemleak: Don't scan uninitialized memory when kmemcheck is enabled Ingo Molnar reported the following kmemcheck warning when running both kmemleak and kmemcheck enabled: PM: Adding info for No Bus:vcsa7 WARNING: kmemcheck: Caught 32-bit read from uninitialized memory (f6f6e1a4) d873f9f600000000c42ae4c1005c87f70000000070665f666978656400000000 i i i i u u u u i i i i i i i i i i i i i i i i i i i i i u u u ^ Pid: 3091, comm: kmemleak Not tainted (2.6.31-rc7-tip #1303) P4DC6 EIP: 0060:[] EFLAGS: 00010006 CPU: 0 EIP is at scan_block+0x3f/0xe0 EAX: f40bd700 EBX: f40bd780 ECX: f16b46c0 EDX: 00000001 ESI: f6f6e1a4 EDI: 00000000 EBP: f10f3f4c ESP: c2605fcc DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 CR0: 8005003b CR2: e89a4844 CR3: 30ff1000 CR4: 000006f0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff4ff0 DR7: 00000400 [] scan_object+0x7c/0xf0 [] kmemleak_scan+0x1d9/0x400 [] kmemleak_scan_thread+0x4c/0xb0 [] kthread+0x74/0x80 [] kernel_thread_helper+0x7/0x3c [] 0xffffffff kmemleak: 515 new suspected memory leaks (see /sys/kernel/debug/kmemleak) kmemleak: 42 new suspected memory leaks (see /sys/kernel/debug/kmemleak) The problem here is that kmemleak will scan partially initialized objects that makes kmemcheck complain. Fix that up by skipping uninitialized memory regions when kmemcheck is enabled. Reported-by: Ingo Molnar Acked-by: Ingo Molnar Acked-by: Catalin Marinas Signed-off-by: Pekka Enberg commit 9e9772c458d50dabdb5327821da3803254638cd1 Author: Peter Zijlstra Date: Fri Sep 4 15:36:08 2009 +0200 perf stat: Remove the limit on repeat Since we don't need all the individual samples to calculate the error remove both the limit and the storage overhead associated with that. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 506d4bc8d5dab20d84624aa07cdc6dcd77915d52 Author: Peter Zijlstra Date: Fri Sep 4 15:36:12 2009 +0200 perf stat: Change noise calculation to use stddev The current noise computation does: \Sum abs(n_i - avg(n)) * N^-1.5 Which is (afaik) not a regular noise function, and needs the complete sample set available to post-process. Change this to use a regular stddev computation which can be done by keeping a two sums: stddev = sqrt( 1/N (\Sum n_i^2) - avg(n)^2 ) For which we only need to keep \Sum n_i and \Sum n_i^2. Signed-off-by: Peter Zijlstra Cc: LKML-Reference: Signed-off-by: Ingo Molnar commit 695a461296e5df148c99ac087b9e1cb380f4db15 Merge: c7084b3 2b681fa Author: Ingo Molnar Date: Fri Sep 4 14:44:16 2009 +0200 Merge branch 'amd-iommu/2.6.32' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/iommu commit 8a34e2f8ba7d4302977c90e357921994a6c39af9 Author: Sachin Sant Date: Fri Sep 4 03:41:07 2009 -0700 net: Fix a build break because of a typo in drivers/net/3c503.c Signed-off-by: Sachin Sant Signed-off-by: David S. Miller commit 825c9fb47a0837db12fecf8d360e0e1d284ddb49 Author: Jens Axboe Date: Fri Sep 4 02:56:22 2009 -0700 sparc: add basic support for 'perf' This wires up the perf_counter_open() syscall so that basic software support for perf is working. Signed-off-by: Jens Axboe Signed-off-by: David S. Miller commit 840a0653100dbde599ae8ddf83fa214dfa5fd1aa Author: Ingo Molnar Date: Fri Sep 4 11:32:54 2009 +0200 sched: Turn on SD_BALANCE_NEWIDLE Start the re-tuning of the balancer by turning on newidle. It improves hackbench performance and parallelism on a 4x4 box. The "perf stat --repeat 10" measurements give us: domain0 domain1 ....................................... -SD_BALANCE_NEWIDLE -SD_BALANCE_NEWIDLE: 2041.273208 task-clock-msecs # 9.354 CPUs ( +- 0.363% ) +SD_BALANCE_NEWIDLE -SD_BALANCE_NEWIDLE: 2086.326925 task-clock-msecs # 11.934 CPUs ( +- 0.301% ) +SD_BALANCE_NEWIDLE +SD_BALANCE_NEWIDLE: 2115.289791 task-clock-msecs # 12.158 CPUs ( +- 0.263% ) Acked-by: Peter Zijlstra Cc: Andreas Herrmann Cc: Andreas Herrmann Cc: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: Signed-off-by: Ingo Molnar commit 47734f89be0614b5acbd6a532390f9c72f019648 Author: Ingo Molnar Date: Fri Sep 4 11:21:24 2009 +0200 sched: Clean up topology.h Re-organize the flag settings so that it's visible at a glance which sched-domains flags are set and which not. With the new balancer code we'll need to re-tune these details anyway, so make it cleaner to make fewer mistakes down the road ;-) Cc: Peter Zijlstra Cc: Andreas Herrmann Cc: Andreas Herrmann Cc: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: Signed-off-by: Ingo Molnar commit d7ea17a76916e456fcc78e45142c66f7fb875e3d Author: Ingo Molnar Date: Fri Sep 4 11:49:25 2009 +0200 sched: Fix dynamic power-balancing crash This crash: [ 1774.088275] divide error: 0000 [#1] SMP [ 1774.100355] CPU 13 [ 1774.102498] Modules linked in: [ 1774.105631] Pid: 30881, comm: hackbench Not tainted 2.6.31-rc8-tip-01308-g484d664-dirty #1629 X8DTN [ 1774.114807] RIP: 0010:[] [] sched_balance_self+0x19b/0x2d4 Triggers because update_group_power() modifies the sd tree and does temporary calculations there - not considering that other CPUs could observe intermediate values, such as the zero initial value. Calculate it in a temporary variable instead. (we need no memory barrier as these are all statistical values anyway) Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20090904092742.GA11014@elte.hu> Signed-off-by: Ingo Molnar commit a29889a5369d2604c2053bcd051519a2445d8a70 Merge: e7a088f 37d0892 Author: David S. Miller Date: Fri Sep 4 02:22:21 2009 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 2a6ba39ad6a277595ef9a0187a44f09e062dd3b2 Author: Wolfgang Grandegger Date: Tue Sep 1 05:37:33 2009 +0000 can: sja1000: legacy SJA1000 ISA bus driver This patch adds support for legacy SJA1000 CAN controllers on the ISA or PC-104 bus. The I/O port or memory address and the IRQ number must be specified via module parameters: insmod sja1000_isa.ko port=0x310,0x380 irq=7,11 for ISA devices using I/O ports or: insmod sja1000_isa.ko mem=0xd1000,0xd1000 irq=7,11 for memory mapped ISA devices. Indirect access via address and data port is supported as well: insmod sja1000_isa.ko port=0x310,0x380 indirect=1 irq=7,11 Here is a full list of the supported module parameters: port:I/O port number (array of ulong) mem:I/O memory address (array of ulong) indirect:Indirect access via address and data port (array of byte) irq:IRQ number (array of int) clk:External oscillator clock frequency (default=16000000 [16 MHz]) (array of int) cdr:Clock divider register (default=0x48 [CDR_CBP | CDR_CLK_OFF]) (array of byte) ocr:Output clock register (default=0x18 [OCR_TX0_PUSHPULL]) (array of byte) Note: for clk, cdr, ocr, the first argument re-defines the default for all other devices, e.g.: insmod sja1000_isa.ko mem=0xd1000,0xd1000 irq=7,11 clk=24000000 is equivalent to insmod sja1000_isa.ko mem=0xd1000,0xd1000 irq=7,11 \ clk=24000000,24000000 Signed-off-by: Wolfgang Grandegger Tested-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 8935f57e68c40c6469efe03f996bfb6150e18c6b Author: Wolfgang Grandegger Date: Tue Sep 1 05:29:41 2009 +0000 can: sja1000: fix network statistics update The member "tx_bytes" of "struct net_device_stats" should be incremented when the interrupt is done and an "arbitration lost error" is a TX error and the statistics should be updated accordingly. Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 39e3ab6fded4d7e66e01a878f0cae23ddd480c3b Author: Wolfgang Grandegger Date: Tue Sep 1 05:26:12 2009 +0000 can: add can_free_echo_skb() for upcoming drivers This patch adds the function can_free_echo_skb to the CAN device interface to allow upcoming drivers to release echo skb's in case of error. Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 18a3885fc1ffa92c2212ff0afdf033403d5b0fa0 Author: Peter Zijlstra Date: Tue Sep 1 10:34:39 2009 +0200 sched: Remove reciprocal for cpu_power Its a source of fail, also, now that cpu_power is dynamical, its a waste of time. before: -0 [000] 132.877936: find_busiest_group: avg_load: 0 group_load: 8241 power: 1 after: bash-1689 [001] 137.862151: find_busiest_group: avg_load: 10636288 group_load: 10387 power: 1 [ v2: build fix from From: Andreas Herrmann ] Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083826.425896304@chello.nl> Signed-off-by: Ingo Molnar commit d899a789c28ded9c72b57ddb61868d6b8fc23e80 Author: Gautham R Shenoy Date: Wed Sep 2 16:59:10 2009 +0530 sched: Try to deal with low capacity, fix update_sd_power_savings_stats() sgs.group_capacity can now be 0, if for some reason group->__cpu_power happens to be less than SCHED_LOAD_SCALE/2. In that case, we need the following fix to make it work for update_sd_power_savings_stats(). That's because both sum_nr_running and group_capacity are unsigned longs. Cc: Gautham R Shenoy Cc: Peter Zijlstra Cc: Andreas Herrmann Cc: Balbir Singh Signed-off-by: Ingo Molnar commit bdb94aa5dbd8b55e75f5a50b61312fe589e2c2d1 Author: Peter Zijlstra Date: Tue Sep 1 10:34:38 2009 +0200 sched: Try to deal with low capacity When the capacity drops low, we want to migrate load away. Allow the load-balancer to remove all tasks when we hit rock bottom. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083826.342231003@chello.nl> Signed-off-by: Ingo Molnar commit e9e9250bc78e7f6342517214c0178a529807964b Author: Peter Zijlstra Date: Tue Sep 1 10:34:37 2009 +0200 sched: Scale down cpu_power due to RT tasks Keep an average on the amount of time spend on RT tasks and use that fraction to scale down the cpu_power for regular tasks. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083826.287778431@chello.nl> Signed-off-by: Ingo Molnar commit ab29230e673c646292c90c8b9d378b9562145af0 Author: Peter Zijlstra Date: Tue Sep 1 10:34:36 2009 +0200 sched: Implement dynamic cpu_power Recompute the cpu_power for each cpu during load-balance. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083826.162033479@chello.nl> Signed-off-by: Ingo Molnar commit a52bfd73589eaf88d9c95ad2c1de0b38a6b27972 Author: Peter Zijlstra Date: Tue Sep 1 10:34:35 2009 +0200 sched: Add smt_gain The idea is that multi-threading a core yields more work capacity than a single thread, provide a way to express a static gain for threads. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083826.073345955@chello.nl> Signed-off-by: Ingo Molnar commit cc9fba7d7672fa3ed58d9d9ecb6c45b1351c29a6 Author: Peter Zijlstra Date: Tue Sep 1 10:34:34 2009 +0200 sched: Update the cpu_power sum during load-balance In order to prepare for a more dynamic cpu_power, update the group sum while walking the sched domains during load-balance. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083825.985050292@chello.nl> Signed-off-by: Ingo Molnar commit b5d978e0c7e79a7ff842e895c85a86b38c71f1cd Author: Peter Zijlstra Date: Tue Sep 1 10:34:33 2009 +0200 sched: Add SD_PREFER_SIBLING Do the placement thing using SD flags. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083825.897028974@chello.nl> Signed-off-by: Ingo Molnar commit f93e65c186ab3c05ce2068733ca10e34fd00125e Author: Peter Zijlstra Date: Tue Sep 1 10:34:32 2009 +0200 sched: Restore __cpu_power to a straight sum of power cpu_power is supposed to be a representation of the process capacity of the cpu, not a value to randomly tweak in order to affect placement. Remove the placement hacks. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083825.810860576@chello.nl> Signed-off-by: Ingo Molnar commit 9aa55fbd01779a0b476d87cd9b5170fd5bebab1d Merge: 768d0c2 294b0c9 fa84e9e Author: Ingo Molnar Date: Fri Sep 4 10:08:43 2009 +0200 Merge branches 'sched/domains' and 'sched/clock' into sched/core Merge reason: both topics are ready now, and we want to merge dependent changes. Signed-off-by: Ingo Molnar commit 0d96b9ff748b5f57d6f1d6d21209f5745245aadc Author: Yinghai Lu Date: Sat Aug 29 13:17:14 2009 -0700 x86: Use hard_smp_processor_id() to get apic id for AMD K8 cpus Otherwise, system with apci id lifting will have wrong apicid in /proc/cpuinfo. and use that in srat_detect_node(). Signed-off-by: Yinghai Lu Cc: Andreas Herrmann Cc: Suresh Siddha Cc: Cyrill Gorcunov LKML-Reference: <4A998CCA.1040407@kernel.org> Signed-off-by: Ingo Molnar commit 7db905e636f08ea5bc9825c1f73d77802e8ccad5 Author: Paul E. McKenney Date: Wed Sep 2 14:01:24 2009 -0700 rcu: Move end of special early-boot RCU operation earlier Ingo was getting warnings from rcu_scheduler_starting() indicating that context switches had occurred before RCU ended its special early-boot handling of grace periods. This is a dangerous condition, as it indicates that RCU might have prematurely ended grace periods. This exploratory fix moves rcu_scheduler_starting() earlier in boot. Reported-by: Ingo Molnar Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 29e2035bddecce3eb584a8304528b50da8370a24 Merge: 8684896 37d0892 Author: Ingo Molnar Date: Fri Sep 4 09:28:52 2009 +0200 Merge branch 'linus' into core/rcu Merge reason: Avoid fuzz in init/main.c and update from rc6 to rc8. Signed-off-by: Ingo Molnar commit 1653192f510bd8114b7b133d7289e6e5c3e95046 Author: markus.t.metzger@intel.com Date: Wed Sep 2 16:04:48 2009 +0200 x86, perf_counter, bts: Do not allow kernel BTS tracing for now Kernel BTS tracing generates too much data too fast for us to handle, causing the kernel to hang. Fail for BTS requests for kernel code. Signed-off-by: Markus Metzger Acked-by: Peter Zijlstra LKML-Reference: <20090902140616.901253000@intel.com> [ This is really a workaround - but we want BTS tracing in .32 so make sure we dont regress. The lockup should be fixed ASAP. ] Signed-off-by: Ingo Molnar commit 596da17f94c103348ebe04129c00d536ea0e80e2 Author: markus.t.metzger@intel.com Date: Wed Sep 2 16:04:47 2009 +0200 x86, perf_counter, bts: Correct pointer-to-u64 casts On 32bit, pointers in the DS AREA configuration are cast to u64. The current (long) cast to avoid compiler warnings results in a signed 64bit address. Signed-off-by: Markus Metzger Acked-by: Peter Zijlstra LKML-Reference: <20090902140615.305889000@intel.com> Signed-off-by: Ingo Molnar commit 747b50aaf728987732e6ff3ba10aba4acc4e0277 Author: markus.t.metzger@intel.com Date: Wed Sep 2 16:04:46 2009 +0200 x86, perf_counter, bts: Fail if BTS is not available Reserve PERF_COUNT_HW_BRANCH_INSTRUCTIONS with sample_period == 1 for BTS tracing and fail, if BTS is not available. Signed-off-by: Markus Metzger Acked-by: Peter Zijlstra LKML-Reference: <20090902140612.943801000@intel.com> Signed-off-by: Ingo Molnar commit b5d10781731ece07bb2049e7743907194a5cc3f1 Author: Takashi Iwai Date: Fri Sep 4 08:45:11 2009 +0200 ALSA: dummy - Fix the timer calculation in systimer mode Fix the expire-time calculation in the systimer mode when the buffer size isn't aligned to the period size. Signed-off-by: Takashi Iwai commit 53f824520b6d84ca5b4a8fd71addc91dbf64357e Author: Jeremy Fitzhardinge Date: Thu Sep 3 14:31:44 2009 -0700 x86/i386: Put aligned stack-canary in percpu shared_aligned section Pack aligned things together into a special section to minimize padding holes. Suggested-by: Eric Dumazet Signed-off-by: Jeremy Fitzhardinge Cc: Tejun Heo LKML-Reference: <4AA035C0.9070202@goop.org> [ queued up in tip:x86/asm because it depends on this commit: x86/i386: Make sure stack-protector segment base is cache aligned ] Signed-off-by: Ingo Molnar commit fab4e76373a614d3af624caedf18bee43fc6ca16 Author: David S. Miller Date: Thu Sep 3 21:34:39 2009 -0700 WAN: dscc4: Fix warning pointing out a bug. Noticed by Stephen Rothwell: Today's linux-next build (x86_64 allmodconfig gcc-4.4.0) produced this warning: drivers/net/wan/dscc4.c: In function 'dscc4_rx_skb': drivers/net/wan/dscc4.c:670: warning: suggest parentheses around comparison in operand of '|' which actually points out a bug, I think. It is doing (x & (y | z)) != y | z when it probably means (x & (y | z)) != (y | z) Introduced by commit 5de3fcab91b0e1809eec030355d15801daf25083 ("WAN: bit and/or confusion"). Signed-off-by: David S. Miller commit a8fdf2b331b38d61fb5f11f3aec4a4f9fb2dedcb Author: Cosmin Ratiu Date: Thu Sep 3 20:44:38 2009 -0700 ipv6: Fix tcp_v6_send_response(): it didn't set skb transport header Here is a patch which fixes an issue observed when using TCP over IPv6 and AH from IPsec. When a connection gets closed the 4-way method and the last ACK from the server gets dropped, the subsequent FINs from the client do not get ACKed because tcp_v6_send_response does not set the transport header pointer. This causes ah6_output to try to allocate a lot of memory, which typically fails, so the ACKs never make it out of the stack. I have reproduced the problem on kernel 2.6.7, but after looking at the latest kernel it seems the problem is still there. Signed-off-by: Cosmin Ratiu Signed-off-by: David S. Miller commit 6fdfa97073a2bcbb60d900654c612b2ff09b9cb7 Author: Scott Feldman Date: Thu Sep 3 17:02:45 2009 +0000 enic: organize device initialization/deinit into separate functions To unclutter probe() a little bit, put all device initialization code in one spot and device deinit code in another spot. Also remove unused rq->buf_index variable/func. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 491598a44f12fe8b862ab4123de1a1ffe9b86832 Author: Scott Feldman Date: Thu Sep 3 17:02:40 2009 +0000 enic: bug fix: check for zero port MTU before posting warning Nic firmware can return zero for port MTU, so check for non-zero value before checking for change in port MTU. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit d73149f51e165f5872bc431ae181650396145265 Author: Scott Feldman Date: Thu Sep 3 17:02:35 2009 +0000 enic: changes to driver/firmware interface Deprecate some old APIa; change arguments to stats dump all API; add new interrupt assert API Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 9f63a7c6aef00a8eafa7521342099f199f68c575 Author: Scott Feldman Date: Thu Sep 3 17:02:29 2009 +0000 enic: bug fix: enable VLAN filtering Bug fix: enable VLAN filtering Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 6ba9cdc09678d6925c205ef0b0bd374e31589ecf Author: Scott Feldman Date: Thu Sep 3 17:02:24 2009 +0000 enic: provision for multiple Rx/Tx queues; prepare for RSS support Provision for multiple Rx/Tx queues. Max of 8 WQs and 8 RQs. Max for completion queue is 8+8=16 and max for interrupt resources is 8+8+2. Add driver/firmware interface for setting up RSS secret key and indirection table. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 350991e12ac1ac407850169a0d65f522a7fd029e Author: Scott Feldman Date: Thu Sep 3 17:02:19 2009 +0000 enic: bug fix: included MAC drops in rx_dropped netstat Bug fix: included MAC drops in rx_dropped netstat. Also track Rx trunctations stat at the MAC Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 56ac88b38e5918d92bdfc97c528068e45ff4581c Author: Scott Feldman Date: Thu Sep 3 17:02:14 2009 +0000 enic: bug fix: protect fw call i/f with spinlock Some driver -> nic firmware calls weren't guarded with a spinlock, exposing the call i/f to a race between two threads Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit d19e22dc2c1c43724c1d9ce4a5456ae74eeb6da8 Author: Scott Feldman Date: Thu Sep 3 17:02:08 2009 +0000 enic: use netdev_alloc_skb Use netdev_alloc_skb rather than dev_alloc_skb Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit ea0d7d9181b0831f1b570b02fa02a15f25520c12 Author: Scott Feldman Date: Thu Sep 3 17:02:03 2009 +0000 enic: bug fix: split TSO fragments larger than 16K into multiple descs enic WQ desc supports a maximum 16K buf size, so split any send fragments larger than 16K into several descs. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 4badc385d1a9e140ad0992537237fc22211adad0 Author: Scott Feldman Date: Thu Sep 3 17:01:58 2009 +0000 enic: workaround A0 erratum A0 revision ASIC has an erratum on the RQ desc cache on chip where the cache can become corrupted causing pkt buf writes to wrong locations. The s/w workaround is to post a dummy RQ desc in the ring every 32 descs, causing a flush of the cache. A0 parts are not production, but there are enough of these parts in the wild in test setups to warrant including workaround. A1 revision ASIC parts fix erratum. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 27e6c7d33835e7f347cdfb5025766b7d9a6596d1 Author: Scott Feldman Date: Thu Sep 3 17:01:53 2009 +0000 enic: add support for multiple BARs Nic firmware can place resources (queues, intrs, etc) on multiple BARs, so allow driver to discover/map resources beyond BAR0. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 1a123a3168566b10f87f228ae963770b26f27420 Author: Eric Dumazet Date: Thu Sep 3 00:39:16 2009 +0000 vlan: adds drops accounting Its hard to tell if vlans are dropping frames, since every frame given to vlan_???_start_xmit() functions is accounted as fully transmitted by lower device. We can test dev_queue_xmit() return values to properly account for dropped frames. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2c11455321f37da6fe6cc36353149f9ac9183334 Author: Eric Dumazet Date: Thu Sep 3 00:11:45 2009 +0000 macvlan: add multiqueue capability macvlan devices are currently not multi-queue capable. We can do that defining rtnl_link_ops method, get_tx_queues(), called from rtnl_create_link() This new method gets num_tx_queues/real_num_tx_queues from lower device. macvlan_get_tx_queues() is a copy of vlan_get_tx_queues(). Because macvlan_start_xmit() has to update netdev_queue stats only (and not dev->stats), I chose to change tx_errors/tx_aborted_errors accounting to tx_dropped, since netdev_queue structure doesnt define tx_errors / tx_aborted_errors. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0fa0ee053aaa53939306376719450cfe56e33e3b Author: Ben Hutchings Date: Thu Sep 3 10:41:17 2009 +0000 netdev: Convert MDIO ioctl implementation to use struct mii_ioctl_data A few drivers still access the arguments to MDIO ioctls as an array of u16. Convert them to use struct mii_ioctl_data. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 7ab0f2736bfe137a82a7084bbfb5f809da95cabd Author: Ben Hutchings Date: Thu Sep 3 10:39:43 2009 +0000 netdev: Remove redundant checks for CAP_NET_ADMIN in MDIO implementations dev_ioctl() already checks capable(CAP_NET_ADMIN) before calling the driver's implementation of MDIO ioctls. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit aae5e7c30fc660c50dfecbdd745799b05af90f01 Author: Ben Hutchings Date: Thu Sep 3 10:38:33 2009 +0000 netdev: Remove SIOCDEVPRIVATE aliases for MDIO ioctls The standard MDIO ioctl numbers are well-established and these should no longer be needed. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c23ddf8f22fc2c871ce476ff917d1208bbe4f3de Author: Stephen Hemminger Date: Thu Sep 3 06:16:25 2009 +0000 sky2: only enable Vaux if capable of wakeup While perusing vendor driver, I saw that it did not enable the Vaux power unless device was able to wake from lan for D3cold. This might help for Rene's power issue. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit cf503e8f458cec455b18d3938b3b27de6db3105e Author: Dhananjay Phadke Date: Thu Sep 3 13:10:55 2009 +0000 netxen: fix infinite loop on dma mapping failure Fix a perpetual while() loop in unwinding partial mapped tx skb on dma mapping failure. Reported-by: "Juha Leppanen" Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 270e57e133a9e61c8c62ea4a0d1ffdf53f91caf1 Author: Dhananjay Phadke Date: Thu Sep 3 13:10:54 2009 +0000 netxen: remove duplicate napi_add Remove duplicate calls to netxen_napi_add(). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit bc75e5bfad2a6d24fc5a9885a2f6b93f82c6c5f1 Author: Dhananjay Phadke Date: Thu Sep 3 13:10:53 2009 +0000 netxen: fix lro buffer allocation Alloc 12k skbuffs so that firmware can aggregate more packets into one buffer. This doesn't raise memory consumption since 9k skbs use 16k slab cache anyway. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d4ab88194e982a0d213000a75475d3e76b2626f0 Author: Yi Zou Date: Thu Sep 3 14:56:31 2009 +0000 ixgbe: Add support for using FCoE DDP in 82599 as FCoE targets The FCoE DDP in 82599 can be used for both FCoE initiator as well as FCoE target, depending on the indication of the exchange being the responder or originator in the F_CTL (frame control) field in the encapsulated Fiber Channel frame header (T10 Spec., FC-FS). For the initiator, OX_ID is used for FCoE DDP, where for the target RX_ID is used for FCoE DDP. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 09ad1cc099f4ba4735d11ce1c5f024ffc521be3b Author: Yi Zou Date: Thu Sep 3 14:56:10 2009 +0000 ixgbe: Distribute transmission of FCoE traffic in 82599 This adds a simple selection of a FCoE tx queue based on the current cpu id to distribute transmission of FCoE traffic evenly among multiple FCoE transmit queues. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8de8b2e63490fe7e90128299983198d09d1679c9 Author: Yi Zou Date: Thu Sep 3 14:55:50 2009 +0000 ixgbe: Add support for multiple Tx queues for FCoE in 82599 This patch adds support for multiple transmit queues to the Fiber Channel over Ethernet (FCoE) feature found in 82599. Currently, FCoE has multiple Rx queues available, along with a redirection table, that helps distribute the I/O load across multiple CPUs based on the FC exchange ID. To make this the most effective, we need to provide the same layout of transmit queues to match receive. Particularly, when Data Center Bridging (DCB) is enabled, the designated traffic class for FCoE can have dedicated queues for just FCoE traffic, while not affecting any other type of traffic flow. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ae641bdc264a5998b7872622c86f0690a5b1c5b5 Author: Alexander Duyck Date: Thu Sep 3 14:49:33 2009 +0000 igb: set vf rlpml wasn't taking vlan tag into account This patch updates things so that vlan tags are taken into account when setting the receive large packet maximum length. This allows the VF driver to correctly receive full sized frames when vlans are enabled. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2dfd12126573d6feb12f1d215a352851750fcbd7 Author: Alexander Duyck Date: Thu Sep 3 14:49:15 2009 +0000 igb: only disable/enable interrupt bits for igb physical function The igb_irq_disable/enable calls were causing virtual functions associated with the igb physical function to have their interrupts disabled. In order to prevent this from occuring we should only clear/set the bits related to the physical function. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ff41f8dcc63b4d027ed314ae909df53746c40632 Author: Alexander Duyck Date: Thu Sep 3 14:48:56 2009 +0000 igb: add support for set_rx_mode netdevice operation This patch adds support for the set_rx_mode netdevice operation so that igb can better support multiple unicast addresses. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5a925b4282d7f805deafde62001a83dbaf8be275 Author: Andreas Herrmann Date: Thu Sep 3 09:44:28 2009 +0200 x86, sched: Workaround broken sched domain creation for AMD Magny-Cours Current sched domain creation code can't handle multi-node processors. When switching to power_savings scheduling errors show up and system might hang later on (due to broken sched domain hierarchy): # echo 0 >> /sys/devices/system/cpu/sched_mc_power_savings CPU0 attaching sched-domain: domain 0: span 0-5 level MC groups: 0 1 2 3 4 5 domain 1: span 0-23 level NODE groups: 0-5 6-11 18-23 12-17 ... # echo 1 >> /sys/devices/system/cpu/sched_mc_power_savings CPU0 attaching sched-domain: domain 0: span 0-11 level MC groups: 0 1 2 3 4 5 6 7 8 9 10 11 ERROR: parent span is not a superset of domain->span domain 1: span 0-5 level CPU ERROR: domain->groups does not contain CPU0 groups: 6-11 (__cpu_power = 12288) ERROR: groups don't span domain->span domain 2: span 0-23 level NODE groups: ERROR: domain->cpu_power not set ERROR: groups don't span domain->span ... Fixing all aspects of power-savings scheduling for Magny-Cours needs some larger changes in the sched domain creation code. As a short-term and temporary workaround avoid the problems by extending "the worst possible hack" ;-( and always use llc_shared_map on AMD Magny-Cours when MC domain span is calculated. With this I get: # echo 1 >> /sys/devices/system/cpu/sched_mc_power_savings CPU0 attaching sched-domain: domain 0: span 0-5 level MC groups: 0 1 2 3 4 5 domain 1: span 0-5 level CPU groups: 0-5 (__cpu_power = 6144) domain 2: span 0-23 level NODE groups: 0-5 (__cpu_power = 6144) 6-11 (__cpu_power = 6144) 18-23 (__cpu_power = 6144) 12-17 (__cpu_power = 6144) ... I.e. no errors during sched domain creation, no system hangs, and also mc_power_savings scheduling works to a certain extend. Cc: Peter Zijlstra Signed-off-by: Andreas Herrmann Signed-off-by: H. Peter Anvin commit cb9805ab5b97079f69a21b6b4e344a69d5c96157 Author: Andreas Herrmann Date: Thu Sep 3 09:42:20 2009 +0200 x86, mcheck: Use correct cpumask for shared bank4 This fixes threshold_bank4 support on multi-node processors. The correct mask to use is llc_shared_map, representing an internal node on Magny-Cours. We need to create 2 sets of symlinks for sibling shared banks -- one set for each internal node, symlinks of each set should target the first core on same internal node. Currently only one set is created where all symlinks are targeting the first core of the entire socket. Signed-off-by: Andreas Herrmann Signed-off-by: H. Peter Anvin commit a326e948c538e8ce998f30d92e146ecea8a30421 Author: Andreas Herrmann Date: Thu Sep 3 09:41:19 2009 +0200 x86, cacheinfo: Fixup L3 cache information for AMD multi-node processors L3 cache size, associativity and shared_cpu information need to be adapted to show information for an internal node instead of the entire physical package. Signed-off-by: Andreas Herrmann Signed-off-by: H. Peter Anvin commit 4a376ec3a2599c02207cd4cbd5dbf73783548463 Author: Andreas Herrmann Date: Thu Sep 3 09:40:21 2009 +0200 x86: Fix CPU llc_shared_map information for AMD Magny-Cours Construct entire NodeID and use it as cpu_llc_id. Thus internal node siblings are stored in llc_shared_map. Signed-off-by: Andreas Herrmann Signed-off-by: H. Peter Anvin commit 1ea0d14e480c245683927eecc03a70faf06e80c8 Author: Jeremy Fitzhardinge Date: Thu Sep 3 12:27:15 2009 -0700 x86/i386: Make sure stack-protector segment base is cache aligned The Intel Optimization Reference Guide says: In Intel Atom microarchitecture, the address generation unit assumes that the segment base will be 0 by default. Non-zero segment base will cause load and store operations to experience a delay. - If the segment base isn't aligned to a cache line boundary, the max throughput of memory operations is reduced to one [e]very 9 cycles. [...] Assembly/Compiler Coding Rule 15. (H impact, ML generality) For Intel Atom processors, use segments with base set to 0 whenever possible; avoid non-zero segment base address that is not aligned to cache line boundary at all cost. We can't avoid having a non-zero base for the stack-protector segment, but we can make it cache-aligned. Signed-off-by: Jeremy Fitzhardinge Cc: LKML-Reference: <4AA01893.6000507@goop.org> Signed-off-by: Ingo Molnar commit 8adf65cfae2d6c2ec5c06e4521f089c62f9eff05 Author: Ingo Molnar Date: Thu Sep 3 21:26:34 2009 +0200 x86, msr: Fix msr-reg.S compilation with gas 2.16.1, on 32-bit too The macro was defined in the 32-bit path as well - breaking the build on 32-bit platforms: arch/x86/lib/msr-reg.S: Assembler messages: arch/x86/lib/msr-reg.S:53: Error: Bad macro parameter list arch/x86/lib/msr-reg.S:100: Error: invalid character '_' in mnemonic arch/x86/lib/msr-reg.S:101: Error: invalid character '_' in mnemonic Cc: Borislav Petkov Cc: H. Peter Anvin LKML-Reference: Signed-off-by: Ingo Molnar commit dc86cabe4b242446ea9aa8492c727e1220817898 Author: Ingo Molnar Date: Thu Sep 3 18:03:00 2009 +0200 perf_counter: Fix output-sharing error path We forget to release the fd in the PERF_FLAG_FD_OUTPUT error path. Reorganize the error flow here to be a clean fall-through logic. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 9162ab2000e08be076883b5a295a771223264ce8 Author: Jeff Layton Date: Thu Sep 3 12:07:17 2009 -0400 cifs: consolidate reconnect logic in smb_init routines There's a large cut and paste chunk of code in smb_init and small_smb_init to handle reconnects. Break it out into a separate function, clean it up and have both routines call it. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 2b681fafcc50fea6304ed418667c9d04282acb73 Merge: 03362a0 abdc5eb Author: Joerg Roedel Date: Thu Sep 3 17:14:57 2009 +0200 Merge branch 'amd-iommu/pagetable' into amd-iommu/2.6.32 Conflicts: arch/x86/kernel/amd_iommu.c commit 03362a05c55122baff3556109c922285299dfec4 Merge: 85da07c 4751a95 Author: Joerg Roedel Date: Thu Sep 3 16:34:23 2009 +0200 Merge branch 'amd-iommu/passthrough' into amd-iommu/2.6.32 Conflicts: arch/x86/kernel/amd_iommu.c arch/x86/kernel/amd_iommu_init.c commit 85da07c409daba3d067824f0051d58f70cb571a0 Merge: 6ac162d e0faf54 6a1eddd Author: Joerg Roedel Date: Thu Sep 3 16:32:00 2009 +0200 Merge branches 'gart/fixes', 'amd-iommu/fixes+cleanups' and 'amd-iommu/fault-handling' into amd-iommu/2.6.32 commit 6f4596d9312ba5fbf5f3231ef484823c4e684d2e Author: Ingo Molnar Date: Thu Sep 3 16:22:45 2009 +0200 perf trace: Fix read_string() We did not account for the enclosing \0. Depending on what malloc() gave us this resulted in corrupted version string printouts. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 00fc97863c21c41e257a941e83410c56341e2a5d Author: Ingo Molnar Date: Thu Sep 3 16:22:02 2009 +0200 perf trace: Print out in nanoseconds Print out more accurate timestamps - usecs does not cut it anymore on fast enough boxes ;-) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 2e01d1791168bb824226d8cc70e50374767dcc42 Author: Ingo Molnar Date: Thu Sep 3 16:21:11 2009 +0200 perf tools: Seek to the end of the header area Leave the input fd at the data area. It does not matter right now - but seeking at the end of it certainly did not make sense. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 6ac162d6c01ac7626f46c68c0770556cf682ce34 Author: Pavel Vasilyev Date: Thu Sep 3 16:20:55 2009 +0200 x86/gart: Do not select AGP for GART_IOMMU There is no dependency from the gart code to the agp code. And since a lot of systems today do not have agp anymore remove this dependency from the kernel configuration. Signed-off-by: Pavel Vasilyev Signed-off-by: Joerg Roedel commit 8886f42d6d8dabeb488c706c339634a0e3e08df4 Author: Ingo Molnar Date: Thu Sep 3 16:19:57 2009 +0200 perf trace: Fix parsing of perf.data We started parsing perf.data at head 0. This caused -D to segfault and it could possibly also case incorrect trace entries to be displayed. Parse it at data_offset instead. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 4751a95134e05f1172131d2001c6991d671fa58c Author: Joerg Roedel Date: Tue Sep 1 15:53:54 2009 +0200 x86/amd-iommu: Initialize passthrough mode when requested This patch enables the passthrough mode for AMD IOMMU by running the initialization function when iommu=pt is passed on the kernel command line. Signed-off-by: Joerg Roedel commit a1ca331c8aa75cd58fdf685e2e8745e1d3ec5c8f Author: Joerg Roedel Date: Tue Sep 1 12:22:22 2009 +0200 x86/amd-iommu: Don't detach device from pt domain on driver unbind This patch makes sure a device is not detached from the passthrough domain when the device driver is unloaded or does otherwise release the device. Signed-off-by: Joerg Roedel commit 21129f786f231f7a9dce5b504617b893f50a435f Author: Joerg Roedel Date: Tue Sep 1 11:59:42 2009 +0200 x86/amd-iommu: Make sure a device is assigned in passthrough mode When the IOMMU driver runs in passthrough mode it has to make sure that every device not assigned to an IOMMU-API domain must be put into the passthrough domain instead of keeping it unassigned. Signed-off-by: Joerg Roedel commit eba6ac60ba66c6bf6858938442204feaa67dea31 Author: Joerg Roedel Date: Tue Sep 1 12:07:08 2009 +0200 x86/amd-iommu: Align locking between attach_device and detach_device This patch makes the locking behavior between the functions attach_device and __attach_device consistent with the locking behavior between detach_device and __detach_device. Signed-off-by: Joerg Roedel commit aa879fff5d12318259816aa35023e941a1e4d3d9 Author: Joerg Roedel Date: Mon Aug 31 16:01:48 2009 +0200 x86/amd-iommu: Fix device table write order The V bit of the device table entry has to be set after the rest of the entry is written to not confuse the hardware. Signed-off-by: Joerg Roedel commit 0feae533ddebe02cda6ccce5cac7349b446776a8 Author: Joerg Roedel Date: Wed Aug 26 15:26:30 2009 +0200 x86/amd-iommu: Add passthrough mode initialization functions When iommu=pt is passed on kernel command line the devices should run untranslated. This requires the allocation of a special domain for that purpose. This patch implements the allocation and initialization path for iommu=pt. Signed-off-by: Joerg Roedel commit 2650815fb03fe2bf1e6701584087ba669dcf92cd Author: Joerg Roedel Date: Wed Aug 26 16:52:40 2009 +0200 x86/amd-iommu: Add core functions for pd allocation/freeing This patch factors some code of protection domain allocation into seperate functions. This way the logic can be used to allocate the passthrough domain later. As a side effect this patch fixes an unlikely domain id leakage bug. Signed-off-by: Joerg Roedel commit ac0101d396fee24994632f71b55b9f7f9ee16eff Author: Joerg Roedel Date: Tue Sep 1 16:00:35 2009 +0200 x86/dma: Mark iommu_pass_through as __read_mostly This variable is read most of the time. This patch marks it as such. It also documents the meaning the this variable while at it. Signed-off-by: Joerg Roedel commit abdc5eb3d69279039ba6cb89719913d08013ab14 Author: Joerg Roedel Date: Thu Sep 3 11:33:51 2009 +0200 x86/amd-iommu: Change iommu_map_page to support multiple page sizes This patch adds a map_size parameter to the iommu_map_page function which makes it generic enough to handle multiple page sizes. This also requires a change to alloc_pte which is also done in this patch. Signed-off-by: Joerg Roedel commit a6b256b41357c33ccb2d105a4457e22bdc83e021 Author: Joerg Roedel Date: Thu Sep 3 12:21:31 2009 +0200 x86/amd-iommu: Support higher level PTEs in iommu_page_unmap This patch changes fetch_pte and iommu_page_unmap to support different page sizes too. Signed-off-by: Joerg Roedel commit 30681bcf2b15a601b9460e6ddab22077998b8d4c Author: Takashi Iwai Date: Thu Sep 3 16:08:08 2009 +0200 ALSA: dummy - Add more description Signed-off-by: Takashi Iwai commit 674d798a80cb6ea1defa01899099f40d9124423c Author: Joerg Roedel Date: Wed Sep 2 17:26:09 2009 +0200 x86/amd-iommu: Remove old page table handling macros These macros are not longer required. So remove them. Signed-off-by: Joerg Roedel commit 8f7a017ce05ed4522809448e169daa44fe6edeb1 Author: Joerg Roedel Date: Wed Sep 2 16:55:24 2009 +0200 x86/amd-iommu: Use 2-level page tables for dma_ops domains The driver now supports a dynamic number of levels for IO page tables. This allows to reduce the number of levels for dma_ops domains by one because a dma_ops domain has usually an address space size between 128MB and 4G. Signed-off-by: Joerg Roedel commit bad1cac28a707c69301a4d0612da9ccbecd51953 Author: Joerg Roedel Date: Wed Sep 2 16:52:23 2009 +0200 x86/amd-iommu: Remove bus_addr check in iommu_map_page The driver now supports full 64 bit device address spaces. So this check is not longer required. Signed-off-by: Joerg Roedel commit 8c8c143cdc95ebe50fd962917556e25e8912997b Author: Joerg Roedel Date: Wed Sep 2 17:30:00 2009 +0200 x86/amd-iommu: Remove last usages of IOMMU_PTE_L0_INDEX This change allows to remove these old macros later. Signed-off-by: Joerg Roedel commit 8bc3e127421bf3b735edbde05135892c12c5f615 Author: Joerg Roedel Date: Wed Sep 2 16:48:40 2009 +0200 x86/amd-iommu: Change alloc_pte to support 64 bit address space This patch changes the alloc_pte function to be able to map pages into the whole 64 bit address space supported by AMD IOMMU hardware from the old limit of 2**39 bytes. Signed-off-by: Joerg Roedel commit 50020fb6324465e478d6c8cdbf3c695f0a60358d Author: Joerg Roedel Date: Wed Sep 2 15:38:40 2009 +0200 x86/amd-iommu: Introduce increase_address_space function This function will be used to increase the address space size of a protection domain. Signed-off-by: Joerg Roedel commit 04bfdd8406099fca2e6b8844748c4d6c5eba8c8d Author: Joerg Roedel Date: Wed Sep 2 16:00:23 2009 +0200 x86/amd-iommu: Flush domains if address space size was increased Thist patch introduces the update_domain function which propagates the larger address space of a protection domain to the device table and flushes all relevant DTEs and the domain TLB. Signed-off-by: Joerg Roedel commit 407d733e30a97daf5ea6f9eb5f9ebbd42a0a9ef2 Author: Joerg Roedel Date: Wed Sep 2 16:07:00 2009 +0200 x86/amd-iommu: Introduce set_dte_entry function This function factors out some logic of attach_device to a seperate function. This new function will be used to update device table entries when necessary. Signed-off-by: Joerg Roedel commit 6a0dbcbe4e612fbc9d73cd4dde8ebef19295058a Author: Joerg Roedel Date: Wed Sep 2 15:41:59 2009 +0200 x86/amd-iommu: Add a gneric version of amd_iommu_flush_all_devices This patch adds a generic variant of amd_iommu_flush_all_devices function which flushes only the DTEs for a given protection domain. Signed-off-by: Joerg Roedel commit a6d41a4027b758a9473197a78fab45afb31003aa Author: Joerg Roedel Date: Wed Sep 2 17:08:55 2009 +0200 x86/amd-iommu: Use fetch_pte in amd_iommu_iova_to_phys Don't reimplement the page table walker in this function. Use the generic one. Signed-off-by: Joerg Roedel commit 38a76eeeafb251bf67d143a34b37a8105cff302e Author: Joerg Roedel Date: Wed Sep 2 17:02:47 2009 +0200 x86/amd-iommu: Use fetch_pte in iommu_unmap_page Instead of reimplementing existing logic use fetch_pte to walk the page table in iommu_unmap_page. Signed-off-by: Joerg Roedel commit 9355a08186e52b7c120adea91c984923b54efa10 Author: Joerg Roedel Date: Wed Sep 2 14:24:08 2009 +0200 x86/amd-iommu: Make fetch_pte aware of dynamic mapping levels This patch changes the fetch_pte function in the AMD IOMMU driver to support dynamic mapping levels. Signed-off-by: Joerg Roedel commit b142037b4c1edf5ad0b2871c518d4f14ac1cd470 Author: Takashi Iwai Date: Thu Sep 3 16:01:06 2009 +0200 ALSA: dummy - Better jiffies handling In the system-timer mode, snd-dummy driver issues each tick to update the position. This is highly inefficient and even inaccurate if the timer can't be triggered at each tick. Now rewritten to wake up only at the period boundary. The position is calculated from the current jiffies. Signed-off-by: Takashi Iwai commit c631d03c6873b9e17906556e84fcafc42f26a7c2 Author: Takashi Iwai Date: Thu Sep 3 15:59:26 2009 +0200 ALSA: dummy - Support high-res timer mode Allow snd-dummy driver to use high-res timer as its timing source instead of the system timer. The new module option "hrtimer" is added to turn on/off the high-res timer support. It can be switched even dynamically via sysfs. Signed-off-by: Takashi Iwai commit 6a1eddd2f951656a6abbd42e2cddc2267c4a639d Author: Joerg Roedel Date: Thu Sep 3 15:15:10 2009 +0200 x86/amd-iommu: Reset command buffer if wait loop fails Instead of a panic on an comletion wait loop failure, try to recover from that event from resetting the command buffer. Signed-off-by: Joerg Roedel commit b26e81b871bd18184968f0bb3f12945906eadfce Author: Joerg Roedel Date: Thu Sep 3 15:08:09 2009 +0200 x86/amd-iommu: Panic if IOMMU command buffer reset fails To prevent the driver from doing recursive command buffer resets, just panic when that recursion happens. Signed-off-by: Joerg Roedel commit a345b23b79f1900e7d87c3165182504419180de4 Author: Joerg Roedel Date: Thu Sep 3 15:01:43 2009 +0200 x86/amd-iommu: Reset command buffer on ILLEGAL_COMMAND_ERROR On an ILLEGAL_COMMAND_ERROR the IOMMU stops executing further commands. This patch changes the code to handle this case better by resetting the command buffer in the IOMMU. Signed-off-by: Joerg Roedel commit 93f1cc67cf3196174412adca87321b25c1c986b0 Author: Joerg Roedel Date: Thu Sep 3 14:50:20 2009 +0200 x86/amd-iommu: Add reset function for command buffers This patch factors parts of the command buffer initialization code into a seperate function which can be used to reset the command buffer later. Signed-off-by: Joerg Roedel commit d586d7852ccd0cecb502bf4809f827e60c486af0 Author: Joerg Roedel Date: Thu Sep 3 15:39:23 2009 +0200 x86/amd-iommu: Add function to flush all DTEs on one IOMMU This function flushes all DTE entries on one IOMMU for all devices behind this IOMMU. This is required for command buffer resetting later. Signed-off-by: Joerg Roedel commit e0faf54ee82bf9c07f0307b4391caad4020bd659 Author: Joerg Roedel Date: Thu Sep 3 15:45:51 2009 +0200 x86/amd-iommu: fix broken check in amd_iommu_flush_all_devices The amd_iommu_pd_table is indexed by protection domain number and not by device id. So this check is broken and must be removed. Cc: stable@kernel.org Signed-off-by: Joerg Roedel commit ae908c22aa2b9f7d4b41bd02d14e473f79c22dd3 Author: Joerg Roedel Date: Tue Sep 1 16:52:16 2009 +0200 x86/amd-iommu: Remove redundant 'IOMMU' string The 'IOMMU: ' prefix is not necessary because the DUMP_printk macro already prints its own prefix. Signed-off-by: Joerg Roedel commit 4c6f40d4e0f0bba77a5f27eec4e1c6d1c457d324 Author: Joerg Roedel Date: Tue Sep 1 16:43:58 2009 +0200 x86/amd-iommu: replace "AMD IOMMU" by "AMD-Vi" This patch replaces the "AMD IOMMU" printk strings with the official name for the hardware: "AMD-Vi". Signed-off-by: Joerg Roedel commit f2430bd104bec2706315e9e983a9d9f828ff9565 Author: Joerg Roedel Date: Wed Aug 26 12:10:19 2009 +0200 x86/amd-iommu: Remove some merge helper code This patch removes some left-overs which where put into the code to simplify merging code which also depends on changes in other trees. Signed-off-by: Joerg Roedel commit 6ddf259da76cab6555c2086386f8bcd10bbb86d2 Author: Ingo Molnar Date: Thu Sep 3 12:00:22 2009 +0200 perf trace: Sample timestamps as well Before: perf-21082 [013] 0.000000: sched_wakeup_new: task perf:21083 [120] success=1 [015] perf-21082 [013] 0.000000: sched_migrate_task: task perf:21082 [120] from: 13 to: 15 perf-21082 [013] 0.000000: sched_process_fork: parent perf:21082 child perf:21083 true-21083 [015] 0.000000: sched_wakeup: task migration/15:33 [0] success=1 [015] perf-21082 [013] 0.000000: sched_switch: task perf:21082 [120] (S) ==> swapper:0 [140] true-21083 [015] 0.000000: sched_switch: task perf:21083 [120] (R) ==> migration/15:33 [0] true-21083 [011] 0.000000: sched_process_exit: task true:21083 [120] After: perf-21082 [013] 14674.797613: sched_wakeup_new: task perf:21083 [120] success=1 [015] perf-21082 [013] 14674.797506: sched_migrate_task: task perf:21082 [120] from: 13 to: 15 perf-21082 [013] 14674.797610: sched_process_fork: parent perf:21082 child perf:21083 true-21083 [015] 14674.797725: sched_wakeup: task migration/15:33 [0] success=1 [015] perf-21082 [013] 14674.797722: sched_switch: task perf:21082 [120] (S) ==> swapper:0 [140] true-21083 [015] 14674.797729: sched_switch: task perf:21083 [120] (R) ==> migration/15:33 [0] true-21083 [011] 14674.798159: sched_process_exit: task true:21083 [120] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit e394d72aa8b319211b8f947d151d9d50b0fde842 Author: Joerg Roedel Date: Thu Sep 3 15:28:33 2009 +0200 x86/amd-iommu: Introduce function for iommu-local domain flush This patch introduces a function to flush all domain tlbs for on one given IOMMU. This is required later to reset the command buffer on one IOMMU. Signed-off-by: Joerg Roedel commit 945b4ac44e5700acd3d974c176c8ace34b4d2e8e Author: Joerg Roedel Date: Thu Sep 3 14:25:02 2009 +0200 x86/amd-iommu: Dump illegal command on ILLEGAL_COMMAND_ERROR This patch adds code to dump the command which caused an ILLEGAL_COMMAND_ERROR raised by the IOMMU hardware. Signed-off-by: Joerg Roedel commit 55f9d6786de2f9cf37db50dbe8ae16f887f3ad7f Author: Eric Dumazet Date: Thu Sep 3 05:17:20 2009 -0700 net: Remove debugging code Remove a debugging aid I accidently left in previous 'cleanup' patch Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e3e59876e82a5e1a07f365d5474e7b6943524725 Author: Joerg Roedel Date: Thu Sep 3 14:02:10 2009 +0200 x86/amd-iommu: Dump fault entry on DTE error This patch adds code to dump the content of the device table entry which caused an ILLEGAL_DEV_TABLE_ENTRY error from the IOMMU hardware. Signed-off-by: Joerg Roedel commit 9d32e03d01649d2dd837923470f3f323e3b88253 Author: Jaroslav Kysela Date: Mon Aug 31 15:07:23 2009 +0200 ALSA: Release v1.0.21 Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 2f8bc32b7a08502a79e0ccec8697000f2977f2fd Author: Eric Dumazet Date: Thu Sep 3 02:19:58 2009 -0700 vlan: enable multiqueue xmits vlan_dev_hard_start_xmit() & vlan_dev_hwaccel_hard_start_xmit() select txqueue number 0, instead of using index provided by skb_get_queue_mapping(). This is not correct after commit 2e59af3dcbdf11635c03f [vlan: multiqueue vlan device] because txq->tx_packets & txq->tx_bytes changes are performed on a single location, and not the right locking. Fix is to take the appropriate struct netdev_queue pointer Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d1b19dff9159bb88fe839c30a7c071faf4761933 Author: Eric Dumazet Date: Thu Sep 3 01:29:39 2009 -0700 net: net/core/dev.c cleanups Pure style cleanup patch before surgery :) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 137742cf9738f1b4784058ff79aec7ca85e769d4 Author: Karl Hiramoto Date: Wed Sep 2 23:26:39 2009 -0700 atm/br2684: netif_stop_queue() when atm device busy and netif_wake_queue() when we can send packets again. This patch removes the call to dev_kfree_skb() when the atm device is busy. Calling dev_kfree_skb() causes heavy packet loss then the device is under heavy load, the more correct behavior should be to stop the upper layers, then when the lower device can queue packets again wake the upper layers. Signed-off-by: Karl Hiramoto Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 81538e74ca12a71ea37ce72f809ebc65a90b9538 Author: Uwe Kleine-König Date: Tue Sep 1 23:14:16 2009 +0000 fec: don't enable irqs in hard irq context fec_enet_mii, fec_enet_rx and fec_enet_tx are both only called by fec_enet_interrupt in interrupt context. So they must not use spin_lock_irq/spin_unlock_irq. This fixes: WARNING: at kernel/lockdep.c:2140 trace_hardirqs_on_caller+0x130/0x194() ... Signed-off-by: Uwe Kleine-König Cc: Greg Ungerer Cc: Ben Hutchings Cc: Patrick McHardy Cc: Sascha Hauer Cc: Matt Waddel Cc: netdev@vger.kernel.org Cc: Tim Sander Acked-by: Greg Ungerer Signed-off-by: David S. Miller commit 84177a20799072c65a69b62571660d4d9780823c Author: Uwe Kleine-König Date: Tue Sep 1 23:14:15 2009 +0000 fec: fix recursive locking of mii_lock mii_discover_phy is only called by fec_enet_mii (via mip->mii_func). So &fep->mii_lock is already held and mii_discover_phy must not call mii_queue which locks &fep->mii_lock, too. This was noticed by lockdep: ============================================= [ INFO: possible recursive locking detected ] 2.6.31-rc8-00038-g37d0892 #109 --------------------------------------------- swapper/1 is trying to acquire lock: (&fep->mii_lock){-.....}, at: [] mii_queue+0x2c/0xcc but task is already holding lock: (&fep->mii_lock){-.....}, at: [] fec_enet_interrupt+0x78/0x460 other info that might help us debug this: 2 locks held by swapper/1: #0: (rtnl_mutex){+.+.+.}, at: [] rtnl_lock+0x18/0x20 #1: (&fep->mii_lock){-.....}, at: [] fec_enet_interrupt+0x78/0x460 stack backtrace: Backtrace: [] (dump_backtrace+0x0/0x108) from [] (dump_stack+0x18/0x1c) r6:c781d118 r5:c03e41d8 r4:00000001 [] (dump_stack+0x0/0x1c) from [] (__lock_acquire+0x1a20/0x1a88) [] (__lock_acquire+0x0/0x1a88) from [] (lock_acquire+0x60/0x74) [] (lock_acquire+0x0/0x74) from [] (_spin_lock_irqsave+0x54/0x68) r7:60000093 r6:c01569f8 r5:c785e468 r4:00000000 [] (_spin_lock_irqsave+0x0/0x68) from [] (mii_queue+0x2c/0xcc) r7:c785e468 r6:c0156b24 r5:600a0000 r4:c785e000 [] (mii_queue+0x0/0xcc) from [] (mii_discover_phy+0x54/0xa8) r8:00000002 r7:00000032 r6:c785e000 r5:c785e360 r4:c785e000 [] (mii_discover_phy+0x0/0xa8) from [] (fec_enet_interrupt+0xa4/0x460) r5:c785e360 r4:c077a170 [] (fec_enet_interrupt+0x0/0x460) from [] (handle_IRQ_event+0x48/0x120) [] (handle_IRQ_event+0x0/0x120) from [] (handle_level_irq+0x94/0x11c) ... Signed-off-by: Uwe Kleine-König Cc: Greg Ungerer Cc: Ben Hutchings Cc: Patrick McHardy Cc: Sascha Hauer Cc: Matt Waddel Cc: netdev@vger.kernel.org Cc: Tim Sander Acked-by: Greg Ungerer Signed-off-by: David S. Miller commit 3eb0027594e25f5947f074ae53fea30c15c5a7f6 Author: Ralf Baechle Date: Wed Sep 2 23:09:29 2009 -0700 NET: Fix possible corruption in bpqether driver The bpq ether driver is modifying the data art of the skb by first dropping the KISS byte (a command byte for the radio) then prepending the length + 4 of the remaining AX.25 packet to be transmitted as a little endian 16-bit number. If the high byte of the length has a different value than the dropped KISS byte users of clones of the skb may observe this as corruption. This was observed with by running listen(8) -a which uses a packet socket which clones transmit packets. The corruption will then typically be displayed for as a KISS "TX Delay" command for AX.25 packets in the range of 252..508 bytes or any other KISS command for yet larger packets. Fixed by using skb_cow to create a private copy should the skb be cloned. Using skb_cow also allows us to cleanup the old logic to ensure sufficient headroom in the skb. While at it, replace a return of 0 from bpq_xmit with the proper constant NETDEV_TX_OK which is now being used everywhere else in this function. Affected: all 2.2, 2.4 and 2.6 kernels. Signed-off-by: Ralf Baechle Reported-by: Jann Traschewski Signed-off-by: David S. Miller commit ab08999d6029bb2c79c16be5405d63d2bedbdfea Author: roel kluin Date: Tue Sep 1 06:24:53 2009 +0000 WARNING: some request_irq() failures ignored in el2_open() Request_irq() may fail in different ways, handle accordingly. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit aa1330766c49199bdab4d4a9096d98b072df9044 Author: Wu Fengguang Date: Wed Sep 2 23:45:45 2009 -0700 tcp: replace hard coded GFP_KERNEL with sk_allocation This fixed a lockdep warning which appeared when doing stress memory tests over NFS: inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage. page reclaim => nfs_writepage => tcp_sendmsg => lock sk_lock mount_root => nfs_root_data => tcp_close => lock sk_lock => tcp_send_fin => alloc_skb_fclone => page reclaim David raised a concern that if the allocation fails in tcp_send_fin(), and it's GFP_ATOMIC, we are going to yield() (which sleeps) and loop endlessly waiting for the allocation to succeed. But fact is, the original GFP_KERNEL also sleeps. GFP_ATOMIC+yield() looks weird, but it is no worse the implicit sleep inside GFP_KERNEL. Both could loop endlessly under memory pressure. CC: Arnaldo Carvalho de Melo CC: David S. Miller CC: Herbert Xu Signed-off-by: Wu Fengguang Signed-off-by: David S. Miller commit 05c6a8d7a7d778f26d8eb821556988993b766092 Author: Ajit Khaparde Date: Wed Sep 2 17:02:55 2009 +0000 net/ethtool: Add support for the ethtool feature to flash firmware image from a specified file. This patch adds support to flash a firmware image to a device using ethtool. The driver gets the filename of the firmware image and flashes the image using the request firmware path. The region "on the chip" to be flashed can be specified by an option. It is upto the device driver to enumerate the region number passed by ethtool, to the region to be flashed. The default behavior is to flash all the regions on the chip. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 451f14439847db302e5104c44458b2dbb4b1829d Author: Eric Dumazet Date: Mon Aug 31 06:34:50 2009 +0000 drivers: Kill now superfluous ->last_rx stores The generic packet receive code takes care of setting netdev->last_rx when necessary, for the sake of the bonding ARP monitor. Signed-off-by: Eric Dumazet Acked-by: Neil Horman Signed-off-by: David S. Miller commit 6c1488fd581a447ec87c4b59f0d33f95f0aa441b Author: Mimi Zohar Date: Wed Sep 2 11:40:32 2009 -0400 IMA: open new file for read When creating a new file, ima_path_check() assumed the new file was being opened for write. Call ima_path_check() with the appropriate acc_mode so that the read/write counters are incremented correctly. Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 6ce9e7b5fe3195d1ae6e3a0753d4ddcac5cd699e Author: Eric Dumazet Date: Wed Sep 2 18:05:33 2009 -0700 ip: Report qdisc packet drops Christoph Lameter pointed out that packet drops at qdisc level where not accounted in SNMP counters. Only if application sets IP_RECVERR, drops are reported to user (-ENOBUFS errors) and SNMP counters updated. IP_RECVERR is used to enable extended reliable error message passing, but these are not needed to update system wide SNMP stats. This patch changes things a bit to allow SNMP counters to be updated, regardless of IP_RECVERR being set or not on the socket. Example after an UDP tx flood # netstat -s ... IP: 1487048 outgoing packets dropped ... Udp: ... SndbufErrors: 1487048 send() syscalls, do however still return an OK status, to not break applications. Note : send() manual page explicitly says for -ENOBUFS error : "The output queue for a network interface was full. This generally indicates that the interface has stopped sending, but may be caused by transient congestion. (Normally, this does not occur in Linux. Packets are just silently dropped when a device queue overflows.) " This is not true for IP_RECVERR enabled sockets : a send() syscall that hit a qdisc drop returns an ENOBUFS error. Many thanks to Christoph, David, and last but not least, Alexey ! Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2e59af3dcbdf11635c03f22bfc9706744465d589 Author: Eric Dumazet Date: Wed Sep 2 18:03:00 2009 -0700 vlan: multiqueue vlan device vlan devices are currently not multi-queue capable. We can do that with a new rtnl_link_ops method, get_tx_queues(), called from rtnl_create_link() This new method gets num_tx_queues/real_num_tx_queues from real device. register_vlan_device() is also handled. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5848cc096a23b80b3d15c27d72299f79caf7c517 Author: Neil Horman Date: Wed Sep 2 14:37:45 2009 -0700 net: drop_monitor: make last_rx timestamp private It was recently pointed out to me that the last_rx field of the net_device structure wasn't updated regularly. In fact only the bonding driver really uses it currently. Since the drop_monitor code relies on the last_rx field to detect drops on recevie in hardware, We need to find a more reliable way to rate limit our drop checks (so that we don't check for drops on every frame recevied, which would be inefficient. This patch makes a last_rx timestamp that is private to the drop monitor code and is updated for every device that we track. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit 3f968de276a8e585deb182d4ba56013a479c80bc Merge: 5ca1b99 d0bec34 Author: David S. Miller Date: Wed Sep 2 14:18:09 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 0fbdea19e9394a5cb5f2f5081b028c50b558910a Author: Ingo Molnar Date: Wed Sep 2 21:46:00 2009 +0200 perf_counter: Introduce new (non-)paranoia level to allow raw tracepoint access I want to sample inherited tracepoint workloads as a normal user and the CAP_SYS_ADMIN check prevents me from doing that right now. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit f76bd108e5031202bb40849306f98c4afebe4ef6 Merge: cd6feee eced1df Author: Ingo Molnar Date: Wed Sep 2 21:42:56 2009 +0200 Merge branch 'perfcounters/urgent' into perfcounters/core Merge reason: We are going to modify a place modified by perfcounters/urgent. Signed-off-by: Ingo Molnar commit d0bec34293bb0b8dddc26d25bd46a6631d6b3ec3 Author: Vivek Natarajan Date: Wed Sep 2 15:50:55 2009 +0530 ath9k: Reconfigure beacon timers after the scan is completed. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit fcc6cb0c13555e78c2d47257b6d1b5e59b0c419a Author: Bob Copeland Date: Tue Sep 1 18:12:11 2009 -0400 cfg80211: fix looping soft lockup in find_ie() The find_ie() function uses a size_t for the len parameter, and directly uses len as a loop variable. If any received packets are malformed, it is possible for the decrease of len to overflow, and since the result is unsigned, the loop will not terminate. Change it to a signed int so the loop conditional works for negative values. This fixes the following soft lockup: [38573.102007] BUG: soft lockup - CPU#0 stuck for 61s! [phy0:2230] [38573.102007] Modules linked in: aes_i586 aes_generic fuse af_packet ipt_REJECT xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state iptable_filter ip_tables x_tables acpi_cpufreq binfmt_misc dm_mirror dm_region_hash dm_log dm_multipath dm_mod kvm_intel kvm uinput i915 arc4 ecb drm snd_hda_codec_idt ath5k snd_hda_intel hid_apple mac80211 usbhid appletouch snd_hda_codec snd_pcm ath cfg80211 snd_timer i2c_algo_bit ohci1394 video snd processor ieee1394 rfkill ehci_hcd sg sky2 backlight snd_page_alloc uhci_hcd joydev output ac thermal button battery sr_mod applesmc cdrom input_polldev evdev unix [last unloaded: scsi_wait_scan] [38573.102007] irq event stamp: 2547724535 [38573.102007] hardirqs last enabled at (2547724534): [] restore_all_notrace+0x0/0x18 [38573.102007] hardirqs last disabled at (2547724535): [] apic_timer_interrupt+0x28/0x34 [38573.102007] softirqs last enabled at (92950144): [] __do_softirq+0x108/0x210 [38573.102007] softirqs last disabled at (92950274): [] _spin_lock_bh+0x14/0x80 [38573.102007] [38573.102007] Pid: 2230, comm: phy0 Tainted: G W (2.6.31-rc7-wl #8) MacBook1,1 [38573.102007] EIP: 0060:[] EFLAGS: 00010292 CPU: 0 [38573.102007] EIP is at cmp_ies+0x30/0x180 [cfg80211] [38573.102007] EAX: 00000082 EBX: 00000000 ECX: ffffffc1 EDX: d8efd014 [38573.102007] ESI: ffffff7c EDI: 0000004d EBP: eee2dc50 ESP: eee2dc3c [38573.102007] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [38573.102007] CR0: 8005003b CR2: d8efd014 CR3: 01694000 CR4: 000026d0 [38573.102007] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [38573.102007] DR6: ffff0ff0 DR7: 00000400 [38573.102007] Call Trace: [38573.102007] [] cmp_bss+0xed/0x100 [cfg80211] [38573.102007] [] cfg80211_bss_update+0x84/0x410 [cfg80211] [38573.102007] [] cfg80211_inform_bss_frame+0x114/0x180 [cfg80211] [38573.102007] [] ieee80211_bss_info_update+0x4f/0x180 [mac80211] [38573.102007] [] ieee80211_rx_bss_info+0x88/0xf0 [mac80211] [38573.102007] [] ? ieee802_11_parse_elems+0x27/0x30 [mac80211] [38573.102007] [] ieee80211_rx_mgmt_probe_resp+0xa4/0x1c0 [mac80211] [38573.102007] [] ieee80211_sta_rx_queued_mgmt+0x919/0xc50 [mac80211] [38573.102007] [] ? sched_clock+0x27/0xa0 [38573.102007] [] ? sched_clock+0x27/0xa0 [38573.102007] [] ? mark_held_locks+0x60/0x80 [38573.102007] [] ? _spin_unlock_irqrestore+0x55/0x70 [38573.102007] [] ? sub_preempt_count+0x85/0xc0 [38573.102007] [] ? _spin_unlock_irqrestore+0x3e/0x70 [38573.102007] [] ? skb_dequeue+0x4f/0x70 [38573.102007] [] ieee80211_sta_work+0x91/0xb80 [mac80211] [38573.102007] [] ? sched_clock+0x27/0xa0 [38573.102007] [] ? sub_preempt_count+0x85/0xc0 [38573.102007] [] worker_thread+0x18f/0x320 [38573.102007] [] ? worker_thread+0x12e/0x320 [38573.102007] [] ? _spin_unlock_irqrestore+0x55/0x70 [38573.102007] [] ? ieee80211_sta_work+0x0/0xb80 [mac80211] [38573.102007] [] ? autoremove_wake_function+0x0/0x50 [38573.102007] [] ? worker_thread+0x0/0x320 [38573.102007] [] kthread+0x84/0x90 [38573.102007] [] ? kthread+0x0/0x90 [38573.102007] [] kernel_thread_helper+0x7/0x10 Cc: stable@kernel.org Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit abd8ea22c23c917f56fefcda8a4468fbc2247d7f Author: Luis R. Rodriguez Date: Tue Sep 1 08:22:46 2009 -0700 wireless: remove mac80211 rate selection extra menu We can just display this upon enabling mac80211 with an 'if MAC80211 != n' check. Cc: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 253850c10d1f9af46f4870616ed29f38ed39fd15 Author: Luis R. Rodriguez Date: Tue Sep 1 08:22:43 2009 -0700 wireless: update reg debug kconfig entry Refer to the wireless wiki for more information. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 44175272ba5f08e842877ef230ff4ed21cf9ec39 Author: Luis R. Rodriguez Date: Tue Sep 1 08:22:40 2009 -0700 wireless: update top level wireless driver entry Change it to a menuconfig to give it some documentation, to refer users to our wireless wiki for extra resources and documentation. It seems our wiki is still obscure to some. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cd6feeeafddbef6abfe4d90fb26e42fd844d34ed Author: Ingo Molnar Date: Wed Sep 2 20:20:38 2009 +0200 perf trace: Sample the CPU too Sample, record, parse and print the CPU field - it had all zeroes before. Before (watch the second column, the CPU values): perf-32685 [000] 0.000000: sched_wakeup_new: task perf:32686 [120] success=1 [011] perf-32685 [000] 0.000000: sched_migrate_task: task perf:32685 [120] from: 1 to: 11 perf-32685 [000] 0.000000: sched_process_fork: parent perf:32685 child perf:32686 true-32686 [000] 0.000000: sched_wakeup: task migration/11:25 [0] success=1 [011] true-32686 [000] 0.000000: sched_wakeup: task distccd:12793 [125] success=1 [015] true-32686 [000] 0.000000: sched_wakeup: task distccd:12793 [125] success=1 [015] perf-32685 [000] 0.000000: sched_switch: task perf:32685 [120] (S) ==> swapper:0 [140] true-32686 [000] 0.000000: sched_switch: task perf:32686 [120] (R) ==> migration/11:25 [0] true-32686 [000] 0.000000: sched_switch: task perf:32686 [120] (R) ==> distccd:12793 [125] true-32686 [000] 0.000000: sched_switch: task true:32686 [120] (R) ==> distccd:12793 [125] true-32686 [000] 0.000000: sched_process_exit: task true:32686 [120] true-32686 [000] 0.000000: sched_stat_wait: task: distccd:12793 wait: 6767985949080 [ns] true-32686 [000] 0.000000: sched_stat_wait: task: distccd:12793 wait: 6767986139446 [ns] true-32686 [000] 0.000000: sched_stat_sleep: task: distccd:12793 sleep: 132844 [ns] true-32686 [000] 0.000000: sched_stat_sleep: task: distccd:12793 sleep: 131724 [ns] After: perf-32685 [001] 0.000000: sched_wakeup_new: task perf:32686 [120] success=1 [011] perf-32685 [001] 0.000000: sched_migrate_task: task perf:32685 [120] from: 1 to: 11 perf-32685 [001] 0.000000: sched_process_fork: parent perf:32685 child perf:32686 true-32686 [011] 0.000000: sched_wakeup: task migration/11:25 [0] success=1 [011] true-32686 [015] 0.000000: sched_wakeup: task distccd:12793 [125] success=1 [015] true-32686 [015] 0.000000: sched_wakeup: task distccd:12793 [125] success=1 [015] perf-32685 [001] 0.000000: sched_switch: task perf:32685 [120] (S) ==> swapper:0 [140] true-32686 [011] 0.000000: sched_switch: task perf:32686 [120] (R) ==> migration/11:25 [0] true-32686 [015] 0.000000: sched_switch: task perf:32686 [120] (R) ==> distccd:12793 [125] true-32686 [015] 0.000000: sched_switch: task true:32686 [120] (R) ==> distccd:12793 [125] true-32686 [015] 0.000000: sched_process_exit: task true:32686 [120] true-32686 [015] 0.000000: sched_stat_wait: task: distccd:12793 wait: 6767985949080 [ns] true-32686 [015] 0.000000: sched_stat_wait: task: distccd:12793 wait: 6767986139446 [ns] true-32686 [015] 0.000000: sched_stat_sleep: task: distccd:12793 sleep: 132844 [ns] true-32686 [015] 0.000000: sched_stat_sleep: task: distccd:12793 sleep: 131724 [ns] So we can now see how this workload migrated between CPUs. Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Li Zefan Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 2eff31e8096513d03b0b6484b85fd2c417eb87e8 Author: Mark Brown Date: Wed Sep 2 18:51:19 2009 +0100 ASoC: Fully specify DC servo bits to update in wm_hubs Avoids potential issues if we read back unexpected values during a read/modify/write cycle. Signed-off-by: Mark Brown commit 65014ab36196f6d86edc9ee23759d6930b9d89a8 Author: Ingo Molnar Date: Wed Sep 2 14:55:55 2009 +0200 perf tools: Work around strict aliasing related warnings Older versions of GCC are rather stupid about strict aliasing: util/trace-event-parse.c: In function 'parse_cmdlines': util/trace-event-parse.c:93: warning: dereferencing type-punned pointer will break strict-aliasing rules util/trace-event-parse.c: In function 'parse_proc_kallsyms': util/trace-event-parse.c:155: warning: dereferencing type-punned pointer will break strict-aliasing rules util/trace-event-parse.c:157: warning: dereferencing type-punned pointer will break strict-aliasing rules util/trace-event-parse.c:158: warning: dereferencing type-punned pointer will break strict-aliasing rules util/trace-event-parse.c: In function 'parse_ftrace_printk': util/trace-event-parse.c:294: warning: dereferencing type-punned pointer will break strict-aliasing rules util/trace-event-parse.c:295: warning: dereferencing type-punned pointer will break strict-aliasing rules make: *** [util/trace-event-parse.o] Error 1 Make it clear to GCC that we intend with those pointers, by passing them through via an explicit (void *) cast. We might want to add -fno-strict-aliasing as well, like the kernel itself does. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 61562445c80452ec417fb6a6895b991f6c1dd930 Author: Ingo Molnar Date: Wed Sep 2 14:50:23 2009 +0200 perf tools: Clean up warnings list in the Makefile Make it easier to turn warnings on/off by using a separate line for each warning added. Some of the warnings have too much of a nuisance factor and we might want to turn them off in the future. Cc: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit ee18d64c1f632043a02e6f5ba5e045bb26a5465f Author: David Howells Date: Wed Sep 2 09:14:21 2009 +0100 KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] Add a keyctl to install a process's session keyring onto its parent. This replaces the parent's session keyring. Because the COW credential code does not permit one process to change another process's credentials directly, the change is deferred until userspace next starts executing again. Normally this will be after a wait*() syscall. To support this, three new security hooks have been provided: cred_alloc_blank() to allocate unset security creds, cred_transfer() to fill in the blank security creds and key_session_to_parent() - which asks the LSM if the process may replace its parent's session keyring. The replacement may only happen if the process has the same ownership details as its parent, and the process has LINK permission on the session keyring, and the session keyring is owned by the process, and the LSM permits it. Note that this requires alteration to each architecture's notify_resume path. This has been done for all arches barring blackfin, m68k* and xtensa, all of which need assembly alteration to support TIF_NOTIFY_RESUME. This allows the replacement to be performed at the point the parent process resumes userspace execution. This allows the userspace AFS pioctl emulation to fully emulate newpag() and the VIOCSETTOK and VIOCSETTOK2 pioctls, all of which require the ability to alter the parent process's PAG membership. However, since kAFS doesn't use PAGs per se, but rather dumps the keys into the session keyring, the session keyring of the parent must be replaced if, for example, VIOCSETTOK is passed the newpag flag. This can be tested with the following program: #include #include #include #define KEYCTL_SESSION_TO_PARENT 18 #define OSERROR(X, S) do { if ((long)(X) == -1) { perror(S); exit(1); } } while(0) int main(int argc, char **argv) { key_serial_t keyring, key; long ret; keyring = keyctl_join_session_keyring(argv[1]); OSERROR(keyring, "keyctl_join_session_keyring"); key = add_key("user", "a", "b", 1, keyring); OSERROR(key, "add_key"); ret = keyctl(KEYCTL_SESSION_TO_PARENT); OSERROR(ret, "KEYCTL_SESSION_TO_PARENT"); return 0; } Compiled and linked with -lkeyutils, you should see something like: [dhowells@andromeda ~]$ keyctl show Session Keyring -3 --alswrv 4043 4043 keyring: _ses 355907932 --alswrv 4043 -1 \_ keyring: _uid.4043 [dhowells@andromeda ~]$ /tmp/newpag [dhowells@andromeda ~]$ keyctl show Session Keyring -3 --alswrv 4043 4043 keyring: _ses 1055658746 --alswrv 4043 4043 \_ user: a [dhowells@andromeda ~]$ /tmp/newpag hello [dhowells@andromeda ~]$ keyctl show Session Keyring -3 --alswrv 4043 4043 keyring: hello 340417692 --alswrv 4043 4043 \_ user: a Where the test program creates a new session keyring, sticks a user key named 'a' into it and then installs it on its parent. Signed-off-by: David Howells Signed-off-by: James Morris commit d0420c83f39f79afb82010c2d2cafd150eef651b Author: David Howells Date: Wed Sep 2 09:14:16 2009 +0100 KEYS: Extend TIF_NOTIFY_RESUME to (almost) all architectures [try #6] Implement TIF_NOTIFY_RESUME for most of those architectures in which isn't yet available, and, whilst we're at it, have it call the appropriate tracehook. After this patch, blackfin, m68k* and xtensa still lack support and need alteration of assembly code to make it work. Resume notification can then be used (by a later patch) to install a new session keyring on the parent of a process. Signed-off-by: David Howells Acked-by: Russell King cc: linux-arch@vger.kernel.org Signed-off-by: James Morris commit 7b1b9164598286fe93927ff41eed2a2609fd9056 Author: David Howells Date: Wed Sep 2 09:14:11 2009 +0100 KEYS: Do some whitespace cleanups [try #6] Do some whitespace cleanups in the key management code. Signed-off-by: David Howells Acked-by: Serge Hallyn Signed-off-by: James Morris commit ad73a717e0fc6949c44e587ca5d63c273a30e6f5 Author: Serge E. Hallyn Date: Wed Sep 2 09:14:05 2009 +0100 KEYS: Make /proc/keys use keyid not numread as file position [try #6] Make the file position maintained by /proc/keys represent the ID of the key just read rather than the number of keys read. This should make it faster to perform a lookup as we don't have to scan the key ID tree from the beginning to find the current position. Signed-off-by: Serge E. Hallyn Signed-off-by: David Howells Signed-off-by: James Morris commit 5d135440faf7db8d566de0c6fab36b16cf9cfc3b Author: David Howells Date: Wed Sep 2 09:14:00 2009 +0100 KEYS: Add garbage collection for dead, revoked and expired keys. [try #6] Add garbage collection for dead, revoked and expired keys. This involved erasing all links to such keys from keyrings that point to them. At that point, the key will be deleted in the normal manner. Keyrings from which garbage collection occurs are shrunk and their quota consumption reduced as appropriate. Dead keys (for which the key type has been removed) will be garbage collected immediately. Revoked and expired keys will hang around for a number of seconds, as set in /proc/sys/kernel/keys/gc_delay before being automatically removed. The default is 5 minutes. Signed-off-by: David Howells Signed-off-by: James Morris commit f041ae2f99d49adc914153a34a2d0e14e4389d90 Author: David Howells Date: Wed Sep 2 09:13:55 2009 +0100 KEYS: Flag dead keys to induce EKEYREVOKED [try #6] Set the KEY_FLAG_DEAD flag on keys for which the type has been removed. This causes the key_permission() function to return EKEYREVOKED in response to various commands. It does not, however, prevent unlinking or clearing of keyrings from detaching the key. Signed-off-by: David Howells Acked-by: Serge Hallyn Signed-off-by: James Morris commit 0c2c9a3fc77e8b60d43d9bd2ca46eb4dddb0ff76 Author: David Howells Date: Wed Sep 2 09:13:50 2009 +0100 KEYS: Allow keyctl_revoke() on keys that have SETATTR but not WRITE perm [try #6] Allow keyctl_revoke() to operate on keys that have SETATTR but not WRITE permission, rather than only on keys that have WRITE permission. Signed-off-by: David Howells Acked-by: Serge Hallyn Signed-off-by: James Morris commit 5593122eec26b061cc0b6fbff32118f1aadf4a27 Author: David Howells Date: Wed Sep 2 09:13:45 2009 +0100 KEYS: Deal with dead-type keys appropriately [try #6] Allow keys for which the key type has been removed to be unlinked. Currently dead-type keys can only be disposed of by completely clearing the keyrings that point to them. Signed-off-by: David Howells Acked-by: Serge Hallyn Signed-off-by: James Morris commit e0e817392b9acf2c98d3be80c233dddb1b52003d Author: David Howells Date: Wed Sep 2 09:13:40 2009 +0100 CRED: Add some configurable debugging [try #6] Add a config option (CONFIG_DEBUG_CREDENTIALS) to turn on some debug checking for credential management. The additional code keeps track of the number of pointers from task_structs to any given cred struct, and checks to see that this number never exceeds the usage count of the cred struct (which includes all references, not just those from task_structs). Furthermore, if SELinux is enabled, the code also checks that the security pointer in the cred struct is never seen to be invalid. This attempts to catch the bug whereby inode_has_perm() faults in an nfsd kernel thread on seeing cred->security be a NULL pointer (it appears that the credential struct has been previously released): http://www.kerneloops.org/oops.php?number=252883 Signed-off-by: David Howells Signed-off-by: James Morris commit f1939f7c56456d22a559d2c75156e91912a2e97e Author: Shane Wang Date: Wed Sep 2 20:05:22 2009 +1000 crypto: vmac - New hash algorithm for intel_txt support This patch adds VMAC (a fast MAC) support into crypto framework. Signed-off-by: Shane Wang Signed-off-by: Joseph Cihula Signed-off-by: Herbert Xu commit 5ca1b998d33c39819fca2b675d80c4469e705f2d Author: Stephen Hemminger Date: Tue Sep 1 19:25:05 2009 +0000 net: file_operations should be const All instances of file_operations should be const. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3b401a81c0d50ea9c718cf837f62cc2e6e79cc30 Author: Stephen Hemminger Date: Tue Sep 1 19:25:04 2009 +0000 inet: inet_connection_sock_af_ops const The function block inet_connect_sock_af_ops contains no data make it constant. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b2e4b3debc327a5b53d9622e0b1785eea2ea2aad Author: Stephen Hemminger Date: Tue Sep 1 19:25:03 2009 +0000 tcp: MD5 operations should be const Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 98147d527a038c4aab599e57323a4e5d727c28a6 Author: Stephen Hemminger Date: Tue Sep 1 19:25:02 2009 +0000 net: seq_operations should be const Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0fc0b732eaa38beb93a6fb62f77c7bd9622c76ec Author: Stephen Hemminger Date: Wed Sep 2 01:03:33 2009 -0700 netdev: drivers should make ethtool_ops const No need to put ethtool_ops in data, they should be const. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit daf09de817353f18bb81a23a023d429cfd258e62 Author: Matt Carlson Date: Tue Sep 1 13:22:42 2009 +0000 tg3: Update version to 3.102 This patch updates the tg3 version to 3.102. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 882e9793faa9425dff581c33b1af45ed10145626 Author: Matt Carlson Date: Tue Sep 1 13:21:36 2009 +0000 tg3: Add MDIO bus address assignments The 5717 is a dual port chip that has a shared MDIO bus design. While it is impossible for one function to interface with the wrong phy, that function still needs to know which MDIO bus address to use when interfacing with its own phy. This patch adds code to determine which MDIO bus address to use. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit a1b950d56de3c72bea3343f54de24c43fb7dc74e Author: Matt Carlson Date: Tue Sep 1 13:20:17 2009 +0000 tg3: Add 5717 NVRAM detection routines This patch adds NVRAM detection routines for the 5717. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit f6eb9b1fc1411d22c073f5264e5630a541d0f7df Author: Matt Carlson Date: Tue Sep 1 13:19:53 2009 +0000 tg3: Add 5717 asic rev This patch adds the 5717 asic rev. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 8d9d7cfc0ec2fe37ff9afd74326d03f38f96ad1b Author: Matt Carlson Date: Tue Sep 1 13:19:05 2009 +0000 tg3: Assign rx ret producer indexes by vector When RSS is enabled, the status block format changes slightly. The "rx_jumbo_consumer", "reserved", and "rx_mini_consumer" members get mapped to the other three rx return ring producer indexes. This patch introduces a new per-interrupt member which identifies which location in the status block a particular vector should look for return ring updates. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 0c1d0e2b05e92ad847b3ebe1c75b7974086bc8fa Author: Matt Carlson Date: Tue Sep 1 13:16:33 2009 +0000 tg3: Adjust RSS ring allocation strategies When multivector RSS is enabled, the first interrupt vector is only used to report link interrupts and error conditions. This patch changes the code so that rx and tx ring resources are not allocated for this vector. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit baf8a94a572928710e9e60967d153a7bf3aebd9c Author: Matt Carlson Date: Tue Sep 1 13:13:00 2009 +0000 tg3: Add RSS support This patch adds code needed to enable RSS. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit b6080e126012047d42e53154189fdca286d0600e Author: Matt Carlson Date: Tue Sep 1 13:12:00 2009 +0000 tg3: Add coalesce parameters for msix vectors This patch adds code to tune the coalescing parameters for the other msix vectors. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit fed9781081aa9600765346c108ff22751e003715 Author: Matt Carlson Date: Tue Sep 1 13:10:19 2009 +0000 tg3: Enable NAPI instances for other int vectors This patch adds code to enable and disable the rest of the NAPI instances. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit fe5f5787f0866e9f883bdd90018a354f2f3defd1 Author: Matt Carlson Date: Tue Sep 1 13:09:39 2009 +0000 tg3: Add TSS support This patch exposes the additional transmit rings to the kernel and makes the necessary modifications to transmit, open, and close paths. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 89aeb3bceaa1a02651206a76a7b9dcb8f3884702 Author: Matt Carlson Date: Tue Sep 1 13:08:58 2009 +0000 tg3: Update intmbox and coal_now for msix This patch fixes up two spots that need attention now that msix support has been added. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit f77a6a8e6cee17b21a43bdf6b853cc2fc0e2c4df Author: Matt Carlson Date: Tue Sep 1 13:04:37 2009 +0000 tg3: Add tx and rx ring resource tracking This patch adds code to assign status block, tx producer ring and rx return ring resources needed for the other interrupt vectors. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 646c9eddcffd202bb0f3d906cecf94eaf10cad31 Author: Matt Carlson Date: Tue Sep 1 12:58:41 2009 +0000 tg3: Add mailbox assignments The 5717 assigns mailbox locations to interrupt vectors in a rather non-intuitive way. (Much of the complexity stems from legacy compatibility issues.) This patch implements the assignment scheme. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 679563f47cd2547a0e091b5bd3ddf30027af6b08 Author: Matt Carlson Date: Tue Sep 1 12:55:46 2009 +0000 tg3: Add MSI-X support This patch adds MSI-X support. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 4f125f42dd55390016e21f8b3960f99d02d1001f Author: Matt Carlson Date: Tue Sep 1 12:55:02 2009 +0000 tg3: Add support code around kernel interrupt API This patch adds code to support multiple interrupt vectors around the kernel's interrupt API. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 2d31ecaf10c4ae03d49aed516481b2839b0220f6 Author: Matt Carlson Date: Tue Sep 1 12:53:31 2009 +0000 tg3: Create tg3_rings_reset() This patch moves most of the chip ring setup logic into a separate function. This will make it easier to verify the multi ring setup changes. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit fd2ce37f8e4a570ce90b141a2e7c476c5b399836 Author: Matt Carlson Date: Tue Sep 1 12:51:13 2009 +0000 tg3: Add per-int coalesce now member Each interrupt vector has its own bit in the host coalescing register to force that vector's status block to be updated and generate an interrupt. This patch adds a member to the per-interrupt structure that records which bit belongs to that vector. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit f19af9c2cc015e42dfe4bd5c383e32066ec2801c Author: Matt Carlson Date: Tue Sep 1 12:47:49 2009 +0000 tg3: inline tg3_cond_int() This patch inlines the code of tg3_cond_int() into the function's only callsite. This prep work makes the following patch cleaner. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 6cdee2f96a97f6da26bd3759c3f8823332fbb438 Merge: 0625491 2fbd3da Author: David S. Miller Date: Wed Sep 2 00:32:56 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/yellowfin.c commit 768d0c27226e6587cad2fcf543f9711da3f3774e Author: Peter Zijlstra Date: Thu Jul 23 20:13:26 2009 +0200 sched: Add wait, sleep and iowait accounting tracepoints Add 3 schedstat tracepoints to help account for wait-time, sleep-time and iowait-time. They can also be used as a perf-counter source to profile tasks on these clocks. Signed-off-by: Peter Zijlstra Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Arjan van de Ven LKML-Reference: [ build fix for the !CONFIG_SCHEDSTATS case ] Signed-off-by: Ingo Molnar commit 8f0dfc34e9b323a028c2ec41abb7e9de477b7a94 Author: Arjan van de Ven Date: Mon Jul 20 11:26:58 2009 -0700 sched: Provide iowait counters For counting how long an application has been waiting for (disk) IO, there currently is only the HZ sample driven information available, while for all other counters in this class, a high resolution version is available via CONFIG_SCHEDSTATS. In order to make an improved bootchart tool possible, we also need a higher resolution version of the iowait time. This patch below adds this scheduler statistic to the kernel. Signed-off-by: Arjan van de Ven Signed-off-by: Peter Zijlstra LKML-Reference: <4A64B813.1080506@linux.intel.com> Signed-off-by: Ingo Molnar commit f14eff1cc2f418a7c5e23aedc6a1bdca3343b871 Merge: 84e9dab 326ba50 Author: Ingo Molnar Date: Wed Sep 2 08:20:32 2009 +0200 Merge commit 'v2.6.31-rc8' into sched/core Merge reason: bump from rc5 to rc8, but also pick up TP_perf_assign() API, a patch will be queued that depends on it. Signed-off-by: Ingo Molnar commit 842ae63800bc2be62085d7ce5b3a2298c014d37a Author: Takashi Iwai Date: Wed Sep 2 07:43:08 2009 +0200 ALSA: hda - Add support of Alienware M17x laptop Added the quirk for Alienware M17x with IDT 92HD73* codec chip. It has two HP and one line-out jack, one mic jack, a built-in speaker and a built-in mic. Signed-off-by: Takashi Iwai commit ae4b688db2432baad379f73fdcac13ec24f603d5 Author: Huang Ying Date: Mon Aug 31 13:11:54 2009 +0800 x86: Move kernel_fpu_using to irq_fpu_usable in asm/i387.h This function measures whether the FPU/SSE state can be touched in interrupt context. If the interrupted code is in user space or has no valid FPU/SSE context (CR0.TS == 1), FPU/SSE state can be used in IRQ or soft_irq context too. This is used by AES-NI accelerated AES implementation and PCLMULQDQ accelerated GHASH implementation. v3: - Renamed to irq_fpu_usable to reflect the purpose of the function. v2: - Renamed to irq_is_fpu_using to reflect the real situation. Signed-off-by: Huang Ying CC: H. Peter Anvin Signed-off-by: H. Peter Anvin commit 0625491493d9000e4556bf566d205c28c8e7dc4e Author: Eric Dumazet Date: Tue Sep 1 18:37:16 2009 -0700 ipv6: ip6_push_pending_frames() should increment IPSTATS_MIB_OUTDISCARDS qdisc drops should be notified to IP_RECVERR enabled sockets, as done in IPV4. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f2798eb4e01b095f273f4bf40f511c9d69c0e1da Author: Xiao Guangrong Date: Sun Aug 30 20:10:43 2009 +0000 drop_monitor: fix trace_napi_poll_hit() The net_dev of backlog napi is NULL, like below: __get_cpu_var(softnet_data).backlog.dev == NULL So, we should check it in napi tracepoint's probe function Acked-by: Neil Horman Signed-off-by: Xiao Guangrong Signed-off-by: David S. Miller commit e7a088f935180b90cfe6ab0aaae8a556f46885fe Author: Alexey Dobriyan Date: Tue Sep 1 17:54:07 2009 -0700 sparc: convert /proc/io_map, /proc/dvma_map to seq_file Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 3732e9bd2d841db588624b1bf560bfc9d0dcb1fd Author: David S. Miller Date: Tue Sep 1 17:50:50 2009 -0700 xilinx_emaclite: Fix permissions on driver sources. Noticed by Michal Simek. Signed-off-by: David S. Miller commit 89d69d2b75a8f7e258f4b634cd985374cfd3202e Author: Stephen Hemminger Date: Tue Sep 1 11:13:19 2009 +0000 net: make neigh_ops constant These tables are never modified at runtime. Move to read-only section. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dcbfef820bdd1cdb412ccf234840e23edf67014f Author: roel kluin Date: Sun Aug 30 22:40:15 2009 +0000 au1000_eth: possible NULL dereference of aup->mii_bus->irq in au1000_probe() aup->mii_bus->irq allocation may fail, prevent a dereference of NULL. Signed-off-by: Roel Kluin Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 5d7892298a819743b3892df08bb496992fe85951 Author: Damian Lukowski Date: Tue Sep 1 10:24:04 2009 +0000 RTO connection timeout: sysctl documentation update This patch updates the sysctl documentation concerning the interpretation of tcp_retries{1,2} and tcp_orphan_retries. Signed-off-by: Damian Lukowski Signed-off-by: David S. Miller commit 5152fc7de3ae31b46692022ea63ce0501280f5b1 Author: Damian Lukowski Date: Tue Sep 1 10:24:00 2009 +0000 RTO connection timeout: coding style fixes and comments This patch affects the retransmits_timed_out() function. Changes: 1) Variables have more meaningful names 2) retransmits_timed_out() has an introductionary comment. 3) Small coding style changes. Signed-off-by: Damian Lukowski Signed-off-by: David S. Miller commit 72c60683282a6cd047db47d605eb96e2a6fac72c Author: Mike McCormack Date: Tue Sep 1 03:54:27 2009 +0000 sky2: Use 32bit read to read Y2_VAUX_AVAIL B0_CTST is a 24bit register according to the vendor driver (sk98lin). A 16bit read on B0_CTST will always return 0 for Y2_VAUX_AVAIL (1<<16), so use a 32bit read when testing Y2_VAUX_AVAIL Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 90bbebb4a8258a398705ecaa2e6b9e177928ee7a Author: Mike McCormack Date: Tue Sep 1 03:21:35 2009 +0000 sky2: Create buffer alloc and free helpers Refactor similar two sections of code that free buffers into one. Only call tx_init if all buffer allocations succeed. Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 10547ae2c01acdace636e23c991b21fef05428b4 Author: Stephen Hemminger Date: Mon Aug 31 07:31:41 2009 +0000 sky2: fix management of driver LED Observed by Mike McCormack. The LED bit here is just a software controlled value used to turn on one of the LED's on some boards. The register value was wrong, which could have been causing some power control issues. Get rid of problematic define use the correct mask. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 89f56d1e91cfa535ccc6cc60e9e12e02682fd972 Author: Michael S. Tsirkin Date: Sun Aug 30 07:04:42 2009 +0000 tun: reuse struct sock fields As tun always has an embeedded struct sock, use sk and sk_receive_queue fields instead of duplicating them in tun_struct. Signed-off-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 86393e52c3f1e2f6be18383f6ecdbcdc5727d545 Author: Alexey Dobriyan Date: Sat Aug 29 01:34:49 2009 +0000 netns: embed ip6_dst_ops directly struct net::ipv6.ip6_dst_ops is separatedly dynamically allocated, but there is no fundamental reason for it. Embed it directly into struct netns_ipv6. For that: * move struct dst_ops into separate header to fix circular dependencies I honestly tried not to, it's pretty impossible to do other way * drop dynamical allocation, allocate together with netns For a change, remove struct dst_ops::dst_net, it's deducible by using container_of() given dst_ops pointer. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 885a136c52a8871175477baf3903e1c38751b35a Author: Eric Dumazet Date: Tue Sep 1 06:31:18 2009 +0000 bonding: use compare_ether_addr_64bits() in ALB We can speedup ether addresses compares using compare_ether_addr_64bits() instead of memcmp(). We make sure all operands are at least 8 bytes long and 16bits aligned (or better, long word aligned if possible) Signed-off-by: Eric Dumazet Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller commit ac06713d55d450cbc9ef871b1b238409238f0fe0 Author: Eric Dumazet Date: Tue Sep 1 05:46:05 2009 +0000 macvlan: Use compare_ether_addr_64bits() To speedup ether addresses compares, we can use compare_ether_addr_64bits() (all operands are guaranteed to be at least 8 bytes long) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c3c7432741211bc9f6b072958653647b9d5cdd5d Author: Mallikarjuna R Chilakala Date: Tue Sep 1 13:50:14 2009 +0000 ixgbe: Patch to fix 82599 multispeed fiber link issues when driver is loaded without any cable and reconnecting it to 1G partner In 82599 multi speed fiber case when driver is loaded without any cable and reconnecting the cable with a 1G partner does not bring up the link in 1Gb mode. When there is no link we first setup the link at 10G & 1G and then try to re-establish the link at highest speed 10G and thereby changing autoneg_advertised value to highest speed 10G. After connecting back the cable to a 1G link partner we never try 1G as autoneg advertised value is changed to link at 10G only. The following patch fixes the issue by properly initializing the autoneg_advertised value just before exiting from link setup routine. Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b7fdb714856541cd4b659a7b86ec04415e2809f7 Author: Peter P Waskiewicz Jr Date: Tue Sep 1 13:49:56 2009 +0000 ixgbe: Properly disable DCB arbiters prior to applying changes When disabling the Rx and Tx data arbiters prior to configuration changes, the arbiters were not being shut down properly. This can create a race in the DCB hardware blocks, and potentially hang the arbiters. Also, the Tx descriptor arbiter shouldn't be disabled when applying configuration changes; disabling this arbiter can cause a Tx hang. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8620a103b5e38d952280f3d97b5e1bcce8d7874c Author: Mallikarjuna R Chilakala Date: Tue Sep 1 13:49:35 2009 +0000 ixgbe: refactor link setup code Link code cleanup: a number of redundant functions and MAC variables are cleaned up, with some functions being consolidated into a single-purpose code path. Removed following deprecated link functions and mac variables * ixgbe_setup_copper_link_speed_82598 * ixgbe_setup_mac_link_speed_multispeed_fiber * ixgbe_setup_mac_link_speed_82599 * mac.autoneg, mac.autoneg_succeeded, phy.autoneg_wait_to_complete Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fd38d7a0a0618656e491ed67af735bc4e3600367 Author: Graham, David Date: Mon Aug 31 14:12:51 2009 +0000 e1000: Fix for e1000 kills IPMI on a tagged vlan. Enabling VLAN filters (VFE) when the primary interface is brought up (per commit 78ed11a) has caused problems for some users who manage their systems using IPMI over a VLAN. This is because when the driver enables the VLAN filter, this same filter table is enabled for the management channel, and the table is initially empty, which means that the IPMI/VLAN packets are filtered out and not received by the BMC. This is a problem only on e1000 class adapters, as it is only on e1000 that the filter table is common to the management and host streams. With this change, filtering is only enabled when one or more host VLANs exist, and is disabled when the last host VLAN is removed. VLAN filtering is always disabled when the primary interface is in promiscuous mode, and will be (re)enabled if VLANs exist when the interface exits promiscuous mode. Note that this does not completely resolve the issue for those using VLAN management, because if the host adds a VLAN, then the above problem occurs when that VLAN is enabled. However, it does mean the there is no problem for configurations where management is on a VLAN and the host is not. A complete solution to this issue would require further driver changes. The driver would need to discover if (and which) management VLANs are active before enabling VLAN filtering, so that it could ensure that the managed VLANs are included in the VLAN filter table. This discovery requires that the BMC identifies its VLAN in registers accessible to the driver, and at least on Dell PE2850 systems the BMC does not identify its VLAN to allow such discovery. Intel is pursuing this issue with the BMC vendor. Signed-off-by: Dave Graham Signed-off-by: Jeff Kirsher Tested-by: Krzysztof Piotr Oledzki Signed-off-by: David S. Miller commit 4f1a0ee11d6f9c104c8e6a13dae995709a6922a8 Author: Robert Hancock Date: Thu Jul 30 14:11:29 2009 -0600 sata_sil24: always set protocol override for non-ATAPI data commands The sil24 hardware has a built-in list of commands and associated protocols that gets used by default to decide how to handle a given command. However, if the command is not known to the controller then it presumably assumes it to be a non-data command which then causes protocol mismatch errors if the device ends up requesting data transfer. The new DATA SET MANAGEMENT - Trim command causes this issue since it's a DMA data-out command. Since we should always know best what protocol the command should be using, let's just set the override flag to inform the controller what protocol to use for all non-ATAPI commands with data transfer. Signed-off-by: Robert Hancock Tested-by: Mark Lord Signed-off-by: Jeff Garzik commit 77cdec1ad527560b59ab8dbb063dbb3d0a138bf7 Author: Matthew Garrett Date: Fri Jul 17 19:13:47 2009 +0100 libata: Export AHCI capabilities AHCI exports various capability bits that may be of interest to userspace such as whether the BIOS claims a port is hotpluggable or eSATA. Providing these via sysfs along with the version of the AHCI spec implemented by the host allows userspace to make policy decisions for things like ALPM. Signed-off-by: Matthew Garrett Signed-off-by: Jeff Garzik commit f17259a31237cf0fd5c6c8cf2a4f9e6df405744b Author: Martin K. Petersen Date: Wed Jun 24 21:01:45 2009 -0400 libata: Delegate nonrot flag setting to SCSI Now that the SCSI disk driver correctly handles non-rotational devices we can move setting the queue flag to SCSI. Signed-off-by: Martin K. Petersen Signed-off-by: Jeff Garzik commit 6b406782ad0408f9cb480c2e1b543d194e8206d0 Author: Alan Cox Date: Wed Jun 24 18:29:44 2009 +0100 [libata] Add pata_rdc driver for RDC ATA devices From: Alan Cox Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 87c8b22be201cc4c139f98ef5e0471dd15c01239 Author: Joe Perches Date: Sun Jun 28 09:26:17 2009 -0700 drivers/ata: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit 051d9fbdd1d1ec85ea18ba20581234cf23f1c217 Author: Tejun Heo Date: Fri Jul 3 11:46:12 2009 +0900 libata: remove spindown skipping and warning This was a hack to give userland shutdown tools time to drop manual spindown. All popular distros updated quite some time ago and the due is well passed. Drop it. Signed-off-by: Tejun Heo Cc: Jaswinder Singh Rajput Signed-off-by: Jeff Garzik commit 6521148c6449724c3b707820b9c535c7e8b8afcd Author: Robert Hancock Date: Tue Jul 14 20:43:39 2009 -0600 libata: add command name parsing for error output This patch improve libata's output for error/notification messages to allow easier comprehension and debugging: When ATAPI commands issued through the SCSI layer fail, use SCSI functions to print the CDB in human-readable form instead of just dumping out the CDB in hex. Print out the name of the failed command (as defined by the ATA specification) in error handling output along with the raw register contents. When reporting status of ACPI taskfile commands executed on resume, also output the names of the commands being executed (or not) in readable form. Since the extra data for printing command names increases kernel size slightly, a config option has been added to allow disabling command name output (as well as some of the error register parsing) for those highly sensitive to kernel text size. Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 1e641060c4b564e820abdb6a4c7a603a0d386250 Author: Tejun Heo Date: Fri Jul 17 11:58:33 2009 +0900 libata: clear eh_info on reset completion Resets are done with port frozen but some controllers still issue interrupts during reset and they may end up recording error conditions in ehi leading to unnecessary EH retrials. This patch makes ata_eh_reset() clear ehi on reset completion. As reset is the most severe recovery action, there's nothing to lose by clearing ehi on its completion. Signed-off-by: Tejun Heo Reported-by: Zdenek Kaspar Signed-off-by: Jeff Garzik commit 388539f3ff0cf1de926b03f94e1eec112358f74d Author: Shaohua Li Date: Mon Jul 27 09:24:35 2009 +0800 [libata] add DMA setup FIS auto-activate feature Hopefully results in fewer on-the-wire FIS's and no breakage. We'll see! Signed-off-by: Shaohua Li Signed-off-by: Jeff Garzik commit 2fc37adba0fb05760b8635c6706773af828ccf3c Author: Jeff Garzik Date: Tue Apr 7 19:18:32 2009 -0400 [libata] sata_sil: disable DMA engine in sil_freeze() We must disable the DMA engine before accessing taskfile registers. Signed-off-by: Jeff Garzik commit 54c38444fad6a99b4b19512f8f0055d69115e69e Author: Jeff Garzik Date: Tue Apr 7 19:13:15 2009 -0400 [libata] EH: freeze port before aborting commands Call the ->freeze() hook before aborting qc's, because some hardware requires special handling prior to accessing the taskfile registers (for diagnosis/analysis/reset). Most notably, hardware may wish to disable the DMA engine or interrupts in the ->freeze() hook. Signed-off-by: Jeff Garzik commit 4a9678909b366b1f95e1f93220c61340ab866151 Author: Takashi Iwai Date: Wed Sep 2 01:04:24 2009 +0200 ALSA: hda - Remove dead codes from patch_sigmatel.c Due to the previous fix of input source for IDT92HD73xx, the amp mux and amp vol stuff became unused. Let's rip off dead codes. Signed-off-by: Takashi Iwai commit e2aec17100331669ecae8550a83f551f5e8fc4b8 Author: Takashi Iwai Date: Wed Sep 2 01:00:05 2009 +0200 ALSA: hda - Fix input source selection of IDT92HD73xx Fix the mux_nids to select directly the input source instead of mux mixers so that it works with the current mux enum handler for IDT 92HD73xx codecs. Also, clean up useless / unnecessary mixer controls and init verbs. Signed-off-by: Takashi Iwai commit 6ab409b53dcaf28f83d518a6702f904b7cee3f41 Author: Dave Kleikamp Date: Mon Aug 31 11:07:12 2009 -0400 cifs: Replace wrtPending with a real reference count Currently, cifs_close() tries to wait until all I/O is complete and then frees the file private data. If I/O does not completely in a reasonable amount of time it frees the structure anyway, leaving a potential use- after-free situation. This patch changes the wrtPending counter to a complete reference count and lets the last user free the structure. Signed-off-by: Dave Kleikamp Reviewed-by: Jeff Layton Tested-by: Shirish Pargaonkar Signed-off-by: Steve French commit 1b49c5566136455764a8d17ead25784f534c202d Author: Jeff Layton Date: Fri Aug 28 10:11:11 2009 -0400 cifs: protect GlobalOplock_Q with its own spinlock Right now, the GlobalOplock_Q is protected by the GlobalMid_Lock. That lock is also used for completely unrelated purposes (mostly for managing the global mid queue). Give the list its own dedicated spinlock (cifs_oplock_lock) and rename the list to cifs_oplock_list to eliminate the camel-case. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 8e047d09ee1143058b71f40c5f4d028dde52d883 Author: Jeff Layton Date: Fri Aug 28 10:11:10 2009 -0400 cifs: use tcon pointer in cifs_show_options Minor nit: we already have a tcon pointer so we don't need to dereference cifs_sb again. Also initialize the vars in the declaration. Reported-by: Peter Staubach Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 8c58b54574d18b3782b2a261b9dae3c4e90b6b04 Author: Jeff Layton Date: Mon Aug 17 16:26:49 2009 -0400 cifs: send IPv6 addr in upcall with colon delimiters Make it easier on the upcall program by adding ':' delimiters between each group of hex digits. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit d94ff6b7cab20cc014e22b2fd5f0ff35d3e2308f Author: Takashi Iwai Date: Wed Sep 2 00:20:21 2009 +0200 ALSA: hda - Fix obsolete CONFIG_SND_DEBUG_DETECT Fix the old dead CONFIG_SND_DEBUG_DETECT to CONFIG_SND_DEBUG_VERBOSE. Signed-off-by: Takashi Iwai commit f6909f394c2d4a0a71320797df72d54c49c5927e Author: H. Peter Anvin Date: Tue Sep 1 13:31:52 2009 -0700 x86, msr: fix msr-reg.S compilation with gas 2.16.1 msr-reg.S used the :req option on a macro argument, which wasn't supported by gas 2.16.1 (but apparently by some earlier versions of gas, just to be confusing.) It isn't necessary, so just remove it. Signed-off-by: H. Peter Anvin Cc: Borislav Petkov commit ca43e3beee38623a3f80691b28623d6ecf214742 Author: Steve French Date: Tue Sep 1 17:20:50 2009 +0000 [CIFS] Fix checkpatch warnings Also update version number to 1.61 Signed-off-by: Steve French commit bdb97adcdf0993adbd2eef44b4533620d43792de Author: Suresh Jayaraman Date: Thu Aug 20 13:03:34 2009 +0530 PATCH] cifs: fix broken mounts when a SSH tunnel is used (try #4) One more try.. It seems there is a regression that got introduced while Jeff fixed all the mount/umount races. While attempting to find whether a tcp session is already existing, we were not checking whether the "port" used are the same. When a second mount is attempted with a different "port=" option, it is being ignored. Because of this the cifs mounts that uses a SSH tunnel appears to be broken. Steps to reproduce: 1. create 2 shares # SSH Tunnel a SMB session 2. ssh -f -L 6111:127.0.0.1:445 root@localhost "sleep 86400" 3. ssh -f -L 6222:127.0.0.1:445 root@localhost "sleep 86400" 4. tcpdump -i lo 6111 & 5. mkdir -p /mnt/mnt1 6. mkdir -p /mnt/mnt2 7. mount.cifs //localhost/a /mnt/mnt1 -o username=guest,ip=127.0.0.1,port=6111 #(shows tcpdump activity on port 6111) 8. mount.cifs //localhost/b /mnt/mnt2 -o username=guest,ip=127.0.0.1,port=6222 #(shows tcpdump activity only on port 6111 and not on 6222 Fix by adding a check to compare the port _only_ if the user tries to override the tcp port with "port=" option, before deciding that an existing tcp session is found. Also, clean up a bit by replacing if-else if by a switch statment while at it as suggested by Jeff. Reviewed-by: Jeff Layton Reviewed-by: Shirish Pargaonkar Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit 1b3859bc9e20d764316346665fc93ecea2d2b176 Author: Alexander Strakh Date: Tue Sep 1 17:02:24 2009 +0000 [CIFS] Memory leak in ntlmv2 hash calculation in function calc_ntlmv2_hash memory is not released. 1. If in the line 333 we successfully allocate memory and assign it to pctxt variable: pctxt = kmalloc(sizeof(struct HMACMD5Context), GFP_KERNEL); then we go to line 376 and exit wihout releasing memory pointed to by pctxt variable. Add a memory releasing for pctxt variable before exit from function calc_ntlmv2_hash. Signed-off-by: Alexander Strakh Signed-off-by: Steve French commit 04e715cd46ba523806070fbf9ded009f10e107cd Author: Samuel Ortiz Date: Tue Sep 1 15:14:06 2009 +0200 iwmc3200wifi: Add a last_fw_err debugfs entry In order to check what was the last fw error we got accross resets, we add this debugfs entry. It displays the complete ASSERT information. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit d210176eaaed0c7883caba52665bcfb5d420c660 Author: Samuel Ortiz Date: Tue Sep 1 15:14:05 2009 +0200 iwmc3200wifi: Handle UMAC stalls and UMAC assert properly When UMAC stalls or asserts, we want to reset the device. But when we're associated, the current reset worker will end up calling cfg80211_connect_result() with the cfg80211 sme layer knowing that we're reassociating. That ends up with some ugly warnings. With this patch we're telling the upper layer that we've roamed if reassociation succeeds, and that we're disconnected if it fails. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit d04bd6283cf7433d56f3d8f648f1d6963fda4fdc Author: Samuel Ortiz Date: Tue Sep 1 15:14:04 2009 +0200 iwmc3200wifi: New initial LMAC calibration The LMAC calibration API got broken mostly by having a configuration bitmap being different than the result one. This patch tries to address that issue by correctly running calibrations with the newest firmwares, and keeping a backward compatibility fallback path for older firmwares, where the configuration and result bitmaps were identical. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 31452420ca956f2cf37f705c869e265c33894f07 Author: Zhu Yi Date: Tue Sep 1 15:14:03 2009 +0200 iwmc3200wifi: fix misuse of le16_to_cpu Also mark some functions static. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit c7436273889e0ce511b317041f35344e92344885 Author: Zhu Yi Date: Tue Sep 1 15:14:02 2009 +0200 iwmc3200wifi: add disconnect work When the driver receives "connection terminated" event from device, it could be caused by 2 reasons: the firmware is roaming or the connection is lost (AP disappears). For the former, an association complete event is supposed to come within 3 seconds. For the latter, the driver won't receive any event except the connection terminated. So we kick a delayed work (5*HZ) when we receive the connection terminated event. It will be canceled if it turns out to be a roaming event later. Otherwise we notify SME and userspace the disconnection. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit de15fd31fcabb4b81a556736dd67ec4f71462f07 Author: Zhu Yi Date: Tue Sep 1 15:14:01 2009 +0200 iwmc3200wifi: use cfg80211_roamed to send roam event The device sends connection terminated and [re]association success (or failure) events when roaming occours. The patch uses cfg80211_roamed instead of cfg80211_connect_result to notify SME for roaming. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit d041811d931d4f515fd58e222757cbc7d6375db4 Author: Samuel Ortiz Date: Tue Sep 1 15:14:00 2009 +0200 iwmc3200wifi: Fix sparse warning iwm_cfg80211_get_station() should be static. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit b90a5c9561d3f75f906a84613cc0071121143fb6 Author: Samuel Ortiz Date: Tue Sep 1 15:13:59 2009 +0200 iwmc3200wifi: Set WEP key from connect When connect is called with the LEGACY_PSK authentication type set, and a proper sme->key, we need to set the WEP key straight after setting the profile otherwise the authentication will never start. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit ae73abf2350de7cbfc5c46a936f4d2a532b36679 Author: Zhu Yi Date: Tue Sep 1 15:13:58 2009 +0200 iwmc3200wifi: invalidate profile when necessary before connect If cfg80211 requests to connect when we have already had an active profile, invalidate the current profile first before sending a new profile to UMAC. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 2b7dcfb7d01c9fc9efc6e39618cbf495a6051f9a Author: Jussi Kivilinna Date: Tue Sep 1 15:33:11 2009 +0300 rndis_wlan: remove 'select WIRELESS_EXT' in Kconfig Since rndis_wlan is now converted to cfg80211, WIRELESS_EXT isn't required anymore. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 53d27eaf55fb5a6e820d8e3759588473826d659e Author: Jussi Kivilinna Date: Tue Sep 1 15:33:06 2009 +0300 rndis_wlan: fix sparse endianess warnings Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit c5c4fe90e399e4c1265414249c33429c19a16ea8 Author: Jussi Kivilinna Date: Tue Sep 1 15:33:00 2009 +0300 rndis_wlan: cleanup - remove double newlines between functions - remove commented out function (rndis_set_config_parameter_u32()) - coding style fix in rndis_set_config_parameter_str() - add comment banners between function sections Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 051ae0bf7ff67c0a64485ac3b46a29aeb55a28dc Author: Jussi Kivilinna Date: Tue Sep 1 15:32:55 2009 +0300 rndis_wlan: use bool for on/off switches Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 8f43161aa6bd7bfed0905d3de6cc660fd6b9c2bc Author: Vasanthakumar Thiagarajan Date: Tue Sep 1 17:46:33 2009 +0530 ath9k: Call spin_lock_bh() on btcoex_lock As generic hw timer interrupt handler is moved to tasklet, we no more need to call spin_lock_irqsave(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ebb8e1d78c2f8b1737627ec260d7e39c4bd47385 Author: Vasanthakumar Thiagarajan Date: Tue Sep 1 17:46:32 2009 +0530 ath9k: Move generic hw timer intr handler to bottom-half There is no point handling this in hard irq, move it to tasklet. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 8bc11b491b6cad75e737f1d38bb4b261bd95b291 Author: Johannes Berg Date: Wed Aug 26 18:13:17 2009 +0200 rfkill: relicense header file This header file is copied into userspace tools that need not be GPLv2 licensed, make that easier. Signed-off-by: Johannes Berg Acked-by: Alan Jenkins Acked-by: Henrique de Moraes Holschuh Acked-by: Iñaky Pérez-González Acked-by: Ivo van Doorn Acked-by: Jaswinder Singh Rajput Acked-by: Michael Buesch Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 8a56df0ae1690f8f42a3c6c4532f4b06f93febea Author: Patrick McHardy Date: Tue Sep 1 14:34:01 2009 +0200 netfilter: ebt_ulog: fix checkentry return value Commit 19eda87 (netfilter: change return types of check functions for Ebtables extensions) broke the ebtables ulog module by missing a return value conversion. Signed-off-by: Patrick McHardy commit 5c0d38c9478e79ab7deb1b470dd181d2308a608e Author: jassi brar Date: Tue Sep 1 11:35:08 2009 +0900 ASoC: Debugged improper setting of PLL fields in WM8580 driver Bug was caught while trying to use WM8580 as I2S master on SMDK. Symptoms were lesser LRCLK read by CRO(41.02 instead of 44.1 KHz) Solved by referring to WM8580A manual and setting mask value correctly and making the code to not touch 'reserved' bits of PLL4 register. Signed-off-by: Jassi Signed-off-by: Mark Brown commit dce944dbb2d0046628bcdba882e8edc2c1d93200 Author: Barry Song <21cnbao@gmail.com> Date: Tue Sep 1 12:45:14 2009 +0800 ASoC: new board driver to connect bfin-5xx with ad1836 codec As discussed, the patch uses the original TDM order without rewriting. For the match between TDM slot number and audio channel number, a new API need be added. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit c931aaf0e1b11862077f6884b2cec22833080e23 Merge: ff55df5 ac5672f Author: Ingo Molnar Date: Tue Sep 1 12:13:30 2009 +0200 Merge branch 'x86/paravirt' into x86/cpu Conflicts: arch/x86/include/asm/paravirt.h Manual merge: arch/x86/include/asm/paravirt_types.h Merge reason: x86/paravirt conflicts non-trivially with x86/cpu, resolve it. Signed-off-by: Ingo Molnar commit acde31dc467797ccae3a55b791a77af446cce018 Author: Catalin Marinas Date: Thu Aug 27 14:29:20 2009 +0100 kmemleak: Ignore the aperture memory hole on x86_64 This block is allocated with alloc_bootmem() and scanned by kmemleak but the kernel direct mapping may no longer exist. This patch tells kmemleak to ignore this memory hole. The dma32_bootmem_ptr in dma32_reserve_bootmem() is also ignored. Signed-off-by: Catalin Marinas Acked-by: Ingo Molnar commit 6fa12c85031485dff38ce550c24f10da23b0adaa Author: Damian Lukowski Date: Wed Aug 26 00:16:34 2009 +0000 Revert Backoff [v3]: Calculate TCP's connection close threshold as a time value. RFC 1122 specifies two threshold values R1 and R2 for connection timeouts, which may represent a number of allowed retransmissions or a timeout value. Currently linux uses sysctl_tcp_retries{1,2} to specify the thresholds in number of allowed retransmissions. For any desired threshold R2 (by means of time) one can specify tcp_retries2 (by means of number of retransmissions) such that TCP will not time out earlier than R2. This is the case, because the RTO schedule follows a fixed pattern, namely exponential backoff. However, the RTO behaviour is not predictable any more if RTO backoffs can be reverted, as it is the case in the draft "Make TCP more Robust to Long Connectivity Disruptions" (http://tools.ietf.org/html/draft-zimmermann-tcp-lcd). In the worst case TCP would time out a connection after 3.2 seconds, if the initial RTO equaled MIN_RTO and each backoff has been reverted. This patch introduces a function retransmits_timed_out(N), which calculates the timeout of a TCP connection, assuming an initial RTO of MIN_RTO and N unsuccessful, exponentially backed-off retransmissions. Whenever timeout decisions are made by comparing the retransmission counter to some value N, this function can be used, instead. The meaning of tcp_retries2 will be changed, as many more RTO retransmissions can occur than the value indicates. However, it yields a timeout which is similar to the one of an unpatched, exponentially backing off TCP in the same scenario. As no application could rely on an RTO greater than MIN_RTO, there should be no risk of a regression. Signed-off-by: Damian Lukowski Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f1ecd5d9e7366609d640ff4040304ea197fbc618 Author: Damian Lukowski Date: Wed Aug 26 00:16:31 2009 +0000 Revert Backoff [v3]: Revert RTO on ICMP destination unreachable Here, an ICMP host/network unreachable message, whose payload fits to TCP's SND.UNA, is taken as an indication that the RTO retransmission has not been lost due to congestion, but because of a route failure somewhere along the path. With true congestion, a router won't trigger such a message and the patched TCP will operate as standard TCP. This patch reverts one RTO backoff, if an ICMP host/network unreachable message, whose payload fits to TCP's SND.UNA, arrives. Based on the new RTO, the retransmission timer is reset to reflect the remaining time, or - if the revert clocked out the timer - a retransmission is sent out immediately. Backoffs are only reverted, if TCP is in RTO loss recovery, i.e. if there have been retransmissions and reversible backoffs, already. Changes from v2: 1) Renaming of skb in tcp_v4_err() moved to another patch. 2) Reintroduced tcp_bound_rto() and __tcp_set_rto(). 3) Fixed code comments. Signed-off-by: Damian Lukowski Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4d1a2d9ec1c17df077ed09a0d135bccf5637a3b7 Author: Damian Lukowski Date: Wed Aug 26 00:16:27 2009 +0000 Revert Backoff [v3]: Rename skb to icmp_skb in tcp_v4_err() This supplementary patch renames skb to icmp_skb in tcp_v4_err() in order to disambiguate from another sk_buff variable, which will be introduced in a separate patch. Signed-off-by: Damian Lukowski Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 6ee1652051f14d1c110f48a5b3ee037d63d0c2fa Author: Yi Zou Date: Mon Aug 31 12:34:28 2009 +0000 ixgbe: Add support for dcbnl_rtnl_ops.setapp/getapp Add support for dcbnl_rtnl_ops.setapp/getapp to set or get the current user priority bitmap for the given application protocol. Currently, 82599 only supports setapp/getapp for Fiber Channel over Ethernet (FCoE) protocol. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 579496865cf4ea429146382d62047ffdbaab0dee Author: Yi Zou Date: Mon Aug 31 12:33:40 2009 +0000 dcbnl: Add implementations of dcbnl setapp/getapp commands Implements the dcbnl netlink setapp/getapp pair. When a setapp/getapp is received, dcbnl would just pass on to dcbnl_rtnl_op.setapp/getapp that are supposed to be implemented by the low level drivers. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6fa382af61338908e5713234bcee598423f661c3 Author: Yi Zou Date: Mon Aug 31 12:33:20 2009 +0000 dcbnl: Add netlink attributes for setapp/getapp to dcbnl Add defines for dcbnl netlink attributes to support netlink message passing of setapp/getapp in dcbnl. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7114323b1761bdf787ed79323a4a13f787878295 Author: Yi Zou Date: Mon Aug 31 12:32:55 2009 +0000 dcbnl: Add support for setapp/getapp to netdev dcbnl_rtnl_ops Adds support of dcbnl setapp/getapp to dcbnl_rtnl_ops in netdev to allow LLDs to implement their corresponding dcbnl setapp/getapp ops to support the IEEE 802.1Q DCBX setapp/getapp commands. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0f6f290259896afdca30e1ff4a28aff8edd79a14 Author: Yi Zou Date: Mon Aug 31 12:32:34 2009 +0000 dcbnl: Add support for setapp/getapp commands to dcbnl This patch adds dcbnl command definitions to support setapp/getapp functionality from the IEEE 802.1Qaz Data Center Bridging Capability Exchange protocol (DCBX) specification. Section 3.3 defines the application protocol and its 802.1p user priority in DCBX, which is implemented here as a pair of setapp/getapp commands in the kernel dcbnl for setting and retrieving the user priority for an given application protocol. The protocol is identified by the combination of an id and an idtype. Currently, when idtype is 0, the corresponding id gives the ether type of this protocol, e.g., for FCoE, it will be 0x8906; when idtype is 1, then the corresponding id gives the TCP or UDP port number. For more information regarding DCBX spec., please refer to the following: http://www.ieee802.org/1/files/public/docs2008/ az-wadekar-dcbx-capability-exchange-discovery-protocol-1108-v1.01.pdf Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8450ff8cd7fba6e78c07d7c14bf4dc582f8a6c3d Author: Yi Zou Date: Mon Aug 31 12:32:14 2009 +0000 ixgbe: Add support for the net_device_ops.ndo_fcoe_enable/disable to 82599 This adds support to the net_device_ops.ndo_fcoe_enable/disable for 82599. This consequently allows us to dynamically turn FCoE offload feature on or off upon incoming calls to ndo_fcoe_enable/disable. When this happens, FCoE offload features are enabled/disabled accordingly, and this is regardless of whether DCB being turned on or not. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0af46d997fcbfd25a9e166c2431bfebc03720a36 Author: Yi Zou Date: Mon Aug 31 12:31:55 2009 +0000 vlan: Add support for net_devices_ops.ndo_fcoe_enable/_disable to VLAN This adds implementation of the net_devices_ops.ndo_fcoe_enable/_disable to the VLAN driver. It checks if the real_dev has support for ndo_fcoe_enable/ ndo_fcoe_disable and if so, passes on to call the associated real_dev. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cb45439977d3602b91dd0aca2d94fa3b32aebba6 Author: Yi Zou Date: Mon Aug 31 12:31:36 2009 +0000 net: Add ndo_fcoe_enable/ndo_fcoe_disable to net_device_ops Add ndo_fcoe_enable/_disable to net_device_ops so the corresponding HW can initialize itself for FCoE traffic or clean up after FCoE traffic is done. This is expected to be called by the kernel FCoE stack upon receiving a request for creating an FCoE instance on the corresponding netdev interface. When implemented by the actual HW, the HW driver check the op code to perform corresponding initialization or clean up for FCoE. The initialization normally includes allocating extra queues for FCoE, setting corresponding HW registers for FCoE, indicating FCoE offload features via netdev, etc. The clean-up would include releasing the resources allocated for FCoE. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 61357325f377889a1daffa14962d705dc814dd0e Author: Stephen Hemminger Date: Mon Aug 31 19:50:58 2009 +0000 netdev: convert bulk of drivers to netdev_tx_t In a couple of cases collapse some extra code like: int retval = NETDEV_TX_OK; ... return retval; into return NETDEV_TX_OK; Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d0cf9c0dadcdc89a755bcb301cfc9c796eb28ccf Author: Stephen Hemminger Date: Mon Aug 31 19:50:57 2009 +0000 wireless: convert drivers to netdev_tx_t Mostly just simple conversions: * ray_cs had bogus return of NET_TX_LOCKED but driver was not using NETIF_F_LLTX * hostap and ipw2x00 had some code that returned value from a called function that also had to change to return netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0fc480987e69f22b9212f087545b4d1ca6950807 Author: Stephen Hemminger Date: Mon Aug 31 19:50:56 2009 +0000 appletalk: convert drivers to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3b29a56d31d585d39bf9ffe9ef1f10bd637ee0f1 Author: Stephen Hemminger Date: Mon Aug 31 19:50:55 2009 +0000 intel: convert drivers to netdev_tx_t Get rid of some bogus return wrapping as well. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 27a1de95a1461ec0589005c293d6ac23a46cb72d Author: Stephen Hemminger Date: Mon Aug 31 19:50:54 2009 +0000 3com: convert drivers to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ad096463f7ff809389454ea4219058a36564d55e Author: Stephen Hemminger Date: Mon Aug 31 19:50:53 2009 +0000 tulip: convert drivers to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3a27c149ab0e31a7b86e5ee6a27bb3b8b5687f32 Author: Stephen Hemminger Date: Mon Aug 31 19:50:52 2009 +0000 uwb: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 424efe9caf6047ffbcd6b383ff4d2347254aabf1 Author: Stephen Hemminger Date: Mon Aug 31 19:50:51 2009 +0000 netdev: convert pseudo drivers to netdev_tx_t These are all drivers that don't touch real hardware. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6518bbb803fe02b15a3211c8db2afdff0ac4f808 Author: Stephen Hemminger Date: Mon Aug 31 19:50:50 2009 +0000 irda: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dbf02fae406daf4d583a279743869c686024c341 Author: Stephen Hemminger Date: Mon Aug 31 19:50:49 2009 +0000 netdev: convert pcmcia drivers to netdev_tx_t Update all the pcmcia network drivers for netdev_tx_t. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4c5d502d8b2db8947c44dc44bdc67dbe55cce2b9 Author: Stephen Hemminger Date: Mon Aug 31 19:50:48 2009 +0000 hdlc: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d71a674922e7519edb477ecb585e7d29d69c7aa7 Author: Stephen Hemminger Date: Mon Aug 31 19:50:47 2009 +0000 wan: convert drivers to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 61a84108547c1c017683f15311ccbede249fc6fa Author: Stephen Hemminger Date: Mon Aug 31 19:50:46 2009 +0000 tokenring: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 25a79c41ce0ce88a4288adf278e9b0e00f228383 Author: Stephen Hemminger Date: Mon Aug 31 19:50:45 2009 +0000 usbnet: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8b62ff2dbc3d6c13997b9d440dfd0ed00e6df96d Author: Stephen Hemminger Date: Mon Aug 31 19:50:44 2009 +0000 isdn: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 36e4d64a82d9a91a73a2b9b32117aedfe2211fb3 Author: Stephen Hemminger Date: Mon Aug 31 19:50:43 2009 +0000 convert hamradio drivers to netdev_txreturnt_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3c805a22a3a178fc5aaadd518afa5358b78bf69e Author: Stephen Hemminger Date: Mon Aug 31 19:50:42 2009 +0000 convert ATM drivers to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6fef4c0c8eeff7de13007a5f56113475444a253d Author: Stephen Hemminger Date: Mon Aug 31 19:50:41 2009 +0000 netdev: convert pseudo-devices to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dc1f8bf68b311b1537cb65893430b6796118498a Author: Stephen Hemminger Date: Mon Aug 31 19:50:40 2009 +0000 netdev: change transmit to limited range type The transmit function should only return one of three possible values, some drivers got confused and returned errno's or other values. This changes the definition so that this can be caught at compile time. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 96910b6dc8a4fdb75e69f09f47b62d41743d36ba Author: Heiko Carstens Date: Mon Aug 31 14:43:34 2009 +0200 locking, m68k/asm-offsets: Rename signal defines In order to be able to use asm-offsets.h in C files the existing namespace conflicts must be solved first. In asm-offsets.h there are defines for signal constants, so they can be used in assembler files. Unfortunately the existing defines use a 1:1 mapping for the macro names which results in name space conflicts if the header file would also be used in C files. So rename the created defines and add an "L" prefix to each one since that has already been done for the SIGTRAP define in entry_mm. Signed-off-by: Heiko Carstens Cc: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124416.998821502@de.ibm.com> Signed-off-by: Ingo Molnar commit 2ad81ba0147919edc0cf56b80c6224775656b78d Author: Takashi Iwai Date: Tue Sep 1 09:09:26 2009 +0200 ALSA: hda - Unmute docking line-out as default with AD1984A codec Unmute the docking-station line-out as default on machines with AD1984A codec chip. It can be still muted via "Dock" mixer switch. Signed-off-by: Takashi Iwai commit f8ff035e38514ea60aae8752af45ed90e7598fcd Author: Takashi Iwai Date: Tue Sep 1 08:53:19 2009 +0200 ALSA: hda - Add another entry for Nvidia HDMI device Added another entry for Nvidia HDMI device (10de:0003). Reference: kernel bug#14097 http://bugzilla.kernel.org/show_bug.cgi?id=14097 Signed-off-by: Takashi Iwai commit ff55df53dfdd338906c8ba9d1f4a759b86b869d5 Author: H. Peter Anvin Date: Mon Aug 31 14:16:57 2009 -0700 x86, msr: Export the register-setting MSR functions via /dev/*/msr Make it possible to access the all-register-setting/getting MSR functions via the MSR driver. This is implemented as an ioctl() on the standard MSR device node. Signed-off-by: H. Peter Anvin Cc: Borislav Petkov commit 8b956bf1f0f2b552ed93cf6cafe823edff298b3b Author: H. Peter Anvin Date: Mon Aug 31 14:13:48 2009 -0700 x86, msr: Create _on_cpu helpers for {rw,wr}msr_safe_regs() Create _on_cpu helpers for {rw,wr}msr_safe_regs() analogously with the other MSR functions. This will be necessary to add support for these to the MSR driver. Signed-off-by: H. Peter Anvin Cc: Borislav Petkov commit ed6d76e4c32de0c2ad5f1d572b948ef49e465176 Author: Paul Moore Date: Fri Aug 28 18:12:49 2009 -0400 selinux: Support for the new TUN LSM hooks Add support for the new TUN LSM hooks: security_tun_dev_create(), security_tun_dev_post_create() and security_tun_dev_attach(). This includes the addition of a new object class, tun_socket, which represents the socks associated with TUN devices. The _tun_dev_create() and _tun_dev_post_create() hooks are fairly similar to the standard socket functions but _tun_dev_attach() is a bit special. The _tun_dev_attach() is unique because it involves a domain attaching to an existing TUN device and its associated tun_socket object, an operation which does not exist with standard sockets and most closely resembles a relabel operation. Signed-off-by: Paul Moore Acked-by: Eric Paris Signed-off-by: James Morris commit 2b980dbd77d229eb60588802162c9659726b11f4 Author: Paul Moore Date: Fri Aug 28 18:12:43 2009 -0400 lsm: Add hooks to the TUN driver The TUN driver lacks any LSM hooks which makes it difficult for LSM modules, such as SELinux, to enforce access controls on network traffic generated by TUN users; this is particularly problematic for virtualization apps such as QEMU and KVM. This patch adds three new LSM hooks designed to control the creation and attachment of TUN devices, the hooks are: * security_tun_dev_create() Provides access control for the creation of new TUN devices * security_tun_dev_post_create() Provides the ability to create the necessary socket LSM state for newly created TUN devices * security_tun_dev_attach() Provides access control for attaching to existing, persistent TUN devices and the ability to update the TUN device's socket LSM state as necessary Signed-off-by: Paul Moore Acked-by: Eric Paris Acked-by: Serge Hallyn Acked-by: David S. Miller Signed-off-by: James Morris commit 0cc0213e73af5963eca259c84876937c20689dbd Author: H. Peter Anvin Date: Mon Aug 31 14:23:29 2009 -0700 x86, msr: Have the _safe MSR functions return -EIO, not -EFAULT For some reason, the _safe MSR functions returned -EFAULT, not -EIO. However, the only user which cares about the return code as anything other than a boolean is the MSR driver, which wants -EIO. Change it to -EIO across the board. Signed-off-by: H. Peter Anvin Cc: Jeremy Fitzhardinge Cc: Chris Wright Cc: Alok Kataria Cc: Rusty Russell commit 79c5dca3619d6ae15815eec14cd7a43db5f38b47 Author: H. Peter Anvin Date: Mon Aug 31 13:59:53 2009 -0700 x86, msr: CFI annotations, cleanups for msr-reg.S Add CFI annotations for native_{rd,wr}msr_safe_regs(). Simplify the 64-bit implementation: we don't allow the upper half registers to be set, and so we can use them to carry state across the operation. Signed-off-by: H. Peter Anvin Cc: Borislav Petkov LKML-Reference: <1251705011-18636-1-git-send-email-petkovbb@gmail.com> commit 709972b1f6f70535d1fddbe1243a51b90c408a1c Author: H. Peter Anvin Date: Mon Aug 31 11:57:20 2009 -0700 x86, asm: Make _ASM_EXTABLE() usable from assembly code We have had this convenient macro _ASM_EXTABLE() to generate exception table entry in inline assembly. Make it also usable for pure assembly. Signed-off-by: H. Peter Anvin commit fe9b4e4e40ffdabbd385cdf171cb861c2fd517c0 Author: H. Peter Anvin Date: Mon Aug 31 11:53:23 2009 -0700 x86, asm: Add 32-bit versions of the combined CFI macros Add 32-bit versions of the combined CFI macros, equivalent to the 64-bit ones except, obviously, operating on 32-bit stack words. Signed-off-by: H. Peter Anvin commit 6b0f43ddfa358dc71ad2a2d57bce5906c1c5dc1a Author: Borislav Petkov Date: Mon Aug 31 09:50:11 2009 +0200 x86, AMD: Disable wrongly set X86_FEATURE_LAHF_LM CPUID bit fbd8b1819e80ac5a176d085fdddc3a34d1499318 turns off the bit for /proc/cpuinfo. However, a proper/full fix would be to additionally turn off the bit in the CPUID output so that future callers get correct CPU features info. Do that by basically reversing what the BIOS wrongfully does at boot. Signed-off-by: Borislav Petkov LKML-Reference: <1251705011-18636-3-git-send-email-petkovbb@gmail.com> Signed-off-by: H. Peter Anvin commit 177fed1ee8d727c39601ce9fc2299b4cb25a718e Author: Borislav Petkov Date: Mon Aug 31 09:50:10 2009 +0200 x86, msr: Rewrite AMD rd/wrmsr variants Switch them to native_{rd,wr}msr_safe_regs and remove pv_cpu_ops.read_msr_amd. Signed-off-by: Borislav Petkov LKML-Reference: <1251705011-18636-2-git-send-email-petkovbb@gmail.com> Signed-off-by: H. Peter Anvin commit 132ec92f3f70fe365c1f4b8d46e66cf8a2a16880 Author: Borislav Petkov Date: Mon Aug 31 09:50:09 2009 +0200 x86, msr: Add rd/wrmsr interfaces with preset registers native_{rdmsr,wrmsr}_safe_regs are two new interfaces which allow presetting of a subset of eight x86 GPRs before executing the rd/wrmsr instructions. This is needed at least on AMD K8 for accessing an erratum workaround MSR. Originally based on an idea by H. Peter Anvin. Signed-off-by: Borislav Petkov LKML-Reference: <1251705011-18636-1-git-send-email-petkovbb@gmail.com> Signed-off-by: H. Peter Anvin commit 1c29ce672fe817c208309eea0c1ff7bf76250f15 Author: Vasanthakumar Thiagarajan Date: Mon Aug 31 17:48:36 2009 +0530 ath9k: Do an AHB reset before doing RTC reset Doing an RTC reset when DMA is active may corrupt memory, make sure no DMA is active at this moment by doing an AHB reset. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 3107edbae8216a80920bed7f8d4ec2e6b62390f2 Author: Randy Dunlap Date: Sun Aug 30 13:22:57 2009 -0700 ipw2200: fix kconfig dependencies Fix kconfig dependencies for ipw2x00 drivers, fixes build errors: ERROR: "wiphy_free" [drivers/net/wireless/ipw2x00/libipw.ko] undefined! ERROR: "wiphy_unregister" [drivers/net/wireless/ipw2x00/libipw.ko] undefined! ERROR: "wiphy_new" [drivers/net/wireless/ipw2x00/libipw.ko] undefined! ERROR: "cfg80211_wext_giwname" [drivers/net/wireless/ipw2x00/ipw2200.ko] undefined! ERROR: "wiphy_register" [drivers/net/wireless/ipw2x00/ipw2200.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit daee6c092aa49ea090612738253ef0d11d120344 Author: Ivo van Doorn Date: Sat Aug 29 20:30:45 2009 +0200 rt2x00: Reorganize padding & L2 padding The old function rt2x00queue_payload_align() handled both adding and removing L2 padding and some basic frame alignment. The entire function was being abused because it had multiple functions and the header length argument was somtimes used to align the header instead of the payload. Additionally there was a bug when inserting L2 padding that only the payload was aligned but not the header. This happens when the header wasn't aligned properly by mac80211, but rt2x00lib only moves the payload. A secondary problem was that when removing L2 padding during TXdone or RX the skb wasn't resized to the proper size. Split the function into seperate functions each handling its task as it should. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2e27cff871dec9371e41022aaaebb3452ec069c0 Author: Ivo van Doorn Date: Sat Aug 29 19:10:14 2009 +0200 rt2x00: Fix TX status reporting Not all values of the TX status enumeration were covered during updating of the TX statistics. This could lead to wrong bitrate tuning but also wrong behavior in tools like hostapd. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1ee50cd9a22fdb22ce7bdb7f978d25b79993788d Author: Gábor Stefanik Date: Fri Aug 28 22:36:02 2009 +0200 b43: LP-PHY: Fix TX gain tables The rev1 2GHz and rev2 5GHz gain tables were incorrectly documented on the specs originally. Update these gaintables to match the cor- rected specs. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c71dbd3316d9ae8bc49d90b5a0b2915cd5089cff Author: Gábor Stefanik Date: Fri Aug 28 22:34:21 2009 +0200 b43: Fix typo in modparam_btcoex description Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 0136e51edbdae7f82aa1c32ad5cd6a49ec917c9c Author: Gábor Stefanik Date: Fri Aug 28 22:32:17 2009 +0200 b43: Add myself to module authors & to LP-PHY file copyright notices Also mark the LP-PHY driver "802.11a/g" instead of "802.11g", as LP-PHY is capable of both 2GHz and 5GHz operation. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c206a39d58fa335275403088171482f66fdbedcf Author: Gábor Stefanik Date: Fri Aug 28 21:37:00 2009 +0200 b43: Refactor and update antenna diversity for A/G-PHY -Make use of the b43_phy_set/mask/maskset helpers. -Fix a few errors in the code. -Make the code more readable. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit af472a953ef23d6b9fe717486974d7caff3fa194 Author: Reinette Chatre Date: Fri Aug 28 09:58:50 2009 -0700 iwl3945: reduce debug noise when default debug flags used Significant literature suggests users use debug flags 0x43fff - this causes the debug flags to be set that causes information to be printed for every received frame - including beacons. In the best case it fills up the logs, at worst it slows driver down and causes failures due to timeouts. In the RX handler, print debugging only if user requested RX debugging. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b57d46aa0db87b6349737e7b110ebe48ee14c143 Author: Reinette Chatre Date: Fri Aug 28 09:44:49 2009 -0700 iwlwifi: fix situation in which debug message is printed 3945 does not have update_chain_flags defined and because if this we always see the debug message that does not apply to it. Add a check to be specific about what is actually happening. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4c561a02291326c50f9b1f647eae891af9d1f3b2 Author: Johannes Berg Date: Fri Aug 28 09:44:48 2009 -0700 iwlwifi: use sleep interval succession Some concerns were raised about the automatic adjustment of sleep intervals to all the same, potentially high, value, and I can imagine the hardware behaving better when we don't ask too much of it. So let's convert to use a succession of sleep levels when requesting to go to deeper sleeps (which can only happen with large DTIM intervals), using the succession values from power level three, which have the benefit of also having been tested extensively already. As a result, the automatic sleep level adjustment will now be mostly equivalent to power level three, except for the RX/TX timeouts and possibly using smaller sleep vectors to account for networking latency. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 31513be8a06874eb359908b7b735929837831a9a Author: Daniel C Halperin Date: Fri Aug 28 09:44:47 2009 -0700 iwlwifi: use iwl_hwrate_get_mac80211_idx where appropriate For HT packets, mac80211 expects the rate_idx to be an MCS number, which is the lower byte of rate_n_flags. However, iwl_hwrate_to_plcp_idx takes the MCS number and reduces it down to the range 0-8 (6 to 60 Mbps), removing the bits that signify multiply streams, HT40 Duplicate mode, or unequal modulation. This version is used for various internal purposes through the driver. Add the function iwl_hwrate_get_mac80211_idx, an alternate version which takes the rate and the band and returns the mac80211 index (MCS, for HT packets, and PLCP rate, for legacy packets). Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b58ef214b7db57cfcbca0e1edae08566cdfd56b7 Author: Daniel C Halperin Date: Fri Aug 28 09:44:46 2009 -0700 iwlwifi: remove incorrect uses of ieee80211_get_tx_rate to prevent TX stall Refactor and correct rate selection for outgoing transmitted packets. First, note that HT rates in the mac80211 rate table do not provide valid indices when ieee80211_get_tx_rate is called; the check to see if we could to abort a transmission early in iwl_tx_skb() would thus occasionally read invalid memory and occasionally stall transmission (if the erroneous byte was 0xff). We remove that code; the check wasn't valid anyway. Second, iwl_tx_cmd_build_rate() also called ieee80211_get_tx_rate to be used for sending management packets, which do not use the uCode station table. This patch refactors that function and adds comments to enhance legibility, replaces the call to ieee80211_get_tx_rate() with a direct lookup, and adds error handling in case the table entry is invalid. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5027309b5581e9c251a46f0ecbf88996d5e0f1e0 Author: Daniel C Halperin Date: Fri Aug 28 09:44:45 2009 -0700 iwlwifi: remove 60 Mbps from sband bitrates table ieee80211_supported_band is supposed to only contain legacy rates in the bitrates table (HT rates go in the ieee80211_sta_ht_cap substruct). Make iwlwifi driver obey this restriction by removing the 60 Mbps rate. Also, clean up a few pieces of other code that formerly relied on 60 Mbps being in sband->bitrates. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b62e180cae6bd82e246d871a1e44e03f8019d421 Author: Heiko Carstens Date: Mon Aug 31 14:43:39 2009 +0200 locking: Inline spinlock code for all locking variants on s390 Speeds up several benchmarks in a measurable way, so inline all spin-lock variants by default. Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124419.319518405@de.ibm.com> Signed-off-by: Ingo Molnar commit bb7bed082500179519c7caf0678ba3bed9752658 Author: Heiko Carstens Date: Mon Aug 31 14:43:38 2009 +0200 locking: Simplify spinlock inlining For !DEBUG_SPINLOCK && !PREEMPT && SMP the spin_unlock() functions were always inlined by using special defines which would call the __raw* functions. The out-of-line variants for these functions would be generated anyway. Use the new per unlock/locking variant mechanism to force inlining of the unlock functions like before. This is not a functional change, we just get rid of one additional way to force inlining. Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124418.848735034@de.ibm.com> Signed-off-by: Ingo Molnar commit 892a7c67c12da63fa4b51728bbe5b982356a090a Author: Heiko Carstens Date: Mon Aug 31 14:43:37 2009 +0200 locking: Allow arch-inlined spinlocks This allows an architecture to specify per lock variant if the locking code should be kept out-of-line or inlined. If an architecure wants out-of-line locking code no change is needed. To force inlining of e.g. spin_lock() the line: #define __always_inline__spin_lock needs to be added to arch/<...>/include/asm/spinlock.h If CONFIG_DEBUG_SPINLOCK or CONFIG_GENERIC_LOCKBREAK are defined the per architecture defines are (partly) ignored and still out-of-line spinlock code will be generated. Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124418.375299024@de.ibm.com> Signed-off-by: Ingo Molnar commit 69d0ee7377eef808e34ba5542b554ec97244b871 Author: Heiko Carstens Date: Mon Aug 31 14:43:36 2009 +0200 locking: Move spinlock function bodies to header file Move spinlock function bodies to header file by creating a static inline version of each variant. Use the inline version on the out-of-line code. This shouldn't make any difference besides that the spinlock code can now be used to generate inlined spinlock code. Signed-off-by: Heiko Carstens Acked-by: Arnd Bergmann Acked-by: Peter Zijlstra Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124417.859022429@de.ibm.com> Signed-off-by: Ingo Molnar commit 0ee000e5e8fa2e5c760250be0d78d5906e3eb94b Author: Heiko Carstens Date: Mon Aug 31 14:43:35 2009 +0200 locking, m68k: Calculate thread_info offset with asm offset m68k has the thread_info structure embedded in its task struct. Therefore its not possible to implement current_thread_info() by looking at the stack pointer and do some simple calculations like most other architectures do it. To return the thread_info pointer for a task two defines are used. This works until the spinlock function bodies get moved into an own header file and CONFIG_SPINLOCK_DEBUG is turned on. That results into this compile error: In file included from include/linux/spinlock.h:378, from include/linux/seqlock.h:29, from include/linux/time.h:8, from include/linux/timex.h:56, from include/linux/sched.h:54, from arch/m68k/kernel/asm-offsets.c:12: include/linux/spinlock_api_smp.h: In function '__spin_unlock_irq': include/linux/spinlock_api_smp.h:371: error: 'current' undeclared (first use in this function) include/linux/spinlock_api_smp.h:371: error: (Each undeclared identifier is reported only once include/linux/spinlock_api_smp.h:371: error: for each function it appears in.) Including asm/current.h to asm-offsets.c wouldn't help since the definition of struct task is needed. So we end up with ugly header file include dependencies. To solve this calculate the offset of the thread_info structure into the task struct in asm-offsets.h and use the offset in task_thread_info(). This works just like it does for IA64 as well. Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124417.329662275@de.ibm.com> Signed-off-by: Ingo Molnar commit f159ee782990aacb5494738c98f13a2aa61dbb4a Author: Heiko Carstens Date: Mon Aug 31 14:43:33 2009 +0200 locking, m68k/asm-offsets: Rename pt_regs offset defines In order to be able to use asm-offsets.h in C files the existing namespace conflicts must be solved first. In asm-offsets.h e.g. PT_D0 gets defined which is the offset of the d0 member of the pt_regs structure. However a same define (with a different meaning) exists in asm/ptregs.h. So rename the defines created with the asm-offset mechanism to PT_OFF_D0 etc. There also already exist a few defines with these names that have the same meaning. So remove the existing defines and use the asm-offset generated ones. Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124416.666403991@de.ibm.com> Signed-off-by: Ingo Molnar commit 9f34ceb60357a7166c929d7b52bd057ad7ffc54b Author: Heiko Carstens Date: Mon Aug 31 14:43:32 2009 +0200 locking, sparc: Rename __spin_try_lock() and friends Needed to avoid namespace conflicts when the common code function bodies of _spin_try_lock() etc. are moved to a header file where the function name would be __spin_try_lock(). Signed-off-by: Heiko Carstens Acked-by: David S. Miller Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124416.306495811@de.ibm.com> Signed-off-by: Ingo Molnar commit 8307a98097222f4d9c2e62ebccd6f5df439328de Author: Heiko Carstens Date: Mon Aug 31 14:43:31 2009 +0200 locking, powerpc: Rename __spin_try_lock() and friends Needed to avoid namespace conflicts when the common code function bodies of _spin_try_lock() etc. are moved to a header file where the function name would be __spin_try_lock(). Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124415.918799705@de.ibm.com> Signed-off-by: Ingo Molnar commit bbe69aa57a7374b51242b95a54eefcf0d0393b7e Merge: a417887 326ba50 Author: Ingo Molnar Date: Mon Aug 31 17:54:18 2009 +0200 Merge commit 'v2.6.31-rc8' into core/locking Merge reason: we were on -rc4, move to -rc8 before applying a new batch of locking infrastructure changes. Signed-off-by: Ingo Molnar commit 2920ee2b47fc8e6aebe1d1956b2725f48fa93cc5 Author: Steve French Date: Mon Aug 31 15:27:26 2009 +0000 [CIFS] potential NULL dereference in parse_DFS_referrals() memory allocation may fail, prevent a NULL dereference Pointed out by Roel Kluin CC: Roel Kluin Signed-off-by: Steve French commit cbbb05703da4b205bb17fde555d3b2926d8b3194 Author: Roel Kluin Date: Mon Aug 31 16:32:12 2009 +0200 ALSA: allocation may fail in snd_pcm_oss_change_params() Allocation may fail, show if it did. Signed-off-by: Roel Kluin [Additional fix for invalid runtime->oss.prepare flag set by tiwai] Signed-off-by: Takashi Iwai commit 94b265514a8398ba3cfecb5a821a027b68a5c38e Author: Julius Volz Date: Mon Aug 31 16:22:23 2009 +0200 IPVS: Add handling of incoming ICMPV6 messages Add handling of incoming ICMPv6 messages. This follows the handling of IPv4 ICMP messages. Amongst ther things this problem allows IPVS to behave sensibly when an ICMPV6_PKT_TOOBIG message is received: This message is received when a realserver sends a packet >PMTU to the client. The hop on this path with insufficient MTU will generate an ICMPv6 Packet Too Big message back to the VIP. The LVS server receives this message, but the call to the function handling this has been missing. Thus, IPVS fails to forward the message to the real server, which then does not adjust the path MTU. This patch adds the missing call to ip_vs_in_icmp_v6() in ip_vs_in() to handle this situation. Thanks to Rob Gallagher from HEAnet for reporting this issue and for testing this patch in production (with direct routing mode). [horms@verge.net.au: tweaked changelog] Signed-off-by: Julius Volz Tested-by: Rob Gallagher Signed-off-by: Simon Horman Signed-off-by: Patrick McHardy commit 488908696971c5ea1dcc5d13f29c158ba4f6ae7d Author: Patrick McHardy Date: Mon Aug 31 15:30:31 2009 +0200 netfilter: ip6t_eui: fix read outside array bounds Use memcmp() instead of open coded comparison that reads one byte past the intended end. Based on patch from Roel Kluin Signed-off-by: Patrick McHardy commit ee254fa44d902ab89fd0d66851701098f07872a7 Author: Alexey Dobriyan Date: Mon Aug 31 14:23:15 2009 +0200 netfilter: nf_conntrack: netns fix re reliable conntrack event delivery Conntracks in netns other than init_net dying list were never killed. Signed-off-by: Alexey Dobriyan Acked-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 1e66dafc75f40a08b2addb82779987b269b4ca23 Author: Simon Horman Date: Mon Aug 31 14:18:48 2009 +0200 ipvs: Use atomic operations atomicly A pointed out by Shin Hong, IPVS doesn't always use atomic operations in an atomic manner. While this seems unlikely to be manifest in strange behaviour, it seems appropriate to clean this up. Cc: shin hong Signed-off-by: Simon Horman Signed-off-by: Patrick McHardy commit 8e254c1d183f0225ad21f9049641529e56cce4da Author: Li Zefan Date: Mon Aug 31 16:49:41 2009 +0800 tracing/filters: Defer pred allocation init_preds() allocates about 5392 bytes of memory (on x86_32) for a TRACE_EVENT. With my config, at system boot total memory occupied is: 5392 * (642 + 15) == 3459KB 642 == cat available_events | wc -l 15 == number of dirs in events/ftrace That's quite a lot, so we'd better defer memory allocation util it's needed, that's when filter is used. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Tom Zanussi Cc: Masami Hiramatsu LKML-Reference: <4A9B8EA5.6020700@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 561f732c1233f6bf7c3c5c5fb9b4d90bb6c107aa Author: Frederic Weisbecker Date: Mon Aug 31 06:45:21 2009 +0200 perf tools: Complete support for dynamic strings Complete support for __str_loc type strings of ftrace events which have dynamic offsets values set for each of them inside their sammples. Before: geany-5759 [000] 0.000000: lock_release: name geany-5759 [000] 0.000000: lock_release: name geany-5759 [000] 0.000000: lock_release: name kondemand/0-362 [000] 0.000000: lock_release: name pdflush-421 [000] 0.000000: lock_release: name After: geany-5759 [000] 0.000000: lock_release: &u->lock geany-5759 [000] 0.000000: lock_release: key geany-5759 [000] 0.000000: lock_release: &group->notification_mutex kondemand/0-362 [000] 0.000000: lock_release: &rq->lock pdflush-421 [000] 0.000000: lock_release: &rq->lock Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt LKML-Reference: <1251693921-6579-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt commit 9b8055a52c8986167e0a7357460d528a00db67e6 Author: Frederic Weisbecker Date: Mon Aug 31 06:45:20 2009 +0200 perf tools: Unify swapper tasks naming In perf tools, we hardcode the pid 0 cmdline resolving to "idle" because the init task is not included in the COMM events. But the idle tasks secondary cpus are resolved into their "init" name through the COMM events. We have then such strange result in perf report (ditto with trace): 19.66% init [kernel] [k] acpi_idle_enter_c1 17.32% [idle] [kernel] [k] acpi_idle_enter_c1 It's then better to unify the swapper tasks into a single init name. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <1251693921-6579-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo commit 3a2684ca58e06941ff00e3f096ca44f898a6d13e Author: Frederic Weisbecker Date: Mon Aug 31 06:45:19 2009 +0200 perf tools: Resolve idle thread cmdline for perf trace The cmd-trace tool used the cmdline file and resolved the idle thread using a hardcoded check for the 0 task pid. Now we have a centralized way to do that from perf using register_idle_thread() API. Before: :0-0 [000] 0.000000: irq_handler_entry: irq=0 handler=name :0-0 [000] 0.000000: irq_handler_entry: irq=0 handler=name After: [idle]-0 [000] 0.000000: irq_handler_entry: irq=0 handler=name [idle]-0 [000] 0.000000: irq_handler_entry: irq=0 handler=name Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <1251693921-6579-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 5b447a6a13ea823b698bf4c01193654fd7ebf4ec Author: Frederic Weisbecker Date: Mon Aug 31 06:45:18 2009 +0200 perf tools: Librarize idle thread registration Librarize register_idle_thread() used by annotate and report. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <1251693921-6579-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ec7ba4ea1d605029fb09601ab4ad3053bc1f519c Author: Frederic Weisbecker Date: Mon Aug 31 03:32:03 2009 +0200 perf tools: Add missing parameters documentation Add missing documentation for the following parameters: - perf record -R - perf report -g Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <1251682323-10395-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 19c959627a3477a8487d08afd47fdc1f4fea60e5 Merge: 119e7a2 d498bc1 Author: Ingo Molnar Date: Mon Aug 31 10:03:25 2009 +0200 Merge branch 'perfcounters/tracing' into perfcounters/core Merge reason: this topic is ready now to merge into the main development branch for .32, with functional perf trace output. Signed-off-by: Ingo Molnar commit fe7e56814cb82eb28698c2a74bdb830ae0592a45 Author: Takashi Iwai Date: Mon Aug 31 08:37:46 2009 +0200 ALSA: hda - Add missing GPIO initialization for AD1984A laptop model A similar initialization of GPIO1 pin like mobile model is needed for laptop model, too. Signed-off-by: Takashi Iwai commit 17bbaa6f600a36930879fd58e4e38a8c25bf9b60 Author: Takashi Iwai Date: Sun Aug 30 12:15:59 2009 +0200 ALSA: hda - Add support of docking auto-mute/mic for AD1984A laptop model Add the support of automatic mute and mic-switching of the docking station HP and mic plugs for AD1984A laptop model for some HP machines. Signed-off-by: Takashi Iwai commit be0ae923a40bbee8a0f02c1cd4b70656e729096f Merge: e9af4f3 a3f730a Author: Takashi Iwai Date: Mon Aug 31 08:27:10 2009 +0200 Merge branch 'fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_realtek.c commit e9af4f365fee8065c0c1b2389fe10e540dd9d60a Author: Takashi Iwai Date: Sat Aug 29 23:23:08 2009 +0200 ALSA: hda - Fix ALC268/ALC269 headphone pin routing Fix the headphone pin routing of ALC268/ALC269 codecs. Using alc882 routine doesn't work because alc268/alc269 parser assumes the independent DACs for both HP and speaker outputs. Need to assign the DAC depending on the pin. Signed-off-by: Takashi Iwai commit 2bf2901669a564b402cd0e40eb3f941c391e64c4 Author: Herbert Xu Date: Mon Aug 31 15:56:54 2009 +1000 crypto: api - Do not displace newly registered algorithms We have a mechanism where newly registered algorithms of a higher priority can displace existing instances that use a different implementation of the same algorithm with a lower priority. Unfortunately the same mechanism can cause a newly registered algorithm to displace itself if it depends on an existing version of the same algorithm. This patch fixes this by keeping all algorithms that the newly reigstered algorithm depends on, thus protecting them from being removed. Signed-off-by: Herbert Xu commit 9e39f7c5b311a306977c5471f9e2ce4c456aa038 Author: Joe Perches Date: Tue Aug 25 08:52:00 2009 +0000 s2io: Generate complete messages using single line DBG_PRINTs Single line log messages should be emitted by a single call where possible. Converted multiple calls to DBG_PRINT to single call form. Removed "s2io:" preface from DBG_PRINTs. The DBG_PRINT macro now emits a log level and is surrounded by a do {...} while (0) All s2io log output is now prefaced with KBUILD_MODNAME ": " via pr_fmt. The DBG_PRINT macro should probably be converted to use the dev_ form eventually. Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 82c2d02356229c66daa6b6e51f8da559327b87b0 Author: Joe Perches Date: Mon Aug 24 17:29:48 2009 +0000 s2io.c: Convert skipped nic->config.tx_cfg[i]. to tx_cfg-> Missed doing the conversion in earlier patch. Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit ffb5df6ce776a05eec1fbe4876cc6603c6336140 Author: Joe Perches Date: Mon Aug 24 17:29:47 2009 +0000 s2io.c: Standardize statistics accessors Regularize the declaration and uses of struct config_param *config = &sp->config; struct mac_info *mac_control = &sp->mac_control; and use struct stat_block *stats = mac_control->stats_info; struct swStat *swstats = &stats->sw_stat; struct xpakStat *xstats = &stats->xpak_stat; and convert the longish uses like nic->mac_control.stats_info->sw_stat. to swstats-> etc. This also makes the statistics code marginally smaller and presumably faster. Old: $ size s2io.o text data bss dec hex filename 114289 516 33360 148165 242c5 s2io.o New: $ size s2io.o text data bss dec hex filename 114097 516 33360 147973 24205 s2io.o Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit a2a20aef44da92b1c3b8c86ea069117dc3bc8bd6 Author: Joe Perches Date: Mon Aug 24 17:29:46 2009 +0000 s2io.c: fix spelling explaination Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 6cef2b8eb73f1a8fd7c0ed528091ddc406fef950 Author: Joe Perches Date: Mon Aug 24 17:29:45 2009 +0000 s2io.c: convert printks to pr_ Fixed trivial typo as well Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit d44570e4067aa8b832b1c1e1eb6da079f590d501 Author: Joe Perches Date: Mon Aug 24 17:29:44 2009 +0000 s2io.c: Make more conforming to normal kernel style Still has a few long lines. checkpatch was: total: 263 errors, 53 warnings, 8751 lines checked is: total: 4 errors, 35 warnings, 8767 lines checked Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 44364a035a4f7c5b58fd96b1a90b52746d1aab6b Author: Joe Perches Date: Mon Aug 24 17:29:43 2009 +0000 s2io.c: use kzalloc Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 4f87032021be1aa0c3bb66b0c89d30cb35b57f8f Author: Joe Perches Date: Mon Aug 24 17:29:42 2009 +0000 s2io.c: Use calculated size in kmallocs Use consistent style. Don't calculate the kmalloc size multiple times Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 13d866a9c912d6bc7133f4ef4d536c3a960b06cb Author: Joe Perches Date: Mon Aug 24 17:29:41 2009 +0000 s2io.c: Shorten code line length by using intermediate pointers Repeated variable use and line wrapping is hard to read. Use temp variables instead of direct references. struct fifo_info *fifo = &mac_control->fifos[i]; struct ring_info *ring = &mac_control->rings[i]; struct tx_fifo_config *tx_cfg = &config->tx_cfg[i]; struct rx_ring_config *rx_cfg = &config->rx_cfg[i]; Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 6fce365df8c4af573ea77e744fe310e034931d42 Author: Joe Perches Date: Mon Aug 24 17:29:40 2009 +0000 s2io.c: Use const for strings Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit a453e0689a3ccf85c08cb89753d7685046248c5c Author: Krishna Kumar Date: Sun Aug 30 22:20:28 2009 -0700 pkt_sched: Fix resource limiting in pfifo_fast pfifo_fast_enqueue has this check: if (skb_queue_len(list) < qdisc_dev(qdisc)->tx_queue_len) { which allows each band to enqueue upto tx_queue_len skbs for a total of 3*tx_queue_len skbs. I am not sure if this was the intention of limiting in qdisc. Patch compiled and 32 simultaneous netperf testing ran fine. Also: # tc -s qdisc show dev eth2 qdisc pfifo_fast 0: root bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 16835026752 bytes 373116 pkt (dropped 0, overlimits 0 requeues 25) rate 0bit 0pps backlog 0b 0p requeues 25 Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 03a9a447d2dab755b22df79b5e205fdbb9b2c851 Author: Krishna Kumar Date: Sat Aug 29 20:21:36 2009 +0000 net: convert remaining non-symbolic return values in dev_queue_xmit Patch compiled and 32 simultaneous netperf testing ran fine. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 7b3d3e4fc685a7d7e0b4c207ce24dfbab5689eb0 Author: Krishna Kumar Date: Sat Aug 29 20:21:21 2009 +0000 netdevice: Consolidate to use existing macros where available. Patch compiled and 32 simultaneous netperf testing ran fine. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 6ca8b990e07914a87fd1f6dfc5507f5e1c4572e2 Author: Oliver Hartkopp Date: Sat Aug 29 06:45:09 2009 +0000 can: use correct NET_RX_ return values Dropped skb's should be documented by an appropriate return value. Use the correct NET_RX_DROP and NET_RX_SUCCESS values for that reason. Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 5de3fcab91b0e1809eec030355d15801daf25083 Author: roel kluin Date: Thu Aug 20 04:04:40 2009 +0000 WAN: bit and/or confusion Fix the tests that check whether Frame* bits are not set Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 2394905f67aeec5f9452f2881cbeb2b42009de0e Author: Anton Vorontsov Date: Thu Aug 27 07:35:57 2009 +0000 ucc_geth: Implement suspend/resume and Wake-On-LAN support This patch implements suspend/resume and WOL support for UCC Ethernet driver. We support two wake up events: wake on PHY/link changes and wake on magic packet. In some CPUs (like MPC8569) QE shuts down during sleep, so magic packet detection is unusable, and also on resume we should fully reinitialize UCC structures. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit bf5aec2e79418adb42f1457152b427fd3d6316d9 Author: Anton Vorontsov Date: Thu Aug 27 07:35:56 2009 +0000 ucc_geth: Remove UGETH_MAGIC_PACKET Kconfig symbol and code This patch removes currently unused UGETH_MAGIC_PACKET Kconfig symbol and code, i.e. magic_packet_detection_{enable,disable} functions. The two functions each contain just two steps that we'll place into suspend/resume code path under CONFIG_PM. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 54b15983840c9eb264e41f3b14af398a72ebd426 Author: Anton Vorontsov Date: Thu Aug 27 07:35:54 2009 +0000 ucc_geth: Factor out MAC initialization steps into a call This patch factors out MAC initialization into ucc_geth_init_mac() function that we'll use for suspend/resume. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit ed24157ede901608e00f28b4897398a373e1e926 Author: Anton Vorontsov Date: Thu Aug 27 07:35:50 2009 +0000 powerpc/qe: Implement qe_alive_during_sleep() helper function In some CPUs (i.e. MPC8569) QE shuts down completely during sleep, drivers may want to know that to reinitialize registers and buffer descriptors. This patch implements qe_alive_during_sleep() helper function, so far it just checks if MPC8569-compatible power management controller is present, which is a sign that QE turns off during sleep. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit e0ad2cd8ff7fb957be867d17d44fb4b7093c91bd Author: Anton Vorontsov Date: Thu Aug 27 07:35:47 2009 +0000 ucc_geth: Fix NULL pointer dereference in uec_get_ethtool_stats() In commit 3e73fc9a12679a546284d597c1f19165792d0b83 ("ucc_geth: Fix IO memory (un)mapping code") I fixed ug_regs IO memory leak by properly freeing the allocated memory. But ethtool_stats() callback doesn't check for ug_regs being NULL, and that causes following oops if 'ethtool -S' is executed on a closed eth device: Unable to handle kernel paging request for data at address 0x00000180 Faulting instruction address: 0xc0208228 Oops: Kernel access of bad area, sig: 11 [#1] ... NIP [c0208228] uec_get_ethtool_stats+0x38/0x140 LR [c02559a0] ethtool_get_stats+0xf8/0x23c Call Trace: [ef87bcd0] [c025597c] ethtool_get_stats+0xd4/0x23c (unreliable) [ef87bd00] [c025706c] dev_ethtool+0xfe8/0x11bc [ef87be00] [c0252b5c] dev_ioctl+0x454/0x6a8 ... ---[ end trace 77fff1162a9586b0 ]--- Segmentation fault This patch fixes the issue. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit b9caaabb995c6ff103e2457b9a36930b9699de7c Merge: fc57e51 7e74309 Author: David S. Miller Date: Sun Aug 30 21:30:39 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 commit 23386d63bbb3199cf247313ec088878d72debcfd Author: Michal Schmidt Date: Sat Aug 29 18:27:18 2009 +0200 x86: Detect stack protector for i386 builds on x86_64 Stack protector support was not detected when building with ARCH=i386 on x86_64 systems: arch/x86/Makefile:80: stack protector enabled but no compiler support The "-m32" argument needs to be passed to the detection script. Signed-off-by: Michal Schmidt Cc: Tejun Heo Cc: Jeremy Fitzhardinge Cc: Arjan van de Ven LKML-Reference: <20090829182718.10f566b1@leela> Signed-off-by: Ingo Molnar -- commit fc57e515a2c02599b00d252545521288dfc0158a Author: Matt Carlson Date: Fri Aug 28 14:03:44 2009 +0000 tg3: Update version to 3.101 This patch updates the tg3 version to 3.101. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit f3f3f27e5b4e27737f824535e6f145a3c88b976c Author: Matt Carlson Date: Fri Aug 28 14:03:21 2009 +0000 tg3: Move per-int tx members to a per-int struct This patch moves the tx_prod, tx_cons, tx_pending, tx_ring, and tx_buffers transmit ring device members to a per-interrupt structure. It also adds a new transmit producer mailbox member (prodmbox) and converts the code to use it rather than a preprocessor constant. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 723344820aa405ac2663ab9e36fd27833d06129b Author: Matt Carlson Date: Fri Aug 28 14:03:01 2009 +0000 tg3: Move per-int rx members to per-int struct This patch moves the rx_rcb, rx_rcb_mapping, and rx_rcb_ptr return ring device members to a per-interrupt structure. It also adds a new return ring consumer mailbox register member (consmbox) and converts the code to use it rather than a preprocessor constant. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 898a56f8d8170c188e47ae3acb90d2ea9a585ebe Author: Matt Carlson Date: Fri Aug 28 14:02:40 2009 +0000 tg3: Move general int members to a per-int struct This patch moves the last_tag, last_tag_irq, and hw_status device members to a per-interrupt structure. It also adds a new interrupt mailbox member (int_mbox) and converts the code to use it rather than a direct preprocessor constant. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 17375d25d3dcd3d4caf9456fa94f60e29d6b1146 Author: Matt Carlson Date: Fri Aug 28 14:02:18 2009 +0000 tg3: Convert napi handlers to use tnapi This patch converts the napi interrupt handler functions to accept and use tg3_napi structures. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 09943a1819a240ff4a72f924d0038818fcdd0a90 Author: Matt Carlson Date: Fri Aug 28 14:01:57 2009 +0000 tg3: Convert ISR parameter to tnapi This patch migrates the ISR parameter from struct net_device to struct tg3_napi. Checkpatch complains about the existence of the preexisting IRQF_SAMPLE_RANDOM flag. I've opted to keep this patch conservative and let it continue to exist until the flag gets officially purged from the kernel. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 8ef0442f98850333196bc56415192e52a6267878 Author: Matt Carlson Date: Fri Aug 28 14:01:37 2009 +0000 tg3: Move napi to per-int struct This patch creates a per-interrupt data structure, moves the napi member over, and creates a tg3 pointer back to the device structure. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 07b0173cb5d6a9d77646cd855066ebe90b9203f2 Author: Matt Carlson Date: Fri Aug 28 14:01:15 2009 +0000 tg3: Cleanup interrupt setup / teardown Later patches will be adding MSIX support, which will complicate interrupt initialization. This patch prepares for the integration by breaking out the interrupt setup and teardown code into separate functions and cleaning up the error return paths. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 79ed5ac7ddd5f8d6463f5a17b3575772e9896481 Author: Matt Carlson Date: Fri Aug 28 14:00:55 2009 +0000 tg3: Use ext rx bds The 5717 only uses extended buffer descriptors for the jumbo producer ring. Extended buffer descriptors are available on all devices that support a separate jumbo producer ring so make the change universal. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 21f581a5366d48d86b9ae86043fc61d44e992c0c Author: Matt Carlson Date: Fri Aug 28 14:00:25 2009 +0000 tg3: Create a new prodring_set structure This patch migrates most of the rx producer ring variables to a new tg3_rx_prodring_set structure and modifies the code accordingly. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit cf7a7298c4f47ab7546b933bb54ad3ea03a1daf6 Author: Matt Carlson Date: Fri Aug 28 13:59:57 2009 +0000 tg3: Create rx producer ring setup routines Later patches are going to complicate the ring initialization routines. This patch breaks out the setup and teardown of the rx producer rings into separate functions to make the code more readable. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 287be12e1774d842bff21ea0c1809c2387d7b310 Author: Matt Carlson Date: Fri Aug 28 13:58:46 2009 +0000 tg3: Clarify rx buffer relationships This patch attempts to document the various rx buffer sizes used by the driver and how they relate to each other. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 8f666b07ac53eeedd6c035adf6d4299f9ed0df2d Author: Matt Carlson Date: Fri Aug 28 13:58:24 2009 +0000 tg3: Move the JUMBO_CAPABLE and SUPPORT_MSI flags This patch moves where the jumbo capable and msi support flags are located. This is prep work for the addition of msix support flags. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit fdb72b38c94c0ead1f78ecc8db64b832feda22c3 Author: Matt Carlson Date: Fri Aug 28 13:57:12 2009 +0000 tg3: Break out mini producer ring handling This patch separates the code that sets up the mini producer ring from the code that sets up the jumbo producer rings. The 5717 asic rev devices do not have a mini ring, but do have a jumbo frame implementation similar to the 5704 and previous devices. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 8590a603e5e20ccf49d6cf0ea71ecf5388d1f9da Author: Matt Carlson Date: Fri Aug 28 12:29:16 2009 +0000 tg3: Reformat NVRAM case statements This patch fixes up the NVRAM detection switch statements to conform to the kernel coding style. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 2befdcea96fcd9a13e94373c66ea1dd7365d2a74 Author: Matt Carlson Date: Fri Aug 28 12:28:45 2009 +0000 tg3: Add new 5785 10/100 only device ID This patch adds a new device ID for those 5785 devices that will only use 10/100 phys. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 0a9140cff22e405fce1747a2e02d41851c36c55a Author: Matt Carlson Date: Fri Aug 28 12:27:50 2009 +0000 tg3: Delay mdio bus init until fw finishes The device firmware uses the MDIO bus during early setup. If the driver modifies the MDIO bus configuration while it is in use by the firmware, any number of bad things can happen. This patch delays MDIO setup until after the firmware posts its magic signature, signifying initialization is complete. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 70590ea75b7f9ef4846b0b0f4400e8338dbcc7eb Author: Yinghai Lu Date: Wed Aug 26 16:21:54 2009 -0700 pci/intr_remapping: Allocate irq_iommu on node make it use the node from irq_desc. Signed-off-by: Yinghai Lu Acked-by: Jesse Barnes Cc: Andrew Morton LKML-Reference: <4A95C392.5050903@kernel.org> Signed-off-by: Ingo Molnar commit 5bfb5b51382f4bd01d9ced11503264d2cc74fe41 Author: Yinghai Lu Date: Wed Aug 26 16:20:48 2009 -0700 irq: Add irq_node() primitive ... to return irq_desc node info without #ifdefs at the callsites. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes LKML-Reference: <4A95C350.8060308@kernel.org> Signed-off-by: Ingo Molnar commit 372e24b0cb764ec55b4cf3408a95ae40a29e5b96 Author: Yinghai Lu Date: Wed Aug 26 16:20:13 2009 -0700 irq: Make sure irq_desc for legacy irq get correct node setting when there is no ram on node 0. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes LKML-Reference: <4A95C32D.5040605@kernel.org> Signed-off-by: Ingo Molnar commit 84e9dabf6e6a78928c6a1a8ba235c9fb0908d0f8 Author: Anirban Sinha Date: Fri Aug 28 22:40:43 2009 -0700 sched: Rename init_cfs_rq => init_tg_cfs_rq ... so that it does not share a common name with a function within the same scope. Signed-off-by: Anirban Sinha LKML-Reference: Signed-off-by: Ingo Molnar commit 868489660dabc0c28087cca3dbc1adbbc398c6fe Author: Paul E. McKenney Date: Thu Aug 27 15:00:12 2009 -0700 rcu: Changes from reviews: avoid casts, fix/add warnings, improve comments Changes suggested by review comments from Josh Triplett and Mathieu Desnoyers. Signed-off-by: Paul E. McKenney Acked-by: Josh Triplett Acked-by: Mathieu Desnoyers Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <20090827220012.GA30525@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit dd5d19bafd90d33043a4a14b2e2d98612caa293c Author: Paul E. McKenney Date: Thu Aug 27 14:58:16 2009 -0700 rcu: Create rcutree plugins to handle hotplug CPU for multi-level trees When offlining CPUs from a multi-level tree, there is the possibility of offlining the last CPU from a given node when there are preempted RCU read-side critical sections that started life on one of the CPUs on that node. In this case, the corresponding tasks will be enqueued via the task_struct's rcu_node_entry list_head onto one of the rcu_node's blocked_tasks[] lists. These tasks need to be moved somewhere else so that they will prevent the current grace period from ending. That somewhere is the root rcu_node. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <20090827215816.GA30472@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit a417887637e862b434b293404f2a31ad1f282a58 Author: Ming Lei Date: Sat Aug 29 18:47:59 2009 +0800 lockdep: Remove recursion stattistics Since lockdep has introduced BFS to avoid recursion, statistics for recursion does not make any sense now. So remove them. Signed-off-by: Ming Lei Cc: a.p.zijlstra@chello.nl LKML-Reference: <1251542879-5211-1-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 73222acf966792c7fda219724af963339be32e62 Merge: 0dd7b74 5d4a9db Author: Ingo Molnar Date: Sat Aug 29 13:06:05 2009 +0200 Merge branch 'tip/tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/core commit a367b17f34e1280270a6b577c11d5ecff093f9ae Author: Steffen Klassert Date: Sat Aug 29 17:36:25 2009 +1000 crypto: ansi_cprng - Fix module initialization Return the value we got from crypto_register_alg() instead of returning 0 in any case. Signed-off-by: Steffen Klassert Acked-by: Neil Horman Signed-off-by: Herbert Xu commit eebc57f73d42095b778e899f6aa90ad050c72655 Merge: d3a247b 2a4ab64 Author: Ingo Molnar Date: Sat Aug 29 09:30:41 2009 +0200 Merge branch 'for-ingo' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6 into x86/apic Merge reason: the SFI (Simple Firmware Interface) feature in the ACPI tree needs this cleanup, pull it into the APIC branch as well so that there's no interactions. Signed-off-by: Ingo Molnar commit b3df9a514f3c2020952cff34bc5bc6694a31c00c Author: roel kluin Date: Thu Aug 27 02:03:15 2009 +0000 tipc: fix test of bearer_priority range in tipc_register_media() For the bearer_priority to be less than TIPC_MIN_LINK_PRI and greater than TIPC_MAX_LINK_PRI is logically impossible. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit ea00b8e2223170a842bee06e0f27754ccdf2a217 Author: Alexey Dobriyan Date: Fri Aug 28 09:57:21 2009 +0000 can: switch to seq_file create_proc_read_entry() is going to be removed soon. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 4923576b8ac5bfd36ab2beb176aeb747aaab7e41 Author: Yoshihiro Shimoda Date: Thu Aug 27 23:25:03 2009 +0000 net: sh_eth: add value of ether_link pin in platform_data The method of ETHER_LINK pin is board dependence. This patch adding paramters are: - no_ether_link : If set to 1, do not use ETHER_LINK - ether_link_active_low : If set to 1, ETHER_LINK is active low. Signed-off-by: Yoshihiro Shimoda Signed-off-by: David S. Miller commit 2db9517ef3dd48790c02a531e2b0db1957afd891 Author: Rajashekhara, Sudhakar Date: Wed Aug 19 10:39:55 2009 +0000 TI DaVinci EMAC: delay DaVinci EMAC initialization On TI's DA850/OMAP-L138 EVM, MAC address is stored in SPI flash which is accessed using MTD interface. This patch delays the initialization of DaVinci EMAC driver by changing module_init to late_initcall. This helps SPI and MTD drivers to get initialized before EMAC thereby enabling EMAC driver to read the MAC address while booting and use it. Tested with NFS on DM644x, DM6467, DA830/OMAP-L137 and DA850/OMAP-L138 EVMs. Signed-off-by: Sudhakar Rajashekhara Reviewed-by: Chaithrika U S Signed-off-by: Kevin Hilman Signed-off-by: David S. Miller commit 38edb5b87ea26314cb6ad4524c3f3b0fea0e33de Author: Krzysztof Halasa Date: Wed Aug 19 23:56:20 2009 +0000 WAN/LMC: Fix type_trans(). Fix lmc_proto_type() invocation. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit 8a27f7c90ffcb791eed7574922b51fb60b08fc89 Author: Joe Perches Date: Mon Aug 17 12:29:44 2009 +0000 lib/vsprintf.c: Add "%pI6c" - print pointer as compressed ipv6 address Signed-off-by: Joe Perches Tested-by: Jens Rosenboom Signed-off-by: David S. Miller commit 9a7030b76ab3c2b23b1629c49b6df33fb5aed305 Author: John Dykstra Date: Wed Aug 19 09:47:41 2009 +0000 tcp: Remove redundant copy of MD5 authentication key Remove the copy of the MD5 authentication key from tcp_check_req(). This key has already been copied by tcp_v4_syn_recv_sock() or tcp_v6_syn_recv_sock(). Signed-off-by: John Dykstra Signed-off-by: David S. Miller commit fd3ae5e8fc5e947a9f151e80a65763a24b6368a9 Author: Krishna Kumar Date: Tue Aug 18 21:55:59 2009 +0000 Speed-up pfifo_fast lookup using a private bitmap Maintain a per-qdisc bitmap for pfifo_fast giving availability of skbs for each band. This allows faster lookup for a skb when there are no high priority skbs. Also, it helps in (rare) cases when there are no skbs on the list, where an immediate lookup is faster than iterating through the three bands. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 31ce8c71a3bdab12debb5899b1f6dac13e54c71d Author: David Ward Date: Sat Aug 29 00:04:09 2009 -0700 ipv6: Update Neighbor Cache when IPv6 RA is received on a router When processing a received IPv6 Router Advertisement, the kernel creates or updates an IPv6 Neighbor Cache entry for the sender -- but presently this does not occur if IPv6 forwarding is enabled (net.ipv6.conf.*.forwarding = 1), or if IPv6 Router Advertisements are not accepted (net.ipv6.conf.*.accept_ra = 0), because in these cases processing of the Router Advertisement has already halted. This patch allows the Neighbor Cache to be updated in these cases, while still avoiding any modification to routes or link parameters. This continues to satisfy RFC 4861, since any entry created in the Neighbor Cache as the result of a received Router Advertisement is still placed in the STALE state. Signed-off-by: David Ward Signed-off-by: David S. Miller commit 078b0735881c7969aaf21469f3577831cddd9f8c Author: Michael Chan Date: Sat Aug 29 00:02:46 2009 -0700 bnx2: Update firmware to 5.0.0.j3. - Better small packet receive performance. - Better handling of Flow control on 5709. - Fixed iSCSI TMP ABORT TASK problem. - Added iSCSI TCP timestamp option. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 80a1096bac73ce6e98dbbce10cc00a154460bcbd Author: Octavian Purdila Date: Sat Aug 29 00:00:35 2009 -0700 tcp: fix premature termination of FIN_WAIT2 time-wait sockets There is a race condition in the time-wait sockets code that can lead to premature termination of FIN_WAIT2 and, subsequently, to RST generation when the FIN,ACK from the peer finally arrives: Time TCP header 0.000000 30755 > http [SYN] Seq=0 Win=2920 Len=0 MSS=1460 TSV=282912 TSER=0 0.000008 http > 30755 aSYN, ACK] Seq=0 Ack=1 Win=2896 Len=0 MSS=1460 TSV=... 0.136899 HEAD /1b.html?n1Lg=v1 HTTP/1.0 [Packet size limited during capture] 0.136934 HTTP/1.0 200 OK [Packet size limited during capture] 0.136945 http > 30755 [FIN, ACK] Seq=187 Ack=207 Win=2690 Len=0 TSV=270521... 0.136974 30755 > http [ACK] Seq=207 Ack=187 Win=2734 Len=0 TSV=283049 TSER=... 0.177983 30755 > http [ACK] Seq=207 Ack=188 Win=2733 Len=0 TSV=283089 TSER=... 0.238618 30755 > http [FIN, ACK] Seq=207 Ack=188 Win=2733 Len=0 TSV=283151... 0.238625 http > 30755 [RST] Seq=188 Win=0 Len=0 Say twdr->slot = 1 and we are running inet_twdr_hangman and in this instance inet_twdr_do_twkill_work returns 1. At that point we will mark slot 1 and schedule inet_twdr_twkill_work. We will also make twdr->slot = 2. Next, a connection is closed and tcp_time_wait(TCP_FIN_WAIT2, timeo) is called which will create a new FIN_WAIT2 time-wait socket and will place it in the last to be reached slot, i.e. twdr->slot = 1. At this point say inet_twdr_twkill_work will run which will start destroying the time-wait sockets in slot 1, including the just added TCP_FIN_WAIT2 one. To avoid this issue we increment the slot only if all entries in the slot have been purged. This change may delay the slots cleanup by a time-wait death row period but only if the worker thread didn't had the time to run/purge the current slot in the next period (6 seconds with default sysctl settings). However, on such a busy system even without this change we would probably see delays... Signed-off-by: Octavian Purdila Signed-off-by: David S. Miller commit 80b71b80df14d885f7e50e115c1348398f418759 Author: Jens Låås Date: Fri Aug 28 23:57:15 2009 -0700 fib_trie: resize rework Here is rework and cleanup of the resize function. Some bugs we had. We were using ->parent when we should use node_parent(). Also we used ->parent which is not assigned by inflate in inflate loop. Also a fix to set thresholds to power 2 to fit halve and double strategy. max_resize is renamed to max_work which better indicates it's function. Reaching max_work is not an error, so warning is removed. max_work only limits amount of work done per resize. (limits CPU-usage, outstanding memory etc). The clean-up makes it relatively easy to add fixed sized root-nodes if we would like to decrease the memory pressure on routers with large routing tables and dynamic routing. If we'll need that... Its been tested with 280k routes. Work done together with Robert Olsson. Signed-off-by: Jens Låås Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 8945a808f7d5efd21fa9fb6055d2dd7887bdd9d8 Author: Sascha Hlusiak Date: Fri Aug 28 23:53:53 2009 -0700 sit: allow ip fragmentation when using nopmtudisc to fix package loss if tunnel parameters have frag_off set to IP_DF, pmtudisc on the ipv4 link will be performed by deriving the mtu from the ipv4 link and setting the DF-Flag of the encapsulating IPv4 Header. If fragmentation is needed on the way, the IPv4 pmtu gets adjusted, the ipv6 package will be resent eventually, using the new and lower mtu and everyone is happy. If the frag_off parameter is unset, the mtu for the tunnel will be derived from the tunnel device or the ipv6 pmtu, which might be higher than the ipv4 pmtu. In that case we must allow the fragmentation of the IPv4 packet because the IPv6 mtu wouldn't 'learn' from the adjusted IPv4 pmtu, resulting in frequent icmp_frag_needed and package loss on the IPv6 layer. This patch allows fragmentation when tunnel was created with parameter nopmtudisc, like in ipip/gre tunnels. Signed-off-by: Sascha Hlusiak Signed-off-by: David S. Miller commit 30038fc61adfdab162b1966e34261f06eda67f02 Author: Eric Dumazet Date: Fri Aug 28 23:52:01 2009 -0700 net: ip_rt_send_redirect() optimization While doing some forwarding benchmarks, I noticed ip_rt_send_redirect() is rather expensive, even if send_redirects is false for the device. Fix is to avoid two atomic ops, we dont really need to take a reference on in_dev Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit df19a6267705456f463871ae2aabc44299909d2a Author: Eric Dumazet Date: Fri Aug 28 23:48:54 2009 -0700 tcp: keepalive cleanups Introduce keepalive_probes(tp) helper, and use it, like keepalive_time_when(tp) and keepalive_intvl_when(tp) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5e9b2dbfcbc9b180a0064d8a473a4652ee99c9ad Author: Michael Chan Date: Wed Aug 26 09:49:23 2009 +0000 cnic: Put uio init in separate function. This will allow the 10G iSCSI code to reuse the function. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ec0248ea35f6e1fc7426f377a7df071d997bdedd Author: Michael Chan Date: Wed Aug 26 09:49:22 2009 +0000 cnic: Put rx/tx ring allocation in separate function. This will allow the 10G iSCSI code to reuse the function. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3d1427f87002735aa54c370558e0c2bacc61f31e Author: Eric Dumazet Date: Fri Aug 28 23:45:21 2009 -0700 ipv4: af_inet.c cleanups Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2975315b79f4109523b3d43932f57ed8370b9da3 Author: Alexey Dobriyan Date: Fri Aug 28 23:34:43 2009 -0700 pktgen: use proc_create_data() It looks like after rename device proc entry is unusable, because of no ->read_proc or ->proc_fops. And create_proc_entry() is deprecated. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit c3d2f52dd40b5b6c122329dac32dc0e0351f0598 Author: Stephen Hemminger Date: Thu Aug 27 13:55:20 2009 +0000 pktgen: increase version Increase module version, and cleanup module info. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 63adc6fb8ac0dee0020d6ad73e0d44f4306e1e34 Author: Stephen Hemminger Date: Thu Aug 27 13:55:19 2009 +0000 pktgen: cleanup checkpatch warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 64e8ff5ef2a798cae2e3bede75644173aae98e08 Author: Stephen Hemminger Date: Thu Aug 27 13:55:18 2009 +0000 pktgen: use common idle routine Simpler to have one place that spins and accounts for delays, this will also make the last packet be detected faster for more repeatable timing. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2bc481cf433879f0e6cdd4d899fc21ee05dcea23 Author: Stephen Hemminger Date: Fri Aug 28 23:41:29 2009 -0700 pktgen: spin using hrtimer This changes how the pktgen thread spins/waits between packets if delay is configured. It uses a high res timer to wait for time to arrive. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fd29cf72621071d1d5f9bae634a4505b05f0e58b Author: Stephen Hemminger Date: Thu Aug 27 13:55:16 2009 +0000 pktgen: convert to use ktime_t The kernel ktime_t is a nice generic infrastructure for mananging high resolution times, as is done in pktgen. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5c9d191c166233e723e632e79bcca2127a5fece9 Author: Stephen Hemminger Date: Thu Aug 27 13:55:15 2009 +0000 pktgen: avoid calling gettimeofday If not using delay then no need to update next_tx after each packet sent. This allows pktgen to send faster especially on systems with slower clock sources. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5b8db2f568c4ee2a436f0e1c1416153e2878f869 Author: Stephen Hemminger Date: Thu Aug 27 13:55:14 2009 +0000 pktgen: reorganize transmit loop Handle standard (and non-standard) return values in a switch. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e470757d6179eb8998881ac2706927d4d0cb0e54 Author: Stephen Hemminger Date: Thu Aug 27 13:55:13 2009 +0000 pktgen: use netdev_alloc_skb netdev_alloc_skb is NUMA node aware. Also, don't exhaust atomic emergency pool. Don't want pktgen to cause OOM behaviour. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7d7bb1cf0ea7434230b3e3de49c24ff68666a72e Author: Stephen Hemminger Date: Thu Aug 27 13:55:12 2009 +0000 pktgen: cleanup clone count test The if statement to test for "should a new packet be used" can be simplified. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3791decb5aa0202d2a2473d6cf4947d98e846c7a Author: Stephen Hemminger Date: Thu Aug 27 13:55:11 2009 +0000 pktgen: xmit logic reorganization Do some reorganization of transmit logic path: * move transmit queue full idle to separate routine * add a cpu_relax() * eliminate some of the uneeded goto's * if queue is still stopped, go back to main thread loop. * don't give up transmitting if quantum is exhausted (be greedy) Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3bda06a3d7987bfeabb218ac2f17ce22c34f13b3 Author: Stephen Hemminger Date: Thu Aug 27 13:55:10 2009 +0000 pktgen: stop_device cleanup All the callers were freeing skb after stopping device. Remove unneeded forward decl. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 65c5b786a37746302e225223c0d8b760d4c48a8b Author: Stephen Hemminger Date: Thu Aug 27 13:55:09 2009 +0000 pktgen: mark read-only/mostly variables Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 475ac1e4099a005e1307c416df19f2100b7a838d Author: Stephen Hemminger Date: Thu Aug 27 13:55:08 2009 +0000 pktgen: change inlining Don't force inlining where not needed. Gcc does better job of deciding to inline local functions. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 648fda7404630ba85ce462ee1279e1bc027ad915 Author: Stephen Hemminger Date: Thu Aug 27 13:55:07 2009 +0000 pktgen: minor cleanup A couple of minor functions can be written more compactly. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 39aa81659353becbe4ee34d72cf79e02182e858a Author: Ron Mercer Date: Thu Aug 27 11:02:11 2009 +0000 qlge: Move TX completions from workqueue to NAPI. TX completions were running in a workqueue queued by the ISR. This patch moves the processing of TX completions to an existing RSS NAPI context. Now each irq vector runs NAPI for one RSS ring and one or more TX completion rings. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a4ab613717184138763c5fb4a4b4bbc354d5b0ee Author: Ron Mercer Date: Thu Aug 27 11:02:10 2009 +0000 qlge: Allow running MSIx with fewer vectors. Currently we downshift to MSI/Legacy if we don't get enough vectors for cpu_count RSS rings plus cpu_count TX completion rings. This patch allows running MSIX with the vector count that the platform provides. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit b2014ff8ac314f58d6542ec4ea7b576a2de21c8b Author: Ron Mercer Date: Thu Aug 27 11:02:09 2009 +0000 qlge: Get rid of 'default' rx_ring type. Currently we have three types of RX rings. 1) Default ring - services rx_ring for broadcast/multicast, handles firmware events, and errors. 2) TX completion ring - handles only outbound completions. 3) RSS ring - handles only inbound completions. This patch gets rid of the default ring type and moves it's functionality into the first RSS ring. This makes better use of MSIX vectors since they are a limited resource on some platforms. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit b7f1d43a2ba1b63abbb1dcd966ab1edb9f62f636 Merge: 6c98885 ad43f8b Author: David S. Miller Date: Fri Aug 28 23:06:05 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 6c9888532bb540cb692f51f1d34fe9344eed5a0d Author: Petri Gynther Date: Fri Aug 28 12:05:15 2009 +0000 bonding: Have bond_check_dev_link examine netif_running bonding: Have bond_check_dev_link examine netif_running Some network devices do not call netif_carrier_off when they are set administratively down. Have the bonding link check function also inspect the netif_running state. Ignore netif_running if the bond_check_dev_link function is called with "reporting" set, as in that case it's inspecting the capabilities of the non-netif_carrier device driver. Signed-off-by: Petri Gynther Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit f584130616dfae757b888b7ee472e7c824f59e6a Author: Nicolas de Pesloüan Date: Fri Aug 28 13:18:34 2009 +0000 bonding: Fix useless test: int > INT_MAX max_bonds is of type int and cannot be greater than INT_MAX. Signed-off-by: Nicolas de Pesloüan Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 89c76c62f191daa7ede3d1d0c510a5ccfbcae571 Author: Stephen Hemminger Date: Fri Aug 28 12:05:13 2009 +0000 bonding: use compare_ether_addr Bonding can use compare_ether_addr() in bond_release. Signed-off-by: Stephen Hemminger Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 278339a42a1bcef1fb448d275056d519307e6025 Author: Jay Vosburgh Date: Fri Aug 28 12:05:12 2009 +0000 bonding: propogate vlan_features to bonding master Propogate the vlan_features of the slave devices to the bonding master device, using the same logic as for regular features. Tested by Or Gerlitz , who also removed the debug logic from the original test patch. Signed-off-by: Or Gerlitz Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 2a4ab640d3c28c2952967e5f63ea495555bf2a5f Author: Feng Tang Date: Tue Jul 7 23:01:15 2009 -0400 ACPI, x86: expose some IO-APIC routines when CONFIG_ACPI=n Some IO-APIC routines are ACPI specific now, but need to be exposed when CONFIG_ACPI=n for the benefit of SFI. Remove #ifdef ACPI around these routines: io_apic_get_unique_id(int ioapic, int apic_id); io_apic_get_version(int ioapic); io_apic_get_redir_entries(int ioapic); Move these routines from ACPI-specific boot.c to io_apic.c: uniq_ioapic_id(u8 id) mp_find_ioapic() mp_find_ioapic_pin() mp_register_ioapic() Also, since uniq_ioapic_id() is now no longer static, re-name it to io_apic_unique_id() for consistency with the other public io_apic routines. For simplicity, do not #ifdef the resulting code ACPI || SFI, thought that could be done in the future if it is important to optimize the !ACPI !SFI IO-APIC x86 kernel for size. Signed-off-by: Feng Tang Signed-off-by: Len Brown Cc: x86@kernel.org commit 96f845de89be6be12112d7b388cdf366dccfe12d Author: Takashi Iwai Date: Sat Aug 29 00:49:36 2009 +0200 ALSA: hda - Create "Digital Mic Capture Volume" correctly for IDT codecs So far, the digital mic capture volume wasn't created. This is because IDT codecs have output amps for digital mics, not input amps, while input amps should be used for other analog pins. Thus the automatic capture volume creation should check both directions for digital mics. Signed-off-by: Takashi Iwai commit ad43f8bfb7b9a6a8b800cdad24c4a62180a5eb3d Author: Kiran Divekar Date: Fri Aug 28 17:47:59 2009 +0530 libertas: add NULL check on return value of get_zeroed_page Most of the places in debugfs.c are missing a NULL check on the return value of get_zeroed_page API call. Added required NULL check at appropriate places. Signed-off-by: Kiran Divekar Signed-off-by: John W. Linville commit 04a6445f6f5e439ef775bd18cf3f485f84bbfb1b Author: Jussi Kivilinna Date: Fri Aug 28 13:28:35 2009 +0300 rndis_wlan: use cfg80211_wext_handler Now that cfg80211 functions are added and wext converted to use wext-compat functions, remove wext structures and disabled code. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 21ec2d8d0fee4f3bf0d2e25e5b63bf2637233b43 Author: Jussi Kivilinna Date: Fri Aug 28 13:28:30 2009 +0300 rndis_wlan: disable IWEVPMKIDCAND wireless event Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit a0f9ce2ac35a0c57413dafd90e316c4048d1b43e Author: Jussi Kivilinna Date: Fri Aug 28 13:28:24 2009 +0300 rndis_wlan: convert mic failure wireless event to cfg80211 Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 3334943cefa03a5384060e321e3dd9e686097caf Author: Jussi Kivilinna Date: Fri Aug 28 13:28:19 2009 +0300 rndis_wlan: remove unneeded SIOCSIWCOMMIT Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 305e243e6868eb6cf898183a523455bb9264cd2c Author: Jussi Kivilinna Date: Fri Aug 28 13:28:14 2009 +0300 rndis_wlan: rename wireless stats worker to device poller Stats worker no longer poll stats from device anymore. It's still needed to poll device control channel for connect/disconnect events, so rename stats worker as device poller. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit d695df9049199bdeadd81c29104da8e2542062cf Author: Jussi Kivilinna Date: Fri Aug 28 13:28:09 2009 +0300 rndis_wlan: add cfg80211 dump_station Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 8b89a2883be4b6bad8ac0c5928784febb2b34172 Author: Jussi Kivilinna Date: Fri Aug 28 13:28:03 2009 +0300 rndis_wlan: add cfg80211 get_station Add cfg80211 get_station and convert SIOCGIWRATE and get_wireless_stats to cfg80211. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 84bf8400cee127be3b58a9d9b8cfa453dad999ab Author: Jussi Kivilinna Date: Fri Aug 28 13:27:58 2009 +0300 rndis_wlan: add cfg80211 key handling Add cfg80211 add_key/del_key/set_default_key and convert wext to use theim. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5554adbe0d366f6a5096e6f74b48dcad5698c528 Author: Jussi Kivilinna Date: Fri Aug 28 13:27:53 2009 +0300 rndis_wlan: add cfg80211 set_channel Add cfg80211 set_channel and convert wext to use it. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5c52323e8c44a06183052986dbd028ce15622166 Author: Jussi Kivilinna Date: Fri Aug 28 13:27:47 2009 +0300 rndis_wlan: add cfg80211 connect, disconnect, join_ibss and leave_ibss Add cfg80211 connect functions for station and ad-hoc modes and convert wext to use theim. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 9f77ccab57534f45b0289ceae3a6b85478d14182 Author: Jussi Kivilinna Date: Fri Aug 28 12:59:26 2009 +0300 rndis_wlan: enable infrastructure before setting random essid Random essid must be set to turn on radio when not connected. If device is in ad-hoc mode, this results 'media connect' indications with the random essid which should be ignored. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 161391725eba1f07e98594369cfcb10c848ef352 Author: Jussi Kivilinna Date: Fri Aug 28 12:59:21 2009 +0300 rndis_wlan: set ieee80211_ptr->iftype in rndis_change_virtual_intf Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 7b1fff996a5408261ca458f82369d1f5b7aad2d4 Author: Jussi Kivilinna Date: Fri Aug 28 12:59:15 2009 +0300 rndis_wlan: use is_zero_ether_addr() and is_broadcast_ether_addr() Use is_zero_ether_addr() and is_broadcast_ether_addr() instead of memcmp against ffff_bssid/zero_bssid. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 0848e6c698237ba51c69eca10580d2f38a1179ad Author: Jussi Kivilinna Date: Fri Aug 28 12:59:10 2009 +0300 rndis_wlan: move link up/down work to separate functions Move link up/down work to separate functions and use local array for allocating memory for info structure instead of kzmalloc. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit b1d25a67647efacf2a9f2a1800f0c8195827f923 Author: Jussi Kivilinna Date: Fri Aug 28 12:59:05 2009 +0300 rndis_wlan: increase scan timer delay Increase scan delay from 1 sec to 6 sec. Spec says that scan by OID_802_11_BSSID_LIST_SCAN completes in 6 seconds. Before rfkill patch too short delay was not problem as device was always active (radio on) and performing background scanning. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5fd8f2503b0888ed0c8e0017264059a3f9dc51c0 Author: Jussi Kivilinna Date: Fri Aug 28 12:59:00 2009 +0300 rndis_wlan: resize bssid list if too small Buffer used for bssid list might be too small. Change rndis_query_oid() to return required buffer length to caller and make rndis_check_bssid_list() resize buffer when needed. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit db0dd396da45502e02c64c4153c5822ab5a59a5f Author: Jussi Kivilinna Date: Fri Aug 28 12:58:55 2009 +0300 rndis_wlan: get bssid scan list before new scan OID_802_11_BSSID_LIST_SCAN clears device's bssid list, so retrieve current bssid list from device before issuing new scan. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5f81ff5a7a12a9281d03be103382971ce490268e Author: Jussi Kivilinna Date: Fri Aug 28 12:58:49 2009 +0300 rndis_wlan: ignore OID_802_11_ADD_KEY triggered media connect indications Setting WPA keys with OID_802_11_ADD_KEY sometimes trigger instant media connect indication. These indications are extranous and should be ignored, as otherwise driver would send reassociation event to userspace which in this case is not needed. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 64e368bf9c3690eebd4b3a5cc243f39e902ecdd1 Author: Gábor Stefanik Date: Thu Aug 27 22:49:49 2009 +0200 b43: Implement antenna diversity support for LP-PHY The A/G-PHY changes are fallout fixes from the enum change, which in turn allows the LP-PHY code to be much simpler. The antenna_to_phyctl change is a fix for a potential existing bug that this patch may otherwise trigger. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 867b2efe68b6bb929e3bd1c6d699ba61ff2cf847 Author: Gábor Stefanik Date: Thu Aug 27 17:24:23 2009 +0200 b43: Enable LP-PHY support by default and remove Kconfig warning The most common LP-PHY device, BCM4312, is now fully functional. So, no need to say "probably won't work for you" anymore. It's also not "for debuggers and developers only", as it is perfectly usable for end-users now (at least for BCM4312). Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 97a81f5c5033cb02ae56dd80ff9c38866c777bd8 Author: Pavel Roskin Date: Wed Aug 26 22:30:09 2009 -0400 ath5k: don't use PCI ID to find the chip revision AR5K_SREV is available even if the chip has been put to sleep. Relying on the chip register allows binding non-standard PCI IDs by echo VENDOR_ID PRODUCT_ID >/sys/bus/pci/drivers/ath5k/new_id without having to specify the driver data as well. Signed-off-by: Pavel Roskin Acked-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 3b3ee43da43aca1cbf4c3651379b2b1492e49dd6 Author: Pavel Roskin Date: Wed Aug 26 22:30:00 2009 -0400 ath5k: fix uninitialized value use in ath5k_eeprom_read_turbo_modes() The `val' variable in ath5k_eeprom_read_turbo_modes() is used uninitialized. gcc 4.4.1 with -fno-inline-functions-called-once reports it: eeprom.c: In function 'ath5k_eeprom_read_turbo_modes': eeprom.c:441: warning: 'val' may be used uninitialized in this function Comparing the code to the Atheros HAL, it's clear that the split between ath5k_eeprom_read_modes() and ath5k_eeprom_read_turbo_modes() was incorrect. The Atheros HAL reads both turbo and non-turbo data from EEPROM in one function. Some turbo mode parameters are derived from the same EEPROM values as non-turbo parameters, just from different bits. Merge ath5k_eeprom_read_turbo_modes() into ath5k_eeprom_read_modes() to fix the warning. The actual values and offsets have been cross-checked against Atheros HAL. Signed-off-by: Pavel Roskin Acked-by: Bob Copeland Signed-off-by: John W. Linville commit ca5efbe243dde7d269b6bbae7feaa5e4740db36e Author: Bob Copeland Date: Thu Aug 27 15:17:15 2009 -0400 ath5k: clarify srev comparison for CCMP check As Pavel Roskin noted, the check for mac version as copied from legacy_hal made no sense. This replaces it with the equivalent and makes up a suitable #define for the mac version legacy_hal checked. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 00fa928df428521793866ff6832569d99be7f3e3 Author: Gábor Stefanik Date: Wed Aug 26 23:46:18 2009 +0200 b43: LP-PHY: Revert to the original PHY register write routine After some discussion on IRC about the PHY register write change, I am not sure anymore if this is the right thing to do. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 1303dcfd0504565aef8ef63487443ab1f814c00f Author: Johannes Berg Date: Wed Aug 26 22:15:13 2009 +0200 iwlwifi: fix ICT irq table endianness The ICT IRQ table is a set of __le32 values, not u32 values, so when reading it we need to take into account that it has to be converted to CPU endianness. This was causing a lot of trouble on my powerpc box where various things would simply not work for no apparent reason with 5xxx cards, but worked with 4965 -- which doesn't use the ICT table. Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 924d6356b216e592f596595757db8e955391a489 Author: Ivo van Doorn Date: Wed Aug 26 21:04:08 2009 +0200 rt2x00: Cleanup rt2x00mac_bss_info_changed() Since patch "rt2x00: bss_info_changed() callback is allowed to sleep" the variable delayed wasn't used anymore. This means it can be removed along with the call to schedule_work which depended on that variable. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 06e4da268c0e8f3b8408403d65e47d2885a78ff2 Author: Gábor Stefanik Date: Wed Aug 26 20:51:26 2009 +0200 ssb: Implement PMU LDO control and use it in b43 Implement the "PMU LDO set voltage" and "PMU LDO PA ref enable" functions, and use them during LP-PHY baseband init in b43. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 68ec53292c7f09056152efa9a6ee2591c794f08c Author: Gábor Stefanik Date: Wed Aug 26 20:51:25 2009 +0200 b43: Fix and update LP-PHY code -Fix a few nasty typos (b43_phy_* operations instead of b43_radio_*) in the channel tune routines. -Fix some typos & spec errors found by MMIO tracing. -Optimize b43_phy_write & b43_phy_mask/set/maskset to use only the minimal number of MMIO accesses. (Write is possible using a single 32-bit MMIO write, while set/mask/maskset can be done in 3 16-bit MMIOs). -Set the default channel back to 1, as the bug forcing us to use channel 7 is now fixed. With this, the device comes up, scans, associates, transmits, receives, monitors and injects on all channels - in other words, it's fully functional. Sensitivity and TX power are still sub-optimal, due to the lack of calibration (that's next on my list). Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit d8fa338ee01e7de029d2441a8c2b9c5fbfeac82f Author: Gábor Stefanik Date: Wed Aug 26 20:51:24 2009 +0200 b43: LP-PHY: Fix and simplify Qdiv roundup The Qdiv roundup routine is essentially a fixed-point division algorithm, using only integer math. However, the version in the specs had a major error that has been recently fixed (a missing quotient++). Replace Qdiv roundup with a rewritten, simplified version. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit ca9152e37f57259ca92486ca5753af16fd9155c6 Author: Herton Ronaldo Krzesinski Date: Wed Aug 26 13:54:09 2009 -0300 rtl8187: Implement rfkill support This change implements rfkill support for RTL8187B and RTL8187L devices, using new cfg80211 rfkill API. Acked-by: Larry Finger Tested-by: Hin-Tak Leung Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit 6a8171f261eec3577c2a5985e3a2b51377e48931 Author: Herton Ronaldo Krzesinski Date: Wed Aug 26 13:54:08 2009 -0300 rtl8187: fix circular locking (rtl8187_stop/rtl8187_work) Larry Finger reports following lockdep warning: [ INFO: possible circular locking dependency detected ] 2.6.31-rc6-wl #201 ------------------------------------------------------- rfkill/30578 is trying to acquire lock: (&(&priv->work)->work#2){+.+...}, at: [] __cancel_work_timer+0xd9/0x222 but task is already holding lock: (&priv->conf_mutex#2){+.+.+.}, at: [] rtl8187_stop+0x31/0x364 [rtl8187] which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&priv->conf_mutex#2){+.+.+.}: [] __lock_acquire+0x12d0/0x1614 [] lock_acquire+0xb9/0xdd [] mutex_lock_nested+0x56/0x2a8 [] rtl8187_work+0x3b/0xf2 [rtl8187] [] worker_thread+0x1fa/0x30a [] kthread+0x8f/0x97 [] child_rip+0xa/0x20 [] 0xffffffffffffffff -> #0 (&(&priv->work)->work#2){+.+...}: [] __lock_acquire+0x1005/0x1614 [] lock_acquire+0xb9/0xdd [] __cancel_work_timer+0x112/0x222 [] cancel_delayed_work_sync+0xd/0xf [] rtl8187_stop+0x34c/0x364 [rtl8187] [] ieee80211_stop_device+0x29/0x61 [mac80211] [] ieee80211_stop+0x476/0x530 [mac80211] [] dev_close+0x8a/0xac [] cfg80211_rfkill_set_block+0x4a/0x7a [cfg80211] [] rfkill_set_block+0x84/0xd9 [rfkill] [] rfkill_fop_write+0xda/0x124 [rfkill] [] vfs_write+0xae/0x14a [] sys_write+0x47/0x6e [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff The problem here is that rtl8187_stop, while helding priv->conf_mutex, runs cancel_delayed_work_sync on an workqueue that runs rtl8187_work, which also takes priv->conf_mutex lock. Move cancel_delayed_work_sync out of rtl8187_stop priv->conf_mutex locking region. Reported-by: Larry Finger Tested-by: Larry Finger Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit 1773912bd25196c2a3ca6c174574561363f43b2b Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:50 2009 +0530 ath9k: Add Bluetooth Coexistence 3-wire support This patch adds 3-wire bluetooth coex support for AR9285. This support can be enabled through btcoex_enable modparam. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ff155a45cea56ad7a90c3f5192db59a4c7812fde Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:49 2009 +0530 ath9k: Add infrastructure for generic hw timers Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 81fa16fbe06cb3a4d29cc5a6f925132554521c72 Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:48 2009 +0530 ath9k: Remove hw capability bit meant for btcoex We don't need a hw cap bit for btcoex anymore as btcoex scheme type is enough to do this. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 22f25d0d5e146112d4ec464564ebb49a5b8a547b Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:47 2009 +0530 ath9k: Determine btcoex scheme type based on chip version Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f14462c6661c6b9e91d436f7ab66b35ed52ea703 Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:46 2009 +0530 ath9k: Move btcoex related data to a separate struct Also define macros for wlanactive and btactive (5 & 6) gpios. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 42cc41edf24b75fc6c37c99aed6e85455687e080 Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:45 2009 +0530 ath9k: Configure btcoex register during every reset Make sure btcoex register configured with appropriate values after it is initialized with the default values from initvals.h during reset. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 17d50d1df48631ae868958032edada7aa920636b Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:44 2009 +0530 ath9k: Move btcoex stuff from hw.[ch] to new btcoex.[ch] Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f985ad12b595094839fddaf757fcf5d853ed3d7f Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:43 2009 +0530 ath9k: Split ath9k_hw_btcoex_enable() into two logical pieces This function currently does initialization + enable the btcoex support. Split it into two logical functions which does the above operations separately. Btcoex initialization is done during attach time and enabling this feature is done in start(). Also, add code to disable btcoex support in stop(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 4a7f13eef508012bd1b0ffbb24b807e3494f31cd Author: Jussi Kivilinna Date: Wed Aug 26 15:53:02 2009 +0300 rndis_wlan: set cipher suites for cfg80211 rndis_wlan does not set cipher suites list for cfg80211 which causes wext-compat-range to report rndis_wlan not supporting WPA. Patch adds cipher suites list and fixes NetworkManager not being able to connect to WPA encrypted APs. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 7cf4a2e778ab18c66cd8dd4785aceb2800d49f79 Author: Sujith Date: Wed Aug 26 11:11:57 2009 +0530 ath9k: Wrap DMA dump function with PS wakeup/restore When dumping register contents, HW has to be awake. Signed-off-by: Sujith Signed-off-by: John W. Linville commit b264c673a03329b5e5bab79b705b5bb5ab1fe965 Author: Sujith Date: Wed Aug 26 08:39:55 2009 +0530 ath9k: Update INITVALs for AR9285 Signed-off-by: Sujith Signed-off-by: John W. Linville commit 20caf0dd4131d030c2a4099e2c2766ec7a5e83ea Author: Sujith Date: Wed Aug 26 08:39:52 2009 +0530 ath9k: Handle PA cal usage properly PA Calibration is not needed for high power solutions. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0abb0968795b55ecb102bf635a94a087bbb5aff5 Author: Sujith Date: Wed Aug 26 08:39:50 2009 +0530 ath9k: Fix bugs in programming registers during PA CAL * First PA driver (PDPADRV1) was not powered down properly. * Compensation capacitor for dynamic PA was programmed incorrectly. Also, remove a stray REG_READ. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a13883b0bfcc435e4b7fbbde6334339aac8b1dc4 Author: Sujith Date: Wed Aug 26 08:39:40 2009 +0530 ath9k: Reduce the frequency of PA offset calibration PA calibration need not be done if the offset is not varying. The current logic does PA calibration even if the offset is the same. Signed-off-by: Sujith Signed-off-by: John W. Linville commit b8ecd988b1670035a05035c553c08331214d6603 Author: John W. Linville Date: Tue Aug 25 14:12:25 2009 -0400 libipw: initiate cfg80211 API conversion Initiate the conversion of libipw to the new cfg80211 configuration API. For now, leave CONFIG_IPW2200_PROMISCUOUS stuff alone. Eventually migrate it to cfg80211 when the add/del/change_virtual_intf methods are implemented. Signed-off-by: John W. Linville commit 73f57f8398ed6cba82f9856e20d94d71e6edb3e2 Author: Roel Kluin Date: Fri Aug 7 23:50:00 2009 +0200 ath9k: Fix read buffer overflow Prevent a read of powInfo[-1] in the first iteration. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit 5bf6fcc2bbfb90d997f88c969f1ceee35d064a24 Author: Jouni Malinen Date: Tue Aug 25 17:44:28 2009 +0300 mac80211: Check pending scan request after having processed mgd work When the queued management work items are processed in ieee80211_sta_work() an item could be removed. This could change the anybusy from true to false, so we better check whether we can start a new scan only after having processed the pending work first. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 15db0b7fd872b0312033666d3a82e1214a227ec0 Author: Johannes Berg Date: Tue Aug 25 16:33:47 2009 +0200 mac80211: fix scan cancel on ifdown When an interface is taken down while a scan is pending -- i.e. a scan request was accepted but not yet acted upon due to other work being in progress -- we currently do not properly cancel that scan and end up getting stuck. Fix this by doing better checks when an interface is taken down. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6bd5f5208fac04d00325b458355e4a4abda76595 Author: Gábor Stefanik Date: Tue Aug 25 16:17:48 2009 +0200 b43: LP-PHY: Fix a few typos in the RC calibration code The RC calibration code has some typos - fix them. Also, make the default channel 7, as channel 1 is still broken (only channels 7 and 8, and occasionally 9 work). Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 1e4c7ddc3c34b3e129ec34b3f90bd6359743a5bb Author: Jaswinder Singh Rajput Date: Tue Aug 25 15:28:45 2009 +0530 PRISM54: fix compilation warning CC [M] drivers/net/wireless/prism54/islpci_eth.o drivers/net/wireless/prism54/islpci_eth.c: In function ‘islpci_eth_cleanup_transmit’: drivers/net/wireless/prism54/islpci_eth.c:53: warning: cast from pointer to integer of different size drivers/net/wireless/prism54/islpci_eth.c: In function ‘islpci_eth_receive’: drivers/net/wireless/prism54/islpci_eth.c:453: warning: cast from pointer to integer of different size Signed-off-by: Jaswinder Singh Rajput Signed-off-by: John W. Linville commit 1c81874078dc96b8158ce7b0dab54afe43c8d03e Author: Bob Copeland Date: Mon Aug 24 23:00:33 2009 -0400 ath5k: add hardware CCMP encyption support Recent ath5k hardware is capable of doing CCMP acceleration. Enable it for the cards that support it. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 1c5256bb168faca5ce32a9c9511c8389f9fed31c Author: Bob Copeland Date: Mon Aug 24 23:00:32 2009 -0400 ath5k: use the skb->cb directly for RX status Save a memcpy by just storing updates directly in the skb control block. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 09c9bae26b0d3c9472cb6ae45010460a2cee8b8d Author: Marcos Chaparro Date: Mon Aug 24 23:00:31 2009 -0400 ath5k: add led pin configuration for compaq c700 laptop With this patch, a compaq c700 can turn on the wifi led. The array of compatible devices now includes the hardware present in this computer, as well as the led pin and polarity. Signed-off-by: Marcos Chaparro Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 56d1de0a21db28e41741cfa0a66e18bc8d920554 Author: Bob Copeland Date: Mon Aug 24 23:00:30 2009 -0400 ath5k: clean up filter flags setting The maze of if() statements in configure_filter is confusing. Reorganizing it as a switch statement makes it more apparent what is going on and reveals several suspicious settings. This has no functional changes, though it does remove some redundant flags that are set earlier. Also now that we can sleep, protect sc->filter_flags with the sc lock. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit eadac6bf95e1945bb64e6f8f22d8509391645e2e Author: Arnd Hannemann Date: Mon Aug 24 20:51:46 2009 +0200 mac80211: Fix output of minstrels rc_stats An integer overflow in the minstrel debug code prevented the throughput to be displayed correctly. This patch fixes that, by permutating operations like proposed by Pavel Roskin. Signed-off-by: Arnd Hannemann Signed-off-by: John W. Linville commit 2aa7b01fe4f2d0978115bfd40364f52d86003606 Author: Lennert Buytenhek Date: Mon Aug 24 15:48:07 2009 +0200 mwl8k: separate driver and device info reporting during probe Only print the driver version once, and condense all per-PHY information to a single line. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 76c962a204f8d36b762440aa941fcea3d44e2fd2 Author: Lennert Buytenhek Date: Mon Aug 24 15:42:56 2009 +0200 mwl8k: missing endian conversion when printing firmware command result Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 39a1e42eb4d0a2bc3f1211e9012bd23734ab86db Author: Lennert Buytenhek Date: Mon Aug 24 15:42:46 2009 +0200 mwl8k: fix pci dma mapping leak in mwl8k_post_cmd() error path Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 942457d63fedd08ce7330b89fc2934be02c3fecc Author: Lennert Buytenhek Date: Mon Aug 24 15:42:36 2009 +0200 mwl8k: fix inverted error test in mwl8k_bss_info_changed() Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 77a980dc6c4674fc7741d72b9775135669318d8d Author: Johannes Berg Date: Mon Aug 24 11:46:30 2009 +0200 mac80211: fix RX skb leaks In mac80211's RX path some of the warnings that warn about drivers passing invalid status values leak the skb, fix that by refactoring the code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0448b5fc032ea76096eb3cfbe3196b3c01b08b86 Author: Roel Kluin Date: Sat Aug 22 21:15:49 2009 +0200 nl80211: jump to out_err upon unsupported iftype Jump to out_err when the iftype is not supported. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit 229a7ef7c2861f9ecb7e025f4bd4ea1167fbb0a7 Author: Joerg Albert Date: Fri Aug 21 22:53:37 2009 +0200 ar9170: remove unnecessary call to ar9170_set_beacon_timers Signed-off-by: Joerg Albert Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit ea39d1a4027cca99cc75126f574633c3b72da04a Author: Joerg Albert Date: Fri Aug 21 23:25:07 2009 +0200 ar9170: cleanup of bss_info_changed and beacon config Add beacon control by BSS_CHANGED_BEACON_ENABLED and bss_conf->enable_beacon from mac80211. Signed-off-by: Joerg Albert Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a0bf797ff10cdbc15e8abe1309e7ab397f61691f Author: Reinette Chatre Date: Fri Aug 21 14:03:51 2009 -0700 MAINTAINERS: Update ipw2x00 and iwlwifi entries Update MAINTAINERS file to reflect current maintenance status of ipw2x00 drivers. We remove James's name as he is not involved with this project anymore. We also update the Status to "Odd Fixes". This has been true for a while now, we have to make it official. There is also a new email address with which all relevant people can be reached. The same email address should be used for iwlwifi. Signed-off-by: Reinette Chatre Cc: James Ketrenos Acked-by: James Ketrenos Acked-by: Zhu Yi Signed-off-by: John W. Linville commit c1eb2c82e5ccc9b691f737c3150e746c9af3ffab Author: Reinette Chatre Date: Fri Aug 21 13:34:26 2009 -0700 ipw2x00: update contact information Intel Linux wireless folks can be reached via this address. Signed-off-by: Reinette Chatre Acked-by: Zhu Yi Signed-off-by: John W. Linville commit 5bddf54962bf68002816df710348ba197d6391bb Author: Wey-Yi Guy Date: Fri Aug 21 13:34:25 2009 -0700 iwlwifi: fix unloading driver while scanning If NetworkManager is busy scanning when user tries to unload the module, the driver can not be unloaded because HW still scanning. Make sure driver sends abort scan host command to uCode if it is in the middle of scanning during driver unload. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b2ccb4dbe77eaebb6b286402c31b4e2b1155660f Author: Abhijeet Kolekar Date: Fri Aug 21 13:34:24 2009 -0700 iwlwifi: fix remove key error Fix following error by sending synchronous command and waiting for the command to complete. mac80211-phy0: failed to remove key (0, ff:ff:ff:ff:ff:ff) from hardware (-16). -16 is EBUSY error. The asynchronous command tests for STATUS_EXIT_PENDING while interface is getting down and it returns -EBUSY error if set. Changing the host command from asynchronous call to synchronous call enables command to be run while interface is going down. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ab9fd1bf76ffebf6c3b3d5800092387edf1201b9 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:23 2009 -0700 iwlwifi: read enhanced tx power info from EEPROM image For 6000 series and up, additional enhanced regulatory tx power limitation information is added to EEPROM image. In order to setup the tx power limitation per channel correctly. Read the enhanced tx power information from EEPROM image and update accordingly. The information is provided per SISO (a,b,c) chain based, it also has information for both MIMO2 and MIMO3. For tx power regulatory limitation, take the highest number from all the chains and update. Also update tx_power_user_lmt to the highest power supported by any channels and chains Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c4d9b50986b4264f32883d19ac260a11647860e1 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:22 2009 -0700 iwlwifi: remove duplicated define Remove duplicated define "STA_FLG_PWR_SAVE_MSK" Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c5f8cdb72e3940d647980358dec0aba945a3bb57 Author: Daniel C Halperin Date: Fri Aug 21 13:34:21 2009 -0700 iwlwifi: set HT flags in ieee80211_rx_status for received packets Add code to set the HT flags (HT, 40 MHz, Short guard interval) in the ieee80211_rx_status field passed to mac80211. This ensures that mac80211 processes these HT packets correctly. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7ebaeff8ae0ba14c086b117f451c5b40bea8a64b Author: Daniel C Halperin Date: Fri Aug 21 13:34:20 2009 -0700 iwlwifi: clear rate control flags on non-HT packet Clear the flags (most importantly, the IEEE80211_TX_RC_MCS flag) when sending a non-HT packet so that the rate index can be properly treated. This fixes the reporting of legacy rates in wireless-extensions for packets sent after an HT packet. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f204b2487e5503ca4a9f3e69dcd63f6af979aaac Author: Wey-Yi Guy Date: Fri Aug 21 13:34:19 2009 -0700 iwlwifi: show current tx power debugFs file show current tx power for all the transmit chains Adding "tx_power" file in /sys/kernal/debug/ieee80211/phy0/iwlagn/debug to display current tx power for all the active chains in 1/2 dB step. Show tx power information "Not available" if uCode can not provide the information or interface is down. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fcbaf8b06da385c73cb6218f079e9ddba9ee9f7c Author: Wey-Yi Guy Date: Fri Aug 21 13:34:18 2009 -0700 iwlwifi: change IWL6000_UCODE_API_MAX to v4 uCode version changed to v4 for 6000 series The additional parameter added to v4 is providing current tx power for each chain in tx statistics portion of "statistics notification" command. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5eadd94bd4006aacf12052c447bcc997bf6ecd28 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:17 2009 -0700 iwlwifi: error checking for setting tx_power in sysfs Perform error checking and report failure when setting tx power from sysfs. If fail to set the tx power, do not update the local copy, so user will not see the incorrect tx power in sysfs Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit dc1b09733215e19f6a0f676be2744fe2f5471d85 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:16 2009 -0700 iwlwifi: name changes from "tx_power_channel_lmt" to "tx_power_device_lmt" Changing the name from "tx_power_channel_lmt" to "tx_power_device_lmt"; to give idea that scope of limit is for overall device, not any individual channels Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 08f2d58d0e573d13a8eb0afbb6f3122da37b9ce3 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:15 2009 -0700 iwlwifi: do not allow set tx power over channel power limit When setting tx power in sysfs, check against max channel tx power limit instead of IWL_TX_POWER_TARGET_POWER_MAX. Different devices have different max tx power limit; using IWL_TX_POWER_TARGET_POWER_MAX can excess the limitaion and give wrong information. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 02eec9c5a1d3e9a2bed5e6221970febef38fc080 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:14 2009 -0700 iwlwifi: set default tx power user limit to minimal Set the tx_power_user_lmt to the lowest power level this value will get overwritten by channel's max power avg from eeprom Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit aa065263ecb0b0df096ff4b02b2fb88060dd2d45 Author: Gábor Stefanik Date: Fri Aug 21 20:44:09 2009 +0200 iwlwifi: Make injection of non-broadcast frames work again Commit 1ccb84d87d04df3c76cd4352fe69786d8c7cf016 by Wey-Yi Guy ("iwlwifi: clean up unused NL80211_IFTYPE_MONITOR for Monitor mode") broke injection of non-broadcast frames to unassociated stations (causing a SYSASSERT for all such injected frames), due to injected frames no longer automatically getting a broadcast station ID assigned. This patch restores the old behavior, fixing the aforementioned regression. Also, consistently check for IEEE80211_TX_CTL_INJECTED instead of iwl_is_monitor_mode in the TX path, as TX_CTL_INJECTED specifically means that a given packet is coming from a monitor interface, while iwl_is_monitor_mode only shows whether a monitor interface exists on the device. Signed-off-by: Gábor Stefanik Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 9d45368a3825349d8ba686bc36df589d16577dd4 Author: Marek Vasut Date: Fri Aug 21 04:08:16 2009 +0200 libertas: Add support for Marvell Libertas CF8305 The CF8305 is a very old silicon running firmware version 3.0 . This card also needs some special treatment as it's so old it can't do unaligned register access. But since that happens only at one place, there were no changes made to the register access functions, but instead that particular place was fixed. Also, this card uses only one-stage firmware which is loaded the same way as helper firmware. The second-stage firmware isn't loaded on this card and doesn't therefore have to be supplied. Signed-off-by: Marek Vasut Signed-off-by: John W. Linville commit ca4fe30097d700c595c13362200083650759e104 Author: Dan Williams Date: Fri Aug 21 09:35:20 2009 -0500 libertas: clean up and clarify get_common_rates Clarify what the heck the function is doing with better variable names and less indirection and better comments. Also ensure callers use the proper minimum size, even though all rates arrays should be size MAX_RATES anyway. Reverts part of Andrey's dynamic alloc patch since we don't really need it. Also leaves the passed-in rates array alone on errors. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 1e3d31c589a6bcb05cd7fccccf9657c27b0e3dd1 Author: Roel Kluin Date: Sun Aug 2 09:44:12 2009 +0200 libertas: Read buffer overflow Check whether index is within bounds before testing the element. (also includes "Libertas: Association request to the driver failed" The size of the tmp buffer was too small, causing a regression rates->rates has an arraysize of 1, so a memcpy with MAX_RATES (14) was already causing reads out of bounds. In get_common_rates() the memset/memcpy can be moved upwards. -- JWL) Signed-off-by: Roel Kluin Tested-by: Daniel Mack Signed-off-by: John W. Linville commit 1c4e9ab3f1cc458306b3b910000371ba4f71c4d2 Author: Arnd Hannemann Date: Fri Aug 21 16:11:30 2009 +0200 mac80211: Remove unnused throughput field from minstrel_rate. I noticed that the throughput field of the minstrel_rate struct is never used, so remove it. Signed-off-by: Arnd Hannemann Signed-off-by: John W. Linville commit ea77f12f2cc0f31168f2e0259e65a22202ac4dc2 Author: Johannes Berg Date: Fri Aug 21 14:44:45 2009 +0200 mac80211: remove tasklet enable/disable Due to the way the tasklets work in mac80211 there's no need to ever disable them. However, we need to clear the pending packets when taking down the last interface because otherwise the tx_pending_tasklet might be queued if the driver mucks with the queues (which it shouldn't). I've had a situation occasionally with ar9170 in which ksoftirq was using 100% CPU time because a disabled tasklet was scheduled, and I think that was due to ar9170 receiving a packet while the tasklet was disabled. That's strange and it really should not do that for other reasons, but there's no need to waste that much CPU time over it, it should just warn instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3d54d25515838543e56889aa7e48f40d00719368 Author: Johannes Berg Date: Fri Aug 21 14:51:05 2009 +0200 cfg80211: clean up properly on interface type change When the interface type changes while connected, and the driver does not require the interface to be down for a type change, it is currently possible to get very strange results unless the driver takes special care, which it shouldn't have to. To fix this, take care to disconnect/leave IBSS when changing the interface type -- even if the driver may fail the call. Also process all events that may be pending to avoid running into a situation where an event is reported but only processed after the type has already changed, which would lead to missing events and warnings. A side effect of this is that you will have disconnected or left the IBSS even if the mode change ultimately fails, but since the intention was to change it and thus leave or disconnect, this is not a problem. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f7969969f416e593bcc7dc24abf3f9fd6c27136d Author: Johannes Berg Date: Fri Aug 21 12:23:49 2009 +0200 cfg80211: make spurious warnings less likely, configurable Bob reported that he got warnings in IBSS mode about the ssid_len being zero on a joined event, but only when kmemcheck was enabled. This appears to be due to a race condition between drivers and userspace, when the driver reports joined but the user in the meantime decided to leave the IBSS again, the warning would trigger. This was made more likely by kmemcheck delaying the code that does the check and sends the event. So first, make the warning trigger closer to the driver, which means it's not locked, but since only the warning depends on it that's ok. And secondly, users will not want to have spurious warnings at all, so make those that are known to be racy in such a way configurable. Reported-by: Bob Copeland Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3d832611d794b3d312d26a4b251ac5285206f90d Author: Sujith Date: Fri Aug 21 12:00:28 2009 +0530 ath9k: Fix chainmask selection during scanning The TX/RX chainmasks were set to 1x1 during scanning. Configure them properly with the values retrieved from the EEPROM. Also, this requires scan_start/scan_end callbacks to be locked with sc->mutex. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 103bf9f7d35849bce52ad412e4da5063b0716969 Author: John W. Linville Date: Thu Aug 20 16:34:15 2009 -0400 mac80211: remove ieee80211_rx namespace hack With the libipw naming scheme change, it is no longer necessary for mac80211 to avoid the ieee80211_rx name clash. Reported-by: Johannes Berg Signed-off-by: John W. Linville commit b0a4e7d8a291de63f35b04464de9ab4a83d38a7c Author: John W. Linville Date: Thu Aug 20 14:48:03 2009 -0400 libipw: switch from ieee80211_* to libipw_* naming policy This eliminates the dual definition of ieee80211_channel (and possibly others), further clarifying who defines what and paving the way for inclusion of cfg80211.h. Signed-off-by: John W. Linville commit 01a0ac417ce9b4f1216a266f2fd454cffefc5aee Author: Johannes Berg Date: Thu Aug 20 21:36:16 2009 +0200 cfg80211: check lost scans later, fix bug When we lose a scan, cfg80211 tries to clean up after the driver. However, it currently does this too early, it does this in GOING_DOWN already instead of DOWN, so it may happen with mac80211. Besides fixing this, also make it more robust by leaking the scan request so if the driver later actually finishes the scan, it won't crash. Also check in ___cfg80211_scan_done whether a scan request is still pending and exit if not. Reported-by: Felix Fietkau Signed-off-by: Johannes Berg Tested-by: Felix Fietkau Signed-off-by: John W. Linville commit 40ba60ddfeff8ef42fb33c0bdacfbb5f83e96b32 Author: Jussi Kivilinna Date: Thu Aug 20 21:00:34 2009 +0300 rndis_wlan: fix broken logic in add_wep_key() add_wep_key() tries to check if key length is not 5 AND not 13 but uses (key_len != 5 || key_len != 13) instead. Fix this. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 84f6a01ce05fa671f7745b6e041e698a2d1f1341 Author: Johannes Berg Date: Thu Aug 20 20:02:20 2009 +0200 mac80211: fix configure_filter invocation after stop Since configure_filter can sleep now, any multicast configuration needed to be postponed to a work struct. This, however, lead to a problem that we could queue the work, stop the device and then afterwards invoke configure_filter which may lead to driver hangs and is a bug. To fix this, we can just cancel the filter work since it's unnecessary to do after stopping the hw. Since there are various places that call drv_stop, and two of them do very similar things, the code for them can be put into a shared function at the same time. Signed-off-by: Johannes Berg Reported-by: Lennert Buytenhek Tested-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 5eb6ba83aa326e2f2cf9109d20df5d6a497b36bb Author: Javier Cardona Date: Thu Aug 20 19:12:07 2009 -0700 ath9k: Add support FIF_OTHER_BSS filtering mode. Support for FIF_OTHER_BSS was missing. This patch adds support for this filtering mode which in turn resolves a problem where mesh interfaces would not receive broadcast traffic. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 9e03fdfd05e733e1136d431973625b174029c5e6 Author: Javier Cardona Date: Thu Aug 20 09:21:45 2009 -0700 mac80211: Update mesh config IE to 11s draft 3.02 The mesh config information element has changed significantly since draft 1.08 This patch brings it up to date. Thanks to Sam Leffler and Rui Paulo for identifying this. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 90d6f92828a081a86cb4f9644b6eef6207855050 Author: Christian Lamparter Date: Thu Aug 20 20:22:01 2009 +0200 p54: fix broadcast buffering in AP mode The patch "mac80211: fix PS-poll response race" somehow broke broadcast buffering in a funny way. During normal operation - stations are awake - the firmware refused to transmit broadcast frames and reported P54_TX_PSM_CANCELLED. But everything worked as soon as one station entered PSM. The reason: The stack sets IEEE80211_TX_CTL_SEND_AFTER_DTIM for outgoing broadcast frames as soon as a station is marked as sleeping. This flag triggers a path which will reroute these frames into p54's "content after beacon" queue, which is designed to cope with the demands for psm. This patch restores the old behavior. IEEE80211_TX_CTL_CLEAR_PS_FILT will once again be used to signalize the firmware to ignore the ps canceling for certain frames. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d2c0bdaa9362c4b2ab7416420d034a0a2d1ec979 Author: Jarkko Nikula Date: Fri Aug 28 15:35:35 2009 +0300 ASoC: OMAP: Add functionality to set CLKR and FSR sources in McBSP DAI The McBSP1 port in OMAP3 processors (I believe OMAP2 too but I don't have specifications to check it) have additional CLKR and FSR pins for McBSP1 receiver. Reset default is that receiver is using bit clock and frame sync signal from those pins but it is possible to configure to use also CLKX and FSX pins as well. In fact, other McBSP ports are doing that internally that transmitter and receiver share the CLKX and FSX. Add functionaly that machine drivers can set the CLKR and FSR sources by using the snd_soc_dai_set_sysclk. Thanks to "Aggarwal, Anuj" for reporting the issue. Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown commit 0dd7b74787eaf7858c6c573353a83c3e2766e674 Author: Frederic Weisbecker Date: Fri Aug 28 00:50:06 2009 +0200 tracing: Fix double CPP substitution in TRACE_EVENT_FN TRACE_EVENT_FN relays on TRACE_EVENT by reprocessing its parameters into the ftrace events CPP macro. This leads to a double substitution in some cases. For example, a bad consequence is a format always prefixed by "%s, %s\n" for every TRACE_EVENT_FN based events. Eg: cat /debug/tracing/events/syscalls/sys_enter/format [...] print fmt: "%s, %s\n", "\"NR %ld (%lx, %lx, %lx, %lx, %lx, %lx)\"",\ "REC->id, REC->args[0], REC->args[1], REC->args[2], REC->args[3],\ REC->args[4], REC->args[5]" This creates a failure in post-processing tools such as perf trace or trace-cmd. Then drop this double substitution and replace it by a new __cpparg() macro that relays CPP arguments containing commas. Signed-off-by: Frederic Weisbecker Cc: Josh Stone Cc: Li Zefan Cc: Steven Rostedt Cc: Jason Baron LKML-Reference: <1251413406-6704-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 66c6e29f24a50173fc1e761c3e2483c8d64e3b1a Merge: 6c347d4 117226d Author: Ingo Molnar Date: Fri Aug 28 13:53:07 2009 +0200 Merge branch 'tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core commit 119e7a22bb70d84849384e5113792cd45afa4f85 Author: Pierre Habouzit Date: Thu Aug 27 09:59:02 2009 +0200 perf tools: do not complain if root is owning perf.data This improves patch fa6963b24 so that perf.data stuff that has been dumped as root can be read (annotate/report) by a user without the use of the --force. Rationale is that root has plenty of ways to screw us (usually) that do not require twisted schemes involving specially crafting a perf.data. Signed-off-by: Pierre Habouzit Cc: Paul Mackerras Cc: Peter Zijlstra Cc: LKML-Reference: <20090827075902.GF19653@laphroaig.corp> Signed-off-by: Ingo Molnar commit f4890b5c04b6301ef9c3c44ecbfe9955efdbaa17 Author: Chaithrika U S Date: Tue Aug 25 15:22:21 2009 +0300 ASoC: davinci: i2c device creation moved into board files Also, the codec setup data structure has to remain for successful probe. Signed-off-by: Chaithrika U S Signed-off-by: Kevin Hilman Signed-off-by: Mark Brown commit 34d76c41554a05425613d16efebb3069c4c545f0 Author: Peter Zijlstra Date: Thu Aug 27 13:08:56 2009 +0200 sched: Fix division by zero - really When re-computing the shares for each task group's cpu representation we need the ratio of weight on each cpu vs the total weight of the sched domain. Since load-balancing is loosely (read not) synchronized, the weight of individual cpus can change between doing the sum and calculating the ratio. The previous patch dealt with only one of the race scenarios, this patch side steps them all by saving a snapshot of all the individual cpu weights, thereby always working on a consistent set. Signed-off-by: Peter Zijlstra Cc: torvalds@linux-foundation.org Cc: jes@sgi.com Cc: jens.axboe@oracle.com Cc: Balbir Singh Cc: Arjan van de Ven Cc: Yinghai Lu LKML-Reference: <1251371336.18584.77.camel@twins> Signed-off-by: Ingo Molnar commit d498bc1f6261dd6f655440eb2f1c7fa25694d3ba Author: Frederic Weisbecker Date: Fri Aug 28 04:46:07 2009 +0200 perf tools: Fix missing string field printing in perf trace Some string fields are not printed because of a missing printf in the post-processing. Before: perf-10070 [000] 0.000000: sched_switch: task :10070 [120] (R) ==> :5720 [120] geany-5720 [000] 0.000000: sched_switch: task :5720 [120] (S) ==> :10070 [120] perf-10070 [000] 0.000000: sched_switch: task :10070 [120] (R) ==> :5720 [120] geany-5720 [000] 0.000000: sched_switch: task :5720 [120] (S) ==> :10070 [120] -0 [000] 0.000000: sched_switch: task :0 [140] (R) ==> :361 [115] After: perf-10070 [000] 0.000000: sched_switch: task perf:10070 [120] (R) ==> geany:5720 [120] geany-5720 [000] 0.000000: sched_switch: task geany:5720 [120] (S) ==> perf:10070 [120] perf-10070 [000] 0.000000: sched_switch: task perf:10070 [120] (R) ==> geany:5720 [120] geany-5720 [000] 0.000000: sched_switch: task geany:5720 [120] (S) ==> perf:10070 [120] -0 [000] 0.000000: sched_switch: task swapper:0 [140] (R) ==> kondemand/1:361 [115] Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt LKML-Reference: <1251427567-10551-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 1ef2ed1066ae9f8080cd96cba11c2d41118b8792 Author: Frederic Weisbecker Date: Fri Aug 28 03:09:58 2009 +0200 perf tools: Only save the event formats we need While opening a trace event counter, every events are saved in the trace.info file. But we only want to save the specifications of the events we are using. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt LKML-Reference: <1251421798-9101-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit cf0baf16c3a3b3dd67ea3df346479032ab10e988 Author: Takashi Iwai Date: Fri Aug 28 07:22:05 2009 +0200 ALSA: Fixed a typo of printk() Fixed a silly typo of printk() included in the previous patch... Signed-off-by: Takashi Iwai commit 5d4a9dba2d7fbab69f00dedd430d1788834a055a Author: Steven Rostedt Date: Thu Aug 27 16:52:21 2009 -0400 tracing: only show tracing_max_latency when latency tracer configured The tracing_max_latency file should only be present when one of the latency tracers ({preempt|irqs}off, wakeup*) are enabled. This patch also removes tracing_thresh when latency tracers are not enabled, as well as compiles out code that is only used for latency tracers. Reported-by: Arnaldo Carvalho de Melo Signed-off-by: Steven Rostedt commit c0729be99cb2b9d9749256254f1c40a801835896 Author: Steven Rostedt Date: Wed Aug 26 22:23:52 2009 -0400 tracing: remove legacy select of MARKERS by context switch tracing The context switch tracer was made before tracepoints were mature, and the original version used markers. This is no longer true and this patch removes the select. Reported-by: Thomas Gleixner Signed-off-by: Steven Rostedt commit 5a53a7640a7af7acf904ed805c6fd1bf9fea829c Author: Takashi Iwai Date: Thu Aug 27 21:04:12 2009 +0200 ALSA: pcm - Increase protocol version Increase the PCM protocol version to indicate the drain ioctl behavior change. Signed-off-by: Takashi Iwai commit 6c347d43eea29221a8ebab9ff9cbe7a00cddac98 Author: Frederic Weisbecker Date: Thu Aug 27 18:17:34 2009 +0200 tracing: Undef TRACE_EVENT_FN between trace events headers inclusion The recent commit: tracing/events: fix the include file dependencies fixed a file dependency problem while including more than one trace event header file. This fix undefined TRACE_EVENT after an event header macro preprocessing in order to make tracepoint.h able to correctly declare the tracepoints necessary for the next event header file. But now we also need to undefine TRACE_EVENT_FN at the end of an event header file preprocessing for the same reason. This fixes the following build error: In file included from include/trace/events/napi.h:5, from net/core/net-traces.c:28: include/linux/tracepoint.h:285:1: warning: "TRACE_EVENT_FN" redefined In file included from include/trace/define_trace.h:61, from include/trace/events/skb.h:40, from net/core/net-traces.c:27: include/trace/ftrace.h:50:1: warning: this is the location of the previous definition In file included from include/trace/events/napi.h:5, from net/core/net-traces.c:28: include/linux/tracepoint.h:285:1: warning: "TRACE_EVENT_FN" redefined In file included from include/trace/define_trace.h:61, from include/trace/events/skb.h:40, from net/core/net-traces.c:27: include/trace/ftrace.h:50:1: warning: this is the location of the previous definition Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Masami Hiramatsu Cc: Xiao Guangrong Cc: Steven Rostedt Cc: Li Zefan LKML-Reference: <20090827161732.GA7618@nowhere> Signed-off-by: Ingo Molnar commit 36ce99c1dcab2978fc1900f19b431adedd8f99f6 Author: Takashi Iwai Date: Thu Aug 27 16:45:07 2009 +0200 ALSA: Add debug module option Add debug module option to snd core. This controls the debug print level. When CONFIG_SND_DEBUG_VERBOSE is set, you can suppress the debug messages by giving or changing this parameter to a lower value. debug=0 means no debug messsages. As default, it's set to the verbose level 2. Since this option can be changed dynamically via sysfs file, you can suppress the verbose debug messages on the fly, which wasn't possible before. Signed-off-by: Takashi Iwai commit 8d8291ae93ecb4a246e87e452d55cca412373300 Author: Steven Whitehouse Date: Thu Aug 27 15:51:07 2009 +0100 GFS2: Remove no_formal_ino generating code The inum structure used throughout GFS2 has two fields. One no_addr is the disk block number of the inode in question and is used everywhere as the inode number. The other, no_formal_ino, is used only as the generation number for NFS. Historically the no_formal_ino field was set using a complicated system of one global and one per-node file containing inode numbers in order to ensure that each no_formal_ino was unique. Also this code made no provision for what would happen when eventually the (64 bit) numbers ran out. Now I know that is pretty unlikely to happen given the large space of numbers, but it is possible nevertheless. The only guarantee required for no_formal_ino is that, for any single inode, the same number doesn't get reused too quickly. We already have a generation number which is kept in the inode and initialised from a counter in the resource group (almost no overhead, since we have to touch the resource group anyway in order to allocate an inode in the first place). Aside from ensuring that we never use the value 0 in the no_formal_ino field, we can use that counter directly. As a result of that change, we lose about 200 lines of code and also gain about 10 creates/sec on the postmark benchmark (on my test machine). Signed-off-by: Steven Whitehouse commit fa84e9eecfff478df2d00e94deb3fc40fe4634ad Author: Thomas Gleixner Date: Fri Aug 21 22:01:12 2009 +0200 init: Move sched_clock_init after late_time_init Some architectures initialize clocks and timers in late_time_init and x86 wants to do the same to avoid FIXMAP hackery for calibrating the TSC. That would result in undefined sched_clock readout and wreckaged printk timestamps again. We probably have those already on archs which do all their time/clock setup in late_time_init. There is no harm to move that after late_time_init except that a few more boot timestamps are stale. The scheduler is not active at that point so no real wreckage is expected. Signed-off-by: Thomas Gleixner LKML-Reference: Cc: linux-arch@vger.kernel.org commit 0494e08281d08f0a3dc442eb5e5cecc125b53b27 Author: Sergey Senozhatsky Date: Thu Aug 27 14:29:18 2009 +0100 kmemleak: Printing of the objects hex dump Introducing printing of the objects hex dump to the seq file. The number of lines to be printed is limited to HEX_MAX_LINES to prevent seq file spamming. The actual number of printed bytes is less than or equal to (HEX_MAX_LINES * HEX_ROW_SIZE). (slight adjustments by Catalin Marinas) Signed-off-by: Sergey Senozhatsky Signed-off-by: Catalin Marinas commit 008139d9146f9afee0e58df4b7422d0c9921f8ce Author: Catalin Marinas Date: Thu Aug 27 14:29:17 2009 +0100 kmemleak: Do not report alloc_bootmem blocks as leaks This patch sets the min_count for alloc_bootmem objects to 0 so that they are never reported as leaks. This is because many of these blocks are only referred via the physical address which is not looked up by kmemleak. Signed-off-by: Catalin Marinas Cc: Pekka Enberg commit fd6789675ebfb9185cb4fb68dc51010b4e95d952 Author: Catalin Marinas Date: Thu Aug 27 14:29:17 2009 +0100 kmemleak: Save the stack trace for early allocations Before slab is initialised, kmemleak save the allocations in an early log buffer. They are later recorded as normal memory allocations. This patch adds the stack trace saving to the early log buffer, otherwise the information shown for such objects only refers to the kmemleak_init() function. Signed-off-by: Catalin Marinas commit a6186d89c913b176e7339f37a4ec6ccb38b2c5c0 Author: Catalin Marinas Date: Thu Aug 27 14:29:16 2009 +0100 kmemleak: Mark the early log buffer as __initdata This buffer isn't needed after kmemleak was initialised so it can be freed together with the .init.data section. This patch also marks functions conditionally accessing the early log variables with __ref. Signed-off-by: Catalin Marinas commit 189d84ed54bbb05aac5b24d9d784d86c4d37f807 Author: Catalin Marinas Date: Thu Aug 27 14:29:15 2009 +0100 kmemleak: Dump object information on request By writing dump= to the kmemleak file, kmemleak will look up an object with that address and dump the information it has about it to syslog. This is useful in debugging memory leaks. Signed-off-by: Catalin Marinas commit af98603dad87e393d2fc57117fe8a2aa6d620a0c Author: Catalin Marinas Date: Thu Aug 27 14:29:12 2009 +0100 kmemleak: Allow rescheduling during an object scanning If the object size is bigger than a predefined value (4K in this case), release the object lock during scanning and call cond_resched(). Re-acquire the lock after rescheduling and test whether the object is still valid. Signed-off-by: Catalin Marinas commit 286f5875ca5c4e58432e3e6ca386ea4294275d84 Author: Takashi Iwai Date: Thu Aug 27 14:37:51 2009 +0200 ALSA: hda - Add more quirk for HP laptops with AD1984A More entries for HP laptops to get them working properly. Signed-off-by: Takashi Iwai commit 1b0053a0f0893e6bbaaee0d28f5f6269459d8d14 Author: Takashi Iwai Date: Thu Aug 27 12:34:54 2009 +0200 ALSA: core - strip too long file names in snd_print*() When modules are built with M= option, they pass long file paths to __FILE__. This results in ugly outputs of snd_print*() when CONFIG_SND_VERBOSE_PRINTK is set. This patch adds a check of the path and strips the leading path dirs if the file name is an absolute path to improve the readability of logs. Signed-off-by: Takashi Iwai commit 4dbc9ca219b0f294332e734528f7b82211700170 Author: Thomas Gleixner Date: Thu Aug 27 09:38:49 2009 +0200 genirq: Do not mask oneshot edge type interrupts Masking oneshot edge type interrupts is wrong as we might lose an interrupt which is issued when the threaded handler is handling the device. We can keep the irq unmasked safely as with edge type interrupts there is no danger of interrupt floods. If the threaded handler has not yet finished then IRQTF_RUNTHREAD is set which will keep the handler thread active. Debugged and verified in preempt-rt. Signed-off-by: Thomas Gleixner commit c06f51eab8e652abebb698b1ead4c5585f820ef9 Author: Joe Perches Date: Wed Aug 26 08:47:47 2009 +0000 MAINTAINERS: update information for sfc network driver Based upon a patch by Ben Hutchings. Signed-off-by: David S. Miller commit 5c8af3b9aa4d19fba7f5a9224636fc70e476eb4f Author: Ben Hutchings Date: Wed Aug 26 08:18:13 2009 +0000 sfc: Improve reliability of RX queue flushing Reconfiguring the port requires us to flush all DMA queues. In repeated testing we have found that RX flushes would sometimes fail because the RX DMA engine was not properly isolated from the MACs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit cc11763b3510e4942bfece052ccf329a7b086a32 Author: Ben Hutchings Date: Wed Aug 26 08:17:59 2009 +0000 sfc: Work around XMAC bug causing packet loss with some peers Received frames must be re-clocked by the local XGXS to the 156.25 MHz (DDR) clock of the XGMII. If the remote clock is slightly faster this can reduce a minimum IPG of 64 bit-times (1 cycle) to 32 bit-times (half a cycle). If the XMAC detects that a frame has reached the maximum RX frame length in the same cycle that it receives one of these reduced IPGs, it may miss the IPG, causing two valid frames to be treated as a single invalid frame (over-length with bad CRC). We work around this by increasing the maximum RX frame length so that peers with matched MTU will not provoke this bug. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5afaa753d681c437419e3dd9b532c2712dd1d2ea Author: Ben Hutchings Date: Wed Aug 26 08:17:19 2009 +0000 sfc: QT2025C: Use hard reset only At probe time, falcon_reset_hw() performs a hard reset of the PHY along with Falcon. There is no need to perform a soft reset later, and any access to standard MDIO registers before the PHY firmware has booted can interrupt the boot process, making the port unusable. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 771046d7b1def64c00a5a47ca48526cbbacd7fe3 Author: Ben Hutchings Date: Wed Aug 26 08:16:58 2009 +0000 mdio: Check MDIO_STAT1_FAULT in mdio45_links_ok() Some PHYs will report that the link is up even though there is a fault condition. Therefore, check the fault flag too. We must also read STAT2 to reset this flag. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit d4ec09acdb15cdb5afdb5cd03f6bceb5c3c690a5 Author: Ben Hutchings Date: Wed Aug 26 08:16:46 2009 +0000 sfc: Do not reinitialise XAUI serdes before it has completed reset falcon_reset_xaui() waits for XGXS reset to complete, but the XAUI serdes reset may take longer. It needs to check both reset active bits. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit aed0628dae0c26b47d40d65f942abe30279b52a5 Author: Ben Hutchings Date: Wed Aug 26 08:16:27 2009 +0000 sfc: Fix ordering of device registration and initial netif_carrier_off() We must call netif_carrier_off() after the device is registered, not before, to set the operational state and user-space IFF_RUNNING flag correctly. Since we don't want observers to see an intermediate state, open-code register_netdev() and add efx_update_name() and netif_carrier_off() into the locked region. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 7c6a3ed5bd61ec981c8a0d0111cfd435adf3f2b7 Author: Ursula Braun Date: Wed Aug 26 02:01:10 2009 +0000 qeth: display "undefined" value of sysfs-attribute "layer2" If nothing has been written into the qeth sysfs-attribute layer2, its value is "-1" meaning "not yet defined". But the value is displayed as "1" meaning "layer2 selected". The patch changes the reading of this "-1"-value to "-1" to make clear the layer2-attribute has not yet been defined. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 0d788c7d285a91ef72a7b436dbe753d117856b3d Author: Klaus-Dieter Wacker Date: Wed Aug 26 02:01:09 2009 +0000 qeth: display service_level info only when valid. qeth displayed an entry in /proc/service_level even when no valid MCL-string was available (the MCL info is blank). The change is to create an entry in /proc/service_level only when MCL-string is non-zero. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: David S. Miller commit ce73e10ee0cb6cde1c5075a2803da0f0eb5b2324 Author: Klaus-Dieter Wacker Date: Wed Aug 26 02:01:08 2009 +0000 qeth: Cleanup for cast-type determination. Clear separation of cast-type determination (send path) for layer-2 resp. layer-3. Allowing to have inline functions for qeth layer- discipline. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: David S. Miller commit e806904057253e4f7651a8594456e68857c24e1b Author: Frank Blaschka Date: Wed Aug 26 02:01:07 2009 +0000 qeth: scheduling while atomic during ifconfig online sequence In case the IP address list contains entries (not removed when the device was set offline) this entries should be registered next time the device is brought online. In the past this was done implicitly with the device open call but since we wait in the set IPv4 IPA and the device open common code holds various locks this does not work any longer. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 58490f18071de525f42b6ed264a87116ec49ef0f Author: Klaus-Dieter Wacker Date: Wed Aug 26 02:01:06 2009 +0000 qeth: HiperSockets SIGA retry support on CC=2. Qeth HiperSockets support now retries sending of packets when the IBM System z signals a temporary resource shortage (e.g. target buffer full). The packet is enqueued into the device queue. After 3 times of unsuccessful send the packet is dropped. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: David S. Miller commit 31ffe249e5426d2648d68568fa00a7b66666a5db Author: David S. Miller Date: Wed Aug 26 16:32:37 2009 -0700 net: Temporarily backout SKB sources tracer. Steven Rostedt has suggested that Neil work with the tracing folks, trying to use TRACE_EVENT as the mechanism for implementation. And if that doesn't workout we can investigate other solutions such as that one which was tried here. This reverts the following 2 commits: 5a165657bef7c47e5ff4cd138f7758ef6278e87b ("net: skb ftracer - Add config option to enable new ftracer (v3)") 9ec04da7489d2c9ae01ea6e9b5fa313ccf3d35fb ("net: skb ftracer - Add actual ftrace code to kernel (v3)") Signed-off-by: David S. Miller commit f656f39801b00c3c2aa26cefbdee2775d6706d45 Author: Matt Carlson Date: Tue Aug 25 10:11:55 2009 +0000 tg3: Update version to 3.100 This patch updates the tg3 version to 3.100. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit d9221e66002a7f24fb71b73132aa46c40079745f Author: Matt Carlson Date: Tue Aug 25 10:11:26 2009 +0000 broadcom: Make the 57780 IEEE compliant This brings the 57780's phy into IEEE compliance by suppressing the common mode oscillation. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit d7a2ed9248a3c3ec6afe3be0c351bd1ca9e981f3 Author: Matt Carlson Date: Tue Aug 25 10:10:58 2009 +0000 broadcom: Add AC131 phy support This patch adds support for the AC131 fast ethernet transceiver. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 4f4598fd0a87f39955e71bcb7447f403dafc20ba Author: Matt Carlson Date: Tue Aug 25 10:10:30 2009 +0000 broadcom: Add BCM50610M support This patch adds support for the BCM50610M phy ID. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 7f97a4bd47291e4ec9b9eaf63d7275ddfb498cb3 Author: Matt Carlson Date: Tue Aug 25 10:10:03 2009 +0000 tg3: Convert code to use PHY_IS_FET This patch converts the code to use the PHY_IS_FET flag rather than the ASIC revision to decide whether or not to use FET paths. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 535ef6e1124d445efbcc13b7126561dc544b0b64 Author: Matt Carlson Date: Tue Aug 25 10:09:36 2009 +0000 tg3: Create MII_TG3_FET namespace Broadcom's phys come in two distinctly different register layouts. For the lack of an official term to distinguish between the two formats, we can loosely categorize them by their fast ethernet or gigabit ethernet transceiver description. This patch creates the (driver-internal) Fast Ethernet Transceiver (FET) namespace and converts the 5906 EPHY definitions over. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit bb85fbb6a98d8edab81599913559c7ff0a963984 Author: Matt Carlson Date: Tue Aug 25 10:09:07 2009 +0000 tg3: Tune 5785 clock switching This patch tunes the timeouts the CPMU uses to decide when to switch from the clocks output by the PHY to internal clock sources. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 5e7ccf2003e6a9c35b5aa24953ba5009a1a8b653 Author: Matt Carlson Date: Tue Aug 25 10:08:42 2009 +0000 tg3: Add 57788, remove 57720 This patch adds support for the 57788 and removes support for the 57720 which was never released. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit e7126997342560533317d8467e8516119ebcbd21 Author: Matt Carlson Date: Tue Aug 25 10:08:16 2009 +0000 tg3: Preserve PCIe MPS setting for new devs Most older tg3 devices only supported a PCIe maximum payload size of 128 bytes. More recent devices bump this limit up to 256 bytes though. This patch modifies the code so that the MPS limit is only enforced on those devices that only allow the 128 byte setting. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 29ea095fb727ac48228ff2d1af484c27bf1dcbd4 Author: Matt Carlson Date: Tue Aug 25 10:07:54 2009 +0000 tg3: Fix TSO test against wrong flags var Julia Lawall discovered that the TG3_FLG2_TSO_CAPABLE flag was being compared against the wrong flags device member. This patch implements the fix. Signed-off-by: Julia Lawall Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 255ca311b650caece3ec4f78b88ef298664d561f Author: Matt Carlson Date: Tue Aug 25 10:07:27 2009 +0000 tg3: Prevent tx BD corruption This patch prevents a tx BD corruption bug by preventing the device from powering down the PLL from L1 if the link speed is 10Mbps or 100Mbps. The same bits are also used to prevent a system hang during chip reset resulting from a complicated set of events that ultimately leads to PCIe block register corruption. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 521e6b90dd3f0392062845d7ef13e6e41bb99d8a Author: Matt Carlson Date: Tue Aug 25 10:06:01 2009 +0000 tg3: Fix 57780 asic rev PCIe link receiver errors This patch fixes some PCIe link receiver errors by decreasing the internal electrical idle timeout. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit c46b59b241ec52ffaf92ece8d8ab726621d580fb Author: Graham, David Date: Tue Aug 25 04:43:17 2009 +0000 e1000: Remove unused function e1000_mta_set. Remove function e1000_mta_set, as it is no longer called Signed-off-by: Dave Graham Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cd1da503847a28775f60b959cb7b0123cee2a1a3 Author: Alexander Duyck Date: Tue Aug 25 04:47:50 2009 +0000 igb/ixgbe: add IPV6_CSUM support to vlan_features We were already exporting TSO6 to the vlan, but we weren't exporting the checksum support for IPV6 which was causing warning messages to be displayed when doing IPv6 TSO over a vlan. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7b25cdbafd757b1255725d4ffb5b1081714b4256 Author: Don Skidmore Date: Tue Aug 25 04:47:32 2009 +0000 ixgbe: cleanup functions that should have been defined static We have some ~40 functions that were being called out with 'make namespacecheck'. This patch changes these functions to be static. Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 46a72b35144769d1e9c23c3a9a26c1776ef7d8f6 Author: Mallikarjuna R Chilakala Date: Tue Aug 25 04:47:11 2009 +0000 ixgbe: Fix isues while reporting 8259x backplane link capabilities Fix ethtool get_settings logic to report 10G & 1G advertised and supported link modes in all 8259x 10G backplane connection types except for 82598EB BX network connection type. Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fa3ce355c1bf1a83b843420228202fd6f8023ad3 Author: Narender Kumar Date: Mon Aug 24 19:23:28 2009 +0000 netxen: bridged mode optimizations When the interface is put in bridged mode, destination mac addresses are unknown to firmware. So packets take a slow path (lower priority) in firmware reducing performance. Firmware can cache limited number of remote unicast mac addresses for certain interval, if "dynamic mac learning" mode is enabled. Driver needs to enable this "mac learning" mode in firmware. Currently this is done through net device class sysfs entry, possibly this can also be done upon netlink notifications to from bridge. Signed-off-by: Narender Kumar Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 3ad4467ca43e7a2556e26e4e304faf3385048834 Author: Dhananjay Phadke Date: Mon Aug 24 19:23:27 2009 +0000 netxen: remove netxen_nic_niu.c Consolidate all MAC/PHY access functions into netxen_nic_hw.c Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit c9517e5893db03ca8bd32b8783b39af58176947c Author: Dhananjay Phadke Date: Mon Aug 24 19:23:26 2009 +0000 netxen: implement generic pcie semaphore functions Implement common function for locking/unlocking 8 hardware semaphores used for serializing access to shared resouces on a NIC board by different PCI functions. As by definition, callers of these semaphore API can be put to sleep till the semaphore is locked. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit cb7e4b6e37144f5d131ee09296be3c21c41f28d8 Author: Dhananjay Phadke Date: Mon Aug 24 19:23:25 2009 +0000 netxen: remove unused code Remove code for phy access on unreleased NX2031 based quad-gig board. NX3031 based production quad-gig boards do not require direct phy access by driver. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 117226d15850387b55fd01675917ee4fcb9699e8 Author: Jason Baron Date: Mon Aug 24 17:40:26 2009 -0400 tracing: Remove FTRACE_SYSCALL_MAX definitions Remove the FTRACE_SYSCALL_MAX definitions now that we have converted the syscall event tracing code to use NR_syscalls. Signed-off-by: Jason Baron Cc: Paul Mundt Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Josh Stone Cc: Thomas Gleixner Cc: H. Peter Anwin Cc: Hendrik Brueckner Cc: Heiko Carstens LKML-Reference: Signed-off-by: Frederic Weisbecker commit 57421dbbdc932d65f0e6a41ebb027a2bfe3d0669 Author: Jason Baron Date: Mon Aug 24 17:40:22 2009 -0400 tracing: Convert event tracing code to use NR_syscalls Convert the syscalls event tracing code to use NR_syscalls, instead of FTRACE_SYSCALL_MAX. NR_syscalls is standard accross most arches, and reduces code confusion/complexity. Signed-off-by: Jason Baron Cc: Paul Mundt Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Josh Stone Cc: Thomas Gleixner Cc: H. Peter Anwin Cc: Hendrik Brueckner Cc: Heiko Carstens LKML-Reference: <9b4f1a84ecae57cc6599412772efa36f0d2b815b.1251146513.git.jbaron@redhat.com> Signed-off-by: Frederic Weisbecker commit a5a2f8e2acb991327952c45a13f5441fc09dffd6 Author: Jason Baron Date: Wed Aug 26 12:09:10 2009 -0400 tracing: Define NR_syscalls for x86_64 Express the available number of syscalls in a standard way by defining NR_syscalls. The common way to define it is to place its definition in asm/unistd.h However, the number of syscalls is defined using __NR_syscall_max in x86-64 after building a dynamic header file "asm-offsets.h" The source file that generates this header, asm-offsets-64.c includes unistd.h, then if we want to express NR_syscalls from __NR_syscall_max in unistd.h only after generating the dynamic header file, we need a watchguard. If unistd.h is included from asm-offsets-64.c, then we are generating asm-offset.h which defines __NR_syscall_max. At this time, we don't want to (we can't) define NR_syscalls, then we do nothing. Otherwise we define NR_syscalls because we know asm-offsets.h has been generated. Signed-off-by: Jason Baron Acked-by: Steven Rostedt Cc: Paul Mundt Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Josh Stone Cc: Thomas Gleixner Cc: H. Peter Anwin Cc: Hendrik Brueckner Cc: Heiko Carstens LKML-Reference: <20090826160910.GB2658@redhat.com> Signed-off-by: Frederic Weisbecker commit dd86dda24cc1dc70031a7d9250dc3c0c430a50e2 Author: Jason Baron Date: Mon Aug 24 17:40:14 2009 -0400 tracing: Define NR_syscalls for x86 (32) Add a NR_syscalls #define for x86. This is used in the syscall events tracing code. Todo: make it dynamic like x86_64. NR_syscalls is the usual name used to determine the number of syscalls supported by the current arch. We want to unify the use of this number across archs that support the syscall tracing. This also prepare to move some of the arch code to core code in the syscall tracing area. Signed-off-by: Jason Baron Cc: Paul Mundt Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Josh Stone Cc: Thomas Gleixner Cc: H. Peter Anwin Cc: Hendrik Brueckner Cc: Heiko Carstens LKML-Reference: <0f33c0f96d198fccc3ddd9ff7f5334ff5cb42706.1251146513.git.jbaron@redhat.com> Signed-off-by: Frederic Weisbecker commit cc3b13c11c567c69a6356be98d0c03ff11541d5c Author: Hendrik Brueckner Date: Tue Aug 25 18:02:37 2009 +0200 tracing: Don't trace kernel thread syscalls Kernel threads don't call syscalls using the sysenter/sysexit path. Instead they directly call the sys_* or do_* functions that implement the syscalls inside the kernel. The current syscall tracepoints only bind the sysenter/sysexit path, then it has no effect to trace the kernel thread calls to syscalls in that path. Setting the TIF_SYSCALL_TRACEPOINT flag is then useless for these. Actually there is only one case when a kernel thread can reach the usual syscall exit tracing path: when we create a kernel thread, the child comes to ret_from_fork and is the fork() return is then traced. But this information alone is useless, then we don't want to set the TIF flags for these threads. Kernel threads have task_struct->mm set to NULL. (Thanks to Heiko for that hint ;-) The idea is then to check the mm field in syscall_regfunc() and set the flag accordingly. Signed-off-by: Hendrik Brueckner Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Martin Schwidefsky Cc: Paul Mundt Cc: Heiko Carstens Cc: Hendrik Brueckner LKML-Reference: <20090825160237.GG4639@cetus.boeblingen.de.ibm.com> Signed-off-by: Frederic Weisbecker commit cd0980fc8add25e8ab12fcf1051c0f20cbc7c0c0 Author: Hendrik Brueckner Date: Tue Aug 25 14:50:27 2009 +0200 tracing: Check invalid syscall nr while tracing syscalls Most arch syscall_get_nr() implementations returns -1 if the syscall number is not valid. Accessing the bit field without a check might result in a kernel oops (at least I saw it on s390 for ftrace selftest). Before this change, this problem did not occur, because the invalid syscall number (-1) caused syscall_nr_to_meta() to return NULL. There are at least two scenarios where syscall_get_nr() can return -1: 1. For example, ptrace stores an invalid syscall number, and thus, tracing code resets it. (see do_syscall_trace_enter in arch/s390/kernel/ptrace.c) 2. The syscall_regfunc() (kernel/tracepoint.c) sets the TIF_SYSCALL_FTRACE (now: TIF_SYSCALL_TRACEPOINT) flag for all threads which include kernel threads. However, the ftrace selftest triggers a kernel oops when testing syscall trace points: - The kernel thread is started as ususal (do_fork()), - tracing code sets TIF_SYSCALL_FTRACE, - the ret_from_fork() function is triggered and starts ftrace_syscall_exit() with an invalid syscall number. To avoid these scenarios, I suggest to check the syscall_nr. For instance, the ftrace selftest fails for s390 (with config option CONFIG_FTRACE_SYSCALLS set) and produces the following kernel oops. Unable to handle kernel pointer dereference at virtual kernel address 2000000000 Oops: 0038 [#1] PREEMPT SMP Modules linked in: CPU: 0 Not tainted 2.6.31-rc6-next-20090819-dirty #18 Process kthreadd (pid: 818, task: 000000003ea207e8, ksp: 000000003e813eb8) Krnl PSW : 0704100180000000 00000000000ea54c (ftrace_syscall_exit+0x58/0xdc) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:1 PM:0 EA:3 Krnl GPRS: 0000000000000000 00000000000e0000 ffffffffffffffff 20000000008c2650 0000000000000007 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ffffffffffffffff 000000003e813d78 000000003e813f58 0000000000505ba8 000000003e813e18 000000003e813d78 Krnl Code: 00000000000ea540: e330d0000008 ag %r3,0(%r13) 00000000000ea546: a7480007 lhi %r4,7 00000000000ea54a: 1442 nr %r4,%r2 >00000000000ea54c: e31030000090 llgc %r1,0(%r3) 00000000000ea552: 5410d008 n %r1,8(%r13) 00000000000ea556: 8a104000 sra %r1,0(%r4) 00000000000ea55a: 5410d00c n %r1,12(%r13) 00000000000ea55e: 1211 ltr %r1,%r1 Call Trace: ([<0000000000000000>] 0x0) [<000000000001fa22>] do_syscall_trace_exit+0x132/0x18c [<000000000002d0c4>] sysc_return+0x0/0x8 [<000000000001c738>] kernel_thread_starter+0x0/0xc Last Breaking-Event-Address: [<00000000000ea51e>] ftrace_syscall_exit+0x2a/0xdc Signed-off-by: Hendrik Brueckner Acked-by: Heiko Carstens Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Martin Schwidefsky Cc: Paul Mundt LKML-Reference: <20090825125027.GE4639@cetus.boeblingen.de.ibm.com> Signed-off-by: Frederic Weisbecker commit 7515bf59f87f19b2a17972b74230d2f91756fe3c Author: Hendrik Brueckner Date: Tue Aug 25 14:31:11 2009 +0200 tracing: Add syscall tracepoints - s390 arch update This patch includes s390 arch updates to synchronize with latest core changes in the syscalls tracing area. - tracing: Map syscall name to number (syscall_name_to_nr()) - tracing: Call arch_init_ftrace_syscalls at boot - tracing: add support tracepoint ids (set_syscall_{enter,exit}_id()) Signed-off-by: Hendrik Brueckner Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Martin Schwidefsky Cc: Paul Mundt LKML-Reference: <20090825123111.GD4639@cetus.boeblingen.de.ibm.com> Signed-off-by: Frederic Weisbecker commit d3a247bfb2c26f5b67367d58af7ad8c2efbbc6c1 Author: Cyrill Gorcunov Date: Wed Aug 26 21:13:24 2009 +0400 x86, apic: Slim down stack usage in early_init_lapic_mapping() As far as I see there is no external poking of mp_lapic_addr in this procedure which could lead to unpredited changes and require local storage unit for it. Lets use it plain forward. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090826171324.GC4548@lenovo> Signed-off-by: Ingo Molnar commit 7ced156bb8bb6363b6ed541871bf19a90273f910 Author: Arnaldo Carvalho de Melo Date: Wed Aug 26 11:51:26 2009 -0300 perf top: Show RIP only in verbose mode Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090826145126.GA5255@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 307cf6e63cfa5025589ea1a06db44439a43819ff Author: Steven Whitehouse Date: Wed Aug 26 18:51:04 2009 +0100 GFS2: Rename eattr.[ch] as xattr.[ch] Use the more conventional name for the extended attribute support code. Update all the places which care. Signed-off-by: Steven Whitehouse commit 40b78a322365aa1d87770200f7fc7de3b361c11a Author: Steven Whitehouse Date: Wed Aug 26 18:41:32 2009 +0100 GFS2: Clean up of extended attribute support This has been on my list for some time. We need to change the way in which we handle extended attributes to allow faster file creation times (by reducing the number of transactions required) and the extended attribute code is the main obstacle to this. In addition to that, the VFS provides a way to demultiplex the xattr calls which we ought to be using, rather than rolling our own. This patch changes the GFS2 code to use that VFS feature and as a result the code shrinks by a couple of hundred lines or so, and becomes easier to read. I'm planning on doing further clean up work in this area, but this patch is a good start. The cleaned up code also uses the more usual "xattr" shorthand, I plan to eliminate the use of "eattr" eventually and in the mean time it serves as a flag as to which bits of the code have been updated. Signed-off-by: Steven Whitehouse commit f1e887de2d24d50286709912ddc4a91ead21ff81 Author: Mark Brown Date: Wed Aug 26 14:14:51 2009 +0100 ASoC: Don't reconfigure WM8350 FLL if not needed If the requested FLL configuration is the one we're currently running in it's at best pointless to reconfigure the FLL. Signed-off-by: Mark Brown commit 5dc0748182037e3fea35a96d615a3c2610b8e4b0 Author: Mark Brown Date: Wed Aug 26 14:17:23 2009 +0100 ASoC: Fix s3c-i2s-v2 build We now need the PCM header to kick the DMA. Signed-off-by: Mark Brown commit 977d49e00d18d500d0bfe77500053d9df9c3db77 Author: Mark Brown Date: Wed Aug 26 13:05:14 2009 +0100 ASoC: Make platform data optional for TLV320AIC3x Now that we don't need the I2C address for the device the platform data is redundant so allow it to be omitted. Signed-off-by: Mark Brown Tested-by: Chaithrika U S commit bc36681fdc3276b9da4047c277349291c4cbad09 Author: Mark Brown Date: Tue Aug 25 15:53:41 2009 +0100 ASoC: Add S3C24xx dependencies for Simtec machines No point in building them for S3C64xx, certainly no sense in running into build issues there. Signed-off-by: Mark Brown commit f1d269bac24e5ddb3a0650aaeb4117aa806b99f1 Author: Roel Kluin Date: Wed Aug 26 12:01:20 2009 +0200 sound: vwsnd: Fix setting of cfgval and ctlval in li_setup_dma() Since !LI_CCFG_* evaluates to 0, this did not change anything to cfgval and ctlval. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit 06e799764eb7c2e4640888d438c3524d756613e1 Author: Paul E. McKenney Date: Tue Aug 25 18:53:37 2009 -0700 rcu: Remove lockdep annotations from RCU's _notrace() API members The lockdep annotations rcu_read_acquire() and rcu_read_release() might lead to infinite looping if called from lockdep. So this patch removes them. Formal repost of http://lkml.org/lkml/2009/8/25/309 on the strength of Lai Jiangshan's review. Suggested-by: Lai Jiangshan Suggested-by: Mathieu Desnoyers Reviewed-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <20090826015337.GA18904@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 7e7430908c3ccaf71f0851050c8ccaf9ecfb3b56 Author: Gustavo F. Padovan Date: Wed Aug 26 04:04:03 2009 -0300 Bluetooth: Add support for L2CAP 'Send RRorRNR' action When called, 'Send RRorRNR' should send a RNR frame if local device is busy or a RR frame otherwise. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 2246b2f1b43f3fbd128e72b129dcbbd3202cc592 Author: Gustavo F. Padovan Date: Wed Aug 26 04:04:02 2009 -0300 Bluetooth: Handle L2CAP case when the remote receiver is busy Implement all issues related to RemoteBusy in the RECV state table. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit ca42a613c92d131ff02d5714419d58c36c3459f3 Author: Gustavo F. Padovan Date: Wed Aug 26 04:04:01 2009 -0300 Bluetooth: Acknowledge L2CAP packets when receiving RR-frames (F-bit=1) Implement the Recv ReqSeqAndFBit event when a RR frame with F bit set is received. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 35dce1a99d010f3d738af4ce1b9b77302fdfe69c Merge: 7cb2e3e 1c569f0 Author: Ingo Molnar Date: Wed Aug 26 08:29:02 2009 +0200 Merge branch 'tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core Conflicts: include/linux/tracepoint.h Signed-off-by: Ingo Molnar commit 5051fd69773d2d044734b78516317a04d3774871 Author: Cyrill Gorcunov Date: Mon Aug 24 21:53:37 2009 +0400 x86, e820: Guard against array overflowed in __e820_add_region() Better to be paranoid against unpredicted nr_map modifications. Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090824175551.146070377@openvz.org> Signed-off-by: Ingo Molnar commit ffc438366c2660a6a811b94ba33229bf217f8254 Author: Cyrill Gorcunov Date: Mon Aug 24 21:53:39 2009 +0400 x86, ioapic: Get rid of needless check and simplify ioapic_setup_resources() alloc_bootmem() already panics on allocation failure. There is no need to check the result. Also there is a way to unbind global variable from its body and use it as a parameter which allow us to simplify ioapic_init_mappings as well -- "for" cycle already uses nr_ioapics as a conditional variable and there is no need to check if ioapic_setup_resources was returning NULL again. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090824175551.493629148@openvz.org> Signed-off-by: Ingo Molnar commit 8f3e1df48baf728bbb0f242c9dff9c9d7108218a Author: Cyrill Gorcunov Date: Mon Aug 24 21:53:36 2009 +0400 x86, ioapic: Define IO_APIC_DEFAULT_PHYS_BASE constant We already have APIC_DEFAULT_PHYS_BASE so just to be consistent. Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090824175550.927946757@openvz.org> Signed-off-by: Ingo Molnar commit 7cb2e3ee2aeec5b83ecadba929a2dc575dd4008f Author: Steven Rostedt Date: Wed Aug 26 00:32:37 2009 -0400 tracing: add comments to explain TRACE_EVENT out of protection The commit: commit 5ac35daa9343936038a3c9c4f4d6d3fe6a2a7bd8 Author: Xiao Guangrong tracing/events: fix the include file dependencies Moved the TRACE_EVENT out of the ifdef protection of tracepoints.h but uses the define of TRACE_EVENT itself as protection. This patch adds comments to explain why. Signed-off-by: Steven Rostedt commit 5ac35daa9343936038a3c9c4f4d6d3fe6a2a7bd8 Author: Xiao Guangrong Date: Tue Aug 25 14:06:22 2009 +0800 tracing/events: fix the include file dependencies The TRACE_EVENT depends on the include/linux/tracepoint.h first and include/trace/ftrace.h later, if we include the ftrace.h early, a building error will occur. Both define TRACE_EVENT in trace_a.h and trace_b.h, if we include those in .c file, like this: #define CREATE_TRACE_POINTS include include The above will not work, because the TRACE_EVENT was re-defined by the previous .h file. Reported-by: Wei Yongjun Signed-off-by: Xiao Guangrong LKML-Reference: <4A937F5E.3020802@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 5079f3261ffd7fe4a537679af695f2328943a245 Author: Zhaolei Date: Tue Aug 25 16:12:56 2009 +0800 ftrace: Move setting of clock-source out of options There are many clock sources for the tracing system but we can only enable/disable one at a time with the trace/options file. We can move the setting of clock-source out of options and add a separate file for it: # cat trace_clock [local] global # echo global > trace_clock # cat trace_clock local [global] Signed-off-by: Zhao Lei LKML-Reference: <4A939D08.6050604@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 87a342f5db69d53ea70493bb1ec69c9047677038 Author: Li Zefan Date: Fri Aug 7 10:33:43 2009 +0800 tracing/filters: Support filtering for char * strings Usually, char * entries are dangerous in traces because the string can be released whereas a pointer to it can still wait to be read from the ring buffer. But sometimes we can assume it's safe, like in case of RO data (eg: __file__ or __line__, used in bkl trace event). If these RO data are in a module and so is the call to the trace event, then it's safe, because the ring buffer will be flushed once this module get unloaded. To allow char * to be treated as a string: TRACE_EVENT(..., TP_STRUCT__entry( __field_ext(const char *, name, FILTER_PTR_STRING) ... ) ... ); The filtering will not dereference "char *" unless the developer explicitly sets FILTER_PTR_STR in __field_ext. Signed-off-by: Li Zefan LKML-Reference: <4A7B9287.90205@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 43b51ead3f752a3935116e5b1a94254b8573734f Author: Li Zefan Date: Fri Aug 7 10:33:22 2009 +0800 tracing/filters: Add __field_ext() to TRACE_EVENT Add __field_ext(), so a field can be assigned to a specific filter_type, which matches a corresponding filter function. For example, a later patch will allow this: __field_ext(const char *, str, FILTER_PTR_STR); Signed-off-by: Li Zefan LKML-Reference: <4A7B9272.6050709@cn.fujitsu.com> [ Fixed a -1 to FILTER_OTHER Forward ported to latest kernel. ] Signed-off-by: Steven Rostedt commit aa38e9fc3ea804290efd3a39316d7f7e6c945800 Author: Li Zefan Date: Fri Aug 7 10:33:02 2009 +0800 tracing/filters: Add filter_type to struct ftrace_event_field The type of a field is stored as a string in @type, and here we add @filter_type which is an enum value. This prepares for later patches, so we can specifically assign different @filter_type for the same @type. For example normally a "char *" field is treated as a ptr, but we may want it to be treated as a string when doing filting. Signed-off-by: Li Zefan LKML-Reference: <4A7B925E.9030605@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 6591b493871cf9b17de2ba272edb8ab529a8058b Author: Josh Triplett Date: Thu Aug 6 07:57:01 2009 -0700 tracing: Add vim script to enable folding for function_graph traces function_graph traces look like nested function calls, complete with braces denoting the start and end of functions. function-graph-fold.vim teaches vim how to fold these functions, to make it more convenient to browse them. To use, :source function-graph-fold.vim while viewing a function_graph trace, or use "view -S function-graph-fold.vim some-trace" to load it from the command-line together with a trace. You can then use the usual vim fold commands, such as "za", to open and close nested functions. While closed, a fold will show the total time taken for a call, as would normally appear on the line with the closing brace. Folded functions will not include finish_task_switch(), so folding should remain relatively sane even through a context switch. Note that this will almost certainly only work well with a single-CPU trace (e.g. trace-cmd report --cpu 1). It also takes some time to run (a few seconds for a large trace on my laptop). Nevertheless, I found it very handy to get an overview of a trace and then drill down on problematic calls. Signed-off-by: Josh Triplett LKML-Reference: <20090806145701.GB7661@feather> Signed-off-by: Steven Rostedt commit f0693c8bd5c50380b299e19d19e7640024640b42 Author: Steven Rostedt Date: Thu Aug 6 14:59:32 2009 -0400 tracing/sched: show CPU task wakes up on in trace event While debugging the scheduler push / pull algorithm, I found it very annoying that the sched wake up events did not show the CPU that the task was waking on. In order to analyze the scheduler, I needed that information. This patch adds recording of the CPU that a task is waking up on. Signed-off-by: Steven Rostedt commit ab94fcf528d127fcb490175512a8910f37e5b346 Author: H. Peter Anvin Date: Tue Aug 25 16:47:16 2009 -0700 x86: allow "=rm" in native_save_fl() This is a partial revert of f1f029c7bfbf4ee1918b90a431ab823bed812504. "=rm" is allowed in this context, because "pop" is explicitly defined to adjust the stack pointer *before* it evaluates its effective address, if it has one. Thus, we do end up writing to the correct address even if we use an on-stack memory argument. The original reporter for f1f029c7bfbf4ee1918b90a431ab823bed812504 was apparently using a broken x86 simulator. [ Impact: performance ] Signed-off-by: H. Peter Anvin Cc: Gabe Black commit 1c569f0264ea629c10bbab471dd0626ce4d3f19f Author: Josh Stone Date: Mon Aug 24 14:43:14 2009 -0700 tracing: Create generic syscall TRACE_EVENTs This converts the syscall_enter/exit tracepoints into TRACE_EVENTs, so you can have generic ftrace events that capture all system calls with arguments and return values. These generic events are also renamed to sys_enter/exit, so they're more closely aligned to the specific sys_enter_foo events. Signed-off-by: Josh Stone Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Li Zefan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Lai Jiangshan Cc: Paul Mundt Cc: Martin Schwidefsky Cc: Heiko Carstens LKML-Reference: <1251150194-1713-5-git-send-email-jistone@redhat.com> Signed-off-by: Frederic Weisbecker commit e8a2eb47e6ca03d4a4f98f0beef73720c5dddc0c Merge: 8b5a10f c62e432 Author: H. Peter Anvin Date: Tue Aug 25 15:40:29 2009 -0700 Merge commit 'origin/x86/urgent' into x86/asm commit 97419875865859fd2403e66266c02ce028e2f5ab Author: Josh Stone Date: Mon Aug 24 14:43:13 2009 -0700 tracing: Move tracepoint callbacks from declaration to definition It's not strictly correct for the tracepoint reg/unreg callbacks to occur when a client is hooking up, because the actual tracepoint may not be present yet. This happens to be fine for syscall, since that's in the core kernel, but it would cause problems for tracepoints defined in a module that hasn't been loaded yet. It also means the reg/unreg has to be EXPORTed for any modules to use the tracepoint (as in SystemTap). This patch removes DECLARE_TRACE_WITH_CALLBACK, and instead introduces DEFINE_TRACE_FN which stores the callbacks in struct tracepoint. The callbacks are used now when the active state of the tracepoint changes in set_tracepoint & disable_tracepoint. This also introduces TRACE_EVENT_FN, so ftrace events can also provide registration callbacks if needed. Signed-off-by: Josh Stone Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Li Zefan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Lai Jiangshan Cc: Paul Mundt Cc: Martin Schwidefsky Cc: Heiko Carstens LKML-Reference: <1251150194-1713-4-git-send-email-jistone@redhat.com> Signed-off-by: Frederic Weisbecker commit 3d27d8cb34fc156beb86de2338ca4029873a5cc6 Author: Josh Stone Date: Mon Aug 24 14:43:12 2009 -0700 tracing: Make syscall tracepoints conditional The syscall enter/exit tracepoints are only supported on archs that HAVE_SYSCALL_TRACEPOINTS, so the declarations should be #ifdef'ed. Also, the definition of syscall_regfunc and syscall_unregfunc should depend on this same config, rather than the ftrace-specific one. Signed-off-by: Josh Stone Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Li Zefan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Lai Jiangshan LKML-Reference: <1251150194-1713-3-git-send-email-jistone@redhat.com> Signed-off-by: Frederic Weisbecker commit 667000011927b4fcc359beac4a2447889db6d349 Author: Josh Stone Date: Mon Aug 24 14:43:11 2009 -0700 tracing: Rename FTRACE_SYSCALLS for tracepoints s/HAVE_FTRACE_SYSCALLS/HAVE_SYSCALL_TRACEPOINTS/g s/TIF_SYSCALL_FTRACE/TIF_SYSCALL_TRACEPOINT/g The syscall enter/exit tracing is no longer specific to just ftrace, so they now have names that reflect their tie to tracepoints instead. Signed-off-by: Josh Stone Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Li Zefan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Lai Jiangshan Cc: Paul Mundt Cc: Martin Schwidefsky Cc: Heiko Carstens LKML-Reference: <1251150194-1713-2-git-send-email-jistone@redhat.com> Signed-off-by: Frederic Weisbecker commit 30cd0c4ad57f45e257758edad537cc5f6554e711 Author: Candelaria Villareal, Jorge Date: Tue Aug 25 10:13:25 2009 -0500 ASoC: SDP3430: Fix TWL GPIO6 pin mux request Fix the write to PMBR1 register through I2C. Also, the constant which holds the value to write is now called TWL4030_GPIO6_PWM0_MUTE. This name is based on TRM to avoid confusion. Signed-off-by: Jorge Eduardo Candelaria Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit c935a331c8f569c7903ed26a3994a70cbea1802e Author: Paul E. McKenney Date: Tue Aug 25 08:40:25 2009 -0700 rcu: Add #ifdef to suppress __rcu_offline_cpu() warning in !HOTPLUG_CPU builds Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Paul Mundt LKML-Reference: <20090825154025.GD6616@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit e2e465693247b7f81e85aa8b1b482d9502812be4 Author: Takashi Iwai Date: Tue Aug 25 18:25:30 2009 +0200 ALSA: hda - Add / fix model entries for HD-audio driver Signed-off-by: Takashi Iwai commit fc86f95415d14c74fd71f5e70173a4def7da68f6 Author: Denis Kuplyakov Date: Tue Aug 25 18:15:59 2009 +0200 ALSA: hda - Add full audio support on Acer Aspire 7730G notebook 1) Added support of internal subwoofer (it sounds!!!) 2) Auto muting front speakers and internal subwoofer on headphones plug. 3) Internal mic works. 4) 3 channel mods (jack maps): black pink blue 2ch: front ext mic line in 4ch: front ext mic surround 6ch: front CLFE surround Can be changed in mixer. 5) Sound can be recorded from: Internal mic Ext mic Cd Line in 6) 2 separate capture channels. Signed-off-by: Denis Kuplyakov Signed-off-by: Takashi Iwai commit d88cb582325830698de5071fa8b8c9e933dbbcad Author: Anirban Sinha Date: Tue Aug 25 07:00:02 2009 -0700 tracing: Eliminate code duplication in kernel/tracepoint.c Signed-off-by: Anirban Sinha Reviewed-by: Li Zefan Cc: "Oleg Nesterov" LKML-Reference: Signed-off-by: Ingo Molnar commit 0d884cb936e8e36c47bc7ee86eb6750261bd5438 Author: Takashi Iwai Date: Tue Aug 25 16:14:35 2009 +0200 ALSA: hda - Improve auto-cfg mixer name for ALC662 The last patch in this series is for ALC662; pretty similar as the previous patch for ALC861-VD. Signed-off-by: Takashi Iwai commit a4fcd491098603356e7600b021bdb6acbb53adb4 Author: Takashi Iwai Date: Tue Aug 25 16:12:15 2009 +0200 ALSA: hda - Improve auto-cfg mixer name for ALC861-VD One more patch to give a better name for the primary output controls, this time for ALC861-VD codec. The change is simple, just checking the pin connection whether it's a speaker-out. When both speaker and HP are assigned, we name the volume as "PCM" as this influences on both outputs. Signed-off-by: Takashi Iwai commit c3fc1f502a1f1a751c891d3b757a24dc76943539 Author: Takashi Iwai Date: Tue Aug 25 16:08:47 2009 +0200 ALSA: hda - Improve auto-cfg mixer name for ALC262 Similar improvements for ALC262 codec like previous two commits: assign a better name, either Master or Speaker, for the primary output controls. However, in the case of ALC262 codec, the necessary changes are larger than others because we need to check the possibility of different mixer amps depending on the pins. The pin 0x16 is mono, and bound with the dedicated mixer 0x0e while other pins are bound with 0x0c. Thus, there are two possible volumes. When only one of them is used, we can name it as "Master". OTOH, when both are used at the same time, they have to be named uniquely. Signed-off-by: Takashi Iwai commit 3993832464dd4e14a4c926583a11f0fa92c1f0f0 Author: Patrick McHardy Date: Tue Aug 25 16:07:58 2009 +0200 netfilter: nfnetlink: constify message attributes and headers Signed-off-by: Patrick McHardy commit 3a6c2b419b7768703cfb2cabdb894517c5065e33 Author: Patrick McHardy Date: Tue Aug 25 16:07:40 2009 +0200 netlink: constify nlmsghdr arguments Consitfy nlmsghdr arguments to a couple of functions as preparation for the next patch, which will constify the netlink message data in all nfnetlink users. Signed-off-by: Patrick McHardy commit 23112d6d2d9b265c959ecb671366c7c3b9c83611 Author: Takashi Iwai Date: Tue Aug 25 16:07:08 2009 +0200 ALSA: hda - Improve auto-cfg mixer name for ALC260 Instead of fixed "Front" mixer name, try to assign a better name, e.g. "Master" or "Speaker" fot the primary output volume controls of ALC260 codec. Signed-off-by: Takashi Iwai commit cb162b6bf2f445d67a45f5485d4ce32addaf8fe0 Author: Takashi Iwai Date: Tue Aug 25 16:05:03 2009 +0200 ALSA: hda - Improve auto-cfg mixer name for ALC880 When there is only one DAC is used for ALC880, try to assign a better name, either Speaker or Front, depending on the output pin type. Signed-off-by: Takashi Iwai commit 005155b1f626d2b2d7932e4afdf4fead168c6888 Author: Roel Kluin Date: Tue Aug 25 15:35:12 2009 +0200 x86: Fix x86_model test in es7000_apic_is_cluster() For the x86_model to be greater than 6 or less than 12 is logically always true. Signed-off-by: Roel Kluin Cc: Andrew Morton Cc: Signed-off-by: Ingo Molnar commit 74f7a6552c8d76ffc5e11eb8d9d6c07238b9ae77 Author: Patrick McHardy Date: Tue Aug 25 15:33:08 2009 +0200 netfilter: nf_conntrack: log packets dropped by helpers Log packets dropped by helpers using the netfilter logging API. This is useful in combination with nfnetlink_log to analyze those packets in userspace for debugging. Signed-off-by: Patrick McHardy commit b6ed2e03df1e2c6ee41cf0e2e2699f2410671916 Author: Steven Whitehouse Date: Tue Aug 25 13:44:04 2009 +0100 GFS2: Add explanation of extended attr on-disk format Some useful info regarding the on-disk representation of GFS2 extended attributes. Signed-off-by: Steven Whitehouse commit faf907c7ba3d7df6266366556817f2ef7314640a Author: Shine Liu Date: Tue Aug 25 20:05:50 2009 +0800 ASoC: S3C platform: Fix s3c2410_dma_started() called at improper time s3c24xx dma has the auto reload feature, when the the trnasfer is done, CURR_TC(DSTAT[19:0], current value of transfer count) reaches 0, and DMA ACK becomes 1, and then, TC(DCON[19:0]) will be loaded into CURR_TC. So the transmission is repeated. IRQ is issued while auto reload occurs. We change the DISRC and DCON[19:0] in the ISR, but at this time, the auto reload has been performed already. The first block is being re-transmitted by the DMA. So we need rewrite the DISRC and DCON[19:0] for the next block immediatly after the this block has been started to be transported. The function s3c2410_dma_started() is for this perpose, which is called in the form of "s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_STARTED);" in s3c24xx_pcm_trigger(). But it is not correct. DMA transmission won't start until DMA REQ signal arrived, it is the time s3c24xx_snd_txctrl(1) or s3c24xx_snd_rxctrl(1) is called in s3c24xx_i2s_trigger(). In the current framework, s3c24xx_pcm_trigger() is always called before s3c24xx_pcm_trigger(). So the s3c2410_dma_started() should be called in s3c24xx_pcm_trigger() after s3c24xx_snd_txctrl(1) or s3c24xx_snd_rxctrl(1) is called in this function. However, s3c2410_dma_started() is dma related, to call this function we should provide the channel number, which is given by substream->runtime->private_data->params->channel. The private_data points to a struct s3c24xx_runtime_data object, which is define in s3c24xx_pcm.c, so s3c2410_dma_started() can't be called in s3c24xx_i2s.c Fix this by moving the call to signal the DMA started to the DAI drivers. Signed-off-by: Shine Liu Signed-off-by: Shine Liu Signed-off-by: Mark Brown commit 05f5f477082f0b192dab5ac25ccc5d468d98ecbd Author: Takashi Iwai Date: Tue Aug 25 13:10:18 2009 +0200 ALSA: hda - Generalize input pin parsing in patch_realtek.c Provide a standard parser for input pins to create the input mixer and input source controls instead of having a difference one for each Realtek codec. The new helper parses the codec connections dynamically isntead of fixed indicies. Signed-off-by: Takashi Iwai commit d09a2afc9359407114b7062519101f1ee2d05388 Author: Jarkko Nikula Date: Sun Aug 23 12:24:27 2009 +0300 ARM: OMAP: McBSP: Merge two functions into omap_mcbsp_start/_stop Functionality of functions omap_mcbsp_xmit_enable and omap_mcbsp_recv_enable can be merged into omap_mcbsp_start and omap_mcbsp_stop since API of those omap_mcbsp_start and omap_mcbsp_stop was changed recently allowing to start and stop individually the transmitter and receiver. This cleans up the code in arch/arm/plat-omap/mcbsp.c and in sound/soc/omap/omap-mcbsp.c which was the only user for those removed functions. Signed-off-by: Jarkko Nikula Acked-by: Eero Nurkkala Cc: Peter Ujfalusi Signed-off-by: Mark Brown commit 32080af7a612e8c56131d6bdcd268cd9e8b0add1 Author: Jarkko Nikula Date: Sun Aug 23 12:24:26 2009 +0300 ASoC: OMAP: Fix setup of XCCR and RCCR registers in McBSP DAI Commit ca6e2ce08679c094878d7f39a0349a7db1d13675 is setting up few XCCR and RCCR bits for I2S and DPS_A formats. Part of the bits are already set for all formats and I believe that XDISABLE and RDISABLE bits are format independent. As XCCR and RCCR are found only from OMAP2430 and OMAP34xx, I move setup of XDISABLE and RDISABLE to where those cpu's are tested and remove format dependent part for simplicity. Signed-off-by: Jarkko Nikula Acked-by: Eero Nurkkala Cc: Peter Ujfalusi Signed-off-by: Mark Brown commit 9b30050908fad96968497e73b88626056ea33c96 Author: Jarkko Nikula Date: Mon Aug 24 17:45:50 2009 +0300 OMAP: McBSP: Use textual values in DMA operating mode sysfs files Use more descriptive than numerical value when showing and storing the McBSP DMA operating mode. Show function is using similar syntax than e.g. the led triggers so that all possible values for store function are printed but with current value surrounded with square brackets. Signed-off-by: Jarkko Nikula Cc: Peter Ujfalusi Acked-by: Eduardo Valentin Signed-off-by: Mark Brown commit 31b47cf7609288893a10706c648faa932c7aef90 Author: Mark Brown Date: Mon Aug 24 20:28:04 2009 +0100 genirq: Add prototype for handle_nested_irq() The function is supposed to be called from the primary IRQ handler for a demultiplexing chip so make a protype visible for them. Signed-off-by: Mark Brown Cc: Mark Brown LKML-Reference: <1251142084-9852-1-git-send-email-broonie@opensource.wolfsonmicro.com> Signed-off-by: Ingo Molnar commit daedc71836e5a398fd0cc0e12c5cb43539478485 Merge: c36ba80 422bef8 Author: Ingo Molnar Date: Tue Aug 25 10:04:27 2009 +0200 Merge commit 'v2.6.31-rc7' into irq/core Merge reason: move from an -rc2 base to -rc7. Signed-off-by: Ingo Molnar commit a4be7c2778d1fd8e0a8a5607bec91fa221ab2c91 Author: Peter Zijlstra Date: Wed Aug 19 11:18:27 2009 +0200 perf_counter: Allow sharing of output channels Provide the ability to configure a counter to send its output to another (already existing) counter's output stream. Signed-off-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: stephane eranian Cc: Paul Mackerras LKML-Reference: <20090819092023.980284148@chello.nl> Signed-off-by: Ingo Molnar commit fa289beca9de9119c7760bd984f3640da21bc94c Author: Paul Mackerras Date: Tue Aug 25 15:17:20 2009 +1000 perf_counter: Start counting time enabled when group leader gets enabled Currently, if a group is created where the group leader is initially disabled but a non-leader member is initially enabled, and then the leader is subsequently enabled some time later, the time_enabled for the non-leader member will reflect the whole time since it was created, not just the time since the leader was enabled. This is incorrect, because all of the members are effectively disabled while the leader is disabled, since none of the members can go on the PMU if the leader can't. Thus we have to update the ->tstamp_enabled for all the enabled group members when a group leader is enabled, so that the time_enabled computation only counts the time since the leader was enabled. Similarly, when disabling a group leader we have to update the time_enabled and time_running for all of the group members. Also, in update_counter_times, we have to treat a counter whose group leader is disabled as being disabled. Reported-by: Stephane Eranian Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: LKML-Reference: <19091.29664.342227.445006@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit cbe86b98a6aceefe943ada1471eb52fd9ac4c504 Author: Randy Dunlap Date: Mon Aug 24 16:32:50 2009 -0700 Bluetooth: Add missing selection of CONFIG_CRC16 for L2CAP layer Fix net/bluetooth/l2cap.c build errors: l2cap.c:(.text+0x126035): undefined reference to `crc16' l2cap.c:(.text+0x126323): undefined reference to `crc16' l2cap.c:(.text+0x12668e): undefined reference to `crc16' l2cap.c:(.text+0x12683b): undefined reference to `crc16' l2cap.c:(.text+0x126956): undefined reference to `crc16' net/built-in.o:l2cap.c:(.text+0x129041): more undefined references to `crc16' follow Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Marcel Holtmann commit 7bee549e197c9c0e92b89857a409675c1d5e9dff Author: Oliver Neukum Date: Mon Aug 24 23:44:59 2009 +0200 Bluetooth: Add USB autosuspend support to btusb driver This patch adds support of USB autosuspend to the btusb driver. If the device doesn't support remote wakeup, simple support based on up/down is provided. If the device supports remote wakeup, additional support for autosuspend while the interface is up is provided. This is done by queueing URBs in an anchor structure and waking the device up from a work queue on sending. Reception triggers remote wakeup. The last busy facility of the USB autosuspend code is used. To close a race between autosuspend and transmission, a counter of ongoing transmissions is maintained. Add #ifdefs for CONFIG_PM as necessary. Signed-off-by: Oliver Neukum Tested-by: Sarah Sharp Signed-off-by: Marcel Holtmann commit 9f0f4ae570a148c76be6e86c959c8d4ed912fb1f Author: Janusz Krzysztofik Date: Sun Aug 23 17:56:12 2009 +0200 ARM: OMAP: DMA: Add support for DMA channel self linking on OMAP1510 Implement DMA channel self linking on OMAP1510 using AUTO_INIT and REPEAT flags of the DMA CCR register. Created against linux-2.6.31-rc5. Tested on Amstrad Delta. Signed-off-by: Janusz Krzysztofik Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit d2e353f7c3c5fbb3add0341c10ae167ee745d23b Author: Wending Weng Date: Mon Aug 24 16:05:17 2009 -0400 Bluetooth: Fix false errors from bcsp_pkt_cull function The error message "Removed only %u out of %u pkts" is printed when multiple to be acked packets are queued. if (i++ >= pkts_to_be_removed) break; This will break out of the loop and increase the counter i when i==pkts_to_be_removed and the loop ends up with i=pkts_to_be_removed+1. The following line if (i != pkts_to_be_removed) { BT_ERR("Removed only %u out of %u pkts", i, pkts_to_be_removed); } will then display the false message. The counter i must not increase on the same statement. Signed-off-by: Wending Weng Signed-off-by: Marcel Holtmann commit e4aa8dd5cadca054a807278b04f67ce8e3b9dc42 Merge: 239a22a 59ae07a Author: Mark Brown Date: Mon Aug 24 20:44:41 2009 +0100 Merge branch 'topic/digital-mixing' into for-2.6.32 commit 239a22aaa9d4d574d397b852652684ac610d1e1b Author: Mark Brown Date: Mon Aug 24 20:21:51 2009 +0100 ASoC: Select core DMA when building for S3C64xx Ensure that the core DMA support is available when building for S3C64xx. Signed-off-by: Mark Brown commit 33f76148ced0e0618062e302d2a9614efdbd4a06 Author: Paul E. McKenney Date: Mon Aug 24 09:42:01 2009 -0700 rcu: Add CPU-offline processing for single-node configurations Add preemptable-RCU plugin to handle the CPU-offline processing. An additional plugin is forthcoming to handle multinode RCU trees, but this current plugin works for configurations up to 32 CPUs (64 CPUs for 64-bit kernels). Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12511321213336-git-send-email-> Signed-off-by: Ingo Molnar commit 7c614d6461399acca5c0ba444f5db49cb332fc08 Author: Paul E. McKenney Date: Mon Aug 24 09:42:00 2009 -0700 rcu: Add "notrace" to RCU function headers used by ftrace Both rcu_read_lock_sched_notrace() and rcu_read_unlock_sched_notrace() are used by ftrace, and thus need to be marked "notrace". Unfortunately, my naive assumption that gcc would see the inner "notrace" does not hold. Kudos to Lai Jiangshan for noting this. Reported-by: Ingo Molnar Bug-spotted-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12511321213243-git-send-email-> Signed-off-by: Ingo Molnar commit f3abc9b963e004b8c96cd7fbee6fd905f2bfd620 Author: Eric Dumazet Date: Mon Aug 24 19:35:38 2009 +0200 netfilter: bridge: refcount fix commit f216f082b2b37c4943f1e7c393e2786648d48f6f ([NETFILTER]: bridge netfilter: deal with martians correctly) added a refcount leak on in_dev. Instead of using in_dev_get(), we can use __in_dev_get_rcu(), as netfilter hooks are running under rcu_read_lock(), as pointed by Patrick. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit cce5a5c3029f731b5ea17a8a9a953ff742abf0d6 Author: Maximilian Engelhardt Date: Mon Aug 24 19:24:54 2009 +0200 netfilter: nf_nat: fix inverted logic for persistent NAT mappings Kernel 2.6.30 introduced a patch [1] for the persistent option in the netfilter SNAT target. This is exactly what we need here so I had a quick look at the code and noticed that the patch is wrong. The logic is simply inverted. The patch below fixes this. Also note that because of this the default behavior of the SNAT target has changed since kernel 2.6.30 as it now ignores the destination IP in choosing the source IP for nating (which should only be the case if the persistent option is set). [1] http://git.eu.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=98d500d66cb7940747b424b245fc6a51ecfbf005 Signed-off-by: Maximilian Engelhardt Signed-off-by: Patrick McHardy commit 35aad0ffdf548617940ca1e78be1f2e0bafc4496 Author: Jan Engelhardt Date: Mon Aug 24 14:56:30 2009 +0200 netfilter: xtables: mark initial tables constant The inputted table is never modified, so should be considered const. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 9d0b71b1cf7b7ff856d200841de3f3d7c64eb170 Author: Takashi Iwai Date: Mon Aug 24 14:10:30 2009 +0200 ALSA: hda - Reuse ALC268 parser for ALC269 Reuse a part of the code of ALC268 parser for ALC269. This will change the default output volume either to Front or Speaker depending on the pin configuration. Signed-off-by: Takashi Iwai commit 10f02d1168585edf66229bb2ec90a42f32667a78 Author: Alexey Dobriyan Date: Sun Aug 23 23:17:27 2009 +0400 x86: uv: Clean up uv_ptc_init(), use proc_create() create_proc_entry() is getting duhprecated. Signed-off-by: Alexey Dobriyan Cc: cpw@sgi.com Signed-off-by: Ingo Molnar commit 5f9ece02401116b29eb04396b99ea092acb75dd8 Merge: 9f51e24 422bef8 Author: Ingo Molnar Date: Mon Aug 24 12:25:44 2009 +0200 Merge commit 'v2.6.31-rc7' into x86/cleanups Merge reason: we were on -rc1 before - go up to -rc7 Signed-off-by: Ingo Molnar commit d34843d0c4a20872f3f3bfb510328bd043b939ff Author: Bob Peterson Date: Mon Aug 24 10:44:18 2009 +0100 GFS2: Add "-o errors=panic|withdraw" mount options This patch adds "-o errors=panic" and "-o errors=withdraw" to the gfs2 mount options. The "errors=withdraw" option is today's current behaviour, meaning to withdraw from the file system if a non-serious gfs2 error occurs. The new "errors=panic" option tells gfs2 to force a kernel panic if a non-serious gfs2 file system error occurs. This may be useful, for example, where fabric-level fencing is used that has no way to reboot (such as fence_scsi). Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit cd0120751d631bc4b99f180c1c22de2caca98207 Author: Roel Kluin Date: Sat Aug 22 19:26:42 2009 +0200 GFS2: jumping to wrong label? Also a gfs2_glock_dq() is required here. Signed-off-by: Roel Kluin Signed-off-by: Steven Whitehouse commit 1b7bf4edca0fdbad70c44e139f4cfebd6759de81 Author: Gustavo F. Padovan Date: Mon Aug 24 00:45:20 2009 -0300 Bluetooth: Use proper *_unaligned_le{16,32} helpers for L2CAP Simplify more conversions to the right endian with the proper helpers. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit e686219a64fee9be9ce438dc3f040cd71ddd168a Author: Gustavo F. Padovan Date: Mon Aug 24 00:45:19 2009 -0300 Bluetooth: Add locking scheme to L2CAP timeout callbacks Avoid race conditions when accessing the L2CAP socket from within the timeout handlers. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit fd72d008465d45db63d7f8931eea6a04e05916d6 Author: Wu Fengguang Date: Mon Aug 24 09:50:46 2009 +0800 ALSA: hda: move open coded tricks into get_wcaps_channels() Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit c6ea2af76ab79b82a0bfed313e4c2b68b10c2bc1 Author: Takashi Iwai Date: Mon Aug 24 09:41:32 2009 +0200 ASoC: Remove unneeded inclusion of linux/regulator/consumer.h Signed-off-by: Takashi Iwai commit 20496ff3783fc9d4cea2317ed2d4442561af64d9 Author: Takashi Iwai Date: Mon Aug 24 09:40:34 2009 +0200 ASoC: add missing inclusion of debugfs.h To fix compile errors. Signed-off-by: Takashi Iwai commit 96d6e48bc6b38342a59ccd23e25907d12caaeaf8 Merge: 6e08643 4464fca Author: Ingo Molnar Date: Wed Aug 19 14:50:35 2009 +0200 Merge branch 'perfcounters/urgent' into perfcounters/core Conflicts: tools/perf/builtin-annotate.c tools/perf/builtin-report.c Merge reason: resolve these conflicts. Signed-off-by: Ingo Molnar commit 5eecfde615894dc1c2e3f85b515a96ae2e408fb5 Author: Chuck Lever Date: Fri Aug 21 17:50:30 2009 -0400 NFS: Handle a zero-length auth flavor list Some releases of Linux rpc.mountd (nfs-utils 1.1.4 and later) return an empty auth flavor list if no sec= was specified for the export. This is notably broken server behavior. The new auth flavor list checking added in a recent commit rejects this case. The OpenSolaris client does too. The broken mountd implementation is already widely deployed. To avoid a behavioral regression, the kernel's mount client skips flavor checking (ie reverts to the pre-2.6.32 behavior) if mountd returns an empty flavor list. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 940917226260d6e029f55742a34a7d7810983c75 Merge: 9818f66 929122c Author: David S. Miller Date: Sun Aug 23 19:19:30 2009 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit 9818f660f433b58e770cfeb2ee9566f7b42ca0ae Author: Florian Fainelli Date: Thu Aug 20 01:26:23 2009 +0000 r6040: bump to version 0.25 and 20 August 2009 release date Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit e03f614af7811f9d089862a8700e683dcc6963c6 Author: Mark Kelly Date: Thu Aug 20 01:26:20 2009 +0000 r6040: move down second PHY detection to r6040_init_one Instead of fully initializing an unusable second r6040 device, perform the PHY detection earlier and bail out in r6040_init_one when we could not read the PHY identifier. Signed-off-by: Mark Kelly Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit d516478ff67b2abb2f3ecc998a598576d92b0b5e Author: Mark Kelly Date: Thu Aug 20 01:26:12 2009 +0000 r6040: remove unused pioaddr variable This patch removes the unused pioaddr variable. Signed-off-by: Mark Kelly Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit f2c449320d547bd5c281649eb1d99afb20765144 Author: Andy Grover Date: Fri Aug 21 12:28:35 2009 +0000 RDS: Add a debug message suggesting to load transport modules Now that RDS transports are no longer compiled-in to RDS core, there is now the possibility that they will not be loaded. This adds a helpful suggestion when rds_bind() fails to find a transport. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 335776bd696a6bf95134baf8ad95847371e4d5f6 Author: Andy Grover Date: Fri Aug 21 12:28:34 2009 +0000 RDS: Track transports via an array, not a list Now that transports can be loaded in arbitrary order, it is important for rds_trans_get_preferred() to look for them in a particular order, instead of walking the list until it finds a transport that works for a given address. Now, each transport registers for a specific transport slot, and these are ordered so that preferred transports come first, and then if they are not loaded, other transports are queried. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 40d866095df3bb70ded1813f4852cab445ef678b Author: Andy Grover Date: Fri Aug 21 12:28:33 2009 +0000 RDS: Modularize RDMA and TCP transports Enable the building of transports as modules. Also, improve consistency of Kconfig messages in relation to other protocols, and move build dependency on IB from the RDS core code to the rds_rdma module. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 616b757ae18fb8ec2dfe7ff9d3f589f82cb0eb9d Author: Andy Grover Date: Fri Aug 21 12:28:32 2009 +0000 RDS: Export symbols from core RDS Now that rdma and tcp transports will be modularized, we need to export a number of functions so they can call them. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 70041088e3b976627ba9a183b812f39ef8a9ba0e Author: Andy Grover Date: Fri Aug 21 12:28:31 2009 +0000 RDS: Add TCP transport to RDS This code allows RDS to be tunneled over a TCP connection. RDMA operations are disabled when using TCP transport, but this frees RDS from the IB/RDMA stack dependency, and allows it to be used with standard Ethernet adapters, or in a VM. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 7d6fd5e7e97a2188d56441e4e96494c21c5994a7 Author: Dhananjay Phadke Date: Sun Aug 23 08:35:13 2009 +0000 netxen: remove netxen_nic_phan_reg.h Consolidate register definitions in netxen_nic_hdr.h Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 22b5794b5d58ea81e91d68d00e49357b66d5a559 Author: Amit Kumar Salecha Date: Sun Aug 23 08:35:12 2009 +0000 netxen: implement pci driver shutdown Implement pci driver shutdown functionality, this helps quiescing all PCI transaction before chipset is reset. Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ce644ed4db3ee1075ebd9f4acc403e1f9410db21 Author: Dhananjay Phadke Date: Sun Aug 23 08:35:11 2009 +0000 netxen: refactor tx dma mapping code Move all tx skb mapping code into netxen_map_tx_skb(). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1dbc84a7f6c2ebd8c69299e1adef22ee26db38c0 Author: Dhananjay Phadke Date: Sun Aug 23 08:35:10 2009 +0000 netxen: fix firmware reset logic If netxen_need_fw_reset() return 0 [ implies firmware is up and running], still go through dma mask check, etc. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1bb482f8a46000f77577948ff1c350275bba7dc9 Author: Narender Kumar Date: Sun Aug 23 08:35:09 2009 +0000 netxen: ethtool statistics and control for LRO Add ethtool -K knob to control LRO in firmware. LRO path is completely separated from GRO, LRO packets are still fed with netif_receive_skb(). Also fix ethtool statistics to include LRO packets. Also use correct message type while configuring interrupt coalescing. Signed-off-by: Narender Kumar Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d8e180dcd5bbbab9cd3ff2e779efcf70692ef541 Author: Michal Schmidt Date: Thu Aug 20 14:39:52 2009 -0700 bsdacct: switch credentials for writing to the accounting file When process accounting is enabled, every exiting process writes a log to the account file. In addition, every once in a while one of the exiting processes checks whether there's enough free space for the log. SELinux policy may or may not allow the exiting process to stat the fs. So unsuspecting processes start generating AVC denials just because someone enabled process accounting. For these filesystem operations, the exiting process's credentials should be temporarily switched to that of the process which enabled accounting, because it's really that process which wanted to have the accounting information logged. Signed-off-by: Michal Schmidt Acked-by: David Howells Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: James Morris commit e2365bf313fb21b49b1e4c911033389564428d03 Author: Marek Vasut Date: Fri Aug 21 20:02:52 2009 +0200 ASoC: Pass correct platform data from pxa2xx-ac97 Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit 848bffef28454049549bfba113b932df7c6d243d Author: Bartlomiej Zolnierkiewicz Date: Wed Aug 19 22:09:55 2009 +0200 ALSA: ali5451: remove dead code Remove code covered by #if/endif 0 and #ifdef/endif CODEC_RESET (CODEC_RESET is never defined). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Takashi Iwai commit 821ebc86efd4b42aa120076562b0fd4f03ec3c0c Author: Roel Kluin Date: Sat Aug 22 21:24:24 2009 +0200 ASoC: free socdev if init_card() fails in wm9705_soc_probe() Free socdev if snd_soc_init_card() fails. Signed-off-by: Roel Kluin Signed-off-by: Mark Brown commit 366d19e181be873c70f4aafca3931d77d781ccd7 Author: Tobias Doerffel Date: Fri Aug 21 23:06:23 2009 +0200 x86: add specific support for Intel Atom architecture Add another option when selecting CPU family so the kernel can be optimized for Intel Atom CPUs. If GCC supports tuning options for Intel Atom they will be used. Signed-off-by: Tobias Doerffel Signed-off-by: H. Peter Anvin LKML-Reference: <1251018457-19157-1-git-send-email-tobias.doerffel@gmail.com> Signed-off-by: Ingo Molnar commit 8a517c514d5893602cf85c1b4c47afbbc04d2198 Merge: c64b04f 422bef8 Author: Ingo Molnar Date: Sun Aug 23 11:18:47 2009 +0200 Merge commit 'v2.6.31-rc7' into x86/cpu commit 6b3ef48adf847f7adf11c870e3ffacac150f1564 Author: Paul E. McKenney Date: Sat Aug 22 13:56:53 2009 -0700 rcu: Remove CONFIG_PREEMPT_RCU Now that CONFIG_TREE_PREEMPT_RCU is in place, there is no further need for CONFIG_PREEMPT_RCU. Remove it, along with whatever subtle bugs it may (or may not) contain. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <125097461396-git-send-email-> Signed-off-by: Ingo Molnar commit f41d911f8c49a5d65c86504c19e8204bb605c4fd Author: Paul E. McKenney Date: Sat Aug 22 13:56:52 2009 -0700 rcu: Merge preemptable-RCU functionality into hierarchical RCU Create a kernel/rcutree_plugin.h file that contains definitions for preemptable RCU (or, under the #else branch of the #ifdef, empty definitions for the classic non-preemptable semantics). These definitions fit into plugins defined in kernel/rcutree.c for this purpose. This variant of preemptable RCU uses a new algorithm whose read-side expense is roughly that of classic hierarchical RCU under CONFIG_PREEMPT. This new algorithm's update-side expense is similar to that of classic hierarchical RCU, and, in absence of read-side preemption or blocking, is exactly that of classic hierarchical RCU. Perhaps more important, this new algorithm has a much simpler implementation, saving well over 1,000 lines of code compared to mainline's implementation of preemptable RCU, which will hopefully be retired in favor of this new algorithm. The simplifications are obtained by maintaining per-task nesting state for running tasks, and using a simple lock-protected algorithm to handle accounting when tasks block within RCU read-side critical sections, making use of lessons learned while creating numerous user-level RCU implementations over the past 18 months. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12509746134003-git-send-email-> Signed-off-by: Ingo Molnar commit a157229cabd6dd8cfa82525fc9bf730c94cc9ac2 Author: Paul E. McKenney Date: Sat Aug 22 13:56:51 2009 -0700 rcu: Simplify rcu_pending()/rcu_check_callbacks() API All calls from outside RCU are of the form: if (rcu_pending(cpu)) rcu_check_callbacks(cpu, user); This is silly, instead we put a call to rcu_pending() in rcu_check_callbacks(), and then make the outside calls be to rcu_check_callbacks(). This cuts down on the code a bit and also gives the compiler a better chance of optimizing. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <125097461311-git-send-email-> Signed-off-by: Ingo Molnar commit 22f00b69f6a7e1e18e821979a23e8307c2de9888 Author: Paul E. McKenney Date: Sat Aug 22 13:56:50 2009 -0700 rcu: Use debugfs_remove_recursive() simplify code. Suggested by Josh Triplett. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: "Paul E. McKenney" LKML-Reference: <12509746132173-git-send-email-> Signed-off-by: Ingo Molnar commit 65cf8f866fc0fb40fa9daaded7e938a886d6f7c5 Author: Paul E. McKenney Date: Sat Aug 22 13:56:49 2009 -0700 rcu: Merge per-RCU-flavor initialization into pre-existing macro Rename the RCU_DATA_PTR_INIT() macro to RCU_INIT_FLAVOR() and make it do the rcu_init_one() and rcu_boot_init_percpu_data() calls. Merge the loop that was in the original macro with the loops that were in __rcu_init(). Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12509746133916-git-send-email-> Signed-off-by: Ingo Molnar commit 5699ed8fcb0c32ca699e2a27ad716eb70b367dbf Author: Paul E. McKenney Date: Sat Aug 22 13:56:48 2009 -0700 rcu: Fix online/offline indication for rcudata.csv trace file The heading said "Online?", but the column had "Y" for offline CPUs and "N" for online CPUs. Swap the "Y" and "N" to match the heading. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12509746132841-git-send-email-> Signed-off-by: Ingo Molnar commit bc33f24bdca8b6e97376e3a182ab69e6cdefa989 Author: Paul E. McKenney Date: Sat Aug 22 13:56:47 2009 -0700 rcu: Consolidate sparse and lockdep declarations in include/linux/rcupdate.h Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12509746132349-git-send-email-> Signed-off-by: Ingo Molnar commit d6714c22b43fbcbead7e7b706ff270e15f04a791 Author: Paul E. McKenney Date: Sat Aug 22 13:56:46 2009 -0700 rcu: Renamings to increase RCU clarity Make RCU-sched, RCU-bh, and RCU-preempt be underlying implementations, with "RCU" defined in terms of one of the three. Update the outdated rcu_qsctr_inc() names, as these functions no longer increment anything. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12509746132696-git-send-email-> Signed-off-by: Ingo Molnar commit 9f77da9f40045253e91f55c12d4481254b513d2d Author: Paul E. McKenney Date: Sat Aug 22 13:56:45 2009 -0700 rcu: Move private definitions from include/linux/rcutree.h to kernel/rcutree.h Some information hiding that makes it easier to merge preemptability into rcutree without descending into #include hell. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <1250974613373-git-send-email-> Signed-off-by: Ingo Molnar commit 8fea0f0db87a4aaed41a93eed147af61cc5f9e3f Author: Michael Chan Date: Fri Aug 21 16:20:50 2009 +0000 bnx2: Update version to 2.0.2. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0ced9d01d19795f913b95cebedd7d03986671379 Author: Michael Chan Date: Fri Aug 21 16:20:49 2009 +0000 bnx2: Use const on flash_table structure. The structure, once initialized, never changes. Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit cf7474a6f4eda22603591b7d6253dffc224e4784 Author: Michael Chan Date: Fri Aug 21 16:20:48 2009 +0000 bnx2: Refine coalescing parameters. - Set the USE_INT_PARAM bit so the rx-frames-irq and tx-frames-irq will take effect on 5709. - Increase the default rx-frames to reduce interrupt count. - Decrease the default rx-frames-irq and tx-frames-irq to catch more events during NAPI poll. All these will reduce interrupts without affecting latency. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 790dab2f671cb477e6179322a6c48c898e311e72 Author: Michael Chan Date: Fri Aug 21 16:20:47 2009 +0000 bnx2: Report FTQ discard counter. Report this counter to ethtool -S and include it in netstat. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 61d9e3fa7eacabfb7879e3da91709f1a5420c507 Author: Michael Chan Date: Fri Aug 21 16:20:46 2009 +0000 bnx2: Apply BROKEN_STATS workaround to 5706 and 5708. Add flag to expand the workaround to both chips. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6fefb65e78f098c09d0ab877b2c70421e4c84116 Author: Michael Chan Date: Fri Aug 21 16:20:45 2009 +0000 bnx2: Close device if MTU change or ring size change fails. When unable to allocate memory for new MTU or new ring size, we need to close the device to prevent it from crashing. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3767546cc24de8f104e745d59a0a43a09d9267df Author: Michael Chan Date: Fri Aug 21 16:20:44 2009 +0000 bnx2: Check if_running() before touching chip registers. Add this check to bnx2_netif_stop() and bnx2_vlan_rx_register() to prevent bus lockups on some systems when the chip is in low power state. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 155d5561f570c5b3af7a178670061927d89209fb Author: Michael Chan Date: Fri Aug 21 16:20:43 2009 +0000 bnx2: Zero out status block before chip reset. In case IRQs are shared, we will not mistakenly start processing the ring based on old status block indices. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9e726b17422bade75fba94e625cd35fd1353e682 Author: Luiz Augusto von Dentz Date: Wed Jul 15 13:50:58 2009 -0300 Bluetooth: Fix rejected connection not disconnecting ACL link When using DEFER_SETUP on a RFCOMM socket, a SABM frame triggers authorization which when rejected send a DM response. This is fine according to the RFCOMM spec: the responding implementation may replace the "proper" response on the Multiplexer Control channel with a DM frame, sent on the referenced DLCI to indicate that the DLCI is not open, and that the responder would not grant a request to open it later either. But some stacks doesn't seems to cope with this leaving DLCI 0 open after receiving DM frame. To fix it properly a timer was introduced to rfcomm_session which is used to set a timeout when the last active DLC of a session is unlinked, this will give the remote stack some time to reply with a proper DISC frame on DLCI 0 avoiding both sides sending DISC to each other on stacks that follow the specification and taking care of those who don't by taking down DLCI 0. Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Marcel Holtmann commit ef54fd937fbd5ebaeb023818524565bd526a5f36 Author: Gustavo F. Padovan Date: Thu Aug 20 22:26:04 2009 -0300 Bluetooth: Full support for receiving L2CAP SREJ frames Support for receiving of SREJ frames as specified by the state table. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 8f17154f1f70fcc6faa31ac82164fcf7f0599f38 Author: Gustavo F. Padovan Date: Thu Aug 20 22:26:03 2009 -0300 Bluetooth: Add support for L2CAP SREJ exception When L2CAP loses an I-frame we send a SREJ frame to the transmitter side requesting the lost packet. This patch implement all Recv I-frame events on SREJ_SENT state table except the ones that deal with SendRej (the REJ exception at receiver side is yet not implemented). Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit fcc203c30d72dde82692f6b761a80e5ca5fdd8fa Author: Gustavo F. Padovan Date: Thu Aug 20 22:26:02 2009 -0300 Bluetooth: Add support for FCS option to L2CAP Implement CRC16 check for L2CAP packets. FCS is used by Streaming Mode and Enhanced Retransmission Mode and is a extra check for the packet content. Using CRC16 is the default, L2CAP won't use FCS only when both side send a "No FCS" request. Initially based on a patch from Nathan Holstein Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 6840ed0770d79b9bb0800e5e026a067040ef18f5 Author: Gustavo F. Padovan Date: Thu Aug 20 22:26:01 2009 -0300 Bluetooth: Enable Streaming Mode for L2CAP Streaming Mode is helpful for the Bluetooth streaming based profiles, such as A2DP. It doesn't have any error control or flow control. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit e90bac061b17cd81bd0df30606c64f4543bf5ca0 Author: Gustavo F. Padovan Date: Thu Aug 20 22:26:00 2009 -0300 Bluetooth: Add support for Retransmission and Monitor Timers L2CAP uses retransmission and monitor timers to inquiry the other side about unacked I-frames. After sending each I-frame we (re)start the retransmission timer. If it expires, we start a monitor timer that send a S-frame with P bit set and wait for S-frame with F bit set. If monitor timer expires, try again, at a maximum of L2CAP_DEFAULT_MAX_TX. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 30afb5b2aa83adf4f69e5090d48e1bb04b64c58a Author: Gustavo F. Padovan Date: Thu Aug 20 22:25:59 2009 -0300 Bluetooth: Initial support for retransmission of packets with REJ frames When receiving an I-frame with unexpected txSeq, receiver side start the recovery procedure by sending a REJ S-frame to the transmitter side. So the transmitter can re-send the lost I-frame. This patch just adds a basic support for retransmission, it doesn't mean that ERTM now has full support for packet retransmission. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit c74e560cd0101455f1889515e1527e4c2e266113 Author: Gustavo F. Padovan Date: Thu Aug 20 22:25:58 2009 -0300 Bluetooth: Add support for Segmentation and Reassembly of SDUs ERTM should use Segmentation and Reassembly to break down a SDU in many PDUs on sending data to the other side. On sending packets we queue all 'segments' until end of segmentation and just the add them to the queue for sending. On receiving we create a new SKB with the SDU reassembled. Initially based on a patch from Nathan Holstein Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a Author: Gustavo F. Padovan Date: Thu Aug 20 22:25:57 2009 -0300 Bluetooth: Add initial support for ERTM packets transfers This patch adds support for ERTM transfers, without retransmission, with txWindow up to 63 and with acknowledgement of packets received. Now the packets are queued before call l2cap_do_send(), so packets couldn't be sent at the time we call l2cap_sock_sendmsg(). They will be sent in an asynchronous way on later calls of l2cap_ertm_send(). Besides if an error occurs on calling l2cap_do_send() we disconnect the channel. Initially based on a patch from Nathan Holstein Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 22121fc9152ca8f25a2d790860832ccb6a414c4d Author: Gustavo F. Padovan Date: Thu Jul 23 10:27:23 2009 -0300 Bluetooth: Create separate l2cap_send_disconn_req() function The code for sending a disconnect request was repeated several times within L2CAP source code. So move this into its own function. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit f2fcfcd670257236ebf2088bbdf26f6a8ef459fe Author: Gustavo F. Padovan Date: Sat Jul 4 15:06:24 2009 -0300 Bluetooth: Add configuration support for ERTM and Streaming mode Add support to config_req and config_rsp to configure ERTM and Streaming mode. If the remote device specifies ERTM or Streaming mode, then the same mode is proposed. Otherwise ERTM or Basic mode is used. And in case of a state 2 device, the remote device should propose the same mode. If not, then the channel gets disconnected. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 65c7c4918450f8c4545ccb02a9c7a3d77e073535 Author: Marcel Holtmann Date: Sat May 2 23:07:53 2009 -0700 Bluetooth: Add L2CAP RFC option if ERTM is enabled When trying to establish a connection with Enhanced Retransmission mode enabled, the RFC option needs to be added to the configuration. Signed-off-by: Marcel Holtmann commit c6b03cf986eab00e20d0dbc852b233bb83472138 Author: Marcel Holtmann Date: Sat May 2 22:31:10 2009 -0700 Bluetooth: Allow setting of L2CAP ERTM via socket option To enable Enhanced Retransmission mode it needs to be set via a socket option. A different mode can be set on a socket, but on listen() and connect() the mode is checked and ERTM is only allowed if it is enabled via the module parameter. Signed-off-by: Marcel Holtmann commit 44dd46de325c4d47abfd1361e5d84a548edb8e42 Author: Marcel Holtmann Date: Sat May 2 19:09:01 2009 -0700 Bluetooth: Add module option to enable L2CAP ERTM support Since the Enhanced Retransmission mode for L2CAP is still under heavy development disable it by default and provide a module option to enable it manually for testing. Signed-off-by: Marcel Holtmann commit 52d18347dfb61519aa0f58fe1759edd3ad8c4e36 Author: Marcel Holtmann Date: Sat Aug 22 14:49:36 2009 -0700 Bluetooth: Coding style cleanup from previous rfcomm_init bug fix The rfcomm_init bug fix went into the kernel premature before it got fully reviewed and acknowledged by the Bluetooth maintainer. So fix up the coding style now. Signed-off-by: Marcel Holtmann commit a6a67efd7088702fdbbb780c5a3f8e1a74e77b63 Author: Thomas Gleixner Date: Sun Jul 26 08:18:19 2009 +0000 Bluetooth: Convert hdev->req_lock to a mutex hdev->req_lock is used as mutex so make it a mutex. Signed-off-by: Thomas Gleixner Signed-off-by: Marcel Holtmann commit 5959809ded86e267c1a95fb44738a224c30d3434 Author: Julia Lawall Date: Thu Aug 6 22:05:18 2009 +0200 Bluetooth: Add missing kmalloc NULL tests to Marvell driver Check that the result of kmalloc is not NULL before dereferencing it. The patch also replaces kmalloc + memset by kzalloc. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression *x; identifier f; constant char *C; @@ x = \(kmalloc\|kcalloc\|kzalloc\)(...); ... when != x == NULL when != x != NULL when != (x || ...) ( kfree(x) | f(...,C,...,x,...) | *f(...,x,...) | *x->f ) // Signed-off-by: Julia Lawall Signed-off-by: Marcel Holtmann commit 3318b2362bf0528be77123c480249663557dfbfc Author: Bing Zhao Date: Wed Jul 8 11:44:14 2009 -0700 Bluetooth: Fix incorrect alignment in Marvell BT-over-SDIO driver The driver uses "u32" for alignment check and calculation which works only on 32-bit system. It will crash the 64-bit system. Replace "u32" with "unsigned long" to fix this issue. Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 9374253ffe609f2d70dd5ae280182cb6f08fef08 Author: Marcel Holtmann Date: Sat Jun 13 07:40:18 2009 +0200 Bluetooth: Remove Enter/Leave debug statements from Marvell driver The Marvell Bluetooth driver is full of Enter/Leave debug statements and all of them are really pointless and only clutter the code. Seems to be some left-overs when they ported the driver from Windows. For the Linux driver lets remove these. Signed-off-by: Marcel Holtmann commit e0721f99ba33d13a88746732be2d74ca805abf55 Author: Marcel Holtmann Date: Sat Jun 13 07:27:19 2009 +0200 Bluetooth: Fix last few compiler warning within Marvell core driver After fixing the driver to use skb_put properly for their HCI commands only a few compiler warnings are left. Add proper casting for them. Signed-off-by: Marcel Holtmann commit 91d697302b291205171840bfe84c1563e171acb2 Author: Marcel Holtmann Date: Wed Jun 10 12:18:50 2009 +0200 Bluetooth: Fix Marvell driver to use skb_put and hci_opcode_pack The Marvell driver has some weird quirks on how to construct proper SKBs with Bluetooth HCI commands. Fix it to use skb_put properly and also use hci_opcode_pack instead of self-crafted macro. Signed-off-by: Marcel Holtmann commit 60dee5ccd789ee8a380eee802b6cb24c52123428 Author: Marcel Holtmann Date: Wed Jun 10 12:05:52 2009 +0200 Bluetooth: Remove private device name of Marvell SDIO driver For some reason the btmrvl_device struct has a name field that the SDIO fills in, but then never ever uses again. That is totally pointless and so just remove it. Signed-off-by: Marcel Holtmann commit 9666fb356da78a5ec28403197d72e8cd6aa16424 Author: Marcel Holtmann Date: Tue Jun 9 21:45:04 2009 +0200 Bluetooth: Fix module description strings for Marvell driver Make the module description entries for the core and also the Marvell SDIO driver match common practive inside the Bluetooth subsystem. Signed-off-by: Marcel Holtmann commit dcf47f3bc798888f9ea40b9f626d669dc62086bf Author: Marcel Holtmann Date: Tue Jun 9 16:21:58 2009 +0200 Bluetooth: Fix complicated assignment of firmware for Marvell devices The Marvell Bluetooth SDIO driver has a really complicated concept on how firmware names are assigned to specific device ids. Fix that by doing a proper structure and assign it to the module device table. And while at it fix various coding style weirdness that is still present in this driver. Signed-off-by: Marcel Holtman commit 4271e08d8b799171af18d7864908ec444282efe5 Author: Marcel Holtmann Date: Tue Jun 9 16:00:22 2009 +0200 Bluetooth: Some coding style cleanup for Marvell core driver The Marvell core Bluetooth driver has various weird casting and unneeded braces in its code that makes it hard to read. Remove all of these to make the code a little bit simpler. Signed-off-by: Marcel Holtmann commit 542399037d0cb2b2e96dfb8ced35b07dfb1c3706 Author: Marcel Holtmann Date: Tue Jun 9 15:48:35 2009 +0200 Bluetooth: Remove pointless casts from Marvell debugfs support The Marvell Bluetooth driver has debugfs support and they are casting like there is no tomorrow. Remove all of them and magically the code becomes more readable. Signed-off-by: Marcel Holtmann commit 944fe798c6a48336e82bbc0d4e280587325a4d95 Author: Marcel Holtmann Date: Tue Jun 9 15:46:07 2009 +0200 Bluetooth: Remove pointless ifdef protection for Marvell header files Both header files of the Marvell Bluetooth driver are private anyway and if the driver happens to include them twice or they create a circular dependency then the driver needs fixing. So just remove both pointless ifdefs. Signed-off-by: Marcel Holtmann commit 08b0b0ce8c609b0e2284b134f0614e211374a038 Author: Marcel Holtmann Date: Tue Jun 9 15:44:03 2009 +0200 Bluetooth: Fix compilation of Marvell driver without debugfs The Makefile entry for the Marvell driver is broken when it comes to handling the optional DEBUG_FS correctly. That must have been the reason why they were using select in Kconfig in the first place. Fix this and make it really optional. Signed-off-by: Marcel Holtmann commit e7a25f9839fd392ec2c96e7e2b3734501d761a24 Author: Marcel Holtmann Date: Tue Jun 9 13:42:54 2009 +0200 Bluetooth: Fix Kconfig for Marvell Bluetooth driver The Marvell driver selects DEBUG_FS and FW_LOADER for its core driver and that is pointless. Don't select DEBUG_FS since it is either enabled or not and it is not for the driver to enable it. Also FW_LOADER is only used within the SDIO driver and so just have that one select the FW_LOADER option. Signed-off-by: Marcel Holtmann commit 196be0cd018068d545e1d764094c7b07aaf0bcfe Author: Bing Zhao Date: Tue Jun 2 14:29:38 2009 -0700 Bluetooth: Add documentation for Marvell Bluetooth driver add btmrvl.txt to Documentation/ This patch incorporates a lot of comments given by Nicolas Pitre . Many thanks to Nicolas Pitre. Signed-off-by: Rahul Tank Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit fb784f0508d5aa39a23e72879a8dfb517c6f6e7f Author: Bing Zhao Date: Tue Jun 2 14:29:37 2009 -0700 Bluetooth: Add debugfs support to btmrvl driver /debug/btmrvl/config/ /debug/btmrvl/status/ See Documentation/btmrvl.txt for details. This patch incorporates a lot of comments given by Nicolas Pitre . Many thanks to Nicolas Pitre. Signed-off-by: Rahul Tank Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 789221ecc870117b77e354d488d5d29f15410de8 Author: Bing Zhao Date: Tue Jun 2 14:29:36 2009 -0700 Bluetooth: Add Marvell BT-over-SDIO driver This driver supports Marvell Bluetooth enabled devices with SDIO interface. Currently only SD8688 chip is supported. The helper/firmware images of SD8688 can be downloaded from this tree: git://git.infradead.org/users/dwmw2/linux-firmware.git This patch incorporates a lot of comments given by Nicolas Pitre . Many thanks to Nicolas Pitre. Signed-off-by: Rahul Tank Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 132ff4e5fa8dfb71a7d99902f88043113947e972 Author: Bing Zhao Date: Tue Jun 2 14:29:35 2009 -0700 Bluetooth: Add btmrvl driver for Marvell Bluetooth devices This driver provides basic definitions and library functions to support Marvell Bluetooth enabled devices, such as 88W8688 WLAN/BT combo chip. This patch incorporates a lot of comments given by Nicolas Pitre . Many thanks to Nicolas Pitre. Signed-off-by: Rahul Tank Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit edad63886993d18ab800c49f6587a93432ef8b35 Author: Marcel Holtmann Date: Sat Aug 22 14:22:15 2009 -0700 Bluetooth: Let HIDP grab the device reference for connections The core exports the hci_conn_hold_device() and hci_conn_put_device() functions for device reference of connections. Use this to ensure that the uevents from the parent are send after the child ones. Based on a report by Brian Rogers Signed-off-by: Marcel Holtmann commit 9eba32b86d17ef87131fa0bce43c614904ab5781 Author: Marcel Holtmann Date: Sat Aug 22 14:19:26 2009 -0700 Bluetooth: Add extra device reference counting for connections The device model itself has no real usable reference counting at the moment and this causes problems if parents are deleted before their children. The device model itself handles the memory details of this correctly, but the uevent order is not consistent. This causes various problems for systems like HAL or even X. So until device_put() does a proper cleanup, the device for Bluetooth connection will be protected with an extra reference counting to ensure the correct order of uevents when connections are terminated. This is not an automatic feature. Higher Bluetooth layers like HIDP or BNEP should grab this new reference to ensure that their uevents are send before the ones from the parent device. Based on a report by Brian Rogers Signed-off-by: Marcel Holtmann commit 364f63519d94442ed373ac7da79033c8282df46a Author: Marcel Holtmann Date: Sat Aug 22 14:15:53 2009 -0700 Bluetooth: Disconnect HIDRAW devices on disconnect Currently the HID subsystem will create HIDRAW devices for the transport driver, but it will not disconnect them. Until the HID subsytem gets fixed, ensure that HIDRAW and HIDDEV devices are disconnected when the Bluetooth HID device gets removed. Based on a patch from Brian Rogers Signed-off-by: Marcel Holtmann commit 290ba200815fdecb4d40dc942499c4ea6d0c4624 Author: Vikram Kandukuri Date: Thu Jul 2 14:31:59 2009 +0530 Bluetooth: Improve USB driver throughput by increasing the frame size This patch increases the receive buffer size to HCI_MAX_FRAME_SIZE which improves the RX throughput considerably. Tested against BRM/Atheros/CSR USB Dongles with PAN profile using iperf and chariot. This gave significant (around 40%) increase in performance (increased from 0.8 to 1.5 Mb/s in Sheld room) Signed-off-by: Vikram Kandukuri Signed-off-by: Marcel Holtmann commit 981b1414d78a7a42cab48b97d4de54a62d61db88 Author: Vikram Kandukuri Date: Wed Jul 1 11:39:58 2009 +0530 Bluetooth: Fix missing scheduling when VIRTUAL_CABLE_UNPLUG is received There is a test case in PTS tool; PTS will send the VIRTUAL_CABLE_UNPLUG command to IUT. Then IUT should disconnect the channel and kill the HID session when it receives the command. The VIRTUAL_CABLE_UNPLUG command is parsed by HID transport, but it is not scheduled to do so. Add a call to hidp_schedule() to kill the session. Signed-off-by: Jothikumar Mothilal Signed-off-by: Marcel Holtmann commit fd0b3ff707dc1f7837079044bd4eca7ed505f70d Author: Marcel Holtmann Date: Tue Jun 16 00:01:49 2009 +0200 Bluetooth: Add proper shutdown support to SCO sockets The SCO sockets for Bluetooth audio setup and streaming are missing the shutdown implementation. This hasn't been a problem so far, but with a more deeper integration with PulseAudio it is important to shutdown SCO sockets properly. Also the Headset profile 1.2 has more detailed qualification tests that require that SCO and RFCOMM channels are terminated in the right order. A proper shutdown function is necessary for this. Based on a report by Johan Hedberg Signed-off-by: Marcel Holtmann Tested-by: Johan Hedberg commit b560d8ad8583803978aaaeba50ef29dc8e97a610 Author: Paul E. McKenney Date: Fri Aug 21 22:08:51 2009 -0700 rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP A couple of references to CONFIG_CLASSIC_RCU have survived. Although these are harmless, it is past time for them to go. The one in hardirq.h is strictly a readability problem. The two in pagemap.h appear to disable a !SMP performance optimization (which this patch re-enables). This does raise the issue as to whether pagemap.h should really be referring to the CPU implementation. Long term, I intend to make the RCU implementation driven by CONFIG_PREEMPT, at which point these should change from defined(CONFIG_TREE_RCU) to !defined(CONFIG_PREEMPT). In the meantime, is there something else that could be done in pagemap.h? Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <20090822050851.GA8414@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 8b5a10fc6fd02289ea03480f93382b1a99006142 Author: Jan Beulich Date: Wed Aug 19 08:40:48 2009 +0100 x86: properly annotate alternatives.c Some of the NOPs tables aren't used on 64-bits, quite some code and data is needed post-init for module loading only, and a couple of functions aren't used outside that file (i.e. can be static, and don't need to be exported). The change to __INITDATA/__INITRODATA is needed to avoid an assembler warning. Signed-off-by: Jan Beulich LKML-Reference: <4A8BC8A00200007800010823@vpn.id2.novell.com> Acked-by: Sam Ravnborg Signed-off-by: H. Peter Anvin commit 1909629fb1ec9800cf2cb0091870d6a1c1ca665f Author: Masami Hiramatsu Date: Fri Aug 21 14:56:03 2009 -0400 perf trace: Add OPT_END to option array of perf-trace Add OPT_END to option array of perf-trace for fixing a SEGV bug when showing perf-trace help message. Without this patch; ./perf trace -h usage: perf trace [] -D, --dump-raw-trace dump raw trace in ASCII -v, --verbose be more verbose (show symbol address, etc) -f, Segmentation fault With this patch: ./perf trace -h usage: perf trace [] -D, --dump-raw-trace dump raw trace in ASCII -v, --verbose be more verbose (show symbol address, etc) Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Masami Hiramatsu Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Xiao Guangrong Cc: Zhaolei Cc: Li Zefan Cc: Lai Jiangshan Cc: Tom Zanussi LKML-Reference: <20090821185603.11039.62109.stgit@localhost.localdomain> Signed-off-by: Ingo Molnar commit 79fb9387f88b6b44bbc46e19cae26d2c9fe3bb6a Author: Mark Brown Date: Fri Aug 21 16:38:13 2009 +0100 ASoC: Add DAPM widget power decision debugfs files Currently when built with DEBUG DAPM will dump information about the power state decisions it is taking for each widget to dmesg. This isn't an ideal way of getting the information - it requires a kernel build to turn it on and off and for large hub CODECs the volume of information is so large as to be illegible. When the output goes to the console it can also cause a noticable impact on performance simply to print it out. Improve the situation by adding a dapm directory to our debugfs tree containing a file per widget with the same information in it. This still requires a decision to build with debugfs support but is easier to navigate and much less intrusive. In addition to the previously displayed information active streams are also shown in these files. Signed-off-by: Mark Brown commit 405d8f8b1d936414da2093d4149ff790ff3f84a5 Author: Trond Myklebust Date: Fri Aug 21 08:17:56 2009 -0400 SUNRPC: Ensure that sunrpc gets initialised before nfs, lockd, etc... We can oops if rpc_pipefs isn't properly initialised before we start to set up objects that depend upon it. Signed-off-by: Trond Myklebust commit a8af7246c114bfd939e539f9566b872c06f6225c Author: Peter Zijlstra Date: Fri Aug 21 13:58:54 2009 +0200 sched: Avoid division by zero Patch a5004278f0525dcb9aa43703ef77bf371ea837cd (sched: Fix cgroup smp fairness) introduced the possibility of a divide-by-zero because load-balancing is not synchronized between sched_domains. This can cause the state of cpus to change between the first and second loop over the sched domain in tg_shares_up(). Reported-by: Yinghai Lu Signed-off-by: Peter Zijlstra Cc: Jes Sorensen Cc: Jens Axboe Cc: Linus Torvalds LKML-Reference: <1250855934.7538.30.camel@twins> Signed-off-by: Ingo Molnar commit b8e583f6012d618fb93bb38a302b63c3c6d2bfbc Author: Kuninori Morimoto Date: Fri Aug 21 09:42:59 2009 +0900 ASoC: Add FSI-AK4642 sound support for SuperH This patch is tested by ms7724se Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit a3a83d9a7cb0ce3b1d100060d5ad777e7480b4f2 Author: Kuninori Morimoto Date: Fri Aug 21 10:23:41 2009 +0900 ASoC: Add ak4642/ak4643 codec support This is very simple driver for ALSA It supprt headphone output and stereo input only This patch is tested by ms7724se Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit b2ec22e2633996727f4f2abcd806aaeb0506dd6a Author: Ben Dooks Date: Thu Aug 20 22:50:43 2009 +0100 ASoC: S3C24XX: Support for Simtec Hermes boards Add support for the tlv320aic3x CODEC on the Simtec Hermes board. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit aa6b904e66d5f484bd52763d63259b9a16f6e107 Author: Ben Dooks Date: Thu Aug 20 22:50:42 2009 +0100 ASoC: tlv320aic3x: fixup board device changes Fixup the device changes by modifying the files that we just removed the explicit device creation from with i2c_register_board_info() until this can be moved into the relevant board files. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit cb3826f524728a90a47f2f831c3d61851c8091b2 Author: Ben Dooks Date: Thu Aug 20 22:50:41 2009 +0100 ASoC: tlv320aic3x: Change to use device model The tlv320aic3x driver managed its own i2c device, instead of an extant one created by the board support code. Change the code to make it so that the driver binds to an extant (in this case i2c) device. Add explict tlv320aic33 as well as tlv320aic3x to the supported device table and remove the old driver bindings from the users of this code. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit 14412acde5b57450b8afb3d4b03132419b6abebf Author: Ben Dooks Date: Thu Aug 20 22:50:40 2009 +0100 ASoC: S3C24XX: Add audio core and tlv320aic23 for Simtec boards Add core support for the range of S3C24XX Simtec boards with TLV320AIC23 CODECs on them. Since there are also boards with similar IIS routing the AMP and the configuration code is placed in a core file for re-use with other CODEC bindings. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit f8f2109d4f6c525f893f6f2901ae62372e83245e Merge: bb81b2d a2c3f65 Author: David S. Miller Date: Fri Aug 21 01:56:56 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit c7084b35eb1a4d3353a501508baf9d3d82822c93 Author: Casey Dahlin Date: Thu Aug 20 16:27:56 2009 -0700 lib/swiotlb.c: Fix strange panic message selection logic when swiotlb fills up swiotlb_full() in lib/swiotlb.c throws one of two panic messages based on whether the direction of transfer is from the device or to the device. The logic around this is somewhat weird in the case of bidirectional transfers. It appears to want to throw both in succession, but since its a panic only the first makes it. This patch adds a third, separate error for DMA_BIDIRECTIONAL to make things a bit clearer. Signed-off-by: Casey Dahlin Cc: FUJITA Tomonori Cc: Becky Bruce [ further fixed the error message ] Signed-off-by: Andrew Morton LKML-Reference: <200908202327.n7KNRuqK001504@imap1.linux-foundation.org> Signed-off-by: Ingo Molnar commit 939a9421eb53d3ea83188ae13802779041caefdb Author: Amerigo Wang Date: Thu Aug 20 19:29:03 2009 -0700 vfs: allow file truncations when both suid and write permissions set When suid is set and the non-owner user has write permission, any writing into this file should be allowed and suid should be removed after that. However, current kernel only allows writing without truncations, when we do truncations on that file, we get EPERM. This is a bug. Steps to reproduce this bug: % ls -l rootdir/file1 -rwsrwsrwx 1 root root 3 Jun 25 15:42 rootdir/file1 % echo h > rootdir/file1 zsh: operation not permitted: rootdir/file1 % ls -l rootdir/file1 -rwsrwsrwx 1 root root 3 Jun 25 15:42 rootdir/file1 % echo h >> rootdir/file1 % ls -l rootdir/file1 -rwxrwxrwx 1 root root 5 Jun 25 16:34 rootdir/file1 Signed-off-by: WANG Cong Cc: Eric Sandeen Acked-by: Eric Paris Cc: Eugene Teo Cc: Al Viro Cc: OGAWA Hirofumi Cc: Christoph Hellwig Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: James Morris commit bc6a6008e5e3c7a30191a7f19ab19e85b14b1705 Author: Amerigo Wang Date: Thu Aug 20 19:29:02 2009 -0700 selinux: adjust rules for ATTR_FORCE As suggested by OGAWA Hirofumi in thread: http://lkml.org/lkml/2009/8/7/132, we should let selinux_inode_setattr() to match our ATTR_* rules. ATTR_FORCE should not force things like ATTR_SIZE. [hirofumi@mail.parknet.co.jp: tweaks] Signed-off-by: WANG Cong Signed-off-by: OGAWA Hirofumi Acked-by: Stephen Smalley Acked-by: Eric Paris Cc: Eugene Teo Cc: Al Viro Cc: Christoph Hellwig Acked-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 4dceef96756b667360741712a8e37490f8458516 Author: J. Bruce Fields Date: Thu Aug 20 17:08:39 2009 -0400 nfs: fix compile error in rpc_pipefs.h This include is needed for the definition of delayed_work. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit a0a499c5792b8656cd51e11d5e0db9fb21640f58 Author: Eduardo Valentin Date: Thu Aug 20 16:18:26 2009 +0300 ASoC: OMAP: Use DMA operating mode of McBSP Configures DMA sync mode depending on McBSP operating mode value. The value is configurable by McBSP instance. So, depending on McBSP operating mode, the DMA sync mode is passed from omap-mcbsp to omap-pcm. Besides that, it also configures McBSP threshold value depending on which McBSP mode is activated. Signed-off-by: Eduardo Valentin Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit caebc0cb3ba1e88f5311fbe7aa58b8dff18dd763 Author: Eduardo Valentin Date: Thu Aug 20 16:18:25 2009 +0300 ASoC: OMAP: Use McBSP threshold to playback and capture This patch changes the way DMA is done in omap-pcm.c in order to reduce power consumption. There is no need to have so much SW control in order to have DMA in idle state during audio streaming. Configuring McBSP threshold value and DMA to FRAME_SYNC are sufficient. Signed-off-by: Eduardo Valentin Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit ca6e2ce08679c094878d7f39a0349a7db1d13675 Author: Eero Nurkkala Date: Thu Aug 20 16:18:24 2009 +0300 ASoC: Always syncronize audio transfers on frames All these steps are required for ASoC to behave correctly. rccr and xccr are format dependent, for example TDM audio has different values than I2S or DSP_A. Also the omap_mcbsp_xmit_enable and/or omap_mcbsp_recv_enable must be called right after the DMA has started. This provides no longer L and R channels switching at random. Signed-off-by: Eero Nurkkala Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit c721bbdad71d2928e8b5015e9b462fbeb35427c6 Author: Eero Nurkkala Date: Thu Aug 20 16:18:23 2009 +0300 ASoC: Add runtime check for RFIG and XFIG This is, no RFIG or XFIG (Not defined in 34xx), correct initiliazation of rccr and xccr. Signed-off-by: Eero Nurkkala Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit a152ff24b9784ddfd347953f23c53f0b890ebca8 Author: Eduardo Valentin Date: Thu Aug 20 16:18:22 2009 +0300 ASoC: OMAP: Make DMA 64 aligned Align DMA address to DMA burst transaction sizes. Signed-off-by: Eduardo Valentin Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 9599d485cb0b5ea093414654d723f3ab03c95038 Author: Eduardo Valentin Date: Thu Aug 20 16:18:21 2009 +0300 ASoC: OMAP: Enable DMA burst mode Improve DMA transfers by enabling Burst transaction. Signed-off-by: Eduardo Valentin Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 72cc6d715d5b018e2cff4adb68966855850d4e77 Author: Eero Nurkkala Date: Thu Aug 20 16:18:20 2009 +0300 OMAP: McBSP: Let element DMA mode hit retention also The device no longer hits retention if element DMA mode is taken for at least the duration of the serial console timeout. Force element DMA mode to shut down through smartidle. Signed-off-by: Eero Nurkkala Acked-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit fa3935ba34667ffd35fbb33958cd1d67035fdf82 Author: Eero Nurkkala Date: Thu Aug 20 16:18:19 2009 +0300 OMAP: McBSP: Do not enable wakeups for no-idle mode When no-idle mode is taken, wakeups need not to be enabled. Moreover, CLOCKACTIVITY bits are unnecessary with this mode also. Signed-off-by: Eero Nurkkala Acked-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit d99a7454e57d3dc9d04d6a77292a056f430a9ece Author: Eduardo Valentin Date: Thu Aug 20 16:18:18 2009 +0300 OMAP: McBSP: Configure NO IDLE mode for DMA mode different of threshold Use dma mode property to configure NO IDLE or SMART IDLE of McBSPs. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 2ba93f8fa77c0140de163e8a31bb9c09b5ded74c Author: Eero Nurkkala Date: Thu Aug 20 16:18:17 2009 +0300 OMAP: McBSP: Retain McBSP FCLK clockactivity FCLK may get autogated so that it prevents the McBSP to work properly. It is the bit 9 that must be set for maintaining the McBSP FCLK. Signed-off-by: Eero Nurkkala Signed-off-by: Eduardo Valentin Acked-by: Jarkko Nikula Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit d9a9b3f5f7d4736cfe6fae95b9d63b07faeb702e Author: Eduardo Valentin Date: Thu Aug 20 16:18:16 2009 +0300 OMAP: McBSP: Change wakeup signals Configure only XRDYEN and RRDYEN wakeup signals in order to get better power consumption. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 2122fdc629f05634537e796c0630028e4db76953 Author: Eero Nurkkala Date: Thu Aug 20 16:18:15 2009 +0300 OMAP: McBSP: Wakeups utilized This patch enables the smart idle mode while McBPS is being utilized. Once it's done, force idle mode is taken instead. Apart of it, it also configures what signals will wake mcbsp up. Signed-off-by: Eero Nurkkala Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 98cb20e88957faf9c99e194242caac7f55dd47e4 Author: Peter Ujfalusi Date: Thu Aug 20 16:18:14 2009 +0300 OMAP: McBSP: Add link DMA mode selection It adds a new sysfs file, where the user can configure the mcbsp mode to use. If the mcbsp channel is in use, it does not allow the change. Than in omap_pcm_open we can call the omap_mcbsp_get_opmode to get the mode, store it, than use it to implement the different modes. Signed-off-by: Peter Ujfalusi Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 4c8200aeb04b8aeaf8c7425f49caf761e2cda95a Author: Eduardo Valentin Date: Thu Aug 20 16:18:13 2009 +0300 OMAP: McBSP: Rename thres sysfs symbols This patch renames the symbols that handles threshold sysfs properties. This way we can add more sysfs properties to them. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 7e4f943b725008272d5c50e676a89d642232a4e3 Author: Peter Ujfalusi Date: Thu Aug 20 16:18:12 2009 +0300 OMAP3: McBSP: Lower the maximum buffersize for McBSP1, 3, 4, 5 Do not allow applications to use the full buffer found on McBSP1,3,4,5. Using the full buffer in threshold mode causes the McBSP buffer to run dry, which can be observed as channels are switching (in reality the channels are shifting). Signed-off-by: Peter Ujfalusi Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit a1a56f5faa41327116bf960a8e79f21a8ea35dce Author: Eduardo Valentin Date: Thu Aug 20 16:18:11 2009 +0300 OMAP: McBSP: Create and export max_(r|t)x_thres property This patch export through sysfs two properties to configure maximum threshold for transmission and reception on each mcbsp instance. Also, it exports two helper functions to allow mcbsp users to read this values. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 7aa9ff56cae7a6a4fa2e1a503cc5f8bbd887d6e3 Author: Eduardo Valentin Date: Thu Aug 20 16:18:10 2009 +0300 OMAP: McBSP: Add transmit/receive threshold handler This patch adds a way to handle transmit/receive threshold. It export to mcbsp users a callback registration procedure. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 44a6311c0a83f682bcf18fae389a1b270df29314 Author: Eduardo Valentin Date: Thu Aug 20 16:18:09 2009 +0300 OMAP: McBSP: Use appropriate value for startup delay Increasing startup delay value as worst case: CLKSRG*2 = 8000khz: (1/8000) * 2 * 2 usec Although, 100us may give enough time for two CLKSRG, due to some unknown PM related, clock gating etc. reason, this patch increases it to 500us. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 946a49a95dabc9dd10344ae9ab4db9f14c5ad502 Author: Eduardo Valentin Date: Thu Aug 20 16:18:08 2009 +0300 OMAP: McBSP: Add IRQEN, IRQSTATUS, THRESHOLD2 and THRESHOLD1 registers. Adding McBSP register definition for IRQEN, IRQSTATUS, THRESHOLD2 and THRESHOLD1 registers. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 9abea08e43c6cfc18399e42cbc6028d111532f61 Author: Eero Nurkkala Date: Thu Aug 20 16:18:07 2009 +0300 OMAP: McBSP: Provide functions for ASoC frame syncronization ASoC has an annoying bug letting either L or R channel to be played on L channel. In other words, L and R channels can switch at random. This provides McBSP funtionality that may be used to fix this feature. Signed-off-by: Eero Nurkkala Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit a4d7d550a9cfdfbc615383a08e9afa39d5a6d875 Author: Kuninori Morimoto Date: Thu Aug 20 21:01:05 2009 +0900 ASoC: Add SuperH FSI driver support for ALSA This driver is very simple. It support playback only now. This patch is tested by ms7724se board. Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit f61c890ec631884c5b7cd8723cd8ae1917dca544 Author: Shine Liu Date: Thu Aug 20 23:02:23 2009 +0800 ASoC: S3C24XX : Align the peroid size to the buffer size > Then it's a driver bug. If unaligned period size is allowed, it means > that the irq is really generated in that period, not at the buffer > boundary. Otherwise, it must have a proper hw-constraint to align the > period size to the buffer size. This patch will fix the bug metioned in the above mail. Force the peroid size to be aligned with the buffer size. Based and tested on linux-2.6.31-rc6. Signed-off-by: Shine Liu Signed-off-by: Mark Brown commit a2c3f6567c9ac327f1ef1272551f3a7595ec885e Author: Lennert Buytenhek Date: Tue Aug 18 05:13:48 2009 +0200 MAINTAINERS: add information for mwl8k wireless driver Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit a145d575833ff47330125364cb49304db7308825 Author: Lennert Buytenhek Date: Tue Aug 18 04:34:26 2009 +0200 mwl8k: update copyright and version number Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ab565790cb5ca3d00db0af9c2a8eb95e16054c29 Author: Lennert Buytenhek Date: Tue Aug 18 04:08:01 2009 +0200 mwl8k: remove mwl8k_queue_work() Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit e6935ea10485f34b82d16f8dff9aa2bdf32ab4bf Author: Lennert Buytenhek Date: Tue Aug 18 04:06:20 2009 +0200 mwl8k: get rid of mwl8k_configure_filter() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 954ef509cc7d795ccd69fa2e01539297e9a003a0 Author: Lennert Buytenhek Date: Fri Jul 17 07:26:27 2009 +0200 mwl8k: get rid of mwl8k_get_stats() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3e4f542cfbf5a60f2295b2de9a31bdd14beb7b4a Author: Lennert Buytenhek Date: Fri Jul 17 07:25:59 2009 +0200 mwl8k: get rid of mwl8k_conf_tx() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 733d3067d3fb168fbbd008cb0ebf5ad2027030f3 Author: Lennert Buytenhek Date: Fri Jul 17 07:24:15 2009 +0200 mwl8k: get rid of mwl8k_set_rts_threshold() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3a980d0a505161b99fc936827cb28ec8eb853284 Author: Lennert Buytenhek Date: Fri Jul 17 07:21:46 2009 +0200 mwl8k: get rid of mwl8k_bss_info_changed() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ee03a93241eb954d669fb795b4e5c0eec92eef22 Author: Lennert Buytenhek Date: Fri Jul 17 07:19:37 2009 +0200 mwl8k: get rid of mwl8k_config() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit d3cea0b85a31a98630c6fcf7373d486db9612a10 Author: Lennert Buytenhek Date: Fri Jul 17 07:15:49 2009 +0200 mwl8k: get rid of mwl8k_stop() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 2ec610cb6d57032cdab89781e37ed3e442c73367 Author: Lennert Buytenhek Date: Fri Jul 17 07:11:37 2009 +0200 mwl8k: get rid of mwl8k_start() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 618952a7b19b796fce98364fb26551cbe3e16a75 Author: Lennert Buytenhek Date: Tue Aug 18 03:18:01 2009 +0200 mwl8k: fix firmware command serialisation The current mwl8k_priv->fw_lock spinlock doesn't actually protect against multiple commands being submitted at once, as it is not kept held over the entire firmware command submission. And since waiting for command completion sleeps, we can't use a spinlock anyway. To fix mwl8k firmware command serialisation properly, we have the following requirements: - Some commands require that the packet transmit path is idle when the command is issued. (For simplicity, we'll just quiesce the transmit path for every command.) - There are certain sequences of commands that need to be issued to the hardware sequentially, with no other intervening commands. This leads to an implementation of a "firmware lock" as a mutex that can be taken recursively, and which is taken by both the low-level command submission function (mwl8k_post_cmd) as well as any users of that function that require issuing of an atomic sequence of commands, and quiesces the transmit path whenever it's taken. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 950d5b0191dc3e71017f336017f75f6189f39f08 Author: Lennert Buytenhek Date: Fri Jul 17 01:48:41 2009 +0200 mwl8k: mwl8k_queue_work() cleanup Delete most of the mwl8k_work_struct fields and options, since most of them are unused or never changed from their defaults: - We always use priv->config_wq, so delete the wqueue argument from mwl8k_queue_work(). - MWL8K_WQ_SPIN and MWL8K_WQ_POST_REQUEST are never used, as all callers sleep for request completion, so sleep unconditionally. - MWL8K_WQ_FREE_WORKSTRUCT is never used. - MWL8K_WQ_TX_WAIT_EMPTY is always set, so assume it unconditionally. - timeout_ms/txwait_attempts/tx_timeout_ms are never changed from their defaults, so just hardcode these in the workqueue worker. - step is never used. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 23b339062f247e0be84eaabb15e17b403c4388b6 Author: Lennert Buytenhek Date: Fri Jul 17 05:21:04 2009 +0200 mwl8k: mwl8k_txq_xmit() rework Various mwl8k_txq_xmit changes: - Extract the QoS field before adding the DMA header. - Only write to tx->status once, and only after all the other descriptor fields have been set. - Do all tx state manipulation under the tx spinlock. - Remove the priv->inconfig check, as all transmit queues will be frozen during config cycles, so we won't ever be asked to transmit if a config cycle is running. - Remove some more dead code. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 7595d67a06466cc00e3aae1b86544278b57481ee Author: Lennert Buytenhek Date: Mon Aug 17 23:59:40 2009 +0200 mwl8k: implement idle mode Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 361c55cfaddaa36f0997c5a96948ba5888bfb992 Author: Lennert Buytenhek Date: Tue Aug 18 04:19:00 2009 +0200 mwl8k: no need to hold ->tx_lock while setting the hardware interrupt mask Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c3f967d301a76b7053d16817c34191964c457566 Author: Lennert Buytenhek Date: Tue Aug 18 04:15:22 2009 +0200 mwl8k: don't hardcode the number of transmit queues Use MWL8K_TX_QUEUES instead of a hardcoded "4" in a couple of places. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit d4b7057052236e81ab0788cc8df306dc02b0e7be Author: Lennert Buytenhek Date: Thu Jul 16 12:44:45 2009 +0200 mwl8k: don't touch 'command done' interrupt during firmware load Since firmware load commands don't generate 'command done' interrupts like normal commands do, polling for command done interrupts just unnecessarily slows down the firmware load process. Removing this bit of code speeds up loading a typical firmware image from 840 msec to 180 msec. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 76266b2ad38c33fb2c1475cfeb35ed070adaba2b Author: Lennert Buytenhek Date: Thu Jul 16 11:07:09 2009 +0200 mwl8k: dma header manipulations can't fail Adding and removing the DMA header that the mwl8k hardware requires on tx and provides on rx can never fail, since we are guaranteed to have enough headroom on the tx path to expand the packet, and we only ever shrink the packet on the rx path. (And on both paths we are guaranteed to be the only user of the skb we are handling.) This allows removing all of the skb clone handling in the tx and tx reclaim paths, and eliminates error checks in both the tx and rx paths, simplifying the code a bit more. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 240e86efd60e6bc232a072273a7f7794bcb035e0 Author: Lennert Buytenhek Date: Thu Jul 16 14:15:44 2009 +0200 mwl8k: ->add_interface() is not called for monitor interfaces There is no need to check for NL80211_IFTYPE_MONITOR in ->add_interface(), as this function is never called for monitor interfaces. Also, there is no need to advertise this bit in our wiphy's ->interface_modes. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit e81cd2d664fe5b75a0db9bb24b43c0dfbde32319 Author: Lennert Buytenhek Date: Tue Aug 18 03:55:42 2009 +0200 mwl8k: fix mwl8k_configure_filter() parameter lifetime issue mwl8k_configure_filter() passes pointers to total_flags and the multicast address list to a workqueue function, while there is no guarantee that those pointers will still be valid by the time the workqueue function runs. Solve this by passing total_flags by value, and by passing an already built multicast address setup command packet to the workqueue function so that we don't have to look at the multicast address list itself outside of mwl8k_configure_filter(). Also, since ->configure_filter() can sleep now, wait synchronously for the worker to finish. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 5539bb51295f2c9300a6e467a29bb62bcfe9f4bc Author: Lennert Buytenhek Date: Thu Jul 16 16:06:53 2009 +0200 mwl8k: remove MWL8K_*_SLOTTIME defines Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 0439b1f55646ea944b0d58337f5065b79a1c1be0 Author: Lennert Buytenhek Date: Thu Jul 16 12:34:02 2009 +0200 mwl8k: remove MWL8K_WMM_* defines Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 68ce38845c23443b15e374fb7362916c1231278e Author: Lennert Buytenhek Date: Thu Jul 16 12:26:57 2009 +0200 mwl8k: remove MWL8K_RADIO_*_PREAMBLE defines Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c46563b714b09d44eec4d1fd8a0f53e79ddaa3aa Author: Lennert Buytenhek Date: Thu Jul 16 12:14:58 2009 +0200 mwl8k: remove MWL8K_RADIO_* defines Instead of passing a flag bitmask to mwl8k_cmd_802_11_radio_control, pass the 'enable' and 'force' arguments as separate parameters, and introduce wrappers for the common cases of enabling and disabling without forcing. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ce9e2e1b8433c8795459a259ee87bc4e424e7c50 Author: Lennert Buytenhek Date: Thu Jul 16 14:00:45 2009 +0200 mwl8k: various coding style cleanups Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ff45fc60ad583f45ecf10a41f7dbecf78519bcc1 Author: Lennert Buytenhek Date: Thu Jul 16 11:50:36 2009 +0200 mwl8k: sort firmware command list by opcode, and trim unused commands Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit d89173f25228b8795af2d4b53e985cc44c729332 Author: Lennert Buytenhek Date: Thu Jul 16 09:54:27 2009 +0200 mwl8k: s/IEEE80211_ADDR_LEN/ETH_ALEN/g Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c23b5a699471ea2ef9d146eae80e64836cfbf001 Author: Lennert Buytenhek Date: Thu Jul 16 13:49:55 2009 +0200 mwl8k: remove various unused struct members and defines Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 22e66a4c15b063aee5d03991c4b9629a3b0c4556 Author: Vasanthakumar Thiagarajan Date: Wed Aug 19 16:23:40 2009 +0530 ath9k: Nuke struct ath9k_node_stats Other than ns_avgbrssi (Average beacon rssi) no data of ath9k_node_stats is being used anywhere. Nuke this structure and move its only useful member to ar5416Anistate. Also cleanup this redundant data in ath_softc. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ff36041652fcb9f5c17bdbeb081414f69521f1af Author: Vasanthakumar Thiagarajan Date: Thu Aug 20 13:41:14 2009 +0530 ath9k: Fix bug in retrieving average beacon rssi Currently the beacon rssi that LPF gives is divided and rounded up by ATH_RSSI_EP_MULTIPLIER twice. This will leave the incorrect rssi in ANI. Having correct rssi in ANI fixes the connection stability at < 30dB rssi range. This patch removes the unncessary computation of average rssi over already valid average rssi. Also removes the redundant macros to find average rssi. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 035d0243ebbdbd5f8f07d6ce378c9a9b36415bc9 Author: gregor kowski Date: Wed Aug 19 22:35:45 2009 +0200 b43: add hardware tkip This add hardware tkip for b43. Signed-off-by: Gregor Kowski Acked-by: Michael Buesch Signed-off-by: John W. Linville commit 11ba964d4f936609a04e8b9f2051f6027ef761ae Author: Johannes Berg Date: Wed Aug 19 19:45:50 2009 +0200 mac80211: fix register_hw error path "cfg80211: fix alignment problem in scan request" introduced a bug into the error path, because now we allocate the entire scan request and not just the channel list (the channel list is allocated together with the scan request) -- on errors we thus also need to free the entire scan request. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5904d2067680e9bb73a4816fa6b9eec49355c9c8 Author: Gábor Stefanik Date: Tue Aug 18 19:18:13 2009 +0200 b43: LP-PHY: Implement spec updates and remove resolved FIXMEs Larry has started re-checking all current routines against a new version of the Broadcom MIPS driver. This patch implements the first round of changes he documented on the specs wiki. Also remove a few FIXMEs regarding missing initial values for variables with dynamic initial values where reading the values has been implemented. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 16a832e785820aa199641c77b2d6f4a443d2ec46 Author: Zhu Yi Date: Wed Aug 19 16:08:22 2009 +0800 cfg80211: allow cfg80211_connect_result with bssid == NULL In case of connection failure, the bssid info is not a must have. Signed-off-by: Zhu Yi Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 30fab9e0aecf15ca79bb194bb603203f5e1fde66 Author: David Kilroy Date: Wed Aug 19 00:44:43 2009 +0100 orinoco: remove spare whitespace Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 415ad1efae1d5fe00d739e612d262eabda90f5e8 Author: David Kilroy Date: Wed Aug 19 00:43:31 2009 +0100 cfg80211: fix leaks of wdev->conn->ie This only occurs in the following error situations: - driver calls connect_result with failure - error scheduling authentication on connect - error initiating scan (to get BSSID and channel) on connect - userspace calls disconnect while in the SCANNING or SCAN_AGAIN states Signed-off-by: David Kilroy Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit eeef41854deae30ea304544f18684df70ae3f87b Author: Christian Lamparter Date: Wed Aug 19 12:43:47 2009 +0200 ar9170: refactor configure_filter Thanks to "mac80211: allow configure_filter callback to sleep", we no longer have to defer the work to the workqueue. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 5791ce18aa660df7d1dafebf6bd89d5aa05bd742 Author: Gábor Stefanik Date: Tue Aug 18 22:08:31 2009 +0200 b43: LP-PHY: Two small spec updates The specs are beginning to support rev3 LP-PHYs - implement one of the changes needed for rev3 support. Also, in the new MIPS driver, the "Japan TX filter" was renamed to "analog TX filter init" - however, calling it "init" is confusing, so name it "set analog filter", with a comment for easier future identification. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit d904dc17495581254442b7fd054e267f2605c8ec Author: Ivo van Doorn Date: Tue Aug 18 20:33:12 2009 +0200 rt2x00: bss_info_changed() callback is allowed to sleep The bss_info_changed() callback function no longer needs to be atomic. Remove the scheduled work structure and call into the driver directly. Additionaly this makes the DRIVER_REQUIRE_SCHEDULED flag redundant so it can be removed. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit afa620429ac6a636246f85d97cf205d6533e7fcb Author: Ivo van Doorn Date: Tue Aug 18 19:54:23 2009 +0200 rt2x00: configure_filter() callback is allowed to sleep The configure_filter() callback function no longer needs to be atomic. Remove the scheduled work structure and call into the driver configure_filter() directly. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ad002395fd230528281083f4be71855ed7e35b04 Author: Johannes Berg Date: Tue Aug 18 19:51:57 2009 +0200 cfg80211: fix dangling scan request checking My patch "cfg80211: fix deadlock" broke the code it was supposed to fix, the scan request checking. But it's not trivial to put it back the way it was, since the original patch had a deadlock. Now do it in a completely new way: queue the check off to a work struct, where we can freely lock. But that has some more complications, like needing to wait for it to be done before the wiphy/rdev can be destroyed, so some code is required to handle that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 21f8a73f829797eb7ebc12202b4c68e10e751ddb Author: Reinette Chatre Date: Tue Aug 18 10:25:05 2009 -0700 ipw2x00: fix sparse warnings This fixes: CHECK drivers/net/wireless/ipw2x00/ipw2100.c drivers/net/wireless/ipw2x00/ipw2100.c:7888:22: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:188:12: originally declared here drivers/net/wireless/ipw2x00/ipw2100.c:7952:18: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:188:12: originally declared here drivers/net/wireless/ipw2x00/ipw2100.c:8000:18: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:188:12: originally declared here drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: originally declared here drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: originally declared here drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: originally declared here CC [M] drivers/net/wireless/ipw2x00/ipw2100.o CHECK drivers/net/wireless/ipw2x00/ipw2200.c drivers/net/wireless/ipw2x00/ipw2200.c:847:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:891:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:935:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:980:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:1016:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:1051:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:1823:13: warning: symbol 'channel' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:86:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:6228:28: warning: symbol 'channel' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:86:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:6369:20: warning: symbol 'channel' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:86:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:6857:12: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:87:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:7964:13: warning: symbol 'channel' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:86:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:8720:12: warning: symbol 'channel' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:86:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:9662:13: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:87:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:9720:13: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:87:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:9826:13: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:87:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:10318:21: warning: symbol 'remaining_bytes' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:10184:13: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:8338:45: warning: cast to restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:4414:21: warning: incorrect type in assignment (different base types) drivers/net/wireless/ipw2x00/ipw2200.c:4414:21: expected restricted __le16 [usertype] size drivers/net/wireless/ipw2x00/ipw2200.c:4414:21: got unsigned short [unsigned] [usertype] drivers/net/wireless/ipw2x00/ipw2200.c:6105:33: warning: incorrect type in initializer (different base types) drivers/net/wireless/ipw2x00/ipw2200.c:6105:33: expected restricted __le16 [usertype] tx_rates drivers/net/wireless/ipw2x00/ipw2200.c:6105:33: got unsigned short [unsigned] [usertype] rates_mask drivers/net/wireless/ipw2x00/ipw2200.c:6124:29: warning: bad assignment (>>=) to restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:6130:31: warning: restricted __le16 degrades to integer drivers/net/wireless/ipw2x00/ipw2200.c:6140:23: warning: restricted __le16 degrades to integer drivers/net/wireless/ipw2x00/ipw2200.c:6149:54: warning: restricted __le16 degrades to integer drivers/net/wireless/ipw2x00/ipw2200.c:6151:37: warning: invalid assignment: &= drivers/net/wireless/ipw2x00/ipw2200.c:6151:37: left side has type restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:6151:37: right side has type int drivers/net/wireless/ipw2x00/ipw2200.c:6154:54: warning: restricted __le16 degrades to integer drivers/net/wireless/ipw2x00/ipw2200.c:6156:37: warning: invalid assignment: &= drivers/net/wireless/ipw2x00/ipw2200.c:6156:37: left side has type restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:6156:37: right side has type int drivers/net/wireless/ipw2x00/ipw2200.c:6159:55: warning: restricted __le16 degrades to integer drivers/net/wireless/ipw2x00/ipw2200.c:6161:37: warning: invalid assignment: &= drivers/net/wireless/ipw2x00/ipw2200.c:6161:37: left side has type restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:6161:37: right side has type int drivers/net/wireless/ipw2x00/ipw2200.c:6164:29: warning: invalid assignment: |= drivers/net/wireless/ipw2x00/ipw2200.c:6164:29: left side has type restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:6164:29: right side has type unsigned short drivers/net/wireless/ipw2x00/ipw2200.c:7853:29: warning: incorrect type in assignment (different base types) drivers/net/wireless/ipw2x00/ipw2200.c:7853:29: expected signed char [signed] [usertype] [explicitly-signed] rt_dbmnoise drivers/net/wireless/ipw2x00/ipw2200.c:7853:29: got restricted __le16 [usertype] noise drivers/net/wireless/ipw2x00/ipw2200.c:7967:25: warning: incorrect type in initializer (different base types) drivers/net/wireless/ipw2x00/ipw2200.c:7967:25: expected signed char [signed] [usertype] [explicitly-signed] noise drivers/net/wireless/ipw2x00/ipw2200.c:7967:25: got restricted __le16 [usertype] noise Signed-off-by: Reinette Chatre Cc: Zhu Yi Acked-by: Zhu Yi Signed-off-by: John W. Linville commit c8a61a7d33350eeec668fc6230ad55f5fa93209b Author: Daniel Walker Date: Tue Aug 18 10:59:00 2009 -0700 mac80211: New stat counters for multicast and unicast forwarded frames This expands on the current fwded_frames stat counter which should be equal to the total of these two new counters. The new counters are called "fwded_mcast" and "fwded_unicast". Signed-off-by: Daniel Walker Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit e5539bcbf64fdb16af73b5c8caff9255307490b5 Author: John W. Linville Date: Tue Aug 18 10:50:34 2009 -0400 wl1271: remove print_mac usage CC [M] drivers/net/wireless/wl12xx/wl1271_main.o drivers/net/wireless/wl12xx/wl1271_main.c: In function ‘wl1271_op_add_interface’: drivers/net/wireless/wl12xx/wl1271_main.c:611: warning: ‘print_mac’ is deprecated (declared at include/linux/if_ether.h:142) Signed-off-by: John W. Linville commit 29508d122a5228c2a68d1e9a39251d3991b3cfef Author: John W. Linville Date: Tue Aug 18 10:46:42 2009 -0400 rc80211_pid_algo.c: remove unused variable declaration CC [M] net/mac80211/rc80211_pid_algo.o net/mac80211/rc80211_pid_algo.c: In function ‘rate_control_pid_rate_init’: net/mac80211/rc80211_pid_algo.c:304: warning: unused variable ‘si’ Signed-off-by: John W. Linville commit 608b88cb34b0e70a538ee1fc334cc833ef691836 Author: Luis R. Rodriguez Date: Mon Aug 17 18:07:23 2009 -0700 ath: move regulatory info into shared common structure This moves the shared regulatory structure into the common structure. We will use this ongoing for common data. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4c48381786159ba3f3d8a33d967aeb049341a220 Author: Sujith Date: Tue Aug 18 10:51:52 2009 +0530 ath9k: Fix TX poll cancelling In ath9k_stop(), tx_complete_work was being cancelled twice. This patch fixes it. Also, locking sc->mutex should be done at the beginning. Signed-off-by: Sujith Signed-off-by: John W. Linville commit bcd64e0c20eafe6a3976c248833d5d8bcccdf0d9 Author: Bob Copeland Date: Mon Aug 17 23:33:56 2009 -0400 wl1251: halt the embedded CPU before loading firmware After initial power-up, the embedded cpu is usually halted. However, if we down the interface and only do a soft reset before bringing the interface back up, it will still be running and the firmware loading code will bail out. This change halts the CPU before loading the firmware, enabling a second call to wl1251_boot() to succeed without a hard reset. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit bfc32e6a9559d3e30925929cd9a9df7498f325db Author: Javier Cardona Date: Mon Aug 17 17:15:55 2009 -0700 mac80211: Decouple fail_avg stats used by mesh from rate control algorithm. Mesh uses the tx failure average to compute the (m)path metric. This used to be done inside the rate control module. This patch breaks the dependency between the mesh stack and the rate control algorithm. Mesh will now work independently of the chosen rate control algorithm. The mesh stack keeps a moving average of the average transmission losses for each mesh peer station. If the fail average exceeds a certain threshold, the peer link is marked as broken. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 92ed48e5230e8f5906dda0cc31715b3b7e3fe303 Author: Benoit PAPILLAULT Date: Mon Aug 17 18:56:10 2009 +0200 rt2x00: Add support for retry rates rt2800pci can handle different retry rates, it will always step 1 rate down after a failed transmission so creating the retry rate list for mac80211 is quite simple. Signed-off-by: Benoit PAPILLAULT Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit cd80b684a08655e7dcc7a1c96d4b7e7ffa753017 Author: Ivo van Doorn Date: Mon Aug 17 18:55:40 2009 +0200 rt2x00: Fix MCS register intialization According to the original Ralink driver, LG_FBK_CFG0_OFDMMCS2FBK should be initialized to 9 rather then 3. Based on a patch for rt2800pci from Benoit Signed-off-by: Benoit PAPILLAULT Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 534aff0288f49a2366b7e6fbb67ff035dea814d3 Author: Ivo van Doorn Date: Mon Aug 17 18:55:15 2009 +0200 rt2x00: wireless CLI ID and packet ID must not be 0 In the TX descriptor the Packet ID must not be 0, so add 1 to the ID. The wireless CLI ID is not allowed to be 0 either, but also must be initialized with the wcid value rather then keyid. Based on a patch for rt2800pci from Benoit Signed-off-by: Benoit PAPILLAULT Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0fefe0fda4376eff97be965a41714da38fe4a36d Author: Ivo van Doorn Date: Mon Aug 17 18:54:50 2009 +0200 rt2x00: Set SKBDESC_L2_PADDED in RX path When the RX descriptor indicates the frame was L2 padded, the SKBDESC_L2_PADDED flag should be set to make sure the L2 padding is removed before it is send to mac80211. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 05a32730f16e7b91e9fd2d11f26db152e5c9a68d Author: Ivo van Doorn Date: Mon Aug 17 18:54:47 2009 +0200 rt2x00: Add new RF chip defines Add new defines for RF chipsets which can be found by the driver. We don't have to check for these chips specifically yet, but it is better to have the defines in now. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1738c9e42a9bb3705a3b03dde854f3db269e7bdd Author: Ivo van Doorn Date: Mon Aug 17 18:53:57 2009 +0200 rt2x00: Fix for rt2800usb for SHARED_KEY_TABLE initializations Fixed comments about SHARED_KEY_TABLE_BASE and SHARED_KEY_MODE_BASE. Fixed initialization loop for SHARED_KEY_MODE_ENTRY. Based on a patch for rt2800pci from Benoit. Signed-off-by: Benoit PAPILLAULT Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 73077c85458739169cdaf893a375b8bb3939d35a Author: Ivo van Doorn Date: Mon Aug 17 18:53:24 2009 +0200 rt2x00: Fix RFKILL polling The rfkill_poll callback function in the drivers check a bit to see if the RFKILL key has been pressed. However when the bit is set it means the radio is active and the device can be used. The wiphy_rfkill_set_hw_state() function expects the inversed, so '1' must be send when the radio must be disabled. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5f1c07d924d3e670044911487aca057bb39b4e7e Author: Gábor Stefanik Date: Fri Aug 14 21:19:58 2009 +0200 b43: LP-PHY: Fix setting TX power control mode during RC calibration Call set_tx_power_control with a LPPHY_TXPCTL rather than an LPPHY_TX_PWR_CTL_CMD_MODE. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 12d4bba0fd7ac50ca20d9ac1247a0de851850bb0 Author: Gábor Stefanik Date: Fri Aug 14 20:29:47 2009 +0200 b43: LP-PHY: Fix reading old mode in the set TX power control routine Check the mode the hardware is in, not the mode we used the last time. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 1de6f73c34fb9a74454a5b519cefd635b5e8ceb6 Author: Bob Copeland Date: Mon Aug 17 11:18:14 2009 -0400 wl1251: correct definitions for 0th bit defines ACX_SLV_SOFT_RESET_BIT and ACX_REG_EEPROM_START_BIT are both defined as "1" in the vendor driver code, but they were defined to be BIT(1) ("2") here. The SOFT_RESET typo ensures that wl1251_boot_soft_reset() doesn't; as a result the device hangs when trying to reprogram the PLL registers while running. Signed-off-by: Bob Copeland Acked-by: Kalle Valo Signed-off-by: John W. Linville commit f424afa17899408cbd267a4c4534ca6fc9d8f71c Author: Johannes Berg Date: Mon Aug 17 16:18:07 2009 +0200 mac80211: remove deprecated API All but two drivers have now stopped using the two deprecated members radio_enabled and beacon_int, so it's about time to remove them for good. Signed-off-by: Johannes Berg Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 3ac64beecd27400d12cc7afb4108eef26c499f6a Author: Johannes Berg Date: Mon Aug 17 16:16:53 2009 +0200 mac80211: allow configure_filter callback to sleep Over time, a whole bunch of drivers have come up with their own scheme to delay the configure_filter operation to a workqueue. To be able to simplify things, allow configure_filter to sleep, and add a new prepare_multicast callback that drivers that need the multicast address list implement. This new callback must be atomic, but most drivers either don't care or just calculate a hash which can be done atomically and then uploaded to the hardware non-atomically. A cursory look suggests that at76c50x-usb, ar9170, mwl8k (which is actually very broken now), rt2x00, wl1251, wl1271 and zd1211 should make use of this new capability. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ea416a793d2b611f22b42ba094fd2e5bd30fff43 Author: Johannes Berg Date: Mon Aug 17 12:22:14 2009 +0200 cfg80211: report userspace SME connected event properly Instead of hacking the event reporting into the __cfg80211_connect_result() function which is also invoked by others, set up things correctly and then invoke that function, so that it can do more sanity checking. Also, it is currently not possible to get a ROAMED event from the userspace SME anyway since we send out a DISCONNECTED event when it disassociates and then a new CONNECTED event on the next association. Thanks to Zhu Yi for pointing out that the code is somewhat convoluted and doesn't warn when it should. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 86b2892a22a433e56e39e33bf353adc6cc4eabb2 Author: Gábor Stefanik Date: Sun Aug 16 20:22:41 2009 +0200 b43: LP-PHY: Remove BROKEN from B43_PHY_LP Larry has reported success getting scan data with an LP-PHY device, so it's probably time to release LP-PHY support for testing. Also disable 802.11a support for now, as 802.11a currently causes the driver to panic on startup (NULL pointer dereference). Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 7e4d8529921004014bef21a2031b6c3478339a2a Author: Gábor Stefanik Date: Sun Aug 16 20:08:13 2009 +0200 b43: LP-PHY: Update B2062 radio init with recent spec changes The spec for initializing the B2062 radio have changed recently, update the code to match the changes. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit ed07c4b3af341bad3fa29558f08b166220014ca7 Author: Gábor Stefanik Date: Sun Aug 16 18:40:09 2009 +0200 b43: LP-PHY: Fix a bug in the B2062 channel tune path I missed the "+16" part of the instruction in the specs. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 5269102ec9c1584ccfab71affd1d7600d59f9096 Author: Gábor Stefanik Date: Sun Aug 16 18:05:09 2009 +0200 b43: LP-PHY: Update code for spec fixes, and fix a few typos A few typos have been discovered in both the specs and the code. This patch fixes them. Also use lpphy_op_switch_channel consistently, and make all users of it print its return value for easier debugging. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 055114a38804947554065194d50ded4bc7d7c4c6 Author: Gábor Stefanik Date: Sun Aug 16 15:32:40 2009 +0200 b43: LP-PHY: Fix a spec error in the B2062 channel switch routine The channel switch routine had a whole instruction missing. Add it. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 0ff6ce7b36199f67f709c750e9a2a66659a4babe Author: Johannes Berg Date: Mon Aug 17 12:25:37 2009 +0200 cfg80211: fix deadlock When removing an interface with nl80211, cfg80211 will deadlock in the netdev notifier because we're already holding rdev->mtx and try to acquire it again to verify the scan has been done. This bug was introduced by my patch "cfg80211: check for and abort dangling scan requests". To fix this, move the dangling scan request check into wiphy_unregister(). This will not be able to catch all cases right away, but if the scan problem happens with a manual ifdown or so it will be possible to remedy it by removing the module/device. Additionally, add comments about the deadlock scenario. Reported-by: Christian Lamparter Signed-off-by: Johannes Berg Tested-by: Christian Lamparter Tested-by: Kalle Valo Signed-off-by: John W. Linville commit 96909e97716de1d86e6e24d6aabce09980372771 Author: Gábor Stefanik Date: Sun Aug 16 01:15:49 2009 +0200 b43: LP-PHY: Update baseband init for recent spec changes The spec had some nasty typos, and a large part of the rev0/1 BB init procedure was also missing. Fix these. Also make the init-time channel switch debuggable. (The change from -EINVAL to -EIO is simply to make it possible to distinguish the PLL charge pump error from a channel-not-found error.) Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 826ee70664c658a022d999f7eb4d3cd9448895dd Author: Gábor Stefanik Date: Sat Aug 15 00:52:02 2009 +0200 b43: Handle B43_PHYTYPE_LP in RX path Don't drop all packets received from an LP-PHY with WARN_ON. Also update a comment with LP-specific information. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 1245684c631844d52079fb3fa1fcb57cc1213e5c Author: Gábor Stefanik Date: Fri Aug 14 23:00:32 2009 +0200 b43: LP-PHY: Fix another TX power control abuse This should fix the remaining WARN_ON. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 16373f652523705aa07bf78b4f388d96feb8f9d3 Author: Gábor Stefanik Date: Fri Aug 14 22:10:34 2009 +0200 b43: LP-PHY: Update TX gain override for a spec typo fix Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 0c61bb9a410de6ef36b4a473ced34f983a87db35 Author: Gábor Stefanik Date: Fri Aug 14 21:11:59 2009 +0200 b43: LP-PHY: Don't adjust gain table for rev2+ when setting channel Rev2+ never needs to have gain tables adjusted according to the spec. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 9d86a2d531c722feb0046e5a0b81809efb10422a Author: Gábor Stefanik Date: Fri Aug 14 14:54:46 2009 +0200 b43: Make LP-PHY testable -Enable rate memory init for LP-PHY (same as G and N-PHY). -Mark rev.2 LP-PHYs with the B2063 radio as supported. -Allow using the 5GHz band on LP-PHYs. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 759b973bb2d24adecaa526957435eabb00f02725 Author: Gábor Stefanik Date: Fri Aug 14 14:39:53 2009 +0200 b43: Add LP-PHY firmware loading support Add support for loading LP-PHY firmware to b43_try_request_fw. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit f0ea6ce14ae2a72a353ddf8ab370c09ba403d897 Author: Gábor Stefanik Date: Fri Aug 14 14:11:53 2009 +0200 ssb: Fix typo in the rev8 SPROM extraction routine No comment. :-) Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c46aaba74f37448f0a1a3e911230834b7ebe514f Author: Christian Lamparter Date: Fri Aug 14 13:23:05 2009 +0200 p54: disable PS by default Johannes kindly pointed out that I completely missed a hunk in his patch: "[PATCH] cfg80211: allow driver to override PS default". The driver must explicitly set ps_default to false, as the setting is pre-filled with the kconfig default. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 326bebbcb51d3ce9761f616b8b9a35827fd9c697 Author: Vivek Natarajan Date: Fri Aug 14 11:33:36 2009 +0530 ath9k: Updates for AR9287_12 version of chipset. Enable AsyncFIFO and AGGWEP for AR9287_12 and later revisions only. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit d4fe5afa006bf308962877c4768c4e60d37a3da2 Author: Vivek Natarajan Date: Fri Aug 14 11:32:04 2009 +0530 ath9k: Fix ref power interpolation logic for AR9287 chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 08fc5c1ba026de0904aeeba9785f95f6603d58f7 Author: Vivek Natarajan Date: Fri Aug 14 11:30:52 2009 +0530 ath9k: Enable LEDs for AR9287 chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit d340b1f0e5e374fc902a020cb6ef9ebd7fb9f368 Author: Vivek Natarajan Date: Fri Aug 14 11:29:27 2009 +0530 ath9k: Set AR_WA for AR9287 as it improves consistency in throughput. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit db91f2e4d410bf3011b3649b9257e5b3c60b25ff Author: Vivek Natarajan Date: Fri Aug 14 11:27:16 2009 +0530 ath9k: Add open loop power control support for AR9287. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 1e711bee566e26f03e51d5a754e7c8a57e489f9f Author: Gábor Stefanik Date: Fri Aug 14 00:15:17 2009 +0200 b43: LP-PHY: Implement channel switching for rev0/1/B2062 radio -Move pdiv from lpphy_2062_init to struct b43_phy_lp. -Add channel table for the B2062 radio. -Add code for tuning the B2062 radio to channel. -Add error handling to op_switch_channel, and use it for both radios. Rev0/1/B2062 will now hopefully show some signs of life, though it won't work at full performance, as calibration is still missing. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 588f8377c5470fab611c14ead768f7f9af87da94 Author: Gábor Stefanik Date: Thu Aug 13 22:46:30 2009 +0200 b43: LP-PHY: Implement channel switching for rev2+/B2063 radio Rev.2+/B2063 will now hopefully show some signs of life, though it won't work at full performance, as calibration is still missing. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 6f632d57f35303118685b88c139f3da73df077e2 Author: Andrey Yurovsky Date: Thu Aug 13 17:34:40 2009 -0700 libertas: don't use dynamic-sized array sparse complains about a bad constant expression due to the use of a dynamic-sized array in get_common_rates(). Allocate and free the array instead. Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit b23da49e6db341f4721476394dd8b95e0be2d179 Author: Johannes Berg Date: Thu Aug 13 13:31:02 2009 -0700 iwlwifi: disable PS by default Unfortunately, PS currently affects RX performance significantly enough to warrant disabling it by default, but give the user the choice to enable it again with iwconfig. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 396887a2b2ad1ef5e5526fec34dec582baf39b81 Author: Daniel C Halperin Date: Thu Aug 13 13:31:01 2009 -0700 iwlwifi: fix erroneous use of iwl_rx_packet.len as a length The field called 'len' in struct iwl_rx_packet is in fact not just a length field but also includes some flags from the flow handler. In several places throughout the driver, this causes incorrect values to be interpreted as lengths when the field is improperly masked. In most situations the improper use is for debugging output, and simply results in an erroneous message, such as: [551933.070224] ieee80211 phy0: I iwl_rx_statistics Statistics notification received (480 vs -1367342620). which should read '(480 vs 484)'. In at least one case this could case bad things to happen: void iwl_rx_pm_debug_statistics_notif(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb) { struct iwl_rx_packet *pkt = (struct iwl_rx_packet *)rxb->skb->data; IWL_DEBUG_RADIO(priv, "Dumping %d bytes of unhandled " "notification for %s:\n", le32_to_cpu(pkt->len), get_cmd_string(pkt->hdr.cmd)); iwl_print_hex_dump(priv, IWL_DL_RADIO, pkt->u.raw, le32_to_cpu(pkt->len) ); } EXPORT_SYMBOL(iwl_rx_pm_debug_statistics_notif); Given the rampant misuse of this field without proper masking throughout the driver (every use but one), this patch renames the field from 'len' to 'len_n_flags' to reduce confusion. It also adds the proper masking when this field is used as a length value. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 15993e08ac027b64b6f3400d32754966b4cac7b0 Author: Wey-Yi Guy Date: Thu Aug 13 13:31:00 2009 -0700 iwlwifi: add thermal throttling support to 5150 Adding legacy thermal throttling management support to 5150 NIC Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b261793da587160d12ce6d63db60493342ddce20 Author: Daniel C Halperin Date: Thu Aug 13 13:30:59 2009 -0700 iwlwifi: use station HT capabilities and BSS operating mode for Green-field Green-field mode should be configured in the HT station table. This patch uses both the per-station GF support flag as well as the current BSS HT operation mode (non-GF stations present flag). Added the "ht_greenfield_support" field to struct iwl_cfg to replace the device-specific check in rs_use_green(). That check has been moved to iwlcore_init_ht_hw_capab(). Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 28e6f48953f44f7eb615383efe6e7f17624a11bb Author: Daniel C Halperin Date: Thu Aug 13 13:30:58 2009 -0700 iwlwifi: check short GI support per-station rather than globally Short guard interval support is a local per-station parameter not a global per-NIC parameter. (mac80211 will correctly remove SGI support from station capabilities if the BSS does not permit it). This patch removes the short GI support bitfield from the global iwl_ht_info struct and properly uses per-station HT capabilities during rate selection. Signed-off-by: Daniel C Halperin Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 28bd723bbaddba4e145d25117649bb6da5fafad7 Author: Daniel C Halperin Date: Thu Aug 13 13:30:57 2009 -0700 iwlwifi: configure HT40 channels in iwl_mac_config As indicated by note in iwl_ht_conf, some HT parameters are set on association (e.g., channel width) and some vary over time (HT protection mode) and per station (e.g., short GI support). The global parameters should be set in iwl_mac_config and the local/varying parameters in iwl_ht_conf. This patch moves the channel width configuration from iwl_ht_conf to iwl_mac_config, and defers further cleanup of the local/global conflation for a later patch. This fixes a bug in using HT40 channels in some modes. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9f30e04e041cf9943940f71fd76094dd5a237018 Author: Daniel C Halperin Date: Thu Aug 13 13:30:56 2009 -0700 iwlwifi: refactor packet reception code This patch fixes a number of issues in iwl_rx_reply_rx and iwl_pass_packet_to_mac80211. These issues stem from the complexities of managing two different types of packet commands for different hardware. - Unify code handling rx_phy_res in SKB or cached to eliminate redundancy and remove potential NULL pointer accesses - Replace magic number with proper constant - Optimize functions by moving early exit conditions before computation - Comment code and improve some variable names - Remove redundant computation in iwl_pass_packet_to_mac80211 by passing in the correct, already-computed arguments. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 367ca28da433ed9639468be851e1f33468e3485e Author: Johannes Berg Date: Thu Aug 13 13:30:55 2009 -0700 iwlwifi: remove unused members of iwl_ht_info Some members of iwl_ht_info are unused, and one of them is write-only, so we can remove these three: max_amsdu_size, ampdu_factor and mpdu_density. Signed-off-by: Johannes Berg Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 415e49936b4b29b34c2fb561eeab867d41fc43a6 Author: Wey-Yi Guy Date: Thu Aug 13 13:30:54 2009 -0700 iwlwifi: traverse linklist to find the valid OTP block For devices using OTP memory, EEPROM image can start from any one of the OTP blocks. If shadow RAM is disabled, we need to traverse link list to find the last valid block, then start the EEPROM image reading. If OTP is not full, the valid block is the block _before_ the last block on the link list; the last block on the link list is the empty block ready for next OTP refresh/update. If OTP is full, then the last block is the valid block to be used for configure the device. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3b24716fc978db9c27c4a069e5201460479340a4 Author: Zhu Yi Date: Thu Aug 13 13:30:53 2009 -0700 iwlwifi: cleanup HT40 extension channels setup The patch cleans up the HT40 extension channels setup for EEPROM band 6 and 7 to make it more readable. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7869b0eaed0447a989d8672eed27a358aa5dde0c Author: Daniel C Halperin Date: Thu Aug 13 13:30:52 2009 -0700 iwlwifi: include HT configuration when adding stations through rs_rate_init Driver's first notification of a new station from mac80211 can be through rate selection API. This patch fixes a bug where, in this code path, the HT capabilities of the new station were ignored. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit be2527654fab254beda8612cbd6bc927dc98fbee Author: Daniel C Halperin Date: Thu Aug 13 13:30:51 2009 -0700 iwlwifi: remove unused HT configuration entry tx_chan_width The tx_chan_width entry is never used, supported_chan_width is used instead. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e6a6cf4c42e0dc3541a63b5f0f88299f982d6704 Author: Reinette Chatre Date: Thu Aug 13 13:30:50 2009 -0700 iwlwifi: prevent read outside array bounds With EDCA and HCCA we have 16 potential tid values. This is accommodated by mac80211, but iwlwifi only supports EDCA. With this implementation it is thus possible for mac80211 to request a tid that will cause iwlwifi to read outside array bounds. A similar problem exists if traffic is received in an unsupported category. We add error checking to catch these situations. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a8b875e7dc80ff442698d8cf4f45ccce400a6a66 Author: Jussi Kivilinna Date: Thu Aug 13 20:39:31 2009 +0300 cfg80211: export cfg80211_wext_siwfreq cfg80211_wext_siwfreq() should be exported with EXPORT_SYMBOL_GPL. Signed-off-by: Jussi Kivilinna Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 7021f62a46d4866fecd7b31cbc359d742876bb61 Author: Gábor Stefanik Date: Thu Aug 13 17:27:31 2009 +0200 b43: LP-PHY: Initialize TX power control The HW TX power control init still needs work. The SW init is complete according to the specs. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 2f19c287fecb958eb68b1c2199b4dd6e00ba4276 Author: Gábor Stefanik Date: Thu Aug 13 16:51:51 2009 +0200 b43: Update dummy transmission to match V4 specs The V4 dummy transmission has two extra bools in its prototype, so update all callers with the 2 bools. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 4cdc115fd38b54642e8536a5c2389483bcb9b2e9 Author: Takashi Iwai Date: Thu Aug 20 16:40:16 2009 +0200 ALSA: pcm - Fix drain behavior in non-blocking mode The current PCM core has the following problems regarding PCM draining in non-blocking mode: - the current f_flags isn't checked in snd_pcm_drain(), thus changing the mode dynamically via snd_pcm_nonblock() after open doesn't work. - calling drain in non-blocking mode just return -EAGAIN error, but doesn't provide any way to sync with draining. This patch fixes these issues. - check file->f_flags in snd_pcm_drain() properly - when O_NONBLOCK is set, PCM core sets the stream(s) to DRAIN state but quits ioctl immediately without waiting the whole drain; the caller can sync the drain manually via poll() Signed-off-by: Takashi Iwai commit cde7e5ca4e329a157108769d1f752d191cbb71c6 Author: Hiroshi Shimamoto Date: Tue Aug 18 13:01:01 2009 +0900 sched: Use for_each_class macro in move_one_task() Replace for loop with the macro for_each_class to cleanup. Signed-off-by: Hiroshi Shimamoto LKML-Reference: <4A8A277D.4090304@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 4539f07701b3f743580d19dc5d655fb8d21b0a3c Author: Li Zefan Date: Thu Aug 20 16:13:35 2009 +0800 tracing/syscalls: Fix the output of syscalls with no arguments Before: # echo 1 > events/syscalls/sys_enter_sync/enable # cat events/syscalls/sys_enter_sync/format ... field:int nr; offset:12; size:4; print fmt: "# sync # cat trace ... sync-8950 [000] 2366.087670: sys_sync( After: # echo 1 > events/syscalls/sys_enter_sync/enable # cat events/syscalls/sys_enter_sync/format ... field:int nr; offset:12; size:4; print fmt: "" # sync # cat trace sync-2134 [001] 136.780735: sys_sync() Reported-by: Masami Hiramatsu Signed-off-by: Li Zefan Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Jason Baron Cc: Masami Hiramatsu LKML-Reference: <4A8D05AF.20103@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit bb81b2ddfa194b6d12761a350b5b5985cecae0a9 Author: John Linn Date: Thu Aug 20 02:52:16 2009 -0700 net: add Xilinx emac lite device driver This patch adds support for the Xilinx Ethernet Lite device. The soft logic core from Xilinx is typically used on Virtex and Spartan designs attached to either a PowerPC or a Microblaze processor. Signed-off-by: Sadanand M Signed-off-by: John Linn Signed-off-by: David S. Miller commit 36f87a4a29cb8cd291169483079fde34bad4ef16 Author: Steffen Klassert Date: Thu Aug 20 17:58:04 2009 +1000 crypto: xcbc - Fix alignment calculation of xcbc_tfm_ctx The alignment calculation of xcbc_tfm_ctx uses alg->cra_alignmask and not alg->cra_alignmask + 1 as it should. This led to frequent crashes during the selftest of xcbc(aes-asm) on x86_64 machines. This patch fixes this. Also we use the alignmask of xcbc and not the alignmask of the underlying algorithm for the alignmnent calculation in xcbc_create now. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 4e4ed83be6a64c8c9fe69c77f37a26bb62ed21f7 Author: Neil Horman Date: Thu Aug 20 17:54:16 2009 +1000 crypto: fips - Depend on ansi_cprng What about something like this? It defaults the CPRNG to m and makes FIPS dependent on the CPRNG. That way you get a module build by default, but you can change it to y manually during config and still satisfy the dependency, and if you select N it disables FIPS as well. I rather like that better than making FIPS a tristate. I just tested it out here and it seems to work well. Let me know what you think Signed-off-by: Neil Horman Signed-off-by: Herbert Xu commit e1af88a1ad8f4dea3a2d6c5637d94a3fc3c62994 Author: Jan Kara Date: Wed Aug 19 18:04:43 2009 +0200 nfs: Remove reference to generic_osync_inode from a comment generic_file_direct_write() no longer calls generic_osync_inode() so remove the comment. CC: linux-nfs@vger.kernel.org CC: Neil Brown CC: "J. Bruce Fields" Signed-off-by: Jan Kara Signed-off-by: Trond Myklebust commit ece13879e74313e62109e0755dd3d4f172df89e2 Merge: b08dc3e 6c30c53 Author: James Morris Date: Thu Aug 20 09:18:42 2009 +1000 Merge branch 'master' into next Conflicts: security/Kconfig Manual fix. Signed-off-by: James Morris commit f7e86ab92f2198d30828a1a327ad2085e4a7ff7d Author: Trond Myklebust Date: Wed Aug 19 18:13:00 2009 -0400 SUNRPC: cache must take a reference to the cache detail's module on open() Otherwise we Oops if the module containing the cache detail is removed before all cache readers have closed the file. Signed-off-by: Trond Myklebust commit 7d7ea882898f23989209d0359691b356f73240dc Author: Trond Myklebust Date: Wed Aug 19 18:12:34 2009 -0400 NFS: Use the DNS resolver in the mount code. In the referral code, use it to look up the new server's ip address if the fs_locations attribute contains a hostname. Signed-off-by: Trond Myklebust commit e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1 Author: Trond Myklebust Date: Wed Aug 19 18:12:27 2009 -0400 NFS: Add a dns resolver for use with NFSv4 referrals and migration The NFSv4 and NFSv4.1 protocols both allow for the redirection of a client from one server to another in order to support filesystem migration and replication. For full protocol support, we need to add the ability to convert a DNS host name into an IP address that we can feed to the RPC client. We'll reuse the sunrpc cache, now that it has been converted to work with rpc_pipefs. Signed-off-by: Trond Myklebust commit 96c61cbd0f30496bfa57ed80f7131a57aea3e4de Author: Trond Myklebust Date: Wed Aug 19 18:12:21 2009 -0400 SUNRPC: Fix a typo in cache_pipefs_files We want the channel to be a regular file, so that we don't need to supply rpc_pipe_ops. Signed-off-by: Trond Myklebust commit 6a396f67d2442e30150ffb5e1142dbb2f2181d3f Merge: f884dca cccddf4 Author: Trond Myklebust Date: Wed Aug 19 18:21:52 2009 -0400 Merge branch 'nfsv4_xdr_cleanups-for-2.6.32' into nfs-for-2.6.32 Conflicts: fs/nfs/nfs4xdr.c commit 886f9fe68310168358f55028a03553ae154dfeb6 Author: David S. Miller Date: Wed Aug 19 13:55:55 2009 -0700 ppp_generic: Help GCC see that 'flen' is always initialized. It's too stupid to see that we always set flen to something before we use it in ppp_mp_explode(): drivers/net/ppp_generic.c: In function 'ppp_push': drivers/net/ppp_generic.c:1314: warning: 'flen' may be used uninitialized in this function drivers/net/ppp_generic.c:1314: note: 'flen' was declared here This started warning after commit a53a8b56827cc429c6d9f861ad558beeb5f6103f ("ppp: fix lost fragments in ppp_mp_explode() (resubmit)") So just put an explicit unconditional initialization there to hush it up. Signed-off-by: David S. Miller commit f8bae4caaaf56c391f3e2380dd7105e765414178 Author: Mark Brown Date: Wed Aug 19 19:31:46 2009 +0100 ALSA: Restore support for DMAless DAIs on PXA Used for applications such as direct bluetooth connections on smartphones which don't go via the CPU. This used to be supported before the refactoring to share code but this check was removed during that move. Signed-off-by: Mark Brown commit 929122cdd5d4c344e59f9b55f870a8fcf7aa0d27 Author: Dmitry Eremin-Solenikov Date: Fri Aug 14 20:00:20 2009 +0400 Drop ARPHRD_IEEE802154_PHY There are not maste devices in mac802154 anymore, so drop ARPHRD_IEEE802154_PHY definition. Signed-off-by: Dmitry Eremin-Solenikov commit 16eea493da563b5a3356a77c6d8776dffc29d3b6 Author: Dmitry Eremin-Solenikov Date: Wed Aug 19 19:32:24 2009 +0400 ieee802154: add support for channel pages from IEEE 802.15.4-2006 IEEE 802.15.4-2006 adds new concept: channel pages, which can contain several channels. Add support for channel pages in the API and in the fakehard driver. Signed-off-by: Dmitry Eremin-Solenikov commit 81f9510381ee43205564063f2e8650672b11d453 Author: Dmitry Eremin-Solenikov Date: Wed Aug 19 18:56:57 2009 +0400 fakehard: add binding to wpan-phy device Make fakehard create and maintain wpan-phy node, thus representing it's phy in the sysfs. Signed-off-by: Dmitry Eremin-Solenikov commit 2bfb1070ba1fdb8cbc2b0b9ff61a3b0701ab40de Author: Dmitry Eremin-Solenikov Date: Fri Aug 14 16:13:12 2009 +0400 ieee802154: add a sysfs representation of WPAN master devices Add a sysfs/in-kernel representation of LR-WPAN master devices. Signed-off-by: Dmitry Eremin-Solenikov commit a0aea57786fe9c6b62b1a4f28409582520fa494f Author: Dmitry Eremin-Solenikov Date: Wed Aug 19 18:53:39 2009 +0400 ieee802154: document the skb->cb usage clearly. Signed-off-by: Dmitry Eremin-Solenikov commit 454e134d0e9e38421830f26426c66f37a6d39465 Merge: 1c11ce8 3abf2f3 Author: Takashi Iwai Date: Wed Aug 19 20:10:24 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 474e09ca017bd0f6e9bf41af643364a21bc27f43 Author: Mark Brown Date: Wed Aug 19 14:18:53 2009 +0100 ASoC: Provide default set_bias_level() implementation If the CODEC does not provide a set_bias_level() then update the bias_level variable for it since other parts of the system expect that to be maintained. Signed-off-by: Mark Brown commit 540b7b8d65575c80162f2a0f38e1d313c92a6042 Author: Li Zefan Date: Wed Aug 19 15:54:51 2009 +0800 tracing/syscalls: Add filtering support Add filtering support for syscall events: # echo 'mode == 0666' > events/syscalls/sys_enter_open # echo 'ret == 0' > events/syscalls/sys_exit_open # echo 1 > events/syscalls/sys_enter_open # echo 1 > events/syscalls/sys_exit_open # cat trace ... modprobe-3084 [001] 117.463140: sys_open(filename: 917d3e8, flags: 0, mode: 1b6) modprobe-3084 [001] 117.463176: sys_open -> 0x0 less-3086 [001] 117.510455: sys_open(filename: 9c6bdb8, flags: 8000, mode: 1b6) sendmail-2574 [001] 122.145840: sys_open(filename: b807a365, flags: 0, mode: 1b6) ... Signed-off-by: Li Zefan Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A8BAFCB.1040006@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e647d6b314266adb904d4b84973eda0afa856946 Author: Li Zefan Date: Wed Aug 19 15:54:32 2009 +0800 tracing/events: Add trace_define_common_fields() Extract duplicate code. Also prepare for the later patch. Signed-off-by: Li Zefan Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A8BAFB8.1010304@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 14be96c9716cb8c46dca94bd890defd7856e0734 Author: Li Zefan Date: Wed Aug 19 15:53:52 2009 +0800 tracing/events: Add ftrace_event_call param to define_fields() This parameter is needed by syscall events to add define_fields() handler. Signed-off-by: Li Zefan Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A8BAF90.6060801@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 10a5b66f625904ad5a2867cf7a28073e1236ff32 Author: Li Zefan Date: Wed Aug 19 15:53:05 2009 +0800 tracing/syscalls: Add fields format for exit events Add "format" file for syscall exit events: # cat events/syscalls/sys_exit_open/format name: sys_exit_open ID: 344 format: field:unsigned short common_type; offset:0; size:2; field:unsigned char common_flags; offset:2; size:1; field:unsigned char common_preempt_count; offset:3; size:1; field:int common_pid; offset:4; size:4; field:int common_tgid; offset:8; size:4; field:int nr; offset:12; size:4; field:unsigned long ret; offset:16; size:4; Signed-off-by: Li Zefan Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A8BAF61.3060307@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e6971969c331caa5c3c88cbd1be4f465b3355452 Author: Li Zefan Date: Wed Aug 19 15:52:25 2009 +0800 tracing/syscalls: Fix fields format for enter events The "format" file of a trace event is originally for parsers to parse ftrace binary output. But the "format" file of a syscall event can only be used by perfcounter, because it describes the format of struct syscall_enter_record not struct syscall_trace_enter. To fix this, we remove struct syscall_enter_record, and then struct syscall_trace_enter will be used by both perf profile and ftrace. Signed-off-by: Li Zefan Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A8BAF39.1030404@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 5e9ad7df9fd056f1071af8aa91034a1c3170257d Author: Ingo Molnar Date: Tue Aug 18 10:41:57 2009 +0200 [S390] ftrace: update system call tracer support Commit fb34a08c3 ("tracing: Add trace events for each syscall entry/exit") changed the lowlevel API to ftrace syscall tracing but did not update s390 which started making use of it recently. This broke the s390 build, as reported by Paul Mundt. Update the callbacks with the syscall number and the syscall return code values. This allows per syscall tracepoints, syscall argument enumeration /debug/tracing/events/syscalls/ and perfcounters support and integration on s390 too. Reported-by: Paul Mundt Acked-by: Martin Schwidefsky Cc: Heiko Carstens Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 1423cc033df017c762a9155eec470da77a460141 Author: Paul E. McKenney Date: Tue Aug 18 23:06:14 2009 -0700 rcu: Delay rcu_barrier() wait until beginning of next CPU-hotunplug operation. Ingo Molnar reported this lockup: [ 200.380003] Hangcheck: hangcheck value past margin! [ 248.192003] INFO: task S99local:2974 blocked for more than 120 seconds. [ 248.194532] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 248.202330] S99local D 0000000c 6256 2974 2687 0x00000000 [ 248.208929] 9c7ebe90 00000086 6b67ef8b 0000000c 9f25a610 81a69869 00000001 820b6990 [ 248.216123] 820b6990 820b6990 9c6e4c20 9c6e4eb4 82c78990 00000000 6b993559 0000000c [ 248.220616] 9c7ebe90 8105f22a 9c6e4eb4 9c6e4c20 00000001 9c7ebe98 9c7ebeb4 81a65cb3 [ 248.229990] Call Trace: [ 248.234049] [<81a69869>] ? _spin_unlock_irqrestore+0x22/0x37 [ 248.239769] [<8105f22a>] ? prepare_to_wait+0x48/0x4e [ 248.244796] [<81a65cb3>] rcu_barrier_cpu_hotplug+0xaa/0xc9 [ 248.250343] [<8105f029>] ? autoremove_wake_function+0x0/0x38 [ 248.256063] [<81062cf2>] notifier_call_chain+0x49/0x71 [ 248.261263] [<81062da0>] raw_notifier_call_chain+0x11/0x13 [ 248.266809] [<81a0b475>] _cpu_down+0x272/0x288 [ 248.271316] [<81a0b4d5>] cpu_down+0x4a/0xa2 [ 248.275563] [<81a0c48a>] store_online+0x2a/0x5e [ 248.280156] [<81a0c460>] ? store_online+0x0/0x5e [ 248.284836] [<814ddc35>] sysdev_store+0x20/0x28 [ 248.289429] [<8112e403>] sysfs_write_file+0xb8/0xe3 [ 248.294369] [<8112e34b>] ? sysfs_write_file+0x0/0xe3 [ 248.299396] [<810e4c8f>] vfs_write+0x91/0x120 [ 248.303817] [<810e4dc1>] sys_write+0x40/0x65 [ 248.308150] [<81002d73>] sysenter_do_call+0x12/0x28 This change moves an RCU grace period delay off of the critical path for CPU-hotunplug operations. Since RCU callback migration is only performed on CPU-hotunplug operations, and since the rcu_barrier() race is provoked only by consecutive CPU-hotunplug operations, it is not necessary to delay the end of a given CPU-hotunplug operation. We can instead choose to delay the beginning of the next CPU-hotunplug operation. Reported-by: Ingo Molnar Signed-off-by: Paul E. McKenney Cc: Josh Triplett Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <20090819060614.GA14383@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 1c11ce8118c2055501aa03644a660c7b1e5120c7 Merge: fdbc662 ae70944 Author: Takashi Iwai Date: Wed Aug 19 12:11:06 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 0c3f450b8b345dafa79f1cc69eda702e0293b0cc Author: Stephen Hemminger Date: Tue Aug 18 15:17:11 2009 +0000 sky2: version 1.25 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 724b694225e711f95e6265afdbc304c9e7eb3721 Author: Stephen Hemminger Date: Tue Aug 18 15:17:10 2009 +0000 sky2: no recycling Recycling turns out to be a bad idea! For most use cases, the packet can not be reused: TCP packets are cloned. Even for the ideal case of forwarding, it hurts performance because of CPU ping/pong. On a multi-core system forwarding of 64 byte packets is worse much worse: recycling = 24% forwarded vs no recycling = 42% forwarded Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6b84dacadbdc3dab6a5b313d20d5a93b0d998641 Author: Stephen Hemminger Date: Tue Aug 18 15:17:09 2009 +0000 sky2: optimize transmit completion Don't reference the list element in hardware transmit ring on transmit completion. The list element is updated by hardware, therefore it causes a cache miss. Do book keeping in software structure. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ee5f68fea27b53b16c265b1f9ed8aa3bc9024c96 Author: Stephen Hemminger Date: Tue Aug 18 15:17:08 2009 +0000 sky2: dynamic size transmit ring Allocate and size transmit ring based on parameters. Saves excess space and allows configuring larger rings for testing. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c119731d6606ae25d787740d60706e2732454637 Author: Stephen Hemminger Date: Tue Aug 18 15:17:07 2009 +0000 sky2: simplify list element error The code for list element error (which should only happen on hardware errors) should be cleaner and safer. Gets rid of unused ring_size argument, which makes next patch easier. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5dce95e5687a5a335202b03d133c1b4411ef7ce3 Author: Stephen Hemminger Date: Tue Aug 18 15:17:06 2009 +0000 sky2: transmit ring 64 bit conservation This patch saves elements on transmit ring by only updating the upper 64 bit address when it changes. With many workloads skb's are located in same region, so it saves space. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d6e74b6b7eda3584a403eebae27f9591a1d9c9ff Author: Stephen Hemminger Date: Tue Aug 18 15:17:05 2009 +0000 sky2: use upper/lower 32 bits Use the existing macros to show where DMA address is being broken apart. This is cosmetic only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 23428e6b4649adfbdaa6a0c93fc6d652bf5f9d44 Author: Ben Hutchings Date: Tue Aug 18 20:13:03 2009 -0700 mdio: mdio_if_info::mmds should not be __bitwise I misunderstood the meaning of __bitwise. In practice it makes sparse warn about every use of mmds which is certainly not what we want. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit fdbc66266c21976027938642f60e0f047149a61a Author: Takashi Iwai Date: Wed Aug 19 00:18:10 2009 +0200 ALSA: hda - Fix invalid capture mixers with some ALC268 models The auto-mic clean-up patches caused regressions on some ALC268 models that have no proper input_mux but with "Input Source" mixer elements. Such a combination results in Oops when accessed. [A reason why set_capture_mixer() isn't used in patch_alc268() is that ALC268 codec have HDA_OUTPUT direction for capture volumes unlike other codecs. Thus it needs own definitions of capture elements.] This patch fixes the issues: - Add a capture mixer definition without input-source - Use the new capture mixer appropriately Signed-off-by: Takashi Iwai commit b08dc3eba0c34027010caeda258f495074ae3a54 Author: Huang Weiyi Date: Tue Aug 18 21:57:13 2009 +0800 Security/SELinux: remove duplicated #include Remove duplicated #include('s) in kernel/sysctl.c Signed-off-by: Huang Weiyi Acked-by: Eric Paris Signed-off-by: James Morris commit 294b0c9619a0469a3b385b6fc47e79f64222a692 Author: Andreas Herrmann Date: Tue Aug 18 13:02:29 2009 +0200 sched: Consolidate definition of variable sd in __build_sched_domains Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818110229.GM29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 0601a88d8fa4508eaa49a6d96c6685e1dece38e3 Author: Andreas Herrmann Date: Tue Aug 18 13:01:11 2009 +0200 sched: Separate out build of NUMA sched groups from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818110111.GL29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit de616e36c700dc312d9021dd75f769c463f85122 Author: Andreas Herrmann Date: Tue Aug 18 13:00:13 2009 +0200 sched: Separate out build of ALLNODES sched groups from __build_sched_domains For the sake of completeness. Now all calls to init_sched_build_groups() are contained in build_sched_groups(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818110013.GK29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 86548096f252bfe2065f1ea2d301e7319a16375d Author: Andreas Herrmann Date: Tue Aug 18 12:59:28 2009 +0200 sched: Separate out build of CPU sched groups from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105928.GJ29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit a2af04cdbb748158043e31799b28c48272081600 Author: Andreas Herrmann Date: Tue Aug 18 12:58:38 2009 +0200 sched: Separate out build of MC sched groups from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105838.GI29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 0e8e85c941d8f1b43bcc2e3b8b7026cdae476c53 Author: Andreas Herrmann Date: Tue Aug 18 12:57:51 2009 +0200 sched: Separate out build of SMT sched groups from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105751.GH29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit d81735355533cd4b2bce9508d86fcad24a38cf47 Author: Andreas Herrmann Date: Tue Aug 18 12:57:03 2009 +0200 sched: Separate out build of SMT sched domain from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105703.GG29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 410c408108bb85f32fe132aaf448388af0b6da64 Author: Andreas Herrmann Date: Tue Aug 18 12:56:14 2009 +0200 sched: Separate out build of MC sched domain from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105614.GF29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 87cce6622c2ab2f0e96ecc2a37133378a7db3177 Author: Andreas Herrmann Date: Tue Aug 18 12:54:55 2009 +0200 sched: Separate out build of CPU sched domain from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105455.GE29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 7f4588f3aa395632fec9ba2e15a1920f0682fda0 Author: Andreas Herrmann Date: Tue Aug 18 12:54:06 2009 +0200 sched: Separate out build of NUMA sched domain from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105406.GD29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 2109b99ee192764b407dc7f52babb74740eea6f9 Author: Andreas Herrmann Date: Tue Aug 18 12:53:00 2009 +0200 sched: Separate out allocation/free/goto-hell from __build_sched_domains Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105300.GC29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 49a02c514d967921a908ac64e9c0ec0f0fc17fd8 Author: Andreas Herrmann Date: Tue Aug 18 12:51:52 2009 +0200 sched: Use structure to store local data in __build_sched_domains Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105152.GB29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 6e086437f35ad9fda448711732c4ce0f82aad569 Author: Frederic Weisbecker Date: Tue Aug 18 17:04:03 2009 +0200 perf tools: Save partial non-overlapping map The librarization of the thread helpers between annotate and report lost some perf report specifics. thread__insert_map() had its most uptodate version in perf report which cared about partial map overlapping. In case of overlap between two maps, perf annotate's version removes the whole old map without considering if it partially or absolutely overlaps the new map. We exported the odd version, change it by using the perf report version. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250607843-7395-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 59ae07a58012a96cfbc9b4c0f3a07ad07d2a2208 Author: Mark Brown Date: Tue Aug 18 16:01:57 2009 +0100 ASoC: WM8993 digital mixing support The WM8993 provides digital sidetone paths and also allows each channel on the audio interface to be routed separtately to the DACs and ADCs. Signed-off-by: Mark Brown commit 010ff262269c6ad84acba98eab2d7843919c7ccf Author: Mark Brown Date: Mon Aug 17 17:39:22 2009 +0100 ASoC: Add input and output AIF widgets Currently DAPM interfaces with the audio streams to and from the processor at the DAC and ADC widgets. As the digital capabilities of parts increases this is becoming a less and less able to meet the needs of parts. To meet the needs of these devices create new widgets interfacing with the TDM bus but not integrated into any other functionality. Audio can then be routed to and from these widgets using existing routing widgets. A slot number is provided in the definition but this is currently not used yet. This is intended to support devices which can use more than one TDM slot on a single interface. Signed-off-by: Mark Brown commit d1a5e44b89b35c88f8908f2b1774201704460f36 Author: Mark Brown Date: Tue Aug 18 15:24:05 2009 +0100 ASoC: Remove duplicate ADC/DAC widgets from wm_hubs.c These need to be in the CODEC since the DAIs supported by the CODECs aren't static. Signed-off-by: Mark Brown commit b2472b1d4cda3968383a9439bf09fe04114faed3 Author: Mark Brown Date: Tue Aug 18 16:02:59 2009 +0100 ASoC: Reenable S3C64xx I2S support Joonyoung Shim reports that S3C64xx I2S is working on the NCP boards so allow it to be selected in Kconfig. Signed-off-by: Mark Brown commit 0914b93f4f36d1a0233bd64da9a35e37e72304ec Author: Joonyoung Shim Date: Tue Aug 18 21:56:19 2009 +0900 ASoC: Fix data format configuration for S3C64XX IISv2 The data format configuration for S3C64xx IISv2 was hardcoded for IISMOD register. This patch changes to the defined values it. And instead of bits 9 and 10 of IISMOD we should clear bits 13 and 14. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit 4273b005875c34beda4a11c9d4a9132d80378036 Author: Frederic Weisbecker Date: Tue Aug 18 16:03:46 2009 +0200 perf tools: Fix comm column adjusting The librarization of the thread helpers between annotate and report lost some perf report specifics. This patch fixes the thread comm column adjusting that has been omitted during this export. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250604226-6852-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 1314562a9ae5f39f6f595656023c1baf970831ef Author: Hiroshi Shimamoto Date: Tue Aug 18 15:06:02 2009 +0900 sched, task_struct: stack_canary is not needed without CC_STACKPROTECTOR The field stack_canary is only used with CC_STACKPROTECTOR. This patch reduces task_struct size without CC_STACKPROTECTOR. Signed-off-by: Hiroshi Shimamoto LKML-Reference: <4A8A44CA.2020701@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 970343cd49048446da4189986cf960273588d71a Author: Wengang Wang Date: Tue Aug 18 14:25:03 2009 +0800 GFS2: free disk inode which is deleted by remote node -V2 this patch is for the same problem that Benjamin Marzinski fixes at commit b94a170e96dc416828af9d350ae2e34b70ae7347 quotation of the original problem: ---cut here--- When a file is deleted from a gfs2 filesystem on one node, a dcache entry for it may still exist on other nodes in the cluster. If this happens, gfs2 will be unable to free this file on disk. Because of this, it's possible to have a gfs2 filesystem with no files on it and no free space. With this patch, when a node receives a callback notifying it that the file is being deleted on another node, it schedules a new workqueue thread to remove the file's dcache entry. ---end cut--- after applying Benjamin's patch, I think there is still a case in which the disk inode remains even when "no space" is hit. the case is that when running d_prune_aliases() against the inode, there are one or more dentries(aliases) which have reference count number > 0. in this case the dentries won't be pruned. and even later, the reference count becomes to 0, the dentries can still be cached in memory. unfortunately, no callback come again, things come back to the state before the callback runs. thus the on disk inode remains there until in memoryinode is removed for some other reason(shrinking inode cache or unmount the volume..). this patch is to remove those dentries when their reference count becomes to 0 and the inode is deleted by remote node. for implementation, gfs2_dentry_delete() is added as dentry_operations.d_delete. the function returns true when the inode is deleted by remote node. in dput(), gfs2_dentry_delete() is called and since it returns true, the dentry is unhashed from dcache and then removed. when all dentries are removed, the in memory inode get removed so that the on disk inode is freed. Signed-off-by: Wengang Wang Signed-off-by: Steven Whitehouse commit 1f18345bdfd489fde1085bc85839d5d3645cf511 Author: Ingo Molnar Date: Tue Aug 18 10:59:47 2009 +0200 perf tools: Remove obsolete defines The _XOPEN_SOURCE* defines are not really needed on Linux and it's not like we'll port this to AIX ;-) The define also broke the build with gcc 4.4.1: CC util/trace-event-parse.o In file included from util/trace-event-parse.c:32: util/util.h:43:1: error: "_XOPEN_SOURCE" redefined So remove them. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 8178d000506612e426753679eca1f9737d562d49 Merge: 8f28827 20002de Author: Ingo Molnar Date: Tue Aug 18 09:06:25 2009 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/perfcounters into perfcounters/core commit 20002ded4d937ca87aca6253b874920a96a763c4 Author: Paul Mackerras Date: Tue Aug 18 08:25:32 2009 +1000 perf_counter: powerpc: Add callchain support This adds support for tracing callchains for powerpc, both 32-bit and 64-bit, and both in the kernel and userspace, from PMU interrupt context. The first three entries stored for each callchain are the NIP (next instruction pointer), LR (link register), and the contents of the LR save area in the second stack frame (the first is ignored because the ABI convention on powerpc is that functions save their return address in their caller's stack frame). Because leaf functions don't have to save their return address (LR value) and don't have to establish a stack frame, it's possible for either or both of LR and the second stack frame's LR save area to have valid return addresses in them. This is basically impossible to disambiguate without either reading the code or looking at auxiliary information such as CFI tables. Since we don't want to do either of those things at interrupt time, we store both LR and the second stack frame's LR save area. Once we get past the second stack frame, there is no ambiguity; all return addresses we get are reliable. For kernel traces, we check whether they are valid kernel instruction addresses and store zero instead if they are not (rather than omitting them, which would make it impossible for userspace to know which was which). We also store zero instead of the second stack frame's LR save area value if it is the same as LR. For kernel traces, we check for interrupt frames, and for user traces, we check for signal frames. In each case, since we're starting a new trace, we store a PERF_CONTEXT_KERNEL/USER marker so that userspace knows that the next three entries are NIP, LR and the second stack frame for the interrupted context. We read user memory with __get_user_inatomic. On 64-bit, if this PMU interrupt occurred while interrupts are soft-disabled, and there is no MMU hash table entry for the page, we will get an -EFAULT return from __get_user_inatomic even if there is a valid Linux PTE for the page, since hash_page isn't reentrant. Thus we have code here to read the Linux PTE and access the page via the kernel linear mapping. Since 64-bit doesn't use (or need) highmem there is no need to do kmap_atomic. On 32-bit, we don't do soft interrupt disabling, so this complication doesn't occur and there is no need to fall back to reading the Linux PTE, since hash_page (or the TLB miss handler) will get called automatically if necessary. Note that we cannot get PMU interrupts in the interval during context switch between switch_mm (which switches the user address space) and switch_to (which actually changes current to the new process). On 64-bit this is because interrupts are hard-disabled in switch_mm and stay hard-disabled until they are soft-enabled later, after switch_to has returned. So there is no possibility of trying to do a user stack trace when the user address space is not current's address space. Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 9c1e105238c474d19905af504f2e7f42d4f71f9e Author: Paul Mackerras Date: Mon Aug 17 15:17:54 2009 +1000 powerpc: Allow perf_counters to access user memory at interrupt time This provides a mechanism to allow the perf_counters code to access user memory in a PMU interrupt routine. Such an access can cause various kinds of interrupt: SLB miss, MMU hash table miss, segment table miss, or TLB miss, depending on the processor. This commit only deals with 64-bit classic/server processors, which use an MMU hash table. 32-bit processors are already able to access user memory at interrupt time. Since we don't soft-disable on 32-bit, we avoid the possibility of reentering hash_page or the TLB miss handlers, since they run with interrupts disabled. On 64-bit processors, an SLB miss interrupt on a user address will update the slb_cache and slb_cache_ptr fields in the paca. This is OK except in the case where a PMU interrupt occurs in switch_slb, which also accesses those fields. To prevent this, we hard-disable interrupts in switch_slb. Interrupts are already soft-disabled at this point, and will get hard-enabled when they get soft-enabled later. This also reworks slb_flush_and_rebolt: to avoid hard-disabling twice, and to make sure that it clears the slb_cache_ptr when called from other callers than switch_slb, the existing routine is renamed to __slb_flush_and_rebolt, which is called by switch_slb and the new version of slb_flush_and_rebolt. Similarly, switch_stab (used on POWER3 and RS64 processors) gets a hard_irq_disable() to protect the per-cpu variables used there and in ste_allocate. If a MMU hashtable miss interrupt occurs, normally we would call hash_page to look up the Linux PTE for the address and create a HPTE. However, hash_page is fairly complex and takes some locks, so to avoid the possibility of deadlock, we check the preemption count to see if we are in a (pseudo-)NMI handler, and if so, we don't call hash_page but instead treat it like a bad access that will get reported up through the exception table mechanism. An interrupt whose handler runs even though the interrupt occurred when soft-disabled (such as the PMU interrupt) is considered a pseudo-NMI handler, which should use nmi_enter()/nmi_exit() rather than irq_enter()/irq_exit(). Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1660e9d3d04b6c636b7171bf6c08ac7b82a7de79 Author: Paul Mackerras Date: Mon Aug 17 14:36:32 2009 +1000 powerpc/32: Always order writes to halves of 64-bit PTEs On 32-bit systems with 64-bit PTEs, the PTEs have to be written in two 32-bit halves. On SMP we write the higher-order half and then the lower-order half, with a write barrier between the two halves, but on UP there was no particular ordering of the writes to the two halves. This extends the ordering that we already do on SMP to the UP case as well. The reason is that with the perf_counter subsystem potentially accessing user memory at interrupt time to get stack traces, we have to be careful not to create an incorrect but apparently valid PTE even on UP. Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 75d9e34698540e96b422293e1d76ab02cc7faefb Author: Konrad Eisele Date: Mon Aug 17 00:13:33 2009 +0000 sparc, leon: sparc-leon specific SRMMU initialization and bootup fixes. The sparc-leon caches are virtually tagged so a flush is needed on ctx switch. Signed-off-by: Konrad Eisele Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit e63829de3d03f92cea2b26119e0aa9a7043b9913 Author: Konrad Eisele Date: Mon Aug 17 00:13:32 2009 +0000 sparc,leon: Added support for AMBAPP bus. The device is a AMBA bus if it is a child of prom node "ambapp" (AMBA plug and play). Two functions leon_trans_init() and leon_node_init() (defined in sparc/kernel/leon_kernel.c) are called in the prom_build_tree() path if CONFIG_SPARC_LEON is defined. leon_node_init() will build up the device tree using AMBA plug and play. Also: a extra check was addes to prom_common.c:build_one_prop() in case a rom-node is undefined which can happen for SPARC-LEON because it creates only a minimum nodes to emulate sparc behaviour. Signed-off-by: Konrad Eisele Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit 0fd7ef1fe0e6e70c7851ce65a2eb8a8d3f49147e Author: Konrad Eisele Date: Mon Aug 17 00:13:31 2009 +0000 sparc,leon: Introduce the sparc-leon CPU type. Add sparc_leon enum, M_LEON|M_LEON3_SOC machine. Add compilation of leon.c in mm and kernel if CONFIG_SPARC_LEON is defined. Add sparc_leon dependent initialization to switch statements + head.S. Signed-off-by: Konrad Eisele Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit 97fb58fa9bb509b49090a1c62ed1b660d518c66b Author: Konrad Eisele Date: Mon Aug 17 00:13:30 2009 +0000 sparc,leon: Redefine MMU register access asi if CONFIG_LEON SPARC-LEON has a different ASI for mmu register accesses. Signed-off-by: Konrad Eisele Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit 5213a780295895630530aebacdd19217a5379c9a Author: Konrad Eisele Date: Mon Aug 17 00:13:29 2009 +0000 sparc,leon: CONFIG_SPARC_LEON option and leon specific files. The macro CONFIG_SPARC_LEON will shield, if undefined, the sun-sparc code from LEON specific code. In particular include/asm/leon.h will get empty through #ifdef and leon_kernel.c and leon_mm.c will not be compiled. Signed-off-by: Konrad Eisele Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit 1a8887d81ac4bbee6153b4bc9b9f9e099fb5f07e Author: Sathya Perla Date: Mon Aug 17 00:58:41 2009 +0000 be2net: destroy mcc queue before tx queues As mcc queue uses the tx event queue. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit b628bde2b5390776efc30837798d016ec1aa3ebe Author: Sathya Perla Date: Mon Aug 17 00:58:26 2009 +0000 be2net: refactor be_msix_(un)register() code. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit a65027e4d80ece5a5a3bd4fc4808a83208430929 Author: Sathya Perla Date: Mon Aug 17 00:58:04 2009 +0000 be2net: Set mac addr in hw regardless of netif_running() be_mac_addr_set() currently is broken when netif_running() is false. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit ae6e2aef6c03ccb06c6baaa1b77cc0e0ae226faf Author: Randy Dunlap Date: Mon Aug 17 10:35:49 2009 +0000 phonet: fix build when PROC_FS is disabled Fix phonet build when PROC_FS is not enabled: net/built-in.o: In function `pn_sock_open': socket.c:(.text+0x23c649): undefined reference to `seq_open_net' net/built-in.o:(.rodata+0x21018): undefined reference to `seq_release_net' Signed-off-by: Randy Dunlap Acked-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 3a5209e3b26386fd174820ee6e8e27479b24869a Author: Randy Dunlap Date: Mon Aug 17 16:00:30 2009 -0700 trace_skb: fix build when CONFIG_NET is not enabled Fix trace_skb_sources build when CONFIG_NET is not enabled: kernel/built-in.o: In function `probe_skb_dequeue': trace_skb_sources.c:(.text+0xd9152): undefined reference to `init_net' trace_skb_sources.c:(.text+0xd9188): undefined reference to `dev_get_by_index' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 3f9edc2382d5f7c97c693838abb207a9d6bab1fa Author: Frederic Weisbecker Date: Mon Aug 17 23:07:51 2009 +0200 perf tools: Make trace event format parser aware of cast to pointers The ftrace event format parser handles the usual casts but not the cast to pointers. Such casts have been introduced recently with the module trace events and raise the following parsing error: Fatal: bad op token ) This is because it considers the "*" character as a binary operator. Make it then aware of casts to pointers. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Steven Rostedt LKML-Reference: <1250543271-8383-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 9df37ddd81f54dd41dc4958055c3a3c9b6840aef Author: Frederic Weisbecker Date: Mon Aug 17 23:07:50 2009 +0200 perf tools: Record events info also when :record suffix is used. You can enable a counter's PERF_SAMPLE_RAW attribute in two fashions: - using the -R option (every counters get PERF_SAMPLE_RAW) - using the :record suffix in a trace event counter name Currently we record the events info in a trace.info file from perf record when the former method is used but we omit it with the latter. Check both situations. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Steven Rostedt LKML-Reference: <1250543271-8383-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 4bf2364a951d3c043e132e4451d90c7bc74dee83 Author: Frederic Weisbecker Date: Mon Aug 17 23:07:49 2009 +0200 perf tools: Warn while running perf trace without sample When a user runs perf trace using an input with logged counters without PERF_SAMPLE_RAW attribute, warn by giving a nice tip. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Steven Rostedt LKML-Reference: <1250543271-8383-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 6ede59c412579303a25c11f93d4d262e100fc7e6 Author: Frederic Weisbecker Date: Mon Aug 17 23:07:48 2009 +0200 perf tools: Fix spelling mistake in callchain error While running perf report -g in a perf.data file that hasn't been recorded in callchain mode, the error reported has a spelling issue: ./perf report -g selected -c but no callchain data. Did you call perf record without -g? Fix it. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Steven Rostedt LKML-Reference: <1250543271-8383-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit b7f42ab2e237f08a5bbcefa17473e80eb05e725c Author: Yinghai Lu Date: Mon Aug 17 11:19:40 2009 -0700 x86, apic: Move dmar_table_init() out of enable_IR() On an x2apic system, we got: [ 1.818072] ------------[ cut here ]------------ [ 1.820376] WARNING: at kernel/lockdep.c:2461 lockdep_trace_alloc+0xa5/0xe9() [ 1.835282] Hardware name: ASSY, [ 1.839006] Modules linked in: [ 1.841253] Pid: 1, comm: swapper Not tainted 2.6.31-rc5-tip-03926-g39aaa80-dirty #510 [ 1.858056] Call Trace: [ 1.859913] [] ? lockdep_trace_alloc+0xa5/0xe9 [ 1.876270] [] warn_slowpath_common+0x8d/0xd0 [ 1.879132] [] warn_slowpath_null+0x27/0x3d [ 1.896823] [] lockdep_trace_alloc+0xa5/0xe9 [ 1.900659] [] ? lock_release_holdtime+0x2f/0x199 [ 1.917188] [] kmem_cache_alloc_notrace+0x42/0x111 [ 1.922320] [] ? reserve_memtype+0x152/0x518 [ 1.938137] [] ? pat_pagerange_is_ram+0x4a/0x91 [ 1.941730] [] reserve_memtype+0x152/0x518 [ 1.958115] [] __ioremap_caller+0x1dd/0x30f [ 1.975507] [] ? acpi_os_map_memory+0x2a/0x47 [ 1.978987] [] ioremap_nocache+0x2a/0x40 [ 2.031400] [] ? trace_hardirqs_off+0x20/0x36 [ 2.036096] [] acpi_os_map_memory+0x2a/0x47 [ 2.046263] [] acpi_tb_verify_table+0x3d/0x85 [ 2.050349] [] ? _spin_unlock_irqrestore+0x50/0x76 [ 2.067327] [] acpi_get_table_with_size+0x64/0xd9 [ 2.070860] [] ? _spin_unlock_irqrestore+0x50/0x76 [ 2.088000] [] dmar_table_detect+0x33/0x70 [ 2.092047] [] dmar_table_init+0x43/0x428 [ 2.106854] [] enable_IR+0x1c/0x8d [ 2.110256] [] enable_IR_x2apic+0x7c/0x19e [ 2.127139] [] native_smp_prepare_cpus+0x139/0x3b8 [ 2.145175] [] kernel_init+0x71/0x1da [ 2.148913] [] child_rip+0xa/0x20 [ 2.152349] [] ? restore_args+0x0/0x30 [ 2.167931] [] ? kernel_init+0x0/0x1da [ 2.171671] [] ? child_rip+0x0/0x20 [ 2.187607] ---[ end trace a7919e7f17c0a725 ]--- Venkatesh Pallipadi said: | Looks like the problem started with this commit | | commit ce69a784504222c3ab6f1b3c357d09ec5772127a | Author: Gleb Natapov | Date: Mon Jul 20 15:24:17 2009 +0300 | | x86/apic: Enable x2APIC without interrupt remapping under KVM | | Before this commit, dmar_table_init() was getting called | with interrupts enabled and after this commit, it is getting | called with interrupts disabled. so try to move out dmar_table_init out of that function. Analyzed-by: Venkatesh Pallipadi Signed-off-by: Yinghai Lu Cc: Peter Zijlstra Cc: Gleb Natapov Cc: Suresh Siddha Cc: "Pallipadi, Venkatesh" LKML-Reference: <4A899F3C.2050104@kernel.org> Signed-off-by: Ingo Molnar commit d3c9e9a1390f8a34da8b69e09fa1afa90f5067f4 Author: Mark Brown Date: Mon Aug 17 18:52:47 2009 +0100 ASoC: Implement TDM configuration for WM8993 Note that the number of slots used internally is specified in terms of stereo slots while the external API works with mono slots. Signed-off-by: Mark Brown commit 0182dcc52c759d005cc3e65deadee9f166cdd7d0 Author: Mark Brown Date: Mon Aug 17 18:51:44 2009 +0100 ASoC: Fix WM8993 MCLK configuration for high frequency MCLKs When used without the PLL we were accidentally clearing the MCLK/2 divider, resulting in a double rate SYSCLK when the divider should have been used. Signed-off-by: Mark Brown commit 1ca04065c3569beb42b9376952df8c96f430f753 Author: Mark Brown Date: Mon Aug 17 16:26:59 2009 +0100 ASoC: Power speakers and headphones simultaneously Speaker and headphone outputs do not need to be handled separately since they can't be part of the same path. Signed-off-by: Mark Brown commit 5f9c39dca52d3e639ac899e169f408c6fd8396cc Author: Frederic Weisbecker Date: Mon Aug 17 16:18:08 2009 +0200 perf tools: Add perf trace This adds perf trace into the set of perf tools. It is written to fetch the tracepoint samples from perf events and display them, according to the events information given by the debugfs files through the util/trace* tools. It is a rough first shot and doesn't yet handle the cpu, timestamps fields and some other things. Example: perf record -f -e workqueue:workqueue_execution:record -F 1 -a perf trace kblockd/0-236 [000] 0.000000: workqueue_execution: thread=:236 func=cfq_kick_queue+0x0 kondemand/0-360 [000] 0.000000: workqueue_execution: thread=:360 func=do_dbs_timer+0x0 kondemand/0-360 [000] 0.000000: workqueue_execution: thread=:360 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 Todo: - A lot of things! Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: "Luis Claudio R. Goncalves" Cc: Clark Williams Cc: Jon Masters Cc: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Xiao Guangrong Cc: Zhaolei Cc: Li Zefan Cc: Lai Jiangshan Cc: Masami Hiramatsu Cc: Tom Zanussi Cc: "Frank Ch. Eigler" Cc: Roland McGrath Cc: Jason Baron Cc: Paul Mackerras Cc: Jiaying Zhang Cc: Anton Blanchard LKML-Reference: <1250518688-7207-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ea4010d1363699770a9894493bafe556a59a144c Author: Steven Rostedt Date: Mon Aug 17 16:18:07 2009 +0200 perf tools: Add trace event information parser Add util/trace-event-parse.c which provides the handlers to parse the ftrace events info from the stream and handles the ftrace perf samples event printing. This file is a rename of the parse-events.c file from the trace-cmd tools, written by Steven Rostedt and Josh Triplett, originated from the git tree: git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git This is a perf tools integration. [ fweisbec@gmail.com: various changes for perf tools integration. ] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: "Luis Claudio R. Goncalves" Cc: Clark Williams Cc: Jon Masters Cc: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Xiao Guangrong Cc: Zhaolei Cc: Li Zefan Cc: Lai Jiangshan Cc: Masami Hiramatsu Cc: Tom Zanussi Cc: "Frank Ch. Eigler" Cc: Roland McGrath Cc: Jason Baron Cc: Paul Mackerras Cc: Jiaying Zhang Cc: Anton Blanchard LKML-Reference: <1250518688-7207-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 538bafb5cc92a86d97b427421231f185574fe3db Author: Steven Rostedt Date: Mon Aug 17 16:18:06 2009 +0200 perf tools: Add trace event debugfs stream reader Add util/trace-event-read.c which handles trace events informations reading. This file is a rename of the trace-read.c file from the trace-cmd tools, written by Steven Rostedt and Josh Triplett, originated from the git tree: git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git This is its perf tools integration. [ fweisbec@gmail.com: various changes for perf tools integration. ] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: "Luis Claudio R. Goncalves" Cc: Clark Williams Cc: Jon Masters Cc: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Xiao Guangrong Cc: Zhaolei Cc: Li Zefan Cc: Lai Jiangshan Cc: Masami Hiramatsu Cc: Tom Zanussi Cc: "Frank Ch. Eigler" Cc: Roland McGrath Cc: Jason Baron Cc: Paul Mackerras Cc: Jiaying Zhang Cc: Anton Blanchard LKML-Reference: <1250518688-7207-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 520509436417901f30106e021e037c75dfe5386c Author: Steven Rostedt Date: Mon Aug 17 16:18:05 2009 +0200 perf tools: Add trace event debugfs IO handler Add util/trace-event-info.c which handles ftrace file IO from debugfs and provides general helpers to fetch/save ftrace events informations. This file is a rename of the trace-cmd.c file from the trace-cmd tools, written by Steven Rostedt and Josh Triplett, originated from the git tree: git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git This is a perf tools integration. For now, ftrace events information is saved in a separate file than the standard perf.data [fweisbec@gmail.com: various changes for perf tools integration] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: "Luis Claudio R. Goncalves" Cc: Clark Williams Cc: Jon Masters Cc: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Xiao Guangrong Cc: Zhaolei Cc: Li Zefan Cc: Lai Jiangshan Cc: Masami Hiramatsu Cc: Tom Zanussi Cc: "Frank Ch. Eigler" Cc: Roland McGrath Cc: Jason Baron Cc: Paul Mackerras Cc: Jiaying Zhang Cc: Anton Blanchard LKML-Reference: <1250518688-7207-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit b14b76a56e49946488637ee68926c5180c39fdb1 Author: Mark Brown Date: Mon Aug 17 11:55:38 2009 +0100 ASoC: Fix handling of bias levels for non-DAPM codecs If the system doesn't have any DAPM widgets then we can't use their state to check if the bias level for the codec should be up. Signed-off-by: Mark Brown commit 0c093fb5421a648fae46fce17277bdb358fe017b Author: Shine Liu Date: Mon Aug 17 18:52:01 2009 +0800 ASoC: UDA134X: Fix mistaken mute/unmute code There is a mistake in current uda134x_mute function: mute_reg has been changed in line 162 or line 164, so uda134x_write should write "mute_reg" but not "mute_reg & ~(1<<2)" to UDA134X_DATA010. Signed-off-by: Shine Liu Signed-off-by: Mark Brown commit 18dd0aa5afea7dc33953aa87de696e39074bbf78 Author: Clemens Ladisch Date: Mon Aug 17 12:28:09 2009 +0200 sound: snd_ctl_remove_user_ctl: prevent removal of kernel controls Ensure that userspace can remove only user controls. Controls created by kernel drivers must not be removed because they might be referenced in calls to snd_ctl_notify(). Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit f217ac59b6dd73105abc13da3fe656391fa6d135 Author: Clemens Ladisch Date: Mon Aug 17 12:27:22 2009 +0200 sound: snd_ctl_remove_unlocked_id: simplify user control counting Move the decrementing of the user controls counter from snd_ctl_elem_remove to snd_ctl_remove_unlocked_id; this saves the separate locking of the controls semaphore, and therefore removes a harmless race. Since the purpose of the function is to operate on user controls (the control being unlocked is just a prerequisite), rename it to snd_ctl_remove_user_ctl. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 317b80817fcaeac7ae7e062fcccef0d2aba38a78 Author: Clemens Ladisch Date: Mon Aug 17 12:26:34 2009 +0200 sound: snd_ctl_remove_unlocked_id: simplify error paths Use a common exit path to release the mutex and to return a possible error. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 2a031aedf7f574a01eb725507cb303d4d7b8b23a Author: Clemens Ladisch Date: Mon Aug 17 12:25:52 2009 +0200 sound: snd_ctl_elem_add: fix value count check Make sure that no user element that has no values can be added. The check for count>1024 is not needed because the count is checked later for the individual control types. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 0aa87445842036f88b53db7f377ad8376bd94ab8 Author: Steven Whitehouse Date: Fri Aug 14 15:24:46 2009 +0100 GFS2: Add a document explaining GFS2's uevents This will be essential reading for anybody who wants to understand how GFS2 interacts with the userland gfs_controld, and the details of recovery. Signed-off-by: Steven Whitehouse Signed-off-by: Bob Peterson commit 31e54b01f3f00b595aac02e887960e5dcc575844 Author: Steven Whitehouse Date: Thu Aug 13 12:18:08 2009 +0100 GFS2: Add sysfs link to device This adds a link from the per-gfs2 sb sysfs directory to the block device upon which the filesystem is mounted. The link is called "device", strangely enough :-) Signed-off-by: Steven Whitehouse commit 05164e5b37a8329bfbcf72f526302cb2dd885fbd Author: Steven Whitehouse Date: Mon Aug 17 11:06:43 2009 +0100 GFS2: Replace assertion with proper error handling One fewer assert, one more place we can recover gracefully if there is an error. Signed-off-by: Steven Whitehouse commit 6050b9c74f24513191fc6b5e4b3583e38d146bf5 Author: Steven Whitehouse Date: Fri Jul 31 16:19:40 2009 +0100 GFS2: Improve error handling in inode allocation A little while back, block allocation was given some improved error handling which meant that -EIO was returned in the case of there being a problem in the resource group data. In addition a message is printed explaning what went wrong and how to fix it. This extends that error handling so that it also covers inode allocation too. Signed-off-by: Steven Whitehouse commit 440d6da207e9eef2b576331cfedd5ecae9068663 Author: Steven Whitehouse Date: Fri Jul 31 12:16:25 2009 +0100 GFS2: Add some more info to uevents With each uevent, we now always include the journal ID. We can't call it JID since that is already in use by some of the individual events relating to recovery, so we use JOURNALID instead. We don't send the JOURNALID for spectator mounts, since there isn't one. Also the ADD event now has both RDONLY and SPECTATOR information to match that of the ONLINE event. Signed-off-by: Steven Whitehouse commit 8633ecfaba4ce53c094f8db92dbd7ac474a7aa36 Author: Steven Whitehouse Date: Fri Jul 31 11:07:29 2009 +0100 GFS2: Add online uevent to GFS2 We already have an offline uevent (used when a withdraw occurs) but no online uevent. This adds an online uevent so that userspace will be able to detect a successful mount by means other than not receiving a remove event after the add & recovery (change) uevents. It has also been added to the remount path as well - we can't use a change uevent there as older GFS2 userspace acts on change uevents according to the state that it thinks the fs is in, so we can't easily add any new ones. Signed-off-by: Steven Whitehouse commit 471e3dec3abe2d41e8c742046353fcb01bc2459e Author: Janusz Krzysztofik Date: Tue Aug 11 21:44:29 2009 +0200 ASoC: OMAP: Enhance OMAP1510 DMA progress software counter Enhance period_index accuracy, particularly just before buffer rewind, by making use of DMA interrupt status flags in addition to simply counting up interrupts. Created against linux-2.6.31-rc5. Tested on Amstrad Delta. Signed-off-by: Janusz Krzysztofik Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 64844a6ac8ddd586cb832fea7cf2e93e5e7e03f4 Author: Janusz Krzysztofik Date: Mon Aug 10 10:50:04 2009 +0200 ASoC: OMAP: Make use of DMA channel self linking on OMAP1510 Use newly implemented DMA channel self linking on OMAP1510 like on other OMAP models. Remove unnecessary DMA transfer restart from interrupt handler routine. The interrupt routine used to maintain a period index, originally needed for counting up periods up to a full buffer in order to restart the DMA transfer. For some time, this counter is also used as a replacement for hardware DMA progress counter that has been found unusable on OMAP1510 in case of playback. Thus, the period index calculation cannot be omitted completely. However, the accuracy of this counter can still suffer from missing DMA interrupts. In order to work correctly, it requires patch 1 from this series also applied: [RFC][PATCH 1/3] ARM: OMAP: DMA: Add support for DMA channel self linking on OMAP1510 Created against linux-2.6.31-rc5. Tested on Amstrad Delta. Signed-off-by: Janusz Krzysztofik Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 3be04b471b95b870bd129a138463756629e86f3f Author: Li Zefan Date: Mon Aug 17 16:54:03 2009 +0800 ftrace: Simplify seqfile code Use seq_release_private(). Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Li Zefan LKML-Reference: <4A891AAB.8090701@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 2fc5f0cff4cf1c4cd336d0f61f11bca6eeee1d84 Author: Li Zefan Date: Mon Aug 17 16:53:37 2009 +0800 trace_stack: Simplify seqfile code Extract duplicate code in t_start() and t_next(). Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A891A91.4030602@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 97d53202a5670a08b79c8ef2e4fff1c1ee21317c Author: Li Zefan Date: Mon Aug 17 16:52:53 2009 +0800 trace_stat: Fix missing entry in stat file One entry is missing in the output of a stat file. The cause is, when stat_seq_start() is called the 2nd time, we should start from the (pos-1)th elem in the rbtree but not pos, because pos == 0 is the header. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A891A65.70009@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit ba8b3a40ba7e06d00c27508f090803af90e8dbbf Author: Li Zefan Date: Mon Aug 17 16:55:18 2009 +0800 tracing/syscalls: Fix to print parameter types When syscall tracing was implemented as a tracer, "syscall_arg_type" trace option could be set to enable the display of syscall parameter types. Now this option is gone since it's no longer a tracer, but the code is still there but dead. So we remove dead code and re-enable the printing of paramete types via the verbose option: # echo verbose > trace_options # echo syscalls > set_event # cat trace ... bash-3331 [000] 95.348937: sys_fcntl64 -> 0x1 bash-3331 [000] 95.348942: sys_close(unsigned int fd: a) ... Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Jason Baron LKML-Reference: <4A891AF6.5050102@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 7ead8b8313d92b3a69a1a61b0dcbc4cd66c960dc Author: Li Zefan Date: Mon Aug 17 16:56:28 2009 +0800 tracing/events: Add module tracepoints Add trace points to trace module_load, module_free, module_get, module_put and module_request, and use trace_event facility to get the trace output. Here's the sample output: TASK-PID CPU# TIMESTAMP FUNCTION | | | | | <...>-42 [000] 1.758380: module_request: fb0 wait=1 call_site=fb_open ... <...>-60 [000] 3.269403: module_load: scsi_wait_scan <...>-60 [000] 3.269432: module_put: scsi_wait_scan call_site=sys_init_module refcnt=0 <...>-61 [001] 3.273168: module_free: scsi_wait_scan ... <...>-1021 [000] 13.836081: module_load: sunrpc <...>-1021 [000] 13.840589: module_put: sunrpc call_site=sys_init_module refcnt=-1 <...>-1027 [000] 13.848098: module_get: sunrpc call_site=try_module_get refcnt=0 <...>-1027 [000] 13.848308: module_get: sunrpc call_site=get_filesystem refcnt=1 <...>-1027 [000] 13.848692: module_put: sunrpc call_site=put_filesystem refcnt=0 ... modprobe-2587 [001] 1088.437213: module_load: trace_events_sample F modprobe-2587 [001] 1088.437786: module_put: trace_events_sample call_site=sys_init_module refcnt=0 Note: - the taints flag can be 'F', 'C' and/or 'P' if mod->taints != 0 - the module refcnt is percpu, so it can be negative in a specific cpu Signed-off-by: Li Zefan Acked-by: Rusty Russell Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Rusty Russell LKML-Reference: <4A891B3C.5030608@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 399b5da29b9f851eb7b96e2882097127f003e87c Author: Thomas Gleixner Date: Thu Aug 13 13:21:38 2009 +0200 genirq: Support nested threaded irq handling Interrupt chips which are behind a slow bus (i2c, spi ...) and demultiplex other interrupt sources need to run their interrupt handler in a thread. The demultiplexed interrupt handlers need to run in thread context as well and need to finish before the demux handler thread can reenable the interrupt line. So the easiest way is to run the sub device handlers in the context of the demultiplexing handler thread. To avoid that a separate thread is created for the subdevices the function set_nested_irq_thread() is provided which sets the IRQ_NESTED_THREAD flag in the interrupt descriptor. A driver which calls request_threaded_irq() must not be aware of the fact that the threaded handler is called in the context of the demultiplexing handler thread. The setup code checks the IRQ_NESTED_THREAD flag which was set from the irq chip setup code and does not setup a separate thread for the interrupt. The primary function which is provided by the device driver is replaced by an internal dummy function which warns when it is called. For the demultiplexing handler a helper function handle_nested_irq() is provided which calls the demux interrupt thread function in the context of the caller and does the proper interrupt accounting and takes the interrupt disabled status of the demultiplexed subdevice into account. Signed-off-by: Thomas Gleixner Cc: Mark Brown Cc: Dmitry Torokhov Cc: Trilok Soni Cc: Pavel Machek Cc: Brian Swetland Cc: Joonyoung Shim Cc: m.szyprowski@samsung.com Cc: t.fujak@samsung.com Cc: kyungmin.park@samsung.com, Cc: David Brownell Cc: Daniel Ribeiro Cc: arve@android.com Cc: Barry Song <21cnbao@gmail.com> commit 70aedd24d20e75198f5a0b11750faabbb56924e2 Author: Thomas Gleixner Date: Thu Aug 13 12:17:48 2009 +0200 genirq: Add buslock support Some interrupt chips are connected to a "slow" bus (i2c, spi ...). The bus access needs to sleep and therefor cannot be called in atomic contexts. Some of the generic interrupt management functions like disable_irq(), enable_irq() ... call interrupt chip functions with the irq_desc->lock held and interrupts disabled. This does not work for such devices. Provide a separate synchronization mechanism for such interrupt chips. The irq_chip structure is extended by two optional functions (bus_lock and bus_sync_and_unlock). The idea is to serialize the bus access for those operations in the core code so that drivers which are behind that bus operated interrupt controller do not have to worry about it and just can use the normal interfaces. To achieve this we add two function pointers to the irq_chip: bus_lock and bus_sync_unlock. bus_lock() is called to serialize access to the interrupt controller bus. Now the core code can issue chip->mask/unmask ... commands without changing the fast path code at all. The chip implementation merily stores that information in a chip private data structure and returns. No bus interaction as these functions are called from atomic context. After that bus_sync_unlock() is called outside the atomic context. Now the chip implementation issues the bus commands, waits for completion and unlocks the interrupt controller bus. The irq_chip implementation as pseudo code: struct irq_chip_data { struct mutex mutex; unsigned int irq_offset; unsigned long mask; unsigned long mask_status; } static void bus_lock(unsigned int irq) { struct irq_chip_data *data = get_irq_desc_chip_data(irq); mutex_lock(&data->mutex); } static void mask(unsigned int irq) { struct irq_chip_data *data = get_irq_desc_chip_data(irq); irq -= data->irq_offset; data->mask |= (1 << irq); } static void unmask(unsigned int irq) { struct irq_chip_data *data = get_irq_desc_chip_data(irq); irq -= data->irq_offset; data->mask &= ~(1 << irq); } static void bus_sync_unlock(unsigned int irq) { struct irq_chip_data *data = get_irq_desc_chip_data(irq); if (data->mask != data->mask_status) { do_bus_magic_to_set_mask(data->mask); data->mask_status = data->mask; } mutex_unlock(&data->mutex); } The device drivers can use request_threaded_irq, free_irq, disable_irq and enable_irq as usual with the only restriction that the calls need to come from non atomic context. Signed-off-by: Thomas Gleixner Cc: Mark Brown Cc: Dmitry Torokhov Cc: Trilok Soni Cc: Pavel Machek Cc: Brian Swetland Cc: Joonyoung Shim Cc: m.szyprowski@samsung.com Cc: t.fujak@samsung.com Cc: kyungmin.park@samsung.com, Cc: David Brownell Cc: Daniel Ribeiro Cc: arve@android.com Cc: Barry Song <21cnbao@gmail.com> commit b25c340c195447afb1860da580fe2a85a6b652c5 Author: Thomas Gleixner Date: Thu Aug 13 12:17:22 2009 +0200 genirq: Add oneshot support For threaded interrupt handlers we expect the hard interrupt handler part to mask the interrupt on the originating device. The interrupt line itself is reenabled after the hard interrupt handler has executed. This requires access to the originating device from hard interrupt context which is not always possible. There are devices which can only be accessed via a bus (i2c, spi, ...). The bus access requires thread context. For such devices we need to keep the interrupt line masked until the threaded handler has executed. Add a new flag IRQF_ONESHOT which allows drivers to request that the interrupt is not unmasked after the hard interrupt context handler has been executed and the thread has been woken. The interrupt line is unmasked after the thread handler function has been executed. Note that for now IRQF_ONESHOT cannot be used with IRQF_SHARED to avoid complex accounting mechanisms. For oneshot interrupts the primary handler simply returns IRQ_WAKE_THREAD and does nothing else. A generic implementation irq_default_primary_handler() is provided to avoid useless copies all over the place. It is automatically installed when request_threaded_irq() is called with handler=NULL and thread_fn!=NULL. Signed-off-by: Thomas Gleixner Cc: Mark Brown Cc: Dmitry Torokhov Cc: Trilok Soni Cc: Pavel Machek Cc: Brian Swetland Cc: Joonyoung Shim Cc: m.szyprowski@samsung.com Cc: t.fujak@samsung.com Cc: kyungmin.park@samsung.com, Cc: David Brownell Cc: Daniel Ribeiro Cc: arve@android.com Cc: Barry Song <21cnbao@gmail.com> commit 96004bb2a1e4ccad2b1eeb92e51031d1e8e609e3 Author: Li Zefan Date: Mon Aug 17 13:40:59 2009 +0800 lockdep: Simplify lock_stat seqfile code - make ls_next() call ls_start() - remove redundant code in lock_stat_release() Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A88ED6B.6030602@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 12aac19d4ba41019a1748f49d3c5d259b1bfb26d Author: Li Zefan Date: Mon Aug 17 13:40:39 2009 +0800 lockdep: Simplify lockdep_chains seqfile code - make lc_next() call lc_start() - use lock_chains directly instead of storing it in m->private Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A88ED57.5060609@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 8109e1de8502421f9efff1359f2779b1adcc0724 Author: Li Zefan Date: Mon Aug 17 13:40:17 2009 +0800 lockdep: Simplify lockdep seqfile code Use seq_list_start_head() and seq_list_next(). Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A88ED41.5000000@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e9d65725bdf5954283625ca4d770bfc34f2ae56a Author: Li Zefan Date: Mon Aug 17 13:39:49 2009 +0800 lockdep: Fix missing entries in /proc/lock_chains Two entries are missing in the output of /proc/lock_chains. One is chains[1]. When lc_next() is called the 1st time, chains[0] is returned. And when it's called the 2nd time, chains[2] is returned. The other missing ons is, when lc_start() is called the 2nd time, we should start from chains[@pos-1] but not chains[@pos], because pos == 0 is the header. Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A88ED25.2040306@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 212274347fc4d2a7c56bf6c953b02c809e7e0be1 Author: Li Zefan Date: Mon Aug 17 13:39:33 2009 +0800 lockdep: Fix missing entry in /proc/lock_stat One entry is missing in the output of /proc/lock_stat. The cause is, when ls_start() is called the 2nd time, we should start from stats[@pos-1] but not stats[@pos], because pos == 0 is the header. Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A88ED15.20800@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 8abf9196008a7f06841b10769d1aed3f28c1d314 Author: Alexey Dobriyan Date: Thu Aug 13 10:05:43 2009 +0000 sparc64: cheaper asm/uaccess.h inclusion sched.h inclusion is definitely not needed like in 32-bit version, remove it, fixup compilation. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 3f389635102e0dd2f85ebfe7fd549942b5bbc33b Author: Jaswinder Singh Rajput Date: Wed Aug 12 22:49:47 2009 +0000 SPARC: fix duplicate declaration Only difference for 32 and 64 bit version is dma64_addr_t and rest is same. Also fixed the following 'make includecheck' warning: arch/sparc/include/asm/types.h: asm-generic/int-ll64.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit 48e46b7b311c54525712c28004f0a59f2c931d30 Author: Jurij Smakov Date: Sun Aug 16 18:21:47 2009 -0700 sparc64: build compressed image (zImage) by default Besides creating the uncompressed vmlinux image for sparc64, also create a compressed zImage. This is more consistent with other architectures and required to make the 'deb-pkg' target work. Signed-off-by: Jurij Smakov Signed-off-by: Frans Pop Signed-off-by: David S. Miller commit 2bf49690325b62480a42f7afed5e9f164173c570 Author: Thomas Liu Date: Tue Jul 14 12:14:09 2009 -0400 SELinux: Convert avc_audit to use lsm_audit.h Convert avc_audit in security/selinux/avc.c to use lsm_audit.h, for better maintainability. - changed selinux to use common_audit_data instead of avc_audit_data - eliminated code in avc.c and used code from lsm_audit.h instead. Had to add a LSM_AUDIT_NO_AUDIT to lsm_audit.h so that avc_audit can call common_lsm_audit and do the pre and post callbacks without doing the actual dump. This makes it so that the patched version behaves the same way as the unpatched version. Also added a denied field to the selinux_audit_data private space, once again to make it so that the patched version behaves like the unpatched. I've tested and confirmed that AVCs look the same before and after this patch. Signed-off-by: Thomas Liu Acked-by: Stephen Smalley Signed-off-by: James Morris commit 8f28827a162fd1e8da4e96bed69b06d2606e8322 Author: Frederic Weisbecker Date: Sun Aug 16 22:05:48 2009 +0200 perf tools: Librarize trace_event() helper Librarize trace_event() helper so that perf trace can use it too. Also clean up the debug.h includes a bit. It's not good to have it included in perf.h because it doesn't make it flexible against other headers it may need (headers that can also depend on perf.h and then create a recursive header dependency). Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250453149-664-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0d3a5c885971de1e3124d85bfadf818abac9ba12 Author: Frederic Weisbecker Date: Sun Aug 16 20:56:37 2009 +0200 perf tools: Librarize sample type and attr finding from headers Librarize the sample type and attr fetching from perf data file headers so that we can also use it from perf trace. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250448997-30715-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0f25bfc8d8b31a4ac8e4ff6cbc3911fb7092a4a7 Author: Frederic Weisbecker Date: Sun Aug 16 19:56:54 2009 +0200 perf tools: Put the show mode into the event headers files Annotate and report share the same flags to filter events considering their context (kernel, user, hypervisor). Both tools have their own definitions of these flags. Factorize them out into the event headers file. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250445414-29237-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 2cec19d9d0716f8d68f1c5a87667d0387d4d252d Author: Frederic Weisbecker Date: Sun Aug 16 19:24:21 2009 +0200 perf tools: Factorize the dprintf definition We have two users of dprintf: report and annotate. Another one is coming with perf trace. Then factorize it into the debug file. While at it, rename dprintf() to dump_printf() so that it doesn't conflicts with its libc homograph. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250443461-28130-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0d31b82dd5c54a0b1e1d789427abdcc180bc4602 Author: Frederic Weisbecker Date: Sun Aug 16 17:52:07 2009 +0200 perf tools: Substract -Wformat-nonliteral from Wformat=2 in extra flags The soon coming perf trace needs to use printf with dynamically built formats. But we are using -Wformat=2 which is a shortcut for the following set: -Wformat -Wformat-security -Wformat-y2k -Wformat-nonliteral -Wformat-nonliteral warns when it can't check formats because they are not builtin constant strings, but we want to feature dynamic formats. What we want instead is Wformat=2 minus -Wformat-nonliteral, which is what this patch does. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250437927-25490-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 35ba15b737e2cd1d780943189f2138519f81fd42 Author: Ingo Molnar Date: Sun Aug 16 11:09:21 2009 +0200 perf: Build with stack-protector and with -D_FORTIFY_SOURCE=2 Up our defences a bit. Suggested-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 84bc4af59081ee974dd80210e694ab59ebe51ce8 Author: Darren Hart Date: Thu Aug 13 17:36:53 2009 -0700 futex: Detect mismatched requeue targets There is currently no check to ensure that userspace uses the same futex requeue target (uaddr2) in futex_requeue() that the waiter used in futex_wait_requeue_pi(). A mismatch here could very unexpected results as the waiter assumes it either wakes on uaddr1 or uaddr2. We could detect this on wakeup in the waiter, but the cleanup is more intense after the improper requeue has occured. This patch stores the waiter's expected requeue target in a new requeue_pi_key pointer in the futex_q which futex_requeue() checks prior to attempting to do a proxy lock acquistion or a requeue when requeue_pi=1. If they don't match, return -EINVAL from futex_requeue, aborting the requeue of any remaining waiters. Signed-off-by: Darren Hart Cc: Peter Zijlstra Cc: Eric Dumazet Cc: John Kacur Cc: Dinakar Guniguntala Cc: John Stultz LKML-Reference: <20090814003650.14634.63916.stgit@Aeon> Signed-off-by: Thomas Gleixner commit 83a0944fa919fb2ebcfc1f8933d86e437b597ca6 Author: Ingo Molnar Date: Sat Aug 15 12:26:57 2009 +0200 perf: Enable more compiler warnings Related to a shadowed variable bug fix Valdis Kletnieks noticed that perf does not get built with -Wshadow, which could have helped us avoid the bug. So enable -Wshadow and also enable the following warnings on perf builds, in addition to the already enabled -Wall -Wextra -std=gnu99 warnings: -Wcast-align -Wformat=2 -Wshadow -Winit-self -Wpacked -Wredundant-decls -Wstack-protector -Wstrict-aliasing=3 -Wswitch-default -Wswitch-enum -Wno-system-headers -Wundef -Wvolatile-register-var -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -Wdeclaration-after-statement And change/fix the perf code to build cleanly under GCC 4.3.2. The list of warnings enablement is rather arbitrary: it's based on my (quick) reading of the GCC manpages and trying them on perf. I categorized the warnings based on individually enabling them and looking whether they trigger something in the perf build. If i liked those warnings (i.e. if they trigger for something that arguably could be improved) i enabled the warning. If the warnings seemed to come from language laywers spamming the build with tons of nuisance warnings i generally kept them off. Most of the sign conversion related warnings were in this category. (A second patch enabling some of the sign warnings might be welcome - sign bugs can be nasty.) I also kept warnings that seem to make sense from their manpage description and which produced no actual warnings on our code base. These warnings might still be turned off if they end up being a nuisance. I also left out a few warnings that are not supported in older compilers. [ Note that these changes might break the build on older compilers i did not test, or on non-x86 architectures that produce different warnings, so more testing would be welcome. ] Reported-by: Valdis.Kletnieks@vt.edu Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 684ca5cc9a772532bc893cdc994bd89bf0773719 Author: Josh Triplett Date: Sat Aug 15 09:53:51 2009 -0700 rcu: Fix typo in rcu_irq_exit() comment header Signed-off-by: Josh Triplett Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <1250355231169-git-send-email-> Signed-off-by: Ingo Molnar commit b612ba804b8a656333013ad2ee96fb2377df5dbb Author: Paul E. McKenney Date: Sat Aug 15 09:53:50 2009 -0700 rcu: Make rcupreempt_trace.c look at offline CPUs Given that offline CPUs can now have non-zero counters, we need to dump counters for offline CPUs as well as for online CPUs. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <12503552313921-git-send-email-> Signed-off-by: Ingo Molnar commit 8064d54929f23613e649dc7e14f7a94454487d58 Author: Paul E. McKenney Date: Sat Aug 15 09:53:49 2009 -0700 rcu: Make preemptable RCU scan all CPUs when summing RCU counters This patch eliminates the counter-moving during CPU-offline notifiers, eliminating potential confusion if counters are scanned during counter-movement process. This confusion could result in premature ending of an RCU grace period. For example, if there are two tasks in RCU read-side critical sections (so that the sum of the counters is two), and the counter for the CPU going offline is -2, then moving the count to another CPU can result in the sum momentarily appearing to be zero. Since there are no memory barriers in either case, many more such scenarios are possible. So just don't move the counts!!! Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <12503552312863-git-send-email-> Signed-off-by: Ingo Molnar commit 2e597558086dec36d5c33521a36e0f6b1bc3f3a7 Author: Paul E. McKenney Date: Sat Aug 15 09:53:48 2009 -0700 rcu: Simplify RCU CPU-hotplug notification Use the new cpu_notifier() API to simplify RCU's CPU-hotplug notifiers, collapsing down to a single such notifier. This makes it trivial to provide the notifier-ordering guarantee that rcu_barrier() depends on. Also remove redundant open_softirq() calls from Hierarchical RCU notifier. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <12503552312510-git-send-email-> Signed-off-by: Ingo Molnar commit 799e64f05f4bfaad2bb3165cab95c8c992a1c296 Author: Paul E. McKenney Date: Sat Aug 15 09:53:47 2009 -0700 cpu hotplug: Introduce cpu_notifier() to handle !HOTPLUG_CPU case This patch introduces a new cpu_notifier() API that is similar to hotcpu_notifier(), but which also notifies of CPUs coming online during boot in the !HOTPLUG_CPU case. Reported-by: Ingo Molnar Reported-by: Hugh Dickins Tested-by: Hugh Dickins Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: benh@kernel.crashing.org LKML-Reference: <12503552312611-git-send-email-> Signed-off-by: Ingo Molnar commit 27569620c748ec13f801b4683b448a2ac2adaae4 Author: Paul E. McKenney Date: Sat Aug 15 09:53:46 2009 -0700 rcu: Split hierarchical RCU initialization into boot-time and CPU-online pieces This patch divides the rcutree initialization into boot-time and hotplug-time components, so that the tree data structures are guaranteed to be fully linked at boot time regardless of what might happen in CPU hotplug operations. This makes RCU more resilient against CPU hotplug misbehavior (and vice versa), but more importantly, does a better job of compartmentalizing the code. Reported-by: Ingo Molnar Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <1250355231152-git-send-email-> Signed-off-by: Ingo Molnar commit fa08661af834875c9bd6f7f0b1b9388dc72a6585 Merge: 240ebbf 64f1607 Author: Ingo Molnar Date: Sat Aug 15 18:55:58 2009 +0200 Merge commit 'v2.6.31-rc6' into core/rcu Merge reason: the branch was on pre-rc1 .30, update to latest. Signed-off-by: Ingo Molnar commit 6baa0a5ae0954fb2486c480a20556a9f1aee0965 Author: Frederic Weisbecker Date: Fri Aug 14 12:21:53 2009 +0200 perf tools: Factorize the thread code in a dedicated file Factorize the thread management code used by perf-annotate and perf-report in dedicated source and header files. v2: pass last_match by address so that it can actually be modified. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250245313-6995-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 1e97f50b7023cda00cb720e53b9e59c250cb4ed7 Author: Mark Brown Date: Sat Aug 15 12:15:10 2009 +0100 ASoC: Factor out cache I/O from WM8974 Signed-off-by: Mark Brown commit 37cfa1950e2a24d9fa4a593186645d8e2b5042a8 Merge: 29e02cb 25cbf46 Author: Mark Brown Date: Sat Aug 15 11:52:43 2009 +0100 Merge branch 'wm8974-upstream' into for-2.6.32 commit 29e02cb3ffda6ef48a50fea880f63ac8178308bb Author: Mark Brown Date: Sat Aug 15 11:37:30 2009 +0100 ASoC: Hook i.MX into build Signed-off-by: Mark Brown commit d555a552aeeef45d097f1d3ea2c6dcce6839f1dd Author: Mark Brown Date: Sat Aug 15 11:36:49 2009 +0100 ASoC: Staticise unexported variables Signed-off-by: Mark Brown commit a2d512a978ceda557a456d39d88cfc1eb60194e9 Author: Mark Brown Date: Sat Aug 15 11:36:20 2009 +0100 ASoC: Remove unneeded i.MX dependency on SND Signed-off-by: Mark Brown commit 08229de4b42816079ed5d15f0689fcd0af946d5e Merge: fbb474de 2a70813 Author: Mark Brown Date: Sat Aug 15 11:20:44 2009 +0100 Merge branch 'for-2.6.32' into mxc Conflicts: sound/soc/Makefile commit be750231ce1599b86fbba213e3da8344ece262e2 Merge: 18408dd 39e6dd7 Author: Ingo Molnar Date: Sat Aug 15 12:06:12 2009 +0200 Merge branch 'perfcounters/urgent' into perfcounters/core Conflicts: kernel/perf_counter.c Merge reason: update to latest upstream (-rc6) and resolve the conflict with urgent fixes. Signed-off-by: Ingo Molnar commit 18408ddc01136f505ae357c03f0d8e50b10e0db6 Author: Peter Zijlstra Date: Thu Aug 13 11:47:55 2009 +0200 perf tools: Add some comments to the event definitions Just to make it clear that these are _not_ generic event structures but do rely on the counter configuration. Signed-off-by: Peter Zijlstra Cc: Corey J Ashford Cc: Paul Mackerras Cc: stephane eranian LKML-Reference: <20090813103655.334194326@chello.nl> Signed-off-by: Ingo Molnar commit 7570ef18349d4f3a9336397952b05ec3e95ec4b7 Author: Takashi Iwai Date: Sat Aug 15 11:57:53 2009 +0200 ALSA: hda - Add missing num_adc_nids definition for IDT92HD8xxx The previous fix removed the definition of num_adc_nids wrongly, and this resulted in the missing input-source control. Now readded again. Signed-off-by: Takashi Iwai commit 1758c0947605211ef953cc91d6bbdf847a21b822 Author: Oliver Hartkopp Date: Thu Aug 13 22:54:25 2009 +0000 can: Use WARN_ONCE() instead of BUG_ON() for sanity check in receive path To ensure a proper handling of CAN frames transported in skbuffs some checks need to be performed at receive time. As stated by Michael Olbrich and Luotao Fu BUG_ON() might be to restrictive. This is right as we can just drop the non conform skbuff and the Kernel can continue working. This patch replaces the BUG_ON() with a WARN_ONCE() so that the system remains healthy but we made the problem visible (once). Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann CC: Michael Olbrich CC: Luotao Fu Signed-off-by: David S. Miller commit 49d4b8ba97034469b941d00d5ca1e3b897394e35 Author: Stephen Hemminger Date: Fri Aug 14 13:33:17 2009 +0000 sky2: remove restarting workaround flag The whole restarting flag was introduced by Mike McCormack and was a temporary duct tape patch around issues with transmits inflight during restart. The problems it was covering are now fixed and the code should have been reverted. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f34c5c828439cedbc222030d7e45af69f947384d Author: Yi Zou Date: Fri Aug 14 12:42:17 2009 +0000 ixgbe: Add support for NETIF_F_FCOE_MTU to 82599 devices Enable netdev feature flag bit NETIF_F_FCOE_MTU for 82599 devices and enable jumbo frame correspondingly when NETIF_F_FCOE_MTU is set. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bb2af4f54ffa8245d5ce278cae9c66198bc14d8b Author: Yi Zou Date: Fri Aug 14 12:41:57 2009 +0000 net: Add NETIF_F_FCOE_MTU to indicate support for a different MTU for FCoE Add NETIF_F_FCOE_MTU to indicate that the NIC can support a secondary MTU for converged traffic of LAN and Fiber Channel over Ethernet (FCoE). The MTU for FCoE is 2158 = 14 (FCoE header) + 24 (FC header) + 2112 (FC max payload) + 4 (FC CRC) + 4 (FCoE trailer). Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 36a82236314b5ebd6e3e1eb8bb7b850c83e53c3a Author: Vasu Dev Date: Fri Aug 14 12:41:28 2009 +0000 ixgbe: updates vlan feature flags to enable FCoE offloads on vlan interface Updates netdev->vlan_features for NETIF_F_FCOE_CRC and NETIF_F_FSO, so that FCoE CRC and GSO offloads will get used for FCoE over ixgbe based vlan interface. Signed-off-by: Vasu Dev Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b85daa5324a3c9e560a4351c17d18f49c647eb5c Author: Vasu Dev Date: Fri Aug 14 12:41:07 2009 +0000 vlan: adds fcoe offload related net_device_ops and updates fcoe_ddp_xid field Adds fcoe offload related net_device_ops functions vlan_dev_fcoe_ddp_setup and vlan_dev_fcoe_ddp_done, their implementation simply calls real eth device net_device_ops for FCoE DDP setup and done operations. Updates VLAN netdev field value for fcoe_ddp_xid from real eth device netdev. Above changes are required for fcoe DDP offload working on a VLAN interface. Signed-off-by: Vasu Dev Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cf9911166113e471e1796eaf273982d8e43b138d Merge: deeb16d 8851293 Author: David S. Miller Date: Fri Aug 14 16:07:21 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit deeb16dc24b68cbdca72dc717ae82178a6644801 Author: Stephen Hemminger Date: Fri Aug 14 05:15:20 2009 +0000 sky2: version 1.24 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0ea065e52eb6a0f029b5fa5ed2f142be1b66a153 Author: Stephen Hemminger Date: Fri Aug 14 15:36:41 2009 -0700 sky2: fix pause negotiation The sky2 driver combines auto speed negotiation with automatic negotiation of pause parameters; but the ethtool interface expects them to be split. This patch allows autonegotiation to be used for speed, but manually disable flow control. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 481cea4a4d72aabe76dbb86b1a64f4e8931eca25 Author: Stephen Hemminger Date: Fri Aug 14 15:33:19 2009 -0700 sky2: lock less transmit completion Transmit completion can safely run lockless against transmit start. In the normal case, completion is done from NAPI and only looks at elements that are at the tail of the ring. When doing shutdown or reset, the transmiter should be completely block by NAPI disable and blocking of transmit queue. Based on earlier work by Mike McCormack. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit af18d8b89930aecc742982634adaf97dfb43ed3b Author: Stephen Hemminger Date: Fri Aug 14 15:31:25 2009 -0700 sky2: cleanup restart operations This unifies the places that bounce the device (suspend/resume and restart). And makes the operations have the same semantics as normal dev_open/dev_stop. This also avoids setting the multicast addresses twice when device is brought up. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 19720737187aaee006afb20e63be5e9eddc505a8 Author: Stephen Hemminger Date: Fri Aug 14 05:15:16 2009 +0000 sky2: hold RTNL when doing suspend/shutdown operations The suspend and shutdown code plays with shared state. Use consistent locking, for extra protection. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0da6d7b331f391d3c0ce52fb5289f7edeb94e280 Author: Stephen Hemminger Date: Fri Aug 14 05:15:15 2009 +0000 sky2: hold spinlock around phy_power_down Avoid any possible problems with accessing PHY registers on shutdown. This is a purely theoretical issue and is not related to any of the outstanding bug reports. Since receiver and transmitter are already shutdown and phy interrupts for this device are already disabled, there should already be enough protection. Suggested by Mike McCormack. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 264bb4fab1a0952b4eef4df5b9e90bc050a2d1e6 Author: Mike McCormack Date: Fri Aug 14 05:15:14 2009 +0000 sky2: Reset tx train after interrupts disabled. Reseting the tx chain too soon results in invalid tx queue positions being delivered in the status queue. This also makes sure there's no overlap between the cleanup done by sky2_tx_clean() and sky2_tx_done(). Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit a510996bea68eec2feb7818e9a440bd840613a25 Author: Mike McCormack Date: Fri Aug 14 05:15:13 2009 +0000 sky2: Move tx reset functionality to sky2_tx_reset() This is pure refactoring. Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9b289c3374d2891aac6c12de58e49a16cfbcb6b1 Author: Mike McCormack Date: Fri Aug 14 05:15:12 2009 +0000 sky2: Avoid rewinding sky2->tx_prod Keep sky2->tx_prod consistent since int might be examined by an softirq poll or restart. Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit a8519de4a030d130e0d18147a2af3112b7951e0b Merge: 5c16807 560ad81 Author: David S. Miller Date: Fri Aug 14 12:29:17 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit cccddf4f5580131c9b963900e1d3400655e633cc Author: Benny Halevy Date: Fri Aug 14 17:20:19 2009 +0300 nfs: nfs4xdr: optimize low level decoding do not increment decoding ptr if not needed. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit c0eae66ece40bdb8cd88c5106834b71a1c9f421c Author: Benny Halevy Date: Fri Aug 14 17:20:14 2009 +0300 nfs: nfs4xdr: get rid of READ_BUF Use xdr_inline_decode instead. Open code debug printout and error return. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 2460ba57c49c36dfef0b62c929461de09240fe17 Author: Benny Halevy Date: Fri Aug 14 17:20:10 2009 +0300 nfs: nfs4xdr: simplify decode_exchange_id by reusing decode_opaque_inline Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 99398d0655ada44ae464a1c93d13cd438a306ecd Author: Benny Halevy Date: Fri Aug 14 17:20:05 2009 +0300 nfs: nfs4xdr: get rid of COPYMEM Just directly call memcpy. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit e78291e4e07520348b0634095cf19ed3bc868965 Author: Benny Halevy Date: Fri Aug 14 17:20:00 2009 +0300 nfs: nfs4xdr: introduce decode_sessionid helper Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit db942bbd09563e169cc5d9004c32c1de33220fd1 Author: Benny Halevy Date: Fri Aug 14 17:19:56 2009 +0300 nfs: nfs4xdr: introduce decode_verifier helper Signed-off-by: Benny Halevy [Trond: Fixed up an 'uninitialised variable' issue in decode_readdir] Signed-off-by: Trond Myklebust commit 07d30434cfe2f1a1553143c6b20f1fe68d2ef80a Author: Benny Halevy Date: Fri Aug 14 17:19:52 2009 +0300 nfs: nfs4xdr: introduce decode_opaque_fixed and decode_stateid helpers Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 686841b3cc3a71918b45ed148be7a01a4f10e3f8 Author: Benny Halevy Date: Fri Aug 14 17:19:48 2009 +0300 nfs: nfs4xdr: introduce print_overflow_msg Part fo the nfs4xdr cleanup. READ_BUF will go away. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit c816fd3406462702dee2e3859e70132c3aab7c10 Author: Benny Halevy Date: Fri Aug 14 17:19:44 2009 +0300 nfs: nfs4xdr: get rid of READTIME It has no users. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 3ceb4dbb993fdab6a6fafc69db36686278871134 Author: Benny Halevy Date: Fri Aug 14 17:19:41 2009 +0300 nfs: nfs4xdr: get rid of READ64 s/READ64\(\*(.*)\)/p = xdr_decode_hyper(p, \1)/ s/READ64\((.*)\)/p = xdr_decode_hyper(p, &\1)/ Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 6f723f7710024bb151ca8c5277ce8c71beec4db8 Author: Benny Halevy Date: Fri Aug 14 17:19:37 2009 +0300 nfs: nfs4xdr: get rid of READ32 s/READ32\((.*)\)/\1 = be32_to_cpup(p++)/ Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 811652bd6edd66dd35bf9caacdfe96d19f75a47e Author: Benny Halevy Date: Fri Aug 14 17:19:34 2009 +0300 nfs: nfs4xdr: merge xdr_encode_int+xdr_encode_opaque_fixed into xdr_encode_opaque use encode_string where appropriate. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 345585132a204859fbb7d8b662e9b6e5b563c6dc Author: Benny Halevy Date: Fri Aug 14 17:19:30 2009 +0300 nfs: nfs4xdr: optimize low level encoding do not increment encoding ptr if not needed. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 13c65ce90006badccd5663e558e3c85869ae5ce6 Author: Benny Halevy Date: Fri Aug 14 17:19:25 2009 +0300 nfs: nfs4xdr: change RESERVE_SPACE macro into a static helper In order to open code and expose the result pointer assignment. Alternatively, we can open code the call to xdr_reserve_space and do the BUG_ON an the error case at the call site. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 2220f13a8b90d2259f3094cb54cf4de67d8eee2d Author: Benny Halevy Date: Fri Aug 14 17:19:18 2009 +0300 nfs: nfs4xdr: encode_compound_hdr does not have to round up reserved bytes This is already done by xdr_reserve_space and since encode_compound_hdr is adding a byte count to "12" which is already word aligned, the xdr level rounding will work just as well. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 42edd698125b76a38bd9999015202db036dfbc76 Author: Benny Halevy Date: Fri Aug 14 17:19:13 2009 +0300 nfs: nfs4xdr: optimize RESERVE_SPACE in encode_create_session and encode_sequence Coalesce multilpe constant RESERVE_SPACEs into one Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 93f0cf25944695e1229fe90a2897af0211fbd425 Author: Benny Halevy Date: Fri Aug 14 17:19:06 2009 +0300 nfs: nfs4xdr: get rid of WRITEMEM s/WRITEMEM(/p = xdr_encode_opaque_fixed(p, / Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit b95be5a976848febff82edb21d5b4351b3997bf6 Author: Benny Halevy Date: Fri Aug 14 17:19:01 2009 +0300 nfs: nfs4xdr: get rid of WRITE64 s/WRITE64/p = xdr_encode_hyper(p, / Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit e75bc1c89e0c7dda0b140408ddee2ffaef7ba6d4 Author: Benny Halevy Date: Fri Aug 14 17:18:54 2009 +0300 nfs: nfs4xdr: get rid of WRITE32 s/WRITE32/*p++ = cpu_to_be32/ Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 98866b5abe1513cdacc011874ca045d40002eccd Author: Benny Halevy Date: Fri Aug 14 17:18:49 2009 +0300 sunrpc: ntoh -> be*_to_cpu ntohl is already defined as be32_to_cpu. be64_to_cpu has architecture specific optimized implementations. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 9f162d2a810b4db48f7b8d7e734d0932c81ec2a1 Author: Benny Halevy Date: Fri Aug 14 17:18:44 2009 +0300 sunrpc: hton -> cpu_to_be* htonl is already defined as cpu_to_be32. cpu_to_be64 has architecture specific optimized implementations. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 2a708137fd7d3e0928f27157aaed8aba404b11c9 Author: Barry Song <21cnbao@gmail.com> Date: Fri Aug 14 12:06:38 2009 +0800 ASoC: delete -spi suffix in ad1938 and free private data while registers fail Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 9028935d752ede57b086ab1bfe2420d4cba80127 Author: Peter Ujfalusi Date: Fri Aug 14 08:44:00 2009 +0300 ASoC: TWL4030: Fix for capture mixer strings Change the strings related to capture in order to be interpreted correctly by alsamixer and possible other UI based mixer applications. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 560ad81b6c90e0fddc4d6c280f16ddf18d47eeb1 Author: Gábor Stefanik Date: Thu Aug 13 14:19:02 2009 +0200 b43: Implement RC calibration for rev.0/1 LP-PHYs Also implement get/set BB mult, get/set TX gain, set RX gain, disable/restore CRS, run/stop DDFS, RX IQ est and QDIV roundup in the process. Signed-off-by: Gábor Stefanik Acked-by: Michael Buesch Signed-off-by: John W. Linville commit eff563cf10e2f24e3b025d352c3aa174cf0111b3 Author: Sujith Date: Thu Aug 13 09:34:37 2009 +0530 ath9k: Set HW state properly This patch fixes a bug in ath9k_stop() where the HW was not put into FULL_SLEEP state. Not doing so will cause issues in suspend-resume and the HW will not respond to chip resets. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 523c36fc9cf75ccf605d9acf68ae9eb857de3f58 Author: Sujith Date: Thu Aug 13 09:34:35 2009 +0530 ath9k: Fix bug in PCI resume This patch fixes a bug where the device was enabled before restoring the PCI state. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 1cf6873a191388ff7d06bbd70f68bbffe1d70019 Author: Sujith Date: Thu Aug 13 09:34:32 2009 +0530 ath9k: Remove duplicate variables diversity_control and antenna_switch_swap are already present in ath9k_ops_config. Remove duplicate occurrences in ath_hw. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 1aa8e84736fb1a584c679f2893245826583a0526 Author: Sujith Date: Thu Aug 13 09:34:25 2009 +0530 ath9k: Remove has_hw_phycounters PHY counters are available in all chipsets supported by ath9k. Remove the check. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 2a219eb26793fc4c47b3ad7b84bded7b66f6e2c4 Author: Luis R. Rodriguez Date: Wed Aug 12 14:45:16 2009 -0700 ath9k: update kconfig to indicate support for AR9002 family ath9k supports the AR9002 family of chipsets. This includes the AR9285 and the miniPCI AR9223 and AR9220 (which themselves have AR9280+AR5133). We now refer people to the wiki page as it seems this is not as popular as we would have hoped. Reported-by: JD Cc: Dakota Lee Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 16cb9d42b68b339852e8914f2538ca9a2aec616c Author: Johannes Berg Date: Wed Aug 12 23:33:20 2009 +0200 cfg80211: allow driver to override PS default Sometimes drivers might have a good reason to override the PS default, like iwlwifi right now where it affects RX performance significantly at this point. This will allow them to override the default, if desired, in a way that users can still change it according to their trade-off choices, not the driver's, like would happen if the driver just disabled PS completely then. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 36e6fea84905512ea776707e82b5b435220efc17 Author: Johannes Berg Date: Wed Aug 12 22:21:21 2009 +0200 cfg80211: check for and abort dangling scan requests If you trigger a scan request on an interface and then take it down, or rmmod the module or unplug the device the driver might "forget" to cancel the scan request. That is a bug in the driver, but the current behaviour is that we just hang endlessly waiting for the netdev refcount to become 0 which it never will. To improve robustness, check for this situation in cfg80211, warn about it and clean up behind the driver. I don't just clean up silently because it's likely that the driver also has some internal state it has now leaked. Additionally, this fixes a locking bug, clearing the scan_req pointer should be done under the rdev lock. Finally, we also need to _wait_ for the scan work and not just abort it since it might be pending and wanting to do a cleanup. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 70bdb6b275d789ddf05c3a858e6b57715539394b Author: David Woo Date: Wed Aug 12 11:03:44 2009 -0700 mac80211: Fix invalid length passed to IE parser for PLINK CONFIRM frames The length of the fixed portion of plink confirm frames is 4 bytes longer than the other plink_action frames. This path corrects an error in the length adjustment done for these type of frames. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 57ef5ddb456649667438e023f67dd3a3ff3fbed8 Author: David Woo Date: Wed Aug 12 11:03:43 2009 -0700 mac80211: Mark a destination sequence number as valid when a PREQ is received. If a PREQ frame is received giving us a fresher DSN than what we have, record the new dsn and mark it as valid. This patch fixes a bug in the setting of the MESH_PATH_DSN_VALID flag. Also, minor fix to coding style on that file. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 13311b00117ed1bf903cf8870432504631a7ce77 Author: Luis R. Rodriguez Date: Wed Aug 12 09:57:01 2009 -0700 ath5k: use bit shift operators for cache line size This matches ath9k, providing consistency when reading both drivers. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit aeb63cfd4ccc813c204a0d81ad6c5a90c33d8f61 Author: Luis R. Rodriguez Date: Wed Aug 12 09:57:00 2009 -0700 ath5k: use common ath.ko ath_rxbuf_alloc() Now that its shared we can remove ath5k's own implementation. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d15dd3e5d74186a3b0a4db271b440bbdc0f6da36 Author: Luis R. Rodriguez Date: Wed Aug 12 09:56:59 2009 -0700 ath: add common ath_rxbuf_alloc() and make ath9k use it Turns out ath5k and ath9k can share the same helper to allocates RX skbs. We allocate skbs aligned to the cache line size. This requirement seems to have come from AR5210; when this was not done it seems sometimes we'd get bogus data. I'm also told it may have been a performance enhancement consideration. In the end I can't be sure we can remove this on new hardware so just keep this and start sharing it through ath.ko. Make ath9k start using this, ath5k is next. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5ef5da0ff2fc4f04c856f4ce9a757e318a02ad06 Author: Kalle Valo Date: Wed Aug 12 14:42:59 2009 +0300 wl1251: remove unused definitions from wl1251_reg.h Luis reported that IRQ_MASK conflicts with include/pcmcia/cs.h on compat-wireless. Remove that and a bunch of other unused defines from wl1251_reg.h. Reported-by: Luis R. Rodriguez Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 11aa6e2398f54712b1e1bdeb9d8bf3b452c5a5d5 Author: Kalle Valo Date: Wed Aug 12 14:42:51 2009 +0300 wl1251: remove wl1251_ops.c Commit "wl1251: remove wl1251_ops" originally removed file wl1251_ops.c, but while I rebased the patch the removal got lost. Now remote the file for real. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit aae79e648d93bc9d6b3581ab4eb88e2ac44f5c46 Author: Kalle Valo Date: Wed Aug 12 14:07:27 2009 +0300 iwl3945: fix compilation error in iwl3945_pass_packet_to_mac80211() Commit "iwlwifi: Traffic type and counter for debugFs" broke iwl3945 in a case when CONFIG_IWLWIFI_LEDS is disabled: drivers/net/wireless/iwlwifi/iwl-3945.c:580: error: 'hdr' undeclared (first use in this function) Fix it by removing the ifdef check for hdr variable. Signed-off-by: Kalle Valo Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 47583154767886a97a82452c8aca63bf0336337a Author: Gábor Stefanik Date: Tue Aug 11 22:24:22 2009 +0200 b43: LP-PHY: Refactor TX gain table I/O Make it possible to write individual gain table entries. Allow gain table entries to be written outside gain table init. Add version-agnostic helpers for writing gain tables. Use the new TX gain table helpers during table init. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 7834ddbcc7a097443761b0722e8c9fb8511b95b1 Author: Jussi Kivilinna Date: Tue Aug 11 22:57:16 2009 +0300 usbnet: add rx queue pausing Add rx queue pausing to usbnet. This is needed by rndis_wlan so that it can control rx queue and prevent received packets from being send forward before rndis_wlan receives and handles 'media connect'-indication. Without this establishing WPA connections is hard and fail often. [v2] - removed unneeded use of skb_clone Cc: David Brownell Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit d4de9532fd0b50d486259ace17650a58bbb751c2 Author: Gábor Stefanik Date: Tue Aug 11 21:53:06 2009 +0200 b43: Implement RC calibration for rev.2+ LP PHYs Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 84ec167d327b42414285f22eb037a5bdee486ded Author: Gábor Stefanik Date: Tue Aug 11 21:47:00 2009 +0200 b43: LP-PHY: Implement reading band SPROM Some of the new variables in b43_phy_lp appear to be dead code in the vendor driver; they will be removed if they remain unused when LP-PHY implementation is finished. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c00552c60840c32456ca9e45de758ac03e3d3c4f Author: Daniel Mack Date: Tue Aug 11 16:09:34 2009 +0200 libertas: name the network device wlan%d Devices created by the libertas driver are currently called eth%d. Which is wrong, because the device does not at all have anything to do with Ethernet. And it is also confusing when used on devices with more than one network device. Fix this by calling it wlan%d. Signed-off-by: Daniel Mack Cc: Roel Kluin Acked-by: Dan Williams Signed-off-by: John W. Linville commit cca89496a8afe4ad12ce1e468e60cef1e27e4eee Author: Javier Cardona Date: Mon Aug 10 17:29:29 2009 -0700 mac80211: Fix unresolved mesh frames queued without valid control.vif Mesh frames that could not be immediately resolved were queued with a NULL info->control.vif. This patch moves the call to mesh_nexthop_lookup closer to the point where it is handed over to ieee80211_tx(). This ensures that the unresolved frames are ready to be sent once the path is resolved. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 1fe90b033e04d7402b3deb392420fe2ff57986a5 Author: Thadeu Lima de Souza Cascardo Date: Tue Aug 11 11:18:42 2009 -0300 trivial: remove duplicate "different" from comment Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: John W. Linville commit 73d0a13c8583cd9a84c1333cf9b45d1d894e52b3 Author: Luciano Coelho Date: Tue Aug 11 11:58:27 2009 +0300 wl1271: fix compiler warnings on 64 bit archs There were a few warnings when compiling the wl1271 driver on 64 bit architectures. This was due to size mismatch of integers. This commit fixes the following warnings: drivers/net/wireless/wl12xx/wl1271_main.c: In function 'wl1271_irq_work': drivers/net/wireless/wl12xx/wl1271_main.c:184: warning: large integer implicitly truncated to unsigned type drivers/net/wireless/wl12xx/wl1271_boot.c: In function 'wl1271_boot_upload_firmware_chunk': drivers/net/wireless/wl12xx/wl1271_boot.c:103: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' drivers/net/wireless/wl12xx/wl1271_boot.c:150: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' drivers/net/wireless/wl12xx/wl1271_boot.c: In function 'wl1271_boot_enable_interrupts': drivers/net/wireless/wl12xx/wl1271_boot.c:278: warning: large integer implicitly truncated to unsigned type Reported-by: Stephen Rothwell Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit d44517f235c5baa943fc8cac7e56bd291ffc077e Author: Gábor Stefanik Date: Tue Aug 11 00:54:26 2009 +0200 b43: Fix a typo in the sync_stx routine I completely missed the "one's complement" instruction from the specs. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit f679056b2fdd4e9b7c8eb42ba447cd9646236305 Author: Gábor Stefanik Date: Mon Aug 10 21:23:08 2009 +0200 ssb: Implement the remaining rev.8 SPROM vars needed for LP-PHY Also add a "SPEX32" macro for extracting 32-bit SPROM variables. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 18889231e4527dfe23145efe318e74744794a95d Author: Javier Cardona Date: Mon Aug 10 12:15:52 2009 -0700 mac80211: Move mpath and mpp growth to mesh workqueue. This prevents calling rcu_synchronize from within the tx path by moving the table growth code to the mesh workqueue. Move mesh_table_free and mesh_table_grow from mesh.c to mesh_pathtbl.c and declare them static. Also, re-enable mesh in Kconfig and update the configuration description. Signed-off-by: Javier Cardona Tested-by: Andrey Yurovsky Signed-off-by: John W. Linville commit 5b365834255d7c90fc724b032c814dfa297aacf9 Author: Javier Cardona Date: Mon Aug 10 12:15:51 2009 -0700 mac80211: Assign a default mesh beaconing interval. The mesh stack was enabling beaconing without specifying an interval. This patch defines a default beaconing interval of 1s. Incidentally, this fixes mesh beaconing in mac80211_hwsim devices. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 5815814bfad5b3f88ff58ab90aaf09dd69ab8da2 Author: Javier Cardona Date: Mon Aug 10 12:15:50 2009 -0700 mac80211: Early detection of broken mesh paths when using minstrel. This change triggers a path discovery as soon as the link quality degrades below a certain threshold. This results in a faster path recovery time than by simply relying on the periodic path refresh mechanism to detect broken links. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit d403a1c66ea1fb47ae61921eac278d4154f7ca8a Author: Javier Cardona Date: Mon Aug 10 12:15:49 2009 -0700 mac80211: Update the station failed frames average when minstrel is used. The fail_avg value is used to compute the mesh metric, and was only being set by the pid rate control module. This fixes the mesh path selection mechanism for cards that use mistrel for rate control. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 3c5772a5279de9eadfff7adb5ddea08106495fff Author: Javier Cardona Date: Mon Aug 10 12:15:48 2009 -0700 mac80211: Use 3-address format for mesh broadcast frames. The 11s task group recently changed the frame mesh multicast/broadcast frame format to use 3-address. This was done to avoid interactions with widely deployed lazy-WDS access points. This patch changes the format of group addressed frames, both mesh-originated and proxied, to use the data format defined in draft D2.08 and forward. The address fields used for group addressed frames is: In 802.11 header ToDS:0 FromDS:1 addr1: DA (broadcast/multicast address) addr2: TA addr3: Mesh SA In address extension header: addr4: SA (only present if frame was proxied) Note that this change breaks backward compatibility with earlier mesh stack versions. Signed-off-by: Andrey Yurovsky Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit a9e3091bf08ddea35f172549a8a21d5bd6ee6129 Author: Andrey Yurovsky Date: Mon Aug 10 12:15:47 2009 -0700 mac80211: Use correct sign for mesh active path refresh. On locally originated traffic, we refresh active paths after a timeout. The decision to do this was using the wrong sign and therefore the refresh timer was triggered for every frame. Signed-off-by: Andrey Yurovsky Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit fe58343461def0d376908a80cebd087b746a1483 Author: Javier Cardona Date: Mon Aug 10 12:15:46 2009 -0700 mac80211: Improve dequeing from mpath frame queue. Also, fix typo in comment. Signed-off-by: Javier Cardona Tested-by: Andrey Yurovsky Signed-off-by: John W. Linville commit a3e14f3d2a55fa1268f64ec8a839b6dfa4ff9ea2 Author: Gábor Stefanik Date: Mon Aug 10 20:57:06 2009 +0200 b43: Update LP-PHY rev2+ baseband init to match the specs The rev2+ BB init spec has changed behind us, and thus the code is no longer up to date. Update the code to match the current specs. Also implement save/restore dig filt state, as required by the new specification. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c65d6fbf91517a0a955de7ce029940bc63ea8203 Author: Gábor Stefanik Date: Mon Aug 10 20:39:47 2009 +0200 b43: Implement LP-PHY baseband table initialization Implement LP-PHY baseband table init for all revisions. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 62b1208e146af048e90a32bc4fe5fba85e4fa51e Author: Johannes Berg Date: Mon Aug 10 16:04:15 2009 +0200 mac80211: small tx code cleanup It's really easier to read if it's not indented as much, so invert the condition and rearrange the code so the smaller chunk is indented instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d0b69609dc50b6bf2637cf74e6f97c251adc65ed Author: Johannes Berg Date: Mon Aug 10 16:02:40 2009 +0200 mac80211: sequence number micro-optimisation There's no need to mask the variable with 0xFFF0 since we ever only use it as a u16 and the lowest four bits can't ever be non-zero. The compiler cannot infer the latter, and therefore has to emit code to do the masking. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit feff1f2fea3fc7ee055e46d0fbdb2d25ad2b14c4 Author: Johannes Berg Date: Mon Aug 10 16:01:54 2009 +0200 mac80211: take statistics before encryption When encryption is used, the number of bytes sent to the peer increases by the IV and ICV. This is accounted if software encryption is used, but not if the devices does hardware encryption. To make the numbers comparable, never account for that overhead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5e68ff6563ef79d87296c70f8eb2bee454d3fe75 Author: Luciano Coelho Date: Mon Aug 10 11:15:13 2009 +0300 MAINTAINERS: add information for wl1271 wireless driver Add maintainer information section for the wl1271 wireless driver and fix the information for wl1271. Signed-off-by: Luciano Coelho Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 6e220662bf9a2ba284e88a8c8867340c9f6da27e Author: Nick Kossifidis Date: Mon Aug 10 03:31:31 2009 +0300 ath5k: Use SWI to trigger calibration * Get rid of calibration timer, instead use a software interrupt to schedule the calibration tasklet. a) We don't need a timer for this, there is no need for accuracy even with round_jiffies i think this is a waste of resources. Also we don't need to run calibration if we are idle (no interrupts). b) When we add ANI support we 'll just extend the poll function and calibration tasklet and handle all periodic phy calibration on one place (much cleaner). c) Having calibration on a tasklet is better since during calibration we can't transmit or receive (antennas are detached to measure noise floor), previously calibration could run in parallel with tx/rx and interfere (packet loss). v2: kill tasklet on stop_hw, stop/wake queues v3: use time_is_before_eq_jiffies to compare timestamp with current time Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit b55a5de114dcdc03f2f18c3bd98bbabb13ee53ef Author: Nick Kossifidis Date: Mon Aug 10 03:30:32 2009 +0300 ath5k: Preserve pcicfg bits during attach * During attach preserve pcicfg bits when enabling pci core sw retry fix. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit edd7fc7003f31da48d06e215a93ea966a22c2a03 Author: Nick Kossifidis Date: Mon Aug 10 03:29:02 2009 +0300 ath5k: Wakeup fixes * Don't put chip to full sleep because there are problems during wakeup. Instead hold MAC/Baseband on warm reset state via a new function ath5k_hw_on_hold. * Minor cleanups Signed-off-by: Nick Kossifidis Tested-by: Ben Greear Tested-by: Johannes Stezenbach Signed-off-by: John W. Linville commit d1cb0bdac180a4afdd3c001acb2618d2a62d9abe Author: Nick Kossifidis Date: Mon Aug 10 03:27:59 2009 +0300 ath5k: Linear PCDAC code fixes * Set correct xpd curve indices for high/low gain curves during rfbuffer setup on RF5112B with both calibration curves available. * Don't return zero min power when we have the same pcdac value twice because it breaks interpolation. Instead return the right x barrier as we do when we have equal power levels for 2 different pcdac values. Signed-off-by: Nick Kossifidis Acked-by: Bob Copeland Signed-off-by: John W. Linville commit c38e7a9348f725be0ea2493454db9e6d44fb7e0c Author: Nick Kossifidis Date: Mon Aug 10 03:26:55 2009 +0300 ath5k: Check EEPROM before tweaking SERDES * Read PCI-E infos offset from EEPROM and if it points to serdes section (0x40), enable serdes programming (further tweaking of serdes values during attach). This follows Legacy and Sam's HAL sources. Signed-off-by: Nick Kossifidis Acked-by: Bob Copeland Signed-off-by: John W. Linville commit d6756d0dc220c3d12e2c4c06ca97d1dbcb5edf4e Author: Igor Perminov Date: Mon Aug 10 00:58:54 2009 +0200 rt2x00: Fix beacon de-synchronization while update beacon When beacon is being updated to refresh TIM (AP mode), beacon frames are de-synchronizing (i.e. two neighbor beacon frames - before and after update - are being transmitted with a wrong time interval). That is because xxx_write_beacon should disable beacon generation only while beacon data are being uploaded to the device, but it should not disable the beacon clock. Signed-off-by: Igor Perminov Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3281d95d0535909e28ff16c38a678102e10f0312 Author: Gábor Stefanik Date: Sun Aug 9 20:15:09 2009 +0200 b43: LP-PHY: Implement STX synchronization The v2+ radio init (B2063) is now complete, modulo BCM4325 support. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 3ecee182d68621d1f9a813f15153883ca221dd0b Author: Michael Buesch Date: Sun Aug 9 17:57:30 2009 +0200 rtl818x: Add some documentation to the TX desc flags Add some TX desc flags docs. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit aee83eaff859694642b323553f93b9eb59141144 Author: Johannes Berg Date: Sun Aug 9 11:51:29 2009 +0200 cfg80211: add missing device list locking When calling into the wext code from the NETDEV_UP notifier, we need to hold the devlist_mtx mutex as the wext code ends up calling into channel checks. Reported-by: Kalle Valo Signed-off-by: Johannes Berg Tested-by: Kalle Valo Signed-off-by: John W. Linville commit af6a3fc7e728eb4cd14653c8cfc1ee81432cfd5d Author: Luis R. Rodriguez Date: Sat Aug 8 21:55:16 2009 -0400 ath9k: Fix regression on receiving PS poll frames In the the patch: ath9k: use new FIF_PSPOLL configure filter I forgot to add the new FIF_PSPOLL to the supported mask. Without this we mask out the FIF_PSPOLL flag therefore we'd ignore it from mac80211. Cc: Jouni Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d5b96a6f39a8aaa7534069b3db71048df44f023b Author: Pat Erley Date: Sat Aug 8 17:53:19 2009 -0400 mac80211: remove max_bandwidth This removes the max_bandwidth attribute. It is only ever written to, and is duplicated by max_bandwidth_khz in the regulatory code. Signed-off-by: Pat Erley Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 1afcfd54fdf913017c07fa1ee497141a7958991d Author: Igor Perminov Date: Sat Aug 8 23:55:55 2009 +0200 rt2x00: FIF_PSPOLL filter flag support This patch implements FIF_PSPOLL filter flag support in rt2x00 drivers, which has been introduced in mac80211 (see http://marc.info/?l=linux-wireless&m=124897986330807&w=2). Signed-off-by: Igor Perminov Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 17512dc3b7fc9ff1a60d3748ce87c323df507c3d Author: Igor Perminov Date: Sat Aug 8 23:55:18 2009 +0200 rt2x00: Fix for race condition while update beacon The patch "Implement set_tim callback for all drivers" can cause kernel oops in rt73usb_write_beacon. The oops is caused by one of the following race conditions: * In case of two near calls to set_tim: rt2x00lib_beacondone_iter is cleaning the beacon skb, whereas rt73usb_write_beacon is still using it. * In case of two near updates of beacon: first as the result of set_tim and second as the result of a call from an application (e.g. hostapd). This patch fixes the race condition by rearranging the update logic and guarding rt2x00_intf->beacon->skb with a mutex. Signed-off-by: Igor Perminov Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 66679a65efffffb62dc2650960b3aff758d575f9 Author: Lars Ericsson Date: Sat Aug 8 23:54:51 2009 +0200 rt2x00: Fix rounding errors in RSSI average calculation Small changes in signal level was not detected up by the MOVING_AVERAGE() due to a rounding error, using 'int' type. rt2x00lib_antenna_diversity_eval: rssi: -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 rssi_avg: -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 The signal level reported back could be significantly (5dBm) different from the actual value. A level +3dBm is the same as double the AP output power. Signed-off-by: Lars Ericsson Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 193df183b15cda78f6b2373f576e243327ea0d8f Author: Lars Ericsson Date: Sat Aug 8 23:54:24 2009 +0200 rt2x00: Fix quality houskeeping for software diversity Antanna quality statistics is not handled correctly, which leads to software diversity being shutdown completly. The main problem is that during antenna diversity statistics can be reset resulting in loosing the signal strength just before evaluation. rssi history is not updated correctly leading to incorrect comparison material for basing antenna switching on. Signed-off-by: Lars Ericsson Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 93354cbbcbfca920495377158c0f61c36be79e13 Author: Ivo van Doorn Date: Sat Aug 8 23:53:47 2009 +0200 rt2x00: Align ieee80211 header to 4-byte boundary for PCI devices Some hardware require the ieee80211 header to be aligned to a 4-byte boundary before mapping it to the DMA. Otherwise some frames (like beacons) will not be send out correctly by the device. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 267e898755d7fc6249e26208e7ce97f415fd8c31 Author: Ivo van Doorn Date: Sat Aug 8 23:53:26 2009 +0200 rt2x00: Use IEEE80211_TX_CTL_MORE_FRAMES flag Check the IEEE80211_TX_CTL_MORE_FRAMES flag to help determining if the DMA queue should be kicked. At the moment this is combined with the ieee80211_has_morefrags() but we might remove that later. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit bdfa500b8b8ca87dfe7a311f569fe8b39746c299 Author: Ivo van Doorn Date: Sat Aug 8 23:53:04 2009 +0200 rt2x00: Remove usage of deprecated radio_enabled & IEEE80211_CONF_CHANGE_RADIO_ENABLED In the config() callback function the fields radio_enabled and the change flag IEEE80211_CONF_CHANGE_RADIO_ENABLED have been deprecated. This removes the usage of those fields by improving antenna change detection in the antenna configuration function. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4d30d309a3be84dfb01743ceb4652405204a80a0 Author: Julia Lawall Date: Sat Aug 8 15:22:26 2009 +0200 drivers/net/wireless/ath/ath5k: Change constant name Elsewhere, the tqi_type field is compared to constants having a name beginning with AR5K_TX_QUEUE, rather than AR5K_TX_QUEUE_ID. I have thus converted AR5K_TX_QUEUE_ID_CAB to AR5K_TX_QUEUE_CAB. This does, however, change the value, so perhaps something else was wanted. Signed-off-by: Julia Lawall Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 4b181144e6c1c25aaba9b9fc7cc70c95495ecb92 Author: Johannes Berg Date: Sat Aug 8 11:03:58 2009 +0200 cfg80211: fix locking for SIWFREQ "cfg80211: validate channel settings across interfaces" contained a locking bug -- in the managed-mode SIWFREQ call it would end up running into a lock recursion. This fixes it by not checking that particular interface for a channel that it needs to stay on, which is as it should be as that's the interface we're setting the channel for. Reported-by: Reinette Chatre Reported-by: Kalle Valo Signed-off-by: Johannes Berg Tested-by: Kalle Valo Tested-by: Reinette Chatre Signed-off-by: John W. Linville commit e312c24cf8229f9b6e76dbfd5d99eefe21f4ac0a Author: Johannes Berg Date: Fri Aug 7 15:41:51 2009 -0700 iwlwifi: automatically adjust sleep level Depending on required latency requested by pm_qos (via mac80211) we can automatically adjust the sleep state. Also, mac80211 has a user-visible dynamic sleep feature where we are supposed to stay awake after sending/receiving frames to better receive response frames to our packets, this can be integrated into the sleep command. Currently, and this patch doesn't change that yet, we default to using sleep level 1 if PS is enabled. With a module parameter to iwlcore, automatic adjustment to changing network latency requirements can be enabled -- this isn't yet the default due to requiring more testing. The goal is to enable automatic adjustment and then go into the deepest possible sleep state possible depending on the networking latency requirements. This patch does, however, enable IEEE80211_HW_SUPPORTS_DYNAMIC_PS to avoid the double-timer (one in software and one in the device) when transmitting -- the exact timeout may be ignored but that is not of big concern. Note also that we keep the hard-coded power indices around for thermal throttling -- the specification of that calls for using the specified power levels. Those can also be selected in debugfs to allow easier testing of such parameters. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d91b1ba37744bc7fb7524516be855c9fa81142e2 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:50 2009 -0700 iwlwifi: display correct critical temperature infomation Do not send CT KILL config command twice and correct critical temperature informatiom in dmesg Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 450ccb36b4d8a18c34643335d3305ec1a781e717 Author: Reinette Chatre Date: Fri Aug 7 15:41:49 2009 -0700 iwlwifi: fix missing EXPORT_SYMBOL When compiling without CONFIG_IWLWIFI_DEBUGFS there is a missing iwl_update_stats symbol. This is fixed by making this function an inline in the case when CONFIG_IWLWIFI_DEBUGFS is not set due to the hot path in which it is used. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3ad3b92a5517c043ef30e4b95c4c39a35bbc36be Author: Johannes Berg Date: Fri Aug 7 15:41:48 2009 -0700 iwlwifi: refactor some thermal throttle code Some of the thermal throttle data structures and code are really very intermingled with the sleep (power) control code. They really do belong together in a way since the thermal throttle code uses powersaving to achieve its goal, but it's making it hard to work on the powersave code. Split this up to make that easier. I've also changed the antenna defines to an enum and used the same enum for RX and TX. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3a780d25428a0a391a8ba6c888cf4e89ac3fdbb1 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:47 2009 -0700 iwlwifi: handle the case when set power fail Modify the power update function, when driver fail to set the power, it should not continue move forward and try to change the rx chain configuration. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ee9f29894fc3819c1bd639fc3a886326bb809266 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:46 2009 -0700 iwlwifi: fix legacy thermal throttling power index For legacy thermal throttling, set the new Thermal Throttling state and change power index when thermal throttling manager detects temperature changed. The current implementation sets the state to the previous Thermal Throttling state, which causes system to enter wrong power index. The worse case, it will trying to set the lower power index when device reach critical temperature, it will cuase issue for both system and the device. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a28027cd7f169edc399fe4b76d3a33b0203049a1 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:45 2009 -0700 iwlwifi: fix thermal throttling locking problem Move all the thermal throttling functions to background task to make sure do not change power and rx chain in interrupt handler. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c03ea16285bf142172f9816b8a1f5c43bb4b4405 Author: Reinette Chatre Date: Fri Aug 7 15:41:44 2009 -0700 iwlwifi: revert uCode Alive notification with timeout commit "iwlwifi: uCode Alive notification with timeout" introduced a more reliable mechanism for ucode loading. Unfortunately we hit a problem with it frequently enough to make a 4965 unusable. The problem can be seen in debug log below. What this code attempts is to set runtime ucode up to load, start a timer to wait for the alive response from runtime ucode, and if it times out it tries again. As can be seen below we receive the alive response and wake the waiting task _before_ the tasks starts waiting. The task thus times out as the alive response is not received while it is waiting for it and it restarts the device. This starts the cycle all over again. [29739.000819] ieee80211 phy0: U iwl_mac_start enter [29739.005751] ieee80211 phy0: U iwl_prepare_card_hw iwl_prepare_card_hw enter [29739.012798] ieee80211 phy0: U iwl_set_hw_ready hardware ready [29739.057200] ieee80211 phy0: U iwl4965_load_bsm Begin load bsm [29739.063366] ieee80211 phy0: U iwl4965_verify_bsm Begin verify bsm [29739.072485] ieee80211 phy0: U iwl4965_verify_bsm BSM bootstrap uCode image OK [29739.079671] ieee80211 phy0: U iwl4965_load_bsm BSM write complete, poll 0 iterations [29739.257019] ieee80211 phy0: I iwl_rx_reply_alive Alive ucode status 0x00000001 revision 0x1 0x9 [29739.260964] ieee80211 phy0: I iwl_rx_reply_alive Initialization Alive received. [29739.260964] ieee80211 phy0: U __iwl_up iwlagn is coming up [29739.278571] ieee80211 phy0: U iwl_mac_start Start UP work done. [29739.284509] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 788 [29739.292432] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 10312 [29739.302004] ieee80211 phy0: U iwl_verify_ucode Initialize uCode is good in inst SRAM [29739.309746] ieee80211 phy0: U iwl4965_hw_get_temperature Running temperature calibration [29739.317833] ieee80211 phy0: U iwl4965_hw_get_temperature Calib values R[1-3]: -36 13522 -13496 R4: -2726 [29739.327337] ieee80211 phy0: U iwl4965_hw_get_temperature Calibrated temperature: 310K, 37C [29739.335598] ieee80211 phy0: U iwl4965_init_alive_start Initialization Alive received. [29739.343477] ieee80211 phy0: U iwl4965_set_ucode_ptrs Runtime uCode pointers are set. [29739.351283] ieee80211 phy0: I iwl_rx_reply_alive Alive ucode status 0x00000001 revision 0x1 0x0 [29739.355210] ieee80211 phy0: I iwl_rx_reply_alive Runtime Alive received. [29739.366731] iwlagn 0000:03:00.0: Runtime uCode already alive? Waiting for alive anyway [29743.284110] iwlagn 0000:03:00.0: START_ALIVE timeout after 4000ms. [29743.290337] ieee80211 phy0: U iwl_mac_add_interface enter: type 2 [29744.364089] iwlagn 0000:03:00.0: Runtime timeout after 5000ms [29744.370882] ieee80211 phy0: U iwl_alive_start Runtime Alive received. [29744.377347] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 788 [29744.385287] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 10312 [29744.393397] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 94720 [29744.415835] ieee80211 phy0: U iwl_verify_ucode Runtime uCode is good in inst SRAM Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5225935b53ce1eafb222c644230d03ad6011d357 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:43 2009 -0700 iwlwifi: Display sensitivity and chain noise information Display sensitivity and chain noise data to help understand the current environment and RF condition. The data is feeded by statistics notification and Beacon from uCode; then used by sensitivity calibration and chain noise calibration to determine how DSP should react to the environment changes Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e8fe59aecb9020b06305be4f8c67d73cbf49cbd2 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:42 2009 -0700 iwlwifi: uCode statistics notification counter Display statistics notification information The information break down into uCode_tx_stats uCode_rx_stats uCode_general_stats and can be found in /sys/kernel/debug/ieee80211/phy0/iwlagn/debug directory The statistic information display in debugFs is based on the last statistics notification from uCode; it might not reflect the current uCode activity. Using "watch" command to monitor the uCode activity should give up-to-date statistics provided by uCode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 141b03e07a54af68fc099459bf780a182b240b45 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:41 2009 -0700 iwlwifi: tx/rx queue pointer information Adding debugfs function to show current TxFifo/RxFifo read/write pointer, plus the current tx queue status (wake/stop) for both real and virtual queue. This is part of debug feature set to help debugging driver/uCode. use tx_queue and rx_queue in /sys/kernel/debug/ieee80211/phy0/iwlagn/debug directory to show the current read/write pointer for both TxFifo and RxFifo queue Signed-off-by: Wey-Yi Guy Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 22fdf3c9e19dce6d66bcfdbed547a5aa52b89933 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:40 2009 -0700 iwlwifi: Traffic type and counter for debugFs Break down the traffic type and counter for both Tx and Rx. Enhance the tx_statistics and rx_statistics debugfs function and move to /sys/kernel/debug/ieee80211/phy0/iwlagn/debug directory to help better debugging both driver and uCode related problems. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 20594eb0daa67f7a0cc19d74a1bafceb1bb09f4a Author: Wey-Yi Guy Date: Fri Aug 7 15:41:39 2009 -0700 iwlwifi: new debugging feature for dumping data traffic The traffic buffer will only beallocated and used if either bit 23 (IWL_DX_TX) or bit 24 (IWL_DL_RX) of "debug" is set; example: "debug=0x800000" - log tx data traffic "debug=0x1000000" - log rx data traffic "debug=0x1800000" - log both tx and rx traffic The traffic log will store the beginning portion (64 bytes) of the latest 256 of tx and rx packets in the round-robbin buffer for debugging, user can examine the log through debugfs file. How to display the current logged tx/rx traffic and txfifo and rxfifo read/write point: "cat traffic_log" in /sys/kernel/debug/ieee80211/phy0/iwlagn/debug directory By echo "0" to traffic_log file will empty the traffic log buffer and reset both tx and rx taffic log index to 0. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7aafef1c6e2e24f9a10dc2972bf0ee70624ccc47 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:38 2009 -0700 iwlwifi: name changed from "fat" to "ht40" Rename "fat" to "ht40" The term "fat channel" is deprecated in favor of "HT40" Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3d816c77ecb05d3a3e974a205e53392e5353553e Author: Reinette Chatre Date: Fri Aug 7 15:41:37 2009 -0700 iwlwifi: re-introduce per device debugging Commit "iwlwifi: make debug level more user friendly" cleaned up the debug level handling. In doing so it created a single global debug level for all devices. Some setups do consits of more that one iwlwifi device and in these setups there is a requirement that debug levels should be unique per device. We now re-introduce the per device debugging while maintaining the cleanup effort of the previous patch. The maintain the global debug level and now introduce a per-device debug level that will be used if it (the per-device debug level) is set. The per-device debug level can be controlled via the debug_level sysfs file while the global debug level is controlled by the debug module parameter. Signed-off-by: Reinette Chatre Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 34b921cf6fb4014e0e8d414492959a4725049000 Author: Joe Perches Date: Fri Aug 7 13:16:15 2009 -0700 MAINTAINERS: NETWORKING [WIRELESS] additional patterns Added file patterns drivers/net/wireless and net/mac80211 (and net/rfkill -- JWL) Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 6208f8b22cb24e446f24eb9f4aa9f4c3a9a1d52e Author: Christian Lamparter Date: Fri Aug 7 19:39:05 2009 +0200 p54: implement rfkill This patch implements a basic rfkill support for p54 hardware and removes a rfkill related WARNING: fwio.c: In function ‘p54_setup_mac’: fwio.c:323: warning: ‘radio_enabled’ is deprecated. by abandoning radio_enable in flavour for IEEE80211_CONF_CHANGE_IDLE. Tested-by: Larry Finger Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 718126a75e5fd4c6df6ee0567f00c7345b2370f4 Author: Christian Lamparter Date: Fri Aug 7 19:38:51 2009 +0200 p54: Write outside array bounds This patch fixes a coding error which allowed the to upper-layer to corrupt limited portions of the phy data. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 66d2d089c394c7e31020947d682523f77a93244b Author: Michael Buesch Date: Thu Aug 6 10:36:50 2009 +0200 b43: Fix hardware key index handling This fixes the hardware encryption keys index and array size handling. Thanks to Gregor Kowski for reporting this issue. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 5ba63533bbf653631faab60f6988506160ec6ba4 Author: Johannes Berg Date: Fri Aug 7 17:54:07 2009 +0200 cfg80211: fix alignment problem in scan request The memory layout for scan requests was rather wrong, we put the scan SSIDs before the channels which could lead to the channel pointers being unaligned in memory. It turns out that using a pointer to the channel array isn't necessary anyway since we can embed a zero-length array into the struct. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ad5351db89681515681c5d5659ddf4c69e3cc6f5 Author: Johannes Berg Date: Fri Aug 7 16:42:15 2009 +0200 mac80211: allow DMA optimisation If we have a lot of frames to transmit at once, for instance with fragmentation, it can be an optimisation to only tell the DMA engine about them on the last fragment/frame to avoid banging the IO too much. This patch allows implementation such an optimisation by telling the driver when more frames can be expected. Currently, this is used by mac80211 only on fragmented frames, but could also be used in the future on other frames when the queue was full and there are multiple frames pending. Note that drivers need to be careful when using this flag, they need to kick their DMA engines not just when this flag is clear, but also when the queue gets full so that progress can be made. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ab5b5342fd0ba5b9a2f58a94c5d41dd074b7c48e Author: Johannes Berg Date: Fri Aug 7 16:28:09 2009 +0200 mac80211: document TX powersave filter requirements This documents what's required to implement that TX powersave filter properly wrt. handling hardware queues. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c555b9b3713e05586fabe85f4e46f28859e72930 Author: Johannes Berg Date: Fri Aug 7 16:23:43 2009 +0200 mac80211: explain TX retry and status Add some more documentation including an example so that it's clearer what should be done for TX retries. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f5ea9120be2e5d5c846243416cfdce01d02f5836 Author: Johannes Berg Date: Fri Aug 7 16:17:38 2009 +0200 nl80211: add generation number to all dumps In order for userspace to be able to figure out whether it obtained a consistent snapshot of data or not when using netlink dumps, we need to have a generation number in each dump message that indicates whether the list has changed or not -- its value is arbitrary. This patch adds such a number to all dumps, this needs some mac80211 involvement to keep track of a generation number to start with when adding/removing mesh paths or stations. The wiphy and netdev lists can be fully handled within cfg80211, of course, but generation numbers need to be stored there as well. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f401a6f7ede753e56b84025e7d2db0d5ef560ce6 Author: Johannes Berg Date: Fri Aug 7 14:51:05 2009 +0200 cfg80211: use reassociation when possible With the move of everything related to the SME from mac80211 to cfg80211, we lost the ability to send reassociation frames. This adds them back, but only for wireless extensions. With the userspace SME, it shall control assoc vs. reassoc (it already can do so with the nl80211 interface). I haven't touched the connect() implementation, so it is not possible to reassociate with the nl80211 connect primitive. I think that should be done with the NL80211_CMD_ROAM command, but we'll have to see how that can be handled in the future, especially with fullmac chips. This patch addresses only the immediate regression we had in mac80211, which previously sent reassoc. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 59bbb6f7574bc693ed8313b98eac641116c95b94 Author: Johannes Berg Date: Fri Aug 7 17:22:35 2009 +0200 cfg80211: validate channel settings across interfaces Currently, there's a problem that affects regulatory enforcement and connection stability, in that it is possible to switch the channel while connected to a network or joined to an IBSS. The problem comes from the fact that we only validate the channel against the current interface's type, not against any other interface. Thus, you have any type of interface up, additionally bring up a monitor mode interface and switch the channel on the monitor. This will obviously also switch the channel on the other interface. The problem now is that if you do that while sending beacons for IBSS mode, you can switch to a disabled channel or a channel that doesn't allow beaconing. Combined with a managed mode interface connected to an AP instead of an IBSS interface, you can easily break the connection that way. To fix this, this patch validates any channel change with all available interfaces, and disallows such changes on secondary interfaces if another interface is connected to an AP or joined to an IBSS. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f26b32ed4bd5780855a79bb17fb1a431fa867dad Author: Kalle Valo Date: Fri Aug 7 13:35:33 2009 +0300 wl1251: hack to disable filters for fixing association Commit 9cef8737 "mac80211: fix managed mode BSSID handling" broke association in wl1251, most probably because the driver configured the bssid filter incorrectly. Workaround this by disabling filter altogether. This needs to be fixed properly soon. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 2789da9e58cc8db4e74359491a425712b5fcfdb6 Author: Kalle Valo Date: Fri Aug 7 13:35:26 2009 +0300 wl1251: add hw scan completed debug message The logs currently don't show when hw scan has completed, fix that. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit b1b0a2b8b51fa3f0cd349f947a38ab4c6ab192c6 Author: Kalle Valo Date: Fri Aug 7 13:35:19 2009 +0300 wl1251: remove Luciano as maintainer Luciano is maintaining wl1271 part. Signed-off-by: Kalle Valo Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit 29d904c452d466fbf51b2fde10f405b5c8f14c74 Author: Kalle Valo Date: Fri Aug 7 13:35:11 2009 +0300 wl1251: rename reg.h to wl1251_reg.h Now that wl1271 doesn't use reg.h anymore, it can be renamed to wl1251_reg.h. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit 16e711f9ed16e32126270652d79225836a7062cb Author: Kalle Valo Date: Fri Aug 7 13:35:04 2009 +0300 wl1251: use workqueue provided by mac80211 wl1251 should use workqueue created by mac80211 to not block the events workqueue too long. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 4a8189227fc4718a767ffca74d13a7d552e42189 Author: Kalle Valo Date: Fri Aug 7 13:34:56 2009 +0300 wl1251: move wl1251_acx_wake_up_conditions() to wl1251_ps_set_mode() It should not be hidden inside wl1251_cmd_ps_mode(). Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit fe9a98460b6c8dac47d0e34bcb04850193d41565 Author: Kalle Valo Date: Fri Aug 7 13:34:49 2009 +0300 wl1251: fix channel setting in wl1251_op_config() There is a bug in wl1251_op_config(). It was calling join with previous channel. Fix it by setting assigning wl->channel before calling join command. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit ae46ae17d1d8b953eb5859764737c065e4e3c86b Author: Kalle Valo Date: Fri Aug 7 13:34:42 2009 +0300 wl1251: create wl1251_join() Better to use wl1251_cmd_join() only for sending the command and move the logic to wl1251_join(). Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit c88f87540fa4b90a0b8696dae8bce801ecc142d3 Author: Kalle Valo Date: Fri Aug 7 13:34:34 2009 +0300 wl1251: add channel to wl1251_cmd_join() parameters Because join channel tunes to a channel, better to make it more obvious by adding a parameter for it. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit 9780279c60c32cb5f14531aa34ae991bb714c90c Author: Kalle Valo Date: Fri Aug 7 13:34:27 2009 +0300 wl1251: initialise default channel to zero Because wl->channel was initialised to one, the first join command in wl1251_op_config() always failed. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit 7a33732fd9f2181bfe639691ead3def7a1e87c7d Author: Kalle Valo Date: Fri Aug 7 13:34:19 2009 +0300 wl1251: remove wait parameter from wl1251_cmd_join() We should wait everytime for the join command to finish, not waiting for it might create problems. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit e2fd4611d50a1cd13a370f84b672a5f29472ee09 Author: Kalle Valo Date: Fri Aug 7 13:34:12 2009 +0300 wl1251: use beacon interval and dtim period provided by mac80211 wl1251 was using hardcoded beacon intervals and dtim periods, use the ones provided by mac80211 instead. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit 46e947b9c382f67f84cffec3bf068d6d23695058 Author: Kalle Valo Date: Fri Aug 7 13:34:05 2009 +0300 wl1251: reorder wl1251_cmd_join() arguments It's more common to have beacon interval before dtim period. Also use bool instead of u8. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit 0e71bb084adc4986b9a4be3581897f0ee703cbd5 Author: Kalle Valo Date: Fri Aug 7 13:33:57 2009 +0300 wl1251: remove wl1251_ops Now wl1271 is splitted to separate files, no need to use wl1251_ops anymore. So remove struct wl1251_chip and wl1251_ops.c. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit b5ed9c1b6f8fcb2d2315f12599fd5808f7933f16 Author: Bob Copeland Date: Fri Aug 7 13:33:49 2009 +0300 wl1251: make irq handling interface specific In SDIO, the host driver requests the IRQ and invokes a callback to the card driver. This differs from SPI, so the relevant code needs to be interface-specific. This patch pushes the irq code down into _spi.c and _sdio.c, and adds enable/disable callbacks. This fixes the following warning: [ 566.343887] ------------[ cut here ]------------ [ 566.349105] WARNING: at kernel/irq/manage.c:222 __enable_irq+0x3c/0x6c() [ 566.356735] Unbalanced enable for IRQ 0 [ 566.361099] Modules linked in: msm_wifi wl12xx_sdio wl12xx mac80211 cfg80211 rfkill_backport lib80211_crypt_ccmp lib80211_crypt_wep lib80211_crypt_tkip lib80211 [ 566.381240] [] (dump_stack+0x0/0x14) from [] (warn_slowpath+0x70/0x8c) [ 566.391860] [] (warn_slowpath+0x0/0x8c) from [] (__enable_irq+0x3c/0x6c) [ 566.402572] r3:00000000 r2:c02cad13 [ 566.407516] r7:00001002 r6:00000000 r5:c0310be4 r4:c0310be4 [ 566.415786] [] (__enable_irq+0x0/0x6c) from [] (enable_irq+0x38/0x64) [ 566.425826] r5:c0310be4 r4:a0000013 [ 566.430709] [] (enable_irq+0x0/0x64) from [] (wl12xx_boot_run_firmware+0xfc/0x170 [wl12xx]) [ 566.442947] r7:00001002 r6:c440a9fc r5:00000072 r4:c440a9e0 [ 566.450851] [] (wl12xx_boot_run_firmware+0x0/0x170 [wl12xx]) from [] (wl1251_boot+0xd4/0x108 [wl12xx]) [ 566.464492] r5:00000000 r4:c440a9e0 [ 566.469466] [] (wl1251_boot+0x0/0x108 [wl12xx]) from [] (wl12xx_op_start+0x54/0xb8 [wl12xx]) [ 566.482162] r5:00000000 r4:c440a9e0 [ 566.487472] [] (wl12xx_op_start+0x0/0xb8 [wl12xx]) from [] (ieee80211_open+0x2dc/0x720 [mac80211]) [ 566.500594] r7:00001002 r6:c4950800 r5:c440a220 r4:00000000 [ 566.508865] [] (ieee80211_open+0x0/0x720 [mac80211]) from [] (dev_open+0x9c/0xfc) [ 566.520705] [] (dev_open+0x0/0xfc) from [] (dev_change_flags+0x98/0x170) [ 566.531417] r5:00000041 r4:c4950800 [ 566.536330] [] (dev_change_flags+0x0/0x170) from [] (devinet_ioctl+0x3a8/0x784) [ 566.547683] r7:c128e380 r6:00000001 r5:00008914 r4:00000000 [ 566.555587] [] (devinet_ioctl+0x0/0x784) from [] (inet_ioctl+0xdc/0x114) [ 566.566299] [] (inet_ioctl+0x0/0x114) from [] (sock_ioctl+0x1f0/0x248) [ 566.576827] r5:00008914 r4:c572c1a0 [ 566.581771] [] (sock_ioctl+0x0/0x248) from [] (vfs_ioctl+0x34/0x94) [ 566.592086] r7:c572c1a0 r6:bee497e8 r5:00008914 r4:c572c1a0 [ 566.599990] [] (vfs_ioctl+0x0/0x94) from [] (do_vfs_ioctl+0x52c/0x584) [ 566.610549] r7:c572c1a0 r6:00008914 r5:c572c1a0 r4:c3201228 [ 566.618453] [] (do_vfs_ioctl+0x0/0x584) from [] (sys_ioctl+0x40/0x64) [ 566.628890] [] (sys_ioctl+0x0/0x64) from [] (ret_fast_syscall+0x0/0x2c) [ 566.639541] r7:00000036 r6:00000000 r5:00000004 r4:001a11f3 [ 566.647445] ---[ end trace 15c26ef7dd5e7b03 ]--- Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 3ec410d747fa1da035183c43775a64c0e285e399 Author: Bob Copeland Date: Fri Aug 7 13:33:42 2009 +0300 wl1251: add sdio support This adds the wl1251_sdio module, enabling the SDIO interface for wl1251, as used by the Google G1 phone and others. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit af8c78ebbf2a15ecf9b2b6b7b051b0d4c3ba1163 Author: Bob Copeland Date: Fri Aug 7 13:33:34 2009 +0300 wl1251: split spi interface into separate module This creates a module called wl1251_spi.ko which contains just the SPI-specific code. The core remains in the module wl1251.ko. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 8e639c0673a9b676bb7c6bd4e50f9003bdda423e Author: Bob Copeland Date: Fri Aug 7 13:33:26 2009 +0300 wl1251: move module probe methods into spi.c This change moves all of the spi specific code from main.c into spi.c. The module initialization code also moves, but common code for initializing mac80211 etc. stays in main.c, as this will eventually form a common library module also used by wl1251_sdio. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0d77e141331b25adf190ce30d69fe5744a69c5bd Author: Bob Copeland Date: Fri Aug 7 13:33:18 2009 +0300 wl1251: make wl1251_set_partition bus agnostic The same partition setting code can be used for both SPI and SDIO modes, if we remove the spi-specific commands and use the more generic buffer write routines. Do that and move it to io.c since it deals with register/memory address offsets. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 08d9f57251841e4870cfd286e867ffcbef81d9a4 Author: Bob Copeland Date: Fri Aug 7 13:33:11 2009 +0300 wl1251: introduce wl1251_if_operations struct Introduce an ops struct with read, write, and reset functions to abstract away the details of the wl1251 bus interface. Doing this will allow SDIO to coexist with SPI by supplying its own I/O routines. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 6c766f413c81d5a11588552934fa093eab6ae06e Author: Bob Copeland Date: Fri Aug 7 13:33:04 2009 +0300 wl1251: use wiphy_dev instead of wl->spi->dev Remove a dependency on the bus-specific struct device by using wiphy_dev when requesting firmware. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0764de64c8628f653c7e8493017d6bd8d43f4e3b Author: Bob Copeland Date: Fri Aug 7 13:32:56 2009 +0300 wl1251: separate bus i/o code into io.c In order to eventually support wl1251 spi and sdio interfaces, move the register and memory transfer functions to a common file. Also rename wl1251_spi_mem_{read,write} to indicate its common usage. We still use spi_read internally until SDIO interface is introduced so nothing functional should change here. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit b8010790c480f495520fd458197f86d758f0c83a Author: Kalle Valo Date: Fri Aug 7 13:32:48 2009 +0300 wl1251: remove fixed address support from spi commands The fixed addresses are not used in wl1251, only in wl1271. So it can be safely removed. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 5e32b1ed7e81558b09bf0a6bf9e73c34db3c337c Author: Sujith Date: Fri Aug 7 09:45:36 2009 +0530 ath9k: Update beacon RSSI ANI uses the beacon RSSI for its operation. Update this properly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 180d674bab10ce10747f7bc7214462da185431bd Author: Sujith Date: Fri Aug 7 09:45:33 2009 +0530 ath9k: Remove local chainmask variable The chainmask can be obtained directly from ath_hw. Also, use a helper macro for comparing CTLs - this improves readability. Signed-off-by: Sujith Signed-off-by: John W. Linville commit bf466fb67c8e0559ba1875232b03ee8dee32ae09 Author: Sujith Date: Fri Aug 7 09:45:30 2009 +0530 ath9k: Cleanup TX power calculation for 4K chips Write CCK power-per-rate array always and report correct TX power to regulatory. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7f63845f2a5f54c64968a4221561c619468b8a54 Author: Sujith Date: Fri Aug 7 09:45:23 2009 +0530 ath9k: Clean antenna configuration for 4K EEPROM chips This patch revamps the antenna configuration mechanism for 4K chips. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 066edc80ebd9e429d593dcfe97b3ed01c9823847 Author: Sujith Date: Fri Aug 7 09:45:21 2009 +0530 ath9k: Add macros for Antenna Diversity A subsequent patch would use these for configuring antennae on AR9285. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a37414a220990614de376a155e23dfed471efbdc Author: Sujith Date: Fri Aug 7 09:45:19 2009 +0530 ath9k: Cleanup ath9k_hw_4k_set_gain() interface regChainOffset is always zero, remove it. Signed-off-by: Sujith Signed-off-by: John W. Linville commit b5aec950eeb433d4850c1e5fcf14b666048e647d Author: Sujith Date: Fri Aug 7 09:45:15 2009 +0530 ath9k: Split eeprom.c into manageable pieces Add eeprom_def.c, eeprom_4k.c and eeprom_9287.c This improves maintainability. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 6780ccf5652a04493f72fafd9af0d9964ee977ad Author: Sujith Date: Fri Aug 7 09:45:13 2009 +0530 ath9k: Remove a few DEBUG mesages We have never used these at all. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c16c9d0657268daaf8a03e7895fb5c5f005285db Author: Sujith Date: Fri Aug 7 09:45:11 2009 +0530 ath9k: Try to fix whitespace damage Signed-off-by: Sujith Signed-off-by: John W. Linville commit 54e4cec69e70ba30aec68650fb95b3a7e1e6dc18 Author: Sujith Date: Fri Aug 7 09:45:09 2009 +0530 ath9k: Cleanup function return types Signed-off-by: Sujith Signed-off-by: John W. Linville commit 87b5bee86d281383ac2e5cae20ec47afa8fa374a Author: Sujith Date: Fri Aug 7 09:45:01 2009 +0530 ath9k: Remove unneeded assignment of protocol field Signed-off-by: Sujith Signed-off-by: John W. Linville commit bcba8eae12fce23686b84a56d19f5fc78bf182ae Author: Samuel Ortiz Date: Thu Aug 6 21:04:41 2009 +0200 cfg80211: Set WEP ciphers With iwconfig there is no way to properly set the ciphers when trying to connect to a WEP SSID. Although mac80211 based drivers dont need it, several fullmac drivers do. This patch basically sets the WEP ciphers whenever they're not set at all. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit b6f0b639089fb160b10984ac56e07e7043dabad7 Author: Johannes Berg Date: Thu Aug 6 20:41:34 2009 +0200 cfg80211: fix SME association after disassociation When an AP disassociates us, we currently go into a weird state because the SME doesn't handle authenticated but not associated well unless it's within its own state machine, it can't recover from that. However, it shouldn't need to, since we don't do any decisions in it really -- so when we get disconnected, simply deauthenticate too. Reported-by: Pavel Roskin Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e458b8a22d33eef62765c9f89889efeb4041f073 Author: Johannes Berg Date: Thu Aug 6 20:41:33 2009 +0200 cfg80211: fix nl80211 disconnected events When reporting a disconnection to userspace, we try to report whether it was from the AP or by our own choice. However, we misreported a broadcast deauth or disassoc as being by own choice, which is wrong. Fix this by checking the sender address instead of the destination address. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e21546a2a3953a7d4b9d5c9b1cf12184ffceab96 Author: Johannes Berg Date: Thu Aug 6 20:41:32 2009 +0200 mac80211: stay authenticated after disassoc After being disassociated by the AP, mac80211 currently reports this to cfg80211, and then goes to delete the association. That's fine, but cfg80211 assumes that it's still authenticated, however, mac80211 throws away all state. This fixes mac80211 to keep track of the authentication in that case so that cfg80211 can request a deauth or new association properly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 30d742d5468c954969766bb0e809f218abc73af7 Author: Luciano Coelho Date: Thu Aug 6 16:25:29 2009 +0300 wl1271: add wl1271 to Kconfig and the Makefile This patch adds support for the wl1271 driver in the Kconfig and in the Makefile. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit f5fc0f86b02afef1119b523623b4cde41475bc8c Author: Luciano Coelho Date: Thu Aug 6 16:25:28 2009 +0300 wl1271: add wl1271 driver files This driver supports the wl1271 chipset from Texas Instruments based on the WiLink(tm) 6.0 mobile platform. Support for wl1273 should be relatively easy to add. This chipset is designed for embedded devices, with good powersaving capabilities. The wl1271 chipset is the successor of wl1251 and supports the 802.11b/g/n standards, but currently this driver supports only b/g. More information about this chipset can be found here: http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12762&contentId=29993 Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit b935df01ed4f0848f29b1e39c4f95d87b0206dea Author: Pavel Roskin Date: Thu Aug 6 04:52:42 2009 -0400 cfg80211: fix disassociation warning due to misuse of wdev->current_bss WARN_ON was triggered at mlme.c:213 when dissociating from an AP. wdev->current_bss->pub.bssid should be used in place of wdev->current_bss for BSSID comparison. Signed-off-by: Pavel Roskin Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 4af198fb7a99b07980b1bd52df550ba3f24688df Author: David Kilroy Date: Wed Aug 5 21:23:32 2009 +0100 orinoco: consolidate storage of WEP and TKIP keys When TKIP support was added, we stored the keys separately to avoid issues when both TKIP and WEP keys are sent to the driver. We need to consolidate the storage to convert to cfg80211, so do this first and try iron out the issues. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 2b2603515e26466685895e93cae59bc061389f11 Author: David Kilroy Date: Wed Aug 5 21:23:31 2009 +0100 orinoco: add function to retrieve current bssid We will need this from the cfg80211 disassociate call. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 07542d08ee573b6d8281f38430117b52fccaf50a Author: David Kilroy Date: Wed Aug 5 21:23:30 2009 +0100 orinoco: move disassociation to hw.c This allows the disassociation to be called via cfg80211. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 16e158480d542f3909b5aca8b125af986ae128c1 Author: David Kilroy Date: Wed Aug 5 21:23:29 2009 +0100 orinoco: pass orinoco_set_tkip_key the sequence lengths When we store the keys for cfg80211, the sequence lengths will also be stored. So avoid assuming the sequence lengths at this level. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 5c9f41e285ad60013f0962746192769f899757be Author: David Kilroy Date: Wed Aug 5 21:23:28 2009 +0100 orinoco: use local types for auth alg and sequence length This helps in the refactorring required to convert the driver to cfg80211. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit bb7e43c061ad1e52a4738d5b45595ec9e1638b6a Author: David Kilroy Date: Wed Aug 5 21:23:27 2009 +0100 orinoco: prefer_port3 can be a single bit This is a boolean value set based on firmware capabilities, so move the variable to the capabilities section and reduce the structure size. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit a42dd7efd934888833c01199dbd21b242100ee92 Author: Zhu Yi Date: Wed Aug 5 15:07:13 2009 +0800 wireless: display wext SSID when connected by cfg80211 cfg80211 displays correct link info when connected by wext. But if the connection is setup by cfg80211, wext cannot display the SSID. This patch fixed this issue. Cc: Johannes Berg Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit bedaf80866f5d438b47d05e02fb1852065fe5d8e Author: Gábor Stefanik Date: Wed Aug 5 01:28:20 2009 +0200 b43: Fix fallout from the IEEE80211_IF_TYPE to NL80211_IFTYPE change. Update a comment that still says IEEE80211_IF_TYPE instead of NL80211_IFTYPE. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c45fa8c50c2149eec260a55c84e76339a2a761dd Author: gregor kowski Date: Wed Aug 5 00:44:23 2009 +0200 b43: remove wrong probe_resp_plcp write The tkip hw support uncovered a bug in b43_write_probe_resp_template : it is writing at the wrong shm offset, it is in the B43_SHM_SH_TKIPTSCTTAK zone. Remove b43_write_probe_resp_template, b43_write_probe_resp_plcp and b43_write_probe_resp_plcp because the probe response offload is currently not supported by mac80211. Signed-off-by: Gregor Kowski Signed-off-by: John W. Linville commit 7c81e98a60cc525e21a6d86cb4357a626f530699 Author: Gábor Stefanik Date: Wed Aug 5 00:25:42 2009 +0200 b43: Typo fixes & minor cleanup Make use of HostFlags defines in the LP-PHY code. Fix fallout from the IEEE80211_IF_TYPE to NL80211_IFTYPE change. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c03e20fc9a6ec5741d9df561130ecba38ef50eb6 Author: Luis R. Rodriguez Date: Tue Aug 4 15:06:26 2009 -0700 mac80211: fix compilation of mesh (although its disabled) Mesh is currently disabled on mac80211, its marked as broken. This patch gets it to compile though, to account for the mac80211 workqueue changes. There was a simple typo in the patches for mesh for the workqueue migration, but we never compile tested it as we couldn't even select mesh as its broken. Lets at least let it compile for those interested in getting it fixed. Reported-by: Pat Erley Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c10e47f458653a68b1d3956237b7bf2e1ab1e8da Author: Gábor Stefanik Date: Tue Aug 4 23:57:32 2009 +0200 b43: Add LP 2063 radio init Add B2063 radio init code and tables for LP-PHY. Rename structures common between B2062 and B2063 to B206X. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 14b46c8a87f835f4327afa32fad2a523a8fe584d Author: Luis R. Rodriguez Date: Tue Aug 4 14:04:17 2009 -0700 zd1211rw: make it clear we don't use leds.h LED stuff zd1211rw uses its own LED stuff so let rename its LED stuff as such. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 63b08b8d97a2a5ff23436cd52e8cd70c1de0319c Author: Luis R. Rodriguez Date: Tue Aug 4 10:05:30 2009 -0700 ath9k: use new FIF_PSPOLL configure filter We used to set pspoll filter on ath9k on AP mode but we no longer need this mode specific check as mac80211 now does the check for us and informs us when we should enable pspoll through FIF_PSPOLL. Cc: Igor Perminov Cc: Jouni Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e30eb4ab45211c2f27b6bb9b29124ac431e01ce9 Author: Joerg Albert Date: Wed Aug 5 01:52:07 2009 +0200 ath5k: fix missing output in monitor mode after ifconfig up Let ath5k_chan_set() always call ath5k_reset(). This fixes the bug that we don't get any packets in monitor mode after: ifconfig wlan0 down iwconfig wlan0 mode monitor channel 1 ifconfig wlan0 up but they arrive after iwconfig wlan0 channel 2 Signed-off-by: Joerg Albert Signed-off-by: John W. Linville commit 63b5ac286d5d7f668da537cc53a552578f7674a2 Author: Herbert Xu Date: Fri Aug 14 22:55:35 2009 +1000 crypto: blkcipher - Do not use eseqiv on stream ciphers Recently we switched to using eseqiv on SMP machines in preference over chainiv. However, eseqiv does not support stream ciphers so they should still default to chainiv. This patch applies the same check as done by eseqiv to weed out the stream ciphers. In particular, all algorithms where the IV size is not equal to the block size will now default to chainiv. Signed-off-by: Herbert Xu commit 5c16807d3d196203d2d3c9fae51ac7e422091904 Merge: e5e2a8f 232e7d6 Author: David S. Miller Date: Thu Aug 13 19:59:44 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/netxen/netxen_nic_main.c commit f322abf83feddc3c37c3a91794e0c5aece4af18e Author: James Morris Date: Fri Aug 14 11:19:29 2009 +1000 security: update documentation for security_request_module Update documentation for security_request_module to indicate return value, as suggested by Serge Hallyn. Signed-off-by: James Morris commit 25354c4fee169710fd9da15f3bb2abaa24dcf933 Author: Eric Paris Date: Thu Aug 13 09:45:03 2009 -0400 SELinux: add selinux_kernel_module_request This patch adds a new selinux hook so SELinux can arbitrate if a given process should be allowed to trigger a request for the kernel to try to load a module. This is a different operation than a process trying to load a module itself, which is already protected by CAP_SYS_MODULE. Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 9188499cdb117d86a1ea6b04374095b098d56936 Author: Eric Paris Date: Thu Aug 13 09:44:57 2009 -0400 security: introducing security_request_module Calling request_module() will trigger a userspace upcall which will load a new module into the kernel. This can be a dangerous event if the process able to trigger request_module() is able to control either the modprobe binary or the module binary. This patch adds a new security hook to request_module() which can be used by an LSM to control a processes ability to call request_module(). Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit a8f80e8ff94ecba629542d9b4b5f5a8ee3eb565c Author: Eric Paris Date: Thu Aug 13 09:44:51 2009 -0400 Networking: use CAP_NET_ADMIN when deciding to call request_module The networking code checks CAP_SYS_MODULE before using request_module() to try to load a kernel module. While this seems reasonable it's actually weakening system security since we have to allow CAP_SYS_MODULE for things like /sbin/ip and bluetoothd which need to be able to trigger module loads. CAP_SYS_MODULE actually grants those binaries the ability to directly load any code into the kernel. We should instead be protecting modprobe and the modules on disk, rather than granting random programs the ability to load code directly into the kernel. Instead we are going to gate those networking checks on CAP_NET_ADMIN which still limits them to root but which does not grant those processes the ability to load arbitrary code into the kernel. Signed-off-by: Eric Paris Acked-by: Serge Hallyn Acked-by: Paul Moore Acked-by: David S. Miller Signed-off-by: James Morris commit e5e2a8fd8358d1b3a2c51c3248edee72e4194703 Author: Jiri Pirko Date: Thu Aug 13 04:11:52 2009 +0000 bonding: wipe out printk's I did not introduce new lines over 80 chars. I even eliminated some of them. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 26ced1e4aa181c01379b0b7ef156a29c000d1f8c Author: Gerrit Renker Date: Sun Aug 9 08:12:49 2009 +0000 inet6: Set default traffic class This patch addresses: * assigning -1 to np->tclass as it is currently done is not very meaningful, since it turns into 0xff; * RFC 3542, 6.5 allows -1 for clearing the sticky IPV6_TCLASS option and specifies -1 to mean "use kernel default": - RFC 2460, 7. requires that the default traffic class must be zero for all 8 bits, - this is consistent with RFC 2474, 4.1 which recommends a default PHB of 0, in combination with a value of the ECN field of "non-ECT" (RFC 3168, 5.). This patch changes the meaning of -1 from assigning 255 to mean the RFC 2460 default, which at the same time allows to satisfy clearing the sticky TCLASS option as per RFC 3542, 6.5. (When passing -1 as ancillary data, the fallback remains np->tclass, which has either been set via socket options, or contains the default value.) Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit e651f03afe833326faa0abe55948c1c6cfd0b8ac Author: Gerrit Renker Date: Sun Aug 9 08:12:48 2009 +0000 inet6: Conversion from u8 to int This replaces assignments of the type "int on LHS" = "u8 on RHS" with simpler code. The LHS can express all of the unsigned right hand side values, hence the assigned value can not be negative. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 9ec04da7489d2c9ae01ea6e9b5fa313ccf3d35fb Author: Neil Horman Date: Thu Aug 13 05:23:56 2009 +0000 net: skb ftracer - Add actual ftrace code to kernel (v3) skb allocation / consumption correlator Add ftracer module to kernel to print out a list that correlates a process id, an skb it read, and the numa nodes on wich the process was running when it was read along with the numa node the skbuff was allocated on. Signed-off-by: Neil Horman Makefile | 1 trace.h | 19 ++++++ trace_skb_sources.c | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 174 insertions(+) Signed-off-by: David S. Miller commit 5a165657bef7c47e5ff4cd138f7758ef6278e87b Author: Neil Horman Date: Thu Aug 13 05:20:45 2009 +0000 net: skb ftracer - Add config option to enable new ftracer (v3) skb allocation / consumption corelator - Add config option This patch adds a Kconfig option to enable the addtition of the skb source tracer. Signed-off-by: Neil Horman Kconfig | 10 ++++++++++ 1 file changed, 10 insertions(+) Signed-off-by: David S. Miller commit e9b3cc1b3779fe10a80de4c3e7404bd308d0eae3 Author: Neil Horman Date: Thu Aug 13 05:19:44 2009 +0000 net: skb ftracer - add tracepoint to skb_copy_datagram_iovec (v3) skb allocation / cosumption tracer - Add consumption tracepoint This patch adds a tracepoint to skb_copy_datagram_iovec, which is called each time a userspace process copies a frame from a socket receive queue to a user space buffer. It allows us to hook in and examine each sk_buff that the system receives on a per-socket bases, and can be use to compile a list of which skb's were received by which processes. Signed-off-by: Neil Horman include/trace/events/skb.h | 20 ++++++++++++++++++++ net/core/datagram.c | 3 +++ 2 files changed, 23 insertions(+) Signed-off-by: David S. Miller commit 1e5053b7635c6a985a7cd8108e538883d961de2a Author: Wan ZongShun Date: Sun Aug 9 03:06:19 2009 +0000 Add support for w90p910 mac driver I fixed up my mac driver, which relatives to previous mac driver actually in the tree. Signed-off-by: Wan ZongShun Signed-off-by: David S. Miller commit 7010837a44813711b66d9e82e90f9641464e515d Author: Phil Sutter Date: Wed Aug 12 12:52:32 2009 +0000 korina: add error-handling to korina_alloc_ring This also avoids a potential buffer overflow in case the very first receive descriptor fails to allocate, as an index of -1 would be used afterwards. Kudos to Roel Kluin for pointing this out and providing an initial patch. Signed-off-by: Phil Sutter Signed-off-by: David S. Miller commit f16aea4d201018a124f3c1efd7f247fd3b11e4e1 Author: Phil Sutter Date: Wed Aug 12 12:22:46 2009 +0000 korina: fix printk formatting, add final info line The macro DRV_NAME contains "korina", the field dev->name points to the actual interface name. So messages were formerly prefixed with 'korinaeth2:' (on my system). Signed-off-by: Phil Sutter Signed-off-by: David S. Miller commit 3982d3d28b02bed5312015762fe2112ccbaf9051 Author: Fischer, Anna Date: Thu Aug 13 06:55:16 2009 +0000 net/bridge: Add 'hairpin' port forwarding mode This patch adds a 'hairpin' (also called 'reflective relay') mode port configuration to the Linux Ethernet bridge kernel module. A bridge supporting hairpin forwarding mode can send frames back out through the port the frame was received on. Hairpin mode is required to support basic VEPA (Virtual Ethernet Port Aggregator) capabilities. You can find additional information on VEPA here: http://tech.groups.yahoo.com/group/evb/ http://www.ieee802.org/1/files/public/docs2009/new-hudson-vepa_seminar-20090514d.pdf http://www.internet2.edu/presentations/jt2009jul/20090719-congdon.pdf An additional patch 'bridge-utils: Add 'hairpin' port forwarding mode' is provided to allow configuring hairpin mode from userspace tools. Signed-off-by: Paul Congdon Signed-off-by: Anna Fischer Acked-by: Arnd Bergmann Signed-off-by: David S. Miller commit 8dd07086a1f8048428d33a1917b6209978750cb1 Author: roel kluin Date: Mon Aug 10 01:29:52 2009 +0000 lmc: Read outside array bounds If dev_alloc_skb() fails on the first iteration of the allocation loop, then we end up writing before the start of the array. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit a6fa32866567351503db8a5c3466a676ba08595f Author: Jens Rosenboom Date: Wed Aug 12 22:16:04 2009 +0000 ipv6: Log the explicit address that triggered DAD failure If an interface has multiple addresses, the current message for DAD failure isn't really helpful, so this patch adds the address itself to the printk. Signed-off-by: Jens Rosenboom Signed-off-by: David S. Miller commit 9b0365f1954b0b54a896171b4438ed42ad7ef02f Author: Sarveshwar Bandi Date: Wed Aug 12 21:01:29 2009 +0000 be2net:Creating/destroying queues regardless of netif_running() in suspend/resume path Signed-off-by: sarveshwarb Signed-off-by: David S. Miller commit 60d970c254b95ec7a0fc4c590b510253987b64a0 Author: Ingo Molnar Date: Thu Aug 13 23:37:26 2009 +0200 tracing: Fix syscall tracing on !HAVE_FTRACE_SYSCALLS architectures The new syscall_regfunc()/unregfunc() functions rely on the existence of TIF_SYSCALL_FTRACE - but that TIF flag is only offered by HAVE_FTRACE_SYSCALLS. Cc: Frederic Weisbecker Cc: Jason Baron Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 4ac0478f2afaf8e778b4190d6218459a9dbf2a8f Author: Marek Vasut Date: Thu Jul 30 02:55:01 2009 +0200 ALSA: Allow passing platform_data for pxa2xx-ac97 This patch adds support for passing platform data to ac97 bus devices from PXA2xx-AC97 driver.. Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit 30230f4cd7c002a40c13758d12c1c6d96100461d Author: Chaithrika U S Date: Tue Aug 11 16:59:21 2009 -0400 ASoC: DaVinci: Add audio support fot DA850/OMAP-L138 EVM There is one instance of McASP on DA850/OMAP-L138 SoC. This is connected to TLV320AIC3106 codec for audio playback and capture. This patch adds audio support on this platform. Some of the structure prefix names which are common for DA830/OMAP-L137 EVM and DA850/OMAP-L138 EVM have been renamed to da8xx from da830. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 517ee6cf699967b421bcf8967e7bbeb3c45ded1a Author: Chaithrika U S Date: Tue Aug 11 16:59:12 2009 -0400 ASoC: DaVinci: Add a DAI format to McASP driver The patch adds a DAI format: Codec bit clock master and frame sync slave, to the driver. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 6a99fb5fb85f267d075310fd30c4bf6f0ae63062 Author: Chaithrika U S Date: Tue Aug 11 16:58:52 2009 -0400 ASoC: DaVinci: McASP driver enhacements On DA830/OMAP-L137 and DA850/OMAP-L138 SoCs, the McASP peripheral has FIFO support. This FIFO provides additional data buffering. It also provides tolerance to variation in host/DMA controller response times. The read and write FIFO sizes are 256 bytes each. If FIFO is enabled, the DMA events from McASP are sent to the FIFO which in turn sends DMA requests to the host CPU according to the thresholds programmed. More details of the FIFO operation can be found at http://focus.ti.com/general/docs/lit/getliterature.tsp?literatureNumber= sprufm1&fileType=pdf This patch adds support for FIFO configuration. The platform data has a version field which differentiates the McASP on different SoCs. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit a2342ae325bb1f65d90a9f38baab4c9762018a5e Author: Mark Brown Date: Wed Jul 29 21:21:49 2009 +0100 ASoC: Factor out shared code from WM8993 The WM8993 analogue control is shared with other devices in the same product line. Since this is a very substantial proportion of the driver move the definitions of these controls into a new wm_hubs module which allows them to be shared between the two. Signed-off-by: Mark Brown commit 667067d8980249a71ccf82a55202fff2cd1cd54f Author: Takashi Iwai Date: Thu Aug 13 18:14:42 2009 +0200 ALSA: hda - Fix / clean up IDT92HD83xxx codec parser A few improvements for IDT 92HD83xxx codec pareser: - Remove unused / deprecated mixer-amp controls - Handle d-mics as normal inputs since this codec has no separate MUXes for analog and digital - Don't create duplicated controls for capture volumes with Mux capture volumes Signed-off-by: Takashi Iwai commit a6cd7a71fde47e19738e7791c75584e2aca15187 Merge: 1c4bdf9 5207e10 Author: Takashi Iwai Date: Thu Aug 13 18:14:02 2009 +0200 Merge branch 'topic/hda-dmic-fix' into topic/hda commit e9ade7f933d629698cbe5f09f1e5511269180fea Author: Mark Brown Date: Thu Aug 13 15:19:42 2009 +0100 ASoC: Minor cleanups to AD1938 driver - Build in SND_SOC_ALL_CODECS. - Remove null suspend/resume stuff. Signed-off-by: Mark Brown commit 7eaae41ea54af5516138aef5fd33bc55598cbf48 Author: Barry Song <21cnbao@gmail.com> Date: Thu Aug 13 11:59:32 2009 +0800 new ad1836 codec driver based on asoc There has been an ad1836 driver in sound/blackfin based on traditional alsa. The new driver is based on asoc. The architecture of ad1836 codec driver is very much like ad1938. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 9008adf9a9c3a43ef237f6cd416857569beb0029 Author: Peter Ujfalusi Date: Thu Aug 13 15:59:34 2009 +0300 ASoC: TWL4030: Introduce PGAs for outputs Dynamically control and control only the needed output amplifier muting/un-muting. The original code was muting and un-muting the following output amplifiers: Earpiece PreDrivL/R, CarkitL/R at the same time regardless which pin is actually in use at the given moment. Move these as separate PGA so only the needed amplifier will be touched. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit aef27136b8b5e526f2e96ca1caa30a6d07e70f42 Author: Herbert Xu Date: Thu Aug 13 23:10:39 2009 +1000 crypto: ctr - Use chainiv on raw counter mode Raw counter mode only works with chainiv, which is no longer the default IV generator on SMP machines. This broke raw counter mode as it can no longer instantiate as a givcipher. This patch fixes it by always picking chainiv on raw counter mode. This is based on the diagnosis and a patch by Huang Ying. Signed-off-by: Herbert Xu commit 73fec1209433d6b33924c1b06122ee217ce98931 Author: Herbert Xu Date: Thu Aug 13 21:33:06 2009 +1000 Revert crypto: fips - Select CPRNG This reverts commit 215ccd6f55a2144bd553e0a3d12e1386f02309fd. It causes CPRNG and everything selected by it to be built-in whenever FIPS is enabled. The problem is that it is selecting a tristate from a bool, which is usually not what is intended. Signed-off-by: Herbert Xu commit c4ff357ada4fc7a73d899a496b636c698519b958 Author: Barry Song <21cnbao@gmail.com> Date: Wed Aug 12 11:34:25 2009 +0800 ASoC: add output/input widgets in ad1938 to make dac/adc dynamic PM work According to the function dapm_dac_check_power() in sound/soc/soc-dapm.c, dac power can't be on/off stand-alone without any output widget as sink. And according to dapm_adc_check_power(), adc power can't be on/off stand-alone without any input widget as source. So we can't only define some stand-alone SND_SOC_DAPM_DAC/SND_SOC_DAPM_ADC to hope their power can be managed dynamically. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 1c4bdf9be010ae7c2324c0a90dd2296e0d1a775e Author: Takashi Iwai Date: Thu Aug 13 08:23:24 2009 +0200 ALSA: hda - Enable line-out detection only with speakers Enable line-out detection for IDT/STAC codecs only when speaker pins exist. In some cases, the speaker itself is identified as line-out, and this confuses the situation. Only the extra line-outs should do auto-muting. Signed-off-by: Takashi Iwai commit c458bc50e31631f7e9333ea6f1832fc54d4e2c1e Author: Eilon Greenstein Date: Wed Aug 12 08:24:31 2009 +0000 bnx2x: update version to 1.52.1 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ab6ad5a4875e99dffe957a411fe890402a91f67f Author: Eilon Greenstein Date: Wed Aug 12 08:24:29 2009 +0000 bnx2x: Whitespaces and comments Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 9c63de6293775b537614550fd61075a33ada9469 Author: Eilon Greenstein Date: Wed Aug 12 08:24:25 2009 +0000 bnx2x: Removing unused definitions Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 45a4864d80264f6708528dcaa2c5c0b3933a8d7f Author: Eilon Greenstein Date: Wed Aug 12 08:24:18 2009 +0000 bnx2x: Beautify bnx2x_dump.h Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 573f203574581faaf80ca4fc079d33452327fc3b Author: Eilon Greenstein Date: Wed Aug 12 08:24:14 2009 +0000 bnx2x: Re-factor the initialization code Moving the code to a more logical place and beautifying it. No real change in behavior. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e4ed7113372a04df9b7aa985ce3860207dbb1141 Author: Eilon Greenstein Date: Wed Aug 12 08:24:10 2009 +0000 bnx2x: Using PCI_DEVICE macro Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0fc5d0094de11bb005c35f03fb1d3b52b0bd85e3 Author: Eilon Greenstein Date: Wed Aug 12 08:24:05 2009 +0000 bnx2x: Adding explicit casting Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 659bc5c4f2e84e69e1b10b36c16cd52ff7eb317a Author: Eilon Greenstein Date: Wed Aug 12 08:24:02 2009 +0000 bnx2x: Using macro for phy address Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 1ef70b9c12407f0bf332ba775a8aa8f8035d0a24 Author: Eilon Greenstein Date: Wed Aug 12 08:23:59 2009 +0000 bnx2x: Re-arrange the link structures for better alignment Change ieee_fc to u16 instead of u32 and re-arrange the link parameters structures Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8924665a7d77bb79ee895b98864e3201507f6ef2 Author: Eilon Greenstein Date: Wed Aug 12 08:23:56 2009 +0000 bnx2x: Missing smp_wmb for statistics state machine Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 57937203aa077520a7e1665bfb7071b3cbb3f5a9 Author: Eilon Greenstein Date: Wed Aug 12 08:23:53 2009 +0000 bnx2x: Remove SGMII configuration when not required Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6f65497b567ef9a518d930ef30fe6b8f27051688 Author: Eilon Greenstein Date: Wed Aug 12 08:23:51 2009 +0000 bnx2x: Keep only one HW path active Disable bmac access while working with emac and keep the single lane SerDes in reset while working with 4 lanes XGXS Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 54016b260e873d0d4d30cf1fdbd0cdcf0e26251b Author: Eilon Greenstein Date: Wed Aug 12 08:23:48 2009 +0000 bnx2x: Check unzip return code Without this check, when running out of memory, we will see PSOD's in bnx2x_init_fill() when doing a memset(). This is because at that time, bp->gunzip_buf is not pointing to a valid allocated space. Signed-off-by: Benjamin Li Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5ff7b6d4c129a430e355b2f88162a36d9e058f88 Author: Eilon Greenstein Date: Wed Aug 12 08:23:44 2009 +0000 bnx2x: Remove the init_dmae field from bp Moved the dmae_command from the heap to the stack. This will save 56 bytes per bnx2x structure. As a side benefit, we can also reduce the time the dmae_mutex is held. This is because do we not need to hold this mutex when setting up the dmae command. The memory where is dmae command is stored is not a shared resource and doesn not need to be protected. Signed-off-by: Benjamin Li Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0d28e49a2616b927bca5fde0f16dfdfd2a501107 Author: Eilon Greenstein Date: Wed Aug 12 08:23:40 2009 +0000 bnx2x: Updating regdump_len at drvinfo Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 938cf5416d59769ec2e7ce4eb7967cb3b61242a3 Author: Eilon Greenstein Date: Wed Aug 12 08:23:37 2009 +0000 bnx2x: Move printing of version from probe to the init Move printing of version from probe to the init function Rather then checking if this is the first module probe call to print the version of the driver only once, the statement is moved to the init function of the module where init is only called once Signed-off-by: Benjamin Li Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 37f9ce6231cafb2973e09f7f72ad62bc6348d1b3 Author: Eilon Greenstein Date: Wed Aug 12 08:23:34 2009 +0000 bnx2x: Combine get_pcie_width and get_pcie_speed The functions bnx2x_get_pcie_width() and bnx2x_get_pcie_speed() were combined into bnx2x_get_pcie_width_speed() so that there is only 1 PCI read to PCICFG_OFFSET + PCICFG_LINK_CONTROL rather then 2 reads. Signed-off-by: Benjamin Li Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e3553b29c6f395c6692afccc2ed5eff9c3d1daef Author: Eilon Greenstein Date: Wed Aug 12 08:23:31 2009 +0000 bnx2x: Stop loading if error condition detected Signed-off-by: Benjamin Li Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit df4770de03d2eec3f66b0ac4d2248d471a1ccc0b Author: Eilon Greenstein Date: Wed Aug 12 08:23:28 2009 +0000 bnx2x: Calling pci_set_drvdata earlier In case of error, bnx2x_init_dev calls pci_set_drvdata(pdev, NULL) Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a18f5128828cd1af8091602f5233b00422e74c9a Author: Eilon Greenstein Date: Wed Aug 12 08:23:26 2009 +0000 bnx2x: Configurable pause scheme When a given ring is running out of space, the FW can send pause towards the network. When working with multi-queues, when one queue is getting out of space it can block all other queues. The preferred scheme is to send pause frames only when running out of the shared internal chip buffers and if a given queue cannot place a packet on the host, it will drop it. Since some users might want to work in drop-less mode, allowing changing the behavior as a module parameter. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a119a069349b6ad32807ff1b09e417cf23514020 Author: Eilon Greenstein Date: Wed Aug 12 08:23:23 2009 +0000 bnx2x: Adding Likely directive Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 619e7a66b515f5f6b1cbe6f378f6a4ca3a65ac52 Author: Eilon Greenstein Date: Wed Aug 12 08:23:20 2009 +0000 bnx2x: Prefetch the page containing the BD descriptor Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6fe49bb978de3de0ba7ff9d6b2d55a15518db2a3 Author: Eilon Greenstein Date: Wed Aug 12 08:23:17 2009 +0000 bnx2x: Reporting host statistics to management FW This is required for NCSI statistics Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit cdea52128f6099e8f84459823c45790a78264022 Author: Eilon Greenstein Date: Wed Aug 12 08:23:14 2009 +0000 bnx2x: Removing old PHY FW upgrade code This code should not have resided in the driver. Now that we have a new interface, this logic can reside in the application that whishes to upgrade the PHY FW Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f57a60256d02daba1316c98da472f02cd98a58d3 Author: Eilon Greenstein Date: Wed Aug 12 08:23:11 2009 +0000 bnx2x: Supporting PHY FW upgrade There are 3 operations that the driver needs to support to allow applications to access the PHY FW (on top of the MDC/MDIO access). Since those are essentially nvram access commands, adding them to the ethtool -E interface. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 01cd452846c98609dd3efbee0deea050e6706f02 Author: Eilon Greenstein Date: Wed Aug 12 08:23:08 2009 +0000 bnx2x: MDC/MDIO CL45 IOCTLs As suggested by Ben Hutchings , using the MDC/MDIO IOCTL Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 239d686d494f10ecd83a89ddc4e31f9462ca4901 Author: Eilon Greenstein Date: Wed Aug 12 08:23:04 2009 +0000 bnx2x: Adding XAUI CL73 autoneg support Adding CL73 support to the built in PHY in the 5771x device. Also supporting fallbacks to CL73 if the link partner does not respond. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit bc7f0a053021491e292fc00810c4f2a8524453dd Author: Eilon Greenstein Date: Wed Aug 12 08:23:01 2009 +0000 bnx2x: BCM8727 FW load The BCM8727 is a dual port PHY. The FW must be loaded in a given order on all designs - including those which swapped the ports (calling port number zero the second port) Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 97b41dad385bce97d60b8cdd56342f07f93fc5d2 Author: Eilon Greenstein Date: Wed Aug 12 08:22:59 2009 +0000 bnx2x: get_ext_phy_fw_version returns NULL if not applicable To avoid confusion, if the PHY does not have a FW (and so, no FW version) make sure that the string is NULL. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b1607af526fd408b244c7b32a0c256c1ef163a17 Author: Eilon Greenstein Date: Wed Aug 12 08:22:54 2009 +0000 bnx2x: Reading the FW version of the BCM8481 PHY Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2f9044603c8b9ead9eb4d88e360093b44d362b58 Author: Eilon Greenstein Date: Wed Aug 12 08:22:16 2009 +0000 bnx2x: BCM8481 LED4 instead of LASI The BCM8481 does not generate LASI interrupt for 10M, 100M and 1G link, so we are using LED4 output as the interrupt input to the 57711. This requires some adaptation in the link interrupt routines Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0c593270432035b7b9ba27ee7dd4f32f6feea2e0 Author: Eilon Greenstein Date: Wed Aug 12 08:22:13 2009 +0000 bnx2x: Advertize flow control normally in MF mode Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2691d51d7243560aa0870dadbf5c6b98f647f751 Author: Eilon Greenstein Date: Wed Aug 12 08:22:08 2009 +0000 bnx2x: Supporting Device Control Channel In multi-function mode, the FW can receive special management control commands to set the Min/Max BW and the the function link state Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a1d58179d1337ff8f8530c9fac8b9e98b2f7761f Author: Eilon Greenstein Date: Wed Aug 12 22:53:55 2009 -0700 bnx2x: Removing old FW files Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ca00392cb8f5227c67ff52c656d91a764d022ab9 Author: Eilon Greenstein Date: Wed Aug 12 22:53:28 2009 -0700 bnx2x: Using the new FW The new FW improves the packets per second rate. It required a lot of change in the FW which implies many changes in the driver to support it. It is now also possible for the driver to use a separate MSI-X vector for Rx and Tx - this also add some to the complicity of this change. All things said - after this patch, practically all performance matrixes show improvement. Though Vladislav Zolotarov is not signed on this patch, he did most of the job and deserves credit for that. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6200f09036ee6f12822a9133dba7ed011b179c69 Author: Eilon Greenstein Date: Wed Aug 12 22:52:50 2009 -0700 bnx2x: New FW files Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 85910a8e9f425656bb7202d0fc62800000ffa262 Author: françois romieu Date: Mon Aug 10 19:45:48 2009 +0000 r8169: phy init for the 8102e Synced with Realtek's 1.013.00 r8101 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 0b9b571d246d1c2621a5e4e5a0fa5cb95e18365d Author: françois romieu Date: Mon Aug 10 19:44:56 2009 +0000 r8169: phy init for the 8169s Synced with Realtek's 6.011.00 r8169 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 2e955856ff1212bd63dbbf403940c72eca5b4a8f Author: françois romieu Date: Mon Aug 10 19:44:19 2009 +0000 r8169: phy init for the 8169scd Synced with Realtek's 6.011.00 r8169 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 8c7006aa94bea415cd7f8c5fa8df9d3f261bd314 Author: françois romieu Date: Mon Aug 10 19:43:29 2009 +0000 r8169: phy init for the 8169sce Synced with Realtek's 6.011.00 r8169 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 21d57363201857bd8c5c0ad0ebc795134d632195 Author: françois romieu Date: Mon Aug 10 19:42:37 2009 +0000 r8169: differentiate close chipsets in the startup identification message The driver displays the same 0x18000000 xid for RTL_GIGA_MAC_VER_06 and RTL_GIGA_MAC_VER_05 whereas the former ought to be identified as 0x98000000. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 5edcc537af1a9810726d1b68ba6c59e5d8d36113 Author: françois romieu Date: Mon Aug 10 19:41:52 2009 +0000 r8169: fix r8101 quirk dupe Noticed by Vincent Pelletier . Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit cb7d9e7f9bedee2928fe5ce95e1d5f1f22c1f2d7 Author: Rémi Denis-Courmont Date: Tue Aug 11 03:12:07 2009 +0000 Phonet: fix /proc/net/phonet with network namespaces seq_open_net() and seq_release() are needed for seq_file_net(). Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 859b1e4ec86840b0d0980f82b626d687be682eb9 Author: Sathya Perla Date: Mon Aug 10 03:43:51 2009 +0000 be2net: clear & notify residual events before destroying event queues Any events rcvd after interrupts are disabled (in the driver unload path), must be cleared and notified before the event queues are destroyed Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit cdab23b7017693c00dd69fa28bcdf5b0434b3838 Author: Sathya Perla Date: Mon Aug 10 03:43:23 2009 +0000 be2net: fix bad queue traversal in be_rx_q_clean() Using "for(tail != head)" to traverse a queue from tail to head fails in the case of a fully filled queue. Use "for(used != 0)" instead. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit a8e9179a7de196d37410fd3e9528081f22c70a4e Author: Sathya Perla Date: Mon Aug 10 03:42:43 2009 +0000 be2net: Clear pending tx completions before destroying tx queue Clear pending tx completions in be_close() (ndo.stop method) so that after unregister_netdev() calls be_close(), all tx skbs are freed and there are no more tx completions when txq is destroyed. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit f2341641766af3de18502abb6ac9b98e0e4c6bdb Author: Jaswinder Singh Rajput Date: Sun Aug 9 03:12:38 2009 +0000 net: smc911x: includecheck fix for smc911x.h fix the following 'make includecheck' warning: drivers/net/smc911x.h: mach/dma.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit aed7df86983ead0af8364fd26d8a9609ef2ed584 Author: Jaswinder Singh Rajput Date: Sun Aug 9 03:27:18 2009 +0000 net: include/linux/icmpv6: includecheck fix for icmpv6.h fix the following 'make includecheck' warning: include/linux/icmpv6.h: linux/skbuff.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit d02342151c51344034fbdeceff8effcb0a77c573 Author: Brice Goglin Date: Fri Aug 7 10:44:22 2009 +0000 myri10ge: improve parity error detection and recovery Improve myri10ge parity error detection and recovery: 1) Don't restore PCI config space to a rebooted NIC until AFTER the host is quiescent. 2) Let myri10ge_close() know the NIC is dead, so it won't waste time waiting for a dead nic to respond to MXGEFW_CMD_ETHERNET_DOWN 3) When the NIC is quiet (link down, or otherwise idle link) use a pci config space read to detect a rebooted NIC. Otherwise we might never notice that a NIC rebooted Signed-off-by: Andrew Gallatin Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit c9145a2df072f75d97592ddac1624baeb7bad195 Author: Julia Lawall Date: Sat Aug 8 21:43:42 2009 +0000 drivers/net: Correct use of request_region/request_mem_region request_mem_region should be used with release_mem_region, not request_region. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // @r2@ expression start; @@ request_mem_region(start,...) @b2@ expression r2.start; @@ request_region(start,...) @depends on !b2@ expression r2.start; expression E; @@ - release_region + release_mem_region (start,E) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit bdf50d7346588b22fd66367ae2890e2cbf574172 Author: Jaswinder Singh Rajput Date: Sun Aug 9 03:05:25 2009 +0000 net: pcmcia/axnet_cs: includecheck fix axnet_cs.c fix the following 'make includecheck' warning: drivers/net/pcmcia/axnet_cs.c: linux/etherdevice.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit ab4c0c77b566bbac25e28c7ae487dc02bdd8f343 Author: Jaswinder Singh Rajput Date: Sun Aug 9 02:59:56 2009 +0000 net: cs89x0: includecheck fix for cs89x0.c fix the following 'make includecheck' warning: drivers/net/cs89x0.c: asm/irq.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit 582b95c2709cd58913ec2a31b0266ba0aa67b03d Author: Julia Lawall Date: Fri Aug 7 20:47:33 2009 +0000 drivers/net/tokenring: Use status field rather than state field In general in this file, it is the status field, not the state field, that contains values like OPEN and CLOSED. Indeed, in the first error case, it is the field status that is initialized. I have thus assumed that all of the error handling code should be the same, and moved it to the end of the function to emphasize its commonality. Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 176edd52366d59350717b0bf6865b1d7ece156cc Author: Julia Lawall Date: Fri Aug 7 21:53:41 2009 +0000 drivres/net: Change constant name In this series of tests the constants have the form XRXMAC_STATUS, except in this one case. The values of XRXMAC_STAT_MSK_RXOCTET_CNT_EXP and XRXMAC_STATUS_RXOCTET_CNT_EXP are furthermore the same. Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 798c752b815bd80653dc48b6ffb8eb68ede15a66 Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:45 2009 +0000 fakehard: use START-CONFIRM primitive to report START failure Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit acb8aacda3f0bc3aeb652f4365c078a2b0adb0bf Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:44 2009 +0000 nl802154: support START-CONFIRM primitive Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 99eb8558642b988055d2b8b16a334475550f78d3 Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:43 2009 +0000 af_ieee802154: add support for WANT_ACK socket option Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 74eda55db4335383ccdd1fb51a7b014202f89366 Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:42 2009 +0000 af_ieee802154: minor cleanup in dgram_bind 1) fix ro->bound protection by socket lock 2) make ro->bound bit instead of int Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 8e753dd0a82bd266256c20a20b98dfa48f98d21e Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:40 2009 +0000 nl802154: add support for dumping WPAN interface information Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 48a2f112db5349efb2efadbd94b8cc31a9db84e1 Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:39 2009 +0000 documentation: fix wrt. headers rename Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 78090a58c49f2f6213d0bb1b3b4c4df73e26865f Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:38 2009 +0000 nl802154: make ieee802154_policy constant Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 8505091d2a067ad27d4a82df9cff8eae6ee52fca Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:36 2009 +0000 af_ieee802154: drop IEEE802154_SIOC_ADD_SLAVE declaration IEEE802154_SIOC_ADD_SLAVE was used to allocate 802.15.4 interfaces on the top of radio. It's not used anymore, drop it. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 6885ffb3a1b4abf731fd0891a2c1544a83c2651d Author: Mark Smith Date: Thu Aug 6 23:21:22 2009 +0000 Use correct NET_RX_* returns for atalk_rcv() In all rx'd SKB cases, atalk_rcv() either eventually jumps to or falls through to the label out:, which returns numeric 0. Numeric 0 corresponds to NET_RX_SUCCESS, which is incorrect in failed SKB cases. This patch makes atalk_rcv() provide the correct returns by: o explicitly returning NET_RX_SUCCESS in the two success cases o having the out: label return NET_RX_DROP, instead of numeric 0 o making the failed SKB labels and processing more consistent with other _rcv() routines in the kernel, simplifying validation and removing a backwards goto Signed-off-by: Mark Smith Signed-off-by: David S. Miller commit b91cd1440870f7a0649e570498b7b93caf9f781c Author: Rémi Denis-Courmont Date: Thu Aug 6 21:56:44 2009 +0000 f_phonet: use page-sized rather than MTU-sized RX buffers Instead of a large (physically) linear buffer, we generate a set of paged sk_buff, so no extra memory copy is involved. This removes high-order allocations and saves quite a bit of memory. Phonet MTU is 65541 bytes, so the two buffers were padded to 128 kilo-bytes each. Now, we create 17 page buffers, almost a 75% memory use reduction. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 5da63cc4b2258e1c06ee41637492717481025143 Author: Rémi Denis-Courmont Date: Thu Aug 6 21:56:43 2009 +0000 f_phonet: lock-less MTU change With the current driver, the MTU is purely indicative, so there is no need to synchronize with the receive path. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit a8ccc393ddcdff2e0288dc459f03d561ae27b51d Author: Christian Kujau Date: Thu Aug 13 11:53:56 2009 +1000 crypto: rng - Fix typo Correct a typo in crypto/rng.c Signed-off-by: Christian Kujau Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 81eb024c7e63f53b871797f6e2defccfd008dcd4 Author: Kim Phillips Date: Thu Aug 13 11:51:51 2009 +1000 crypto: talitos - add support for 36 bit addressing Enabling extended addressing in the h/w requires we always assign the extended address component (eptr) of the talitos h/w pointer. This is for e500 based platforms with large memories. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 4b992628812137e30cda3510510cf3c052345b30 Author: Kim Phillips Date: Thu Aug 13 11:50:38 2009 +1000 crypto: talitos - align locks on cache lines align channel access locks onto separate cache lines (for performance reasons). This is done by placing per-channel variables into their own private struct, and using the cacheline_aligned attribute within that struct. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit e41256f139b9148cfa12d2d057fec39e3d181ff0 Author: Kim Phillips Date: Thu Aug 13 11:49:06 2009 +1000 crypto: talitos - simplify hmac data size calculation don't do request->src vs. assoc pointer math - it's the same as adding assoclen and ivsize (just with more effort). Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit aa11d958d1a6572eda08214d7c6a735804fe48a5 Merge: 07f6642 9799218 Author: David S. Miller Date: Wed Aug 12 17:44:53 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: arch/microblaze/include/asm/socket.h commit 07f6642ee9418e962e54cbc07471cfe2e559c568 Author: Cyrill Gorcunov Date: Wed Aug 12 16:39:16 2009 -0700 net,pppoe: fixup module init/exit subsequent calls pernet data should allocated first and freed last on module init/exit routines otherwise it's possible to have unserialized calls to packet handling routines. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit c18bc9b927c98d7324ebd7fce0bbb924696ce7fe Author: Tim Blechmann Date: Wed Aug 12 18:21:30 2009 +0200 ALSA: hdsp - allow proc reporting with disconnected io box the hdsp driver refuses to report any information via the proc interface, if the io box is not connected. with this patch, the content of the control and status registers is printed before the iobox check. Signed-off-by: Tim Blechmann Signed-off-by: Takashi Iwai commit d2a382143b35a486b8089861790d6b3ec4e46932 Author: Mark Brown Date: Wed Aug 12 14:30:33 2009 +0100 ASoC: Update AD1938 for new TDM slot API It's only actually paying attention to the slot count anyway. Signed-off-by: Mark Brown commit 66e274f3b8d7fc89d38997e85b900e188f8d5cc0 Author: Frederic Weisbecker Date: Wed Aug 12 11:07:25 2009 +0200 perf tools: Factorize the map helpers Factorize the dso mapping helpers into a single purpose common file "util/map.c" Signed-off-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Brice Goglin commit 1fe2c1066ce6a30bda7b27785ee3d9b8e62ffbbd Author: Frederic Weisbecker Date: Wed Aug 12 10:19:53 2009 +0200 perf tools: Factorize the event structure definitions in a single file Factorize the multiple definition of the events structures into a single util/event.h file. Signed-off-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Brice Goglin commit cd84c2ac6d6425dd4d1b80a2231e534b9b03df18 Author: Frederic Weisbecker Date: Wed Aug 12 10:03:49 2009 +0200 perf tools: Factorize high level dso helpers Factorize multiple definitions of high level dso helpers into the symbol source file. The side effect is a general export of the verbose and eprintf debugging helpers into a new file dedicated to debugging purposes. Signed-off-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Brice Goglin commit 5908589f318835f515bf94829650d36dcb2d9024 Author: Herton Ronaldo Krzesinski Date: Tue Aug 11 22:33:09 2009 -0300 ALSA: hda - fix noise issue when recording from digital mic with alc268 With auto config model of alc268 realtek codec, it allows to select any of possible available digital microphone inputs when only one is available. For example, when only digital mic in nid 0x12 is available, on second input source it will allow you to select unavailable digital mic in nid 0x13. The problem is that selecting unavailable digital mic creates a source of noise when recording (I'm not sure if this happens on all machines with alc268 and only one digital mic input, but testing on a quanta uw1 netbook a lot of noise is introduced in recording from digital mic 0x12/first input source, when you select the unavailable digital mic 0x13 for capture source 0x24 in the second input source in mixer). Then to avoid noise when recording from digital mic with auto model in this case, prevent a digital mic input source to be selected if microphone is not available. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 19007a67a64f9b3cbbd7024f972654ebf14daade Author: Frederic Weisbecker Date: Tue Aug 11 20:22:53 2009 +0200 tracing: Support for syscall events raw records in perfcounters This bring the support for raw syscall events in perfcounters. The arguments or exit value are saved as a raw sample using the PERF_SAMPLE_RAW attribute in a perf counter. Example (for now you must explicitly set the PERF_SAMPLE_RAW flag in perf record): perf record -e syscalls:sys_enter_open -f -F 1 -a perf report -D 0x2cbb8 [0x50]: event: 9 . . ... raw event: size 80 bytes . 0000: 09 00 00 00 02 00 50 00 20 e9 39 ab 0a 7f 00 00 ......P. .9.... . 0010: bc 14 00 00 bc 14 00 00 01 00 00 00 00 00 00 00 ............... . 0020: 2c 00 00 00 15 01 01 00 bc 14 00 00 bc 14 00 00 ,.............. ^ ^ ^ ^ ^ ^ ^ .......................... Event Size struct trace_entry . 0030: 00 00 00 00 46 98 43 02 00 00 00 00 80 08 00 00 ....F.C........ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ptr to file name open flags . 0040: 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 ............... ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ . open mode padding 0x2cbb8 [0x50]: PERF_EVENT_SAMPLE (IP, 2): 5308: 0x7f0aab39e920 period: 1 Signed-off-by: Frederic Weisbecker Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Jason Baron Cc: Masami Hiramatsu commit dc4ddb4c0b7348f1c9759ae8a9e7d734dc1cda82 Author: Frederic Weisbecker Date: Tue Aug 11 19:03:54 2009 +0200 tracing: Add fields format definition for syscall events Define the format of the syscall trace fields to parse the binary values from a raw trace using the syscall events "format" file. This is defined dynamically using the syscalls metadata. It prepares the export of syscall event raw records to perf counters. Example: $ cat /debug/tracing/events/syscalls/sys_enter_sched_getparam/format name: sys_enter_sched_getparam ID: 39 format: field:unsigned short common_type; offset:0; size:2; field:unsigned char common_flags; offset:2; size:1; field:unsigned char common_preempt_count; offset:3; size:1; field:int common_pid; offset:4; size:4; field:int common_tgid; offset:8; size:4; field:pid_t pid; offset:12; size:8; field:struct sched_param * param; offset:20; size:8; print fmt: "pid: 0x%08lx, param: 0x%08lx", ((unsigned long)(REC->pid)), ((unsigned long)(REC->param)) Signed-off-by: Frederic Weisbecker Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Cc: Jason Baron commit e8f9f4d79a677f55c8ec3acbe87b33a87e2df0de Author: Frederic Weisbecker Date: Tue Aug 11 17:42:52 2009 +0200 tracing: Add ftrace event call parameter to its field descriptor handler Add the struct ftrace_event_call as a parameter of its show_format() callback. This way we can use it from the syscall trace events to retrieve the syscall name from the ftrace event call parameter and describe its fields using the syscalls metadata. Signed-off-by: Frederic Weisbecker Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Cc: Jason Baron commit 0ac676fb50f5f8a22e5e80afc40bf38e31b77c00 Author: Jason Baron Date: Mon Aug 10 16:53:11 2009 -0400 tracing: Convert x86_64 mmap and uname to use DEFINE_SYSCALL A number of syscalls are not using 'DEFINE_SYSCALL'. I'm not sure why. Convert x86_64 uname and mmap to use DEFINE_SYSCALL. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 48c2e17f1f668fe6691bad965beb2b0b25239c5f Author: Jason Baron Date: Mon Aug 10 16:53:06 2009 -0400 tracing: Add more namespace area to 'perf list' output The new syscall tracepoints names can be too long for the 'perf list' output. Add a few more characters. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit f4b5ffccc83c82947f5d9f15d6f1b6edb1b71cd7 Author: Jason Baron Date: Mon Aug 10 16:53:02 2009 -0400 tracing: Add perf counter support for syscalls tracing The perf counter support is automated for usual trace events. But we have to define specific callbacks for this to handle syscalls trace events Make 'perf stat -e syscalls:sys_enter_blah' work with syscall style tracepoints. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 64c12e0444fcc6b75eb49144ba46d43dbdc6bc8f Author: Jason Baron Date: Mon Aug 10 16:52:53 2009 -0400 tracing: Add individual syscalls tracepoint id support The current state of syscalls tracepoints generates only one event id for every syscall events. This patch associates an id with each syscall trace event, so that we can identify each syscall trace event using the 'perf' tool. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit fb34a08c3469b2be9eae626ccb96476b4687b810 Author: Jason Baron Date: Mon Aug 10 16:52:47 2009 -0400 tracing: Add trace events for each syscall entry/exit Layer Frederic's syscall tracer on tracepoints. We create trace events via hooking into the SYSCALL_DEFINE macros. This allows us to individually toggle syscall entry and exit points on/off. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 69fd4f0eb2ececbf8ade55e31a933e174965745e Author: Jason Baron Date: Mon Aug 10 16:52:44 2009 -0400 tracing: Add ftrace_event_call void * 'data' field add an optional void * pointer to 'ftrace_event_call' that is passed in for regfunc and unregfunc. This prepares for syscall tracepoints creation by passing the name of the syscall we want to trace and then retrieve its number through our arch syscall table. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit f744bd576a827c5b02e756b81fc2578edf8179b8 Author: Jason Baron Date: Mon Aug 10 16:52:39 2009 -0400 tracing: Raw_init() bailout in trace event register fail case Allow the return value of raw_init() trace event callback to bail us out of creating a trace event file, in case we fail to register our event. Also, we plan to return -ENOSYS for syscall events that don't match any syscalls listed in our arch tracing syscall table, we don't want to warn in that case, we just want this event to be invisible in debugfs and ignored. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 9daa77e2e9a6b8b859660d5e24d0f8cd77c2af39 Author: Jason Baron Date: Mon Aug 10 16:52:35 2009 -0400 tracing: Update FTRACE_SYSCALL_MAX update FTRACE_SYSCALL_MAX to the current number of syscalls FTRACE_SYSCALL_MAX is a temporary solution to get the number of syscalls supported by the arch until we find a more dynamic way to get this number. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit a871bd33a6c0bc86fb47cd02ea2650dd43d3d95f Author: Jason Baron Date: Mon Aug 10 16:52:31 2009 -0400 tracing: Add syscall tracepoints add two tracepoints in syscall exit and entry path, conditioned on TIF_SYSCALL_FTRACE. Supports the syscall trace event code. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 63fbdab3157b72467013fe4dcf88c85e45280ef7 Author: Jason Baron Date: Mon Aug 10 16:52:27 2009 -0400 tracing: Add DECLARE_TRACE_WITH_CALLBACK() macro Introduce a new 'DECLARE_TRACE_WITH_CALLBACK()' macro, so that tracepoints can associate an external register/unregister function. This prepares for the syscalls tracer conversion to trace events. We will need to perform arch level operations once a syscall event is turned on/off, such as TIF flags setting, hence the need of such specific callbacks. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 066e0378c23f0a3db730893f6a041e4a3922a385 Author: Jason Baron Date: Mon Aug 10 16:52:23 2009 -0400 tracing: Call arch_init_ftrace_syscalls at boot Call arch_init_ftrace_syscalls at boot, so we can determine early the set of syscalls for the syscall trace events. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit eeac19a7efa150231e4a6bb110d6f27500bcc8ce Author: Jason Baron Date: Mon Aug 10 16:52:13 2009 -0400 tracing: Map syscall name to number Add a new function to support translating a syscall name to number at runtime. This allows the syscall event tracer to map syscall names to number. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 7770841e63730d62928b0879498064e9614b2ce0 Author: Zhaolei Date: Fri Aug 7 18:53:21 2009 +0800 tracing: Rename set_tracer_flags()'s local variable trace_flags set_tracer_flags() have a local variable named trace_flags which has the same name than a global one in the same scope. This leads to confusion, using tracer_flags should be better by its meaning. Changelog: v1->v2: Simplified another patch in this patchset, no change in this patch. Signed-off-by: Zhao Lei Cc: Steven Rostedt Cc: Li Zefan Signed-off-by: Frederic Weisbecker commit 4f5d17062085ee1c74ff44a37ffb09f94ab4db1c Author: Takashi Iwai Date: Tue Aug 11 18:17:46 2009 +0200 ALSA: hda - Clean up init and setup hooks for Realtek codecs Move static codes to setup from init_hook for each model. Also, use the common auto-mic selection helper for devices that support auto-mic selection. They just need to set up ext_mic, int_mic and auto_mic flag in the setup section. Signed-off-by: Takashi Iwai commit e0026beac0f1a6253488478b3f022ff243b012b9 Author: Mark Brown Date: Tue Aug 11 16:28:39 2009 +0100 ASoC: Update WM9081 for tdm_slot() API change Store the TDM slot width then if it's set use that rather than the sample size to calculate BCLK. Leave imposing constraints to the core (which should do this but doesn't yet) or machine driver. Also allow 0 TDM slots to be configure (for use when disabling TDM). Signed-off-by: Mark Brown commit e9c364c04f59f7fb250f9689198eaa59872cf8af Author: Takashi Iwai Date: Tue Aug 11 17:16:13 2009 +0200 ALSA: hda - Add setup hook to ALC preset struct Added setup hook to ALC preset struct to be called at in the parser but not at each init callback. This can be used for setting up the static pins, etc, while the init hook should be used for updating the status again. Signed-off-by: Takashi Iwai commit 4d8e22e0f6aacb365db2cb9bf69e38310b37f418 Author: Takashi Iwai Date: Tue Aug 11 14:21:26 2009 +0200 ALSA: hda - Add a white-list for MSI option Created a white-list to enable MSI since some devices require MSI explicitly due to BIOS/ACPI problems. Simply using a quirk list. As the first case, take HP Compaq CQ40. Reference: Novell bnc#529971 https://bugzilla.novell.com/show_bug.cgi?id=529971 Signed-off-by: Takashi Iwai commit 89034bc2c7b839702c00a704e79d112737f98be0 Merge: fb82ad7 85dfd81 Author: Ingo Molnar Date: Tue Aug 11 14:19:09 2009 +0200 Merge branch 'linus' into tracing/core Conflicts: kernel/trace/trace_events_filter.c We use the tracing/core version. Signed-off-by: Ingo Molnar commit 1921bab217c2c21e4b8dc78332f6ae11515fc014 Merge: 17244c2 a5479e3 Author: Mark Brown Date: Tue Aug 11 13:09:27 2009 +0100 Merge commit 'a5479e389e989acfeca9c32eeb0083d086202280' into for-2.6.32 commit 17244c24f95ba61a12b6afeab5780a1e3f1a4c57 Author: Randy Dunlap Date: Mon Aug 10 16:04:39 2009 -0700 ASoC: fix I2C build errors Fix soc build errors when I2C is built as a loadable module: (.text+0x5d26b): undefined reference to `i2c_master_send' soc-cache.c:(.text+0x5d32d): undefined reference to `i2c_transfer' Signed-off-by: Randy Dunlap Signed-off-by: Mark Brown commit b59bdf3b0ca11bfc6a539012431d751deaa65b32 Author: Takashi Iwai Date: Tue Aug 11 09:47:30 2009 +0200 ALSA: hda - Check connectivity for auto-mic of Realtek codecs Some Realtek codecs don't provide the full connections for certain pins from each ADC; e.g. ACL662/ALC272 gives only one of two digital-mic pins for each ADC. Thus, depending on the digital mic pin, the ADC/MUX to be used has to be chosen properly. This patch adds the check of the connectivity of pins at auto-mic mode. If no proper connectivity is found, auto_mic flag is turned off to be sure. Also the mux_idx is determined during this check so it won't be checked in the unsol event any more. Signed-off-by: Takashi Iwai commit 52b5deefbbd7493092b1cbc35da09e0e2ad46cca Merge: 2a22d3f dd70469 Author: Takashi Iwai Date: Tue Aug 11 08:47:38 2009 +0200 Merge branch 'fix/hda' into topic/hda commit f1e6d3c5cf86675e54a17a89668aa6685d2ef59d Author: Takashi Iwai Date: Tue Aug 11 08:15:04 2009 +0200 ALSA: usb-audio - Fix types taken in min() Fix the compile warning due to different integer types used in min(): sound/usb/usbaudio.c: In function 'init_substream_urbs': sound/usb/usbaudio.c:1087: warning: comparison of distinct pointer types lacks a cast Signed-off-by: Takashi Iwai commit 8b4bfc7feb005d84e2bd0831d8331a304e9d6483 Merge: 896a6de 85dfd81 Author: James Morris Date: Tue Aug 11 08:33:01 2009 +1000 Merge branch 'master' into next commit f884dcaead5f17bf586ac5fe6a3ad07b5203616a Merge: 976a6f9 8854e82 Author: Trond Myklebust Date: Mon Aug 10 17:45:58 2009 -0400 Merge branch 'sunrpc_cache-for-2.6.32' into nfs-for-2.6.32 commit 976a6f921cad26651d25e73826c05c7a023f5fa4 Merge: e576e05 c05988c Author: Trond Myklebust Date: Mon Aug 10 17:45:50 2009 -0400 Merge branch 'patches_cel-for-2.6.32' into nfs-for-2.6.32 commit 2a22d3f81283253ab9dae9244f3ca58a5ac66b36 Author: Takashi Iwai Date: Mon Aug 10 18:54:38 2009 +0200 ALSA: hda - Use only one capture stream for auto-mic When the auto-mic feature is enabled, we should support only one capture stream. Signed-off-by: Takashi Iwai commit 6c8194922739138f046a4d0924519dd43b48e1f3 Author: Takashi Iwai Date: Mon Aug 10 18:47:44 2009 +0200 ALSA: hda - Add auto-mic support for Realtek codecs Added the support for automatic mic selection via plugging for Realtek codecs (in auto-probing mode). The auto-mic mode is enabled only when one internal mic and one external mic are present. Signed-off-by: Takashi Iwai commit dc05a564ab1b3a1957927da50912964b61f7da69 Merge: be39ee1 e2fe35c Author: Patrick McHardy Date: Mon Aug 10 17:14:59 2009 +0200 Merge branch 'master' of git://dev.medozas.de/linux commit 9f8666971185b86615a074bcac67c90fdf8af8bc Author: Brice Goglin Date: Mon Aug 10 15:26:32 2009 +0200 perf report: Add raw displaying of per-thread counters If --pretty=raw is given to perf report -T, it now displays one line per-thread per-counter with the raw event id added. We get: # PID TID Name Raw Count 18608 18609 cache-misses 28e 416744 18608 18609 cache-references 28f 6456792 18608 18608 cache-misses 28e 448219 18608 18608 cache-references 28f 7270244 instead of: # PID TID cache-misses cache-references 18608 18609 416744 6456792 18608 18608 448219 7270244 Signed-off-by: Brice Goglin Acked-by: Peter Zijlstra LKML-Reference: <4A802008.5050409@inria.fr> Signed-off-by: Ingo Molnar commit e576e05a73bc1a00cdf56630942dbada1bf280a1 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 10 08:54:16 2009 -0400 nfs: remove superfluous BUG_ON()s Subject: [PATCH] nfs: remove superfluous BUG_ON()s Remove duplicated BUG_ON()s from nfs[4]_create_server() (we make the same checks earlier in both functions). This takes care of the following entries from Dan's list: fs/nfs/client.c +1078 nfs_create_server(47) warning: variable derefenced before check 'server->nfs_client' fs/nfs/client.c +1079 nfs_create_server(48) warning: variable derefenced before check 'server->nfs_client->rpc_ops' fs/nfs/client.c +1363 nfs4_create_server(43) warning: variable derefenced before check 'server->nfs_client' fs/nfs/client.c +1364 nfs4_create_server(44) warning: variable derefenced before check 'server->nfs_ Reported-by: Dan Carpenter Cc: corbet@lwn.net Cc: eteo@redhat.com Cc: Julia Lawall Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Trond Myklebust commit 38c73044f5f4da2ef4339319b170e5e19f8dec87 Author: Peter Staubach Date: Mon Aug 10 08:54:16 2009 -0400 NFS: read-modify-write page updating Hi. I have a proposal for possibly resolving this issue. I believe that this situation occurs due to the way that the Linux NFS client handles writes which modify partial pages. The Linux NFS client handles partial page modifications by allocating a page from the page cache, copying the data from the user level into the page, and then keeping track of the offset and length of the modified portions of the page. The page is not marked as up to date because there are portions of the page which do not contain valid file contents. When a read call comes in for a portion of the page, the contents of the page must be read in the from the server. However, since the page may already contain some modified data, that modified data must be written to the server before the file contents can be read back in the from server. And, since the writing and reading can not be done atomically, the data must be written and committed to stable storage on the server for safety purposes. This means either a FILE_SYNC WRITE or a UNSTABLE WRITE followed by a COMMIT. This has been discussed at length previously. This algorithm could be described as modify-write-read. It is most efficient when the application only updates pages and does not read them. My proposed solution is to add a heuristic to decide whether to do this modify-write-read algorithm or switch to a read- modify-write algorithm when initially allocating the page in the write system call path. The heuristic uses the modes that the file was opened with, the offset in the page to read from, and the size of the region to read. If the file was opened for reading in addition to writing and the page would not be filled completely with data from the user level, then read in the old contents of the page and mark it as Uptodate before copying in the new data. If the page would be completely filled with data from the user level, then there would be no reason to read in the old contents because they would just be copied over. This would optimize for applications which randomly access and update portions of files. The linkage editor for the C compiler is an example of such a thing. I tested the attached patch by using rpmbuild to build the current Fedora rawhide kernel. The kernel without the patch generated about 269,500 WRITE requests. The modified kernel containing the patch generated about 261,000 WRITE requests. Thus, about 8,500 fewer WRITE requests were generated. I suspect that many of these additional WRITE requests were probably FILE_SYNC requests to WRITE a single page, but I didn't test this theory. The difference between this patch and the previous one was to remove the unneeded PageDirty() test. I then retested to ensure that the resulting system continued to behave as desired. Thanx... ps Signed-off-by: Peter Staubach Signed-off-by: Trond Myklebust commit 074cc1deec5dee63fcd5d966b36fa4f3765b50fc Author: Trond Myklebust Date: Mon Aug 10 08:54:13 2009 -0400 NFS: Add a ->migratepage() aop for NFS Make NFS a bit more friendly to NUMA and memory hot removal... Signed-off-by: Trond Myklebust commit 93fe4483e6fd3e71d17cd919de14b3b1f9eb3795 Author: Tejun Heo Date: Thu Aug 6 18:14:26 2009 +0900 sound: make OSS device number claiming optional and schedule its removal If any OSS support is enabled, regardless of built-in or module, sound_core claims full OSS major number (that is, the old 0-255 region) to trap open attempts and request sound modules using custom module aliases. This feature is redundant as chrdev already has such mechanism. This preemptive claiming prevents alternative OSS implementation. The custom module aliases are scheduled to be removed and the previous patch made soundcore emit the standard chrdev aliases too to help transition. This patch schedule the feature for removal in a year and makes it optional so that developers and distros can try new things in the meantime without rebuilding the kernel. The pre-claiming can be turned off by using SOUND_OSS_CORE_PRECLAIM and/or kernel parameter soundcore.preclaim_oss. As this allows sound minors to be individually grabbed by other users, this patch updates sound_insert_unit() such that if registering individual device region fails, it tries the next available slot. For details on removal plan, please read the entry added by this patch in feature-removal-schedule.txt . Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Takashi Iwai commit e0c48a18f76415d3ec1ac28e5f7a0df10e2f3d8c Author: Mark Brown Date: Mon Aug 10 12:59:29 2009 +0100 ASoC: Drop unneeded declaration of removed wm8731 SPI write function Signed-off-by: Mark Brown commit 0a848680a82e47854347cdfecbe9adf8842719e6 Author: Tejun Heo Date: Thu Aug 6 18:13:58 2009 +0900 sound: request char-major-* module aliases for missing OSS devices Till now missing OSS devices emitted sound-slot/service-* module alises instead of the standard char-major-* if a missing device number is opened if soundcore is loaded. The custom module aliases don't have any inherent benefit than backward compatibility. sound-slot/service-* module aliases is scheduled to be removed and to help the transition this patch makes soundcore emit the standard module alises along with the custom ones. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Takashi Iwai commit 1905b1bfc0de6f69a61dc03cac0d86a04b3216bd Author: Tejun Heo Date: Thu Aug 6 18:13:23 2009 +0900 chrdev: implement __[un]register_chrdev() [un]register_chrdev() assume minor range 0-255. This patch adds __ prefixed versions which take @minorbase and @count explicitly. Signed-off-by: Tejun Heo Cc: Al Viro Cc: Greg Kroah-Hartman Signed-off-by: Takashi Iwai commit e2fe35c17fed62d4ab5038fa9bc489e967ff8416 Author: Jan Engelhardt Date: Sat Jul 18 15:22:30 2009 +0200 netfilter: xtables: check for standard verdicts in policies This adds the second check that Rusty wanted to have a long time ago. :-) Base chain policies must have absolute verdicts that cease processing in the table, otherwise rule execution may continue in an unexpected spurious fashion (e.g. next chain that follows in memory). Signed-off-by: Jan Engelhardt commit 90e7d4ab5c8b0c4c2e00e4893977f6aeec0f18f1 Author: Jan Engelhardt Date: Thu Jul 9 22:54:53 2009 +0200 netfilter: xtables: check for unconditionality of policies This adds a check that iptables's original author Rusty set forth in a FIXME comment. Underflows in iptables are better known as chain policies, and are required to be unconditional or there would be a stochastical chance for the policy rule to be skipped if it does not match. If that were to happen, rule execution would continue in an unexpected spurious fashion. Signed-off-by: Jan Engelhardt commit a7d51738e757c1ab94595e7d05594c61f0fb32ce Author: Jan Engelhardt Date: Sat Jul 18 14:52:58 2009 +0200 netfilter: xtables: ignore unassigned hooks in check_entry_size_and_hooks The "hook_entry" and "underflow" array contains values even for hooks not provided, such as PREROUTING in conjunction with the "filter" table. Usually, the values point to whatever the next rule is. For the upcoming unconditionality and underflow checking patches however, we must not inspect that arbitrary rule. Skipping unassigned hooks seems like a good idea, also because newinfo->hook_entry and newinfo->underflow will then continue to have the poison value for detecting abnormalities. Signed-off-by: Jan Engelhardt commit 47901dc2c4a3f1f9af453486a005d31fe9b393f0 Author: Jan Engelhardt Date: Thu Jul 9 23:00:19 2009 +0200 netfilter: xtables: use memcmp in unconditional check Instead of inspecting each u32/char open-coded, clean up and make use of memcmp. On some arches, memcmp is implemented as assembly or GCC's __builtin_memcmp which can possibly take advantages of known alignment. Signed-off-by: Jan Engelhardt commit e5afbba1869a5d9509c61f8962be9bdebf95f7d3 Author: Jan Engelhardt Date: Wed Jul 8 12:33:10 2009 +0200 netfilter: iptables: remove unused datalen variable Signed-off-by: Jan Engelhardt commit 98d89b4198cf7273968e9217a62ec7ccfd760171 Author: Jan Engelhardt Date: Sun Jul 5 15:55:06 2009 +0200 netfilter: xtables: realign struct xt_target_param This commit gets rid of a padding hole as reported by pahole(1). Saves 8 bytes on x86_64. Signed-off-by: Jan Engelhardt commit f88e6a8a50a603f8347343e75d035889784a507c Author: Jan Engelhardt Date: Sat Jun 13 06:25:44 2009 +0200 netfilter: xtables: switch table AFs to nfproto Signed-off-by: Jan Engelhardt commit 24c232d8e911ef6189e02da411dc2b72cb03bfcf Author: Jan Engelhardt Date: Sat Jun 13 06:20:29 2009 +0200 netfilter: xtables: switch hook PFs to nfproto Signed-off-by: Jan Engelhardt commit 57750a22ed022ed6fcdcc5bc58d16011ccfe575f Author: Jan Engelhardt Date: Sat Jun 13 06:22:18 2009 +0200 netfilter: conntrack: switch hook PFs to nfproto Simple substitution to indicate that the fields indeed use the NFPROTO_ space. Signed-off-by: Jan Engelhardt commit 93bb1e9d117bfc60306b2b8bd9e0fa7ba3c88636 Author: Jan Engelhardt Date: Fri Jun 12 19:47:21 2009 +0200 netfilter: xtables: remove redirecting header files When IPv4 and IPv6 matches were unified approx. 3.5 years ago, they received new header filenames (e.g. xt_CLASSIFY.h). Let's remove the old ones now. Signed-off-by: Jan Engelhardt commit 6461caed83412ae3e9a16785ffa64396fb66c6a6 Author: Jan Engelhardt Date: Fri Jun 12 19:46:26 2009 +0200 netfilter: xtables: remove xt_owner v0 Superseded by xt_owner v1 (v2.6.24-2388-g0265ab4). Signed-off-by: Jan Engelhardt commit 5e8e7c38533a8f86626e9410fa38f5854a6959df Author: Clemens Ladisch Date: Mon Aug 10 10:05:23 2009 +0200 sound: fix OSS MIDI output data loss In the 2.1.6 kernel, the output loop in midi_poll() was changed to enable interrupts during the outputc() call. Unfortunately, the check whether the device has accepted the current byte ("ok") was moved behind the code that removes the byte from the output queue, so one byte would be lost every time the hardware FIFO is full. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 6e2efaacb3579fd9643d0dc59963b58b801c03a1 Author: Clemens Ladisch Date: Mon Aug 10 10:06:53 2009 +0200 sound: ymfpci: increase timer resolution to 96 kHz Allow the interval timer to be programmed with its full 96 kHz precision. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 765e8db078e63fdc076fcf6024c15d3b7b955746 Author: Clemens Ladisch Date: Mon Aug 10 10:07:35 2009 +0200 sound: usb-audio: do not make URBs longer than sync packet interval Using more packets in one URB do avoid interrupts does not make sense when we have a sync pipe whose packets generate interrupts more often. Therefore, limit the URB size to the synchronization packet interval. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 4725c7287ef2c4340cb433f59e40d143c1f43c22 Author: Jan Engelhardt Date: Fri Jun 12 19:02:27 2009 +0200 netfilter: xtables: remove xt_mark v0 Superseded by xt_mark v1 (v2.6.24-2922-g17b0d7e). Signed-off-by: Jan Engelhardt commit 36d4084dc8eb7a9a3655a2041097a46aff3061e9 Author: Jan Engelhardt Date: Fri Jun 12 18:58:19 2009 +0200 netfilter: xtables: remove xt_iprange v0 Superseded by xt_iprange v1 (v2.6.24-2928-g1a50c5a1). Signed-off-by: Jan Engelhardt commit 9e05ec4b1804a1ba51f61fe169aef9b86edcd3f7 Author: Jan Engelhardt Date: Fri Jun 12 18:56:14 2009 +0200 netfilter: xtables: remove xt_conntrack v0 Superseded by xt_conntrack v1 (v2.6.24-2921-g64eb12f). Signed-off-by: Jan Engelhardt commit 84899a2b9adaf6c2e20d198d7c24562ce6b391d8 Author: Jan Engelhardt Date: Fri Jun 12 18:50:33 2009 +0200 netfilter: xtables: remove xt_connmark v0 Superseded by xt_connmark v1 (v2.6.24-2919-g96e3227). Signed-off-by: Jan Engelhardt commit c8001f7fd5a4684280fddceed9fae9ea2e4fb521 Author: Jan Engelhardt Date: Fri Jun 12 18:47:32 2009 +0200 netfilter: xtables: remove xt_MARK v0, v1 Superseded by xt_MARK v2 (v2.6.24-2918-ge0a812a). Signed-off-by: Jan Engelhardt commit e973a70ca033bfcd4d8b59d1f66bfc1e782e1276 Author: Jan Engelhardt Date: Fri Jun 12 18:42:12 2009 +0200 netfilter: xtables: remove xt_CONNMARK v0 Superseded by xt_CONNMARK v1 (v2.6.24-2917-g0dc8c76). Signed-off-by: Jan Engelhardt commit 7cd1837b5d24417eca667d674a97bea936849785 Author: Jan Engelhardt Date: Fri Jun 12 18:36:33 2009 +0200 netfilter: xtables: remove xt_TOS v0 Superseded by xt_TOS v1 (v2.6.24-2396-g5c350e5). Signed-off-by: Jan Engelhardt commit d5c9c8912a25550f2b6a0974667eb968fe6a316e Merge: da2a2aa 100d5eb Author: Takashi Iwai Date: Mon Aug 10 11:58:09 2009 +0200 Merge branch 'fix/hda' into topic/hda commit c7425314c755d5f94da7c978205c85a7c6201212 Author: Akinobu Mita Date: Sun Aug 9 17:03:52 2009 +0900 x86: Introduce GDT_ENTRY_INIT(), initialize bad_bios_desc statically Fully initialize bad_bios_desc statically instead of doing some fields statically and some dynamically. Suggested-by: "H. Peter Anvin" Signed-off-by: Akinobu Mita LKML-Reference: <20090809080350.GA4765@localhost.localdomain> Signed-off-by: Ingo Molnar commit be39ee11cd1f67b51ac8e71d177a981eb34f2ab2 Author: Tobias Klauser Date: Mon Aug 10 10:10:55 2009 +0200 netfilter: ebtables: Use %pM conversion specifier ebt_log uses its own implementation of print_mac to print MAC addresses. This patch converts it to use the %pM conversion specifier for printk. Signed-off-by: Tobias Klauser Signed-off-by: Patrick McHardy commit 549812799c8495451e71ebd9f6a862b33120a35a Author: Rafael Laufer Date: Mon Aug 10 10:08:27 2009 +0200 netfilter: nf_conntrack: add SCTP support for SO_ORIGINAL_DST Signed-off-by: Patrick McHardy commit 451d7400a34cb679369e337d67f0238ed410f484 Author: FUJITA Tomonori Date: Mon Aug 10 11:53:17 2009 +0900 sparc: Add CONFIG_DMA_API_DEBUG support All we need to do for CONFIG_DMA_API_DEBUG support is call dma_debug_init() in DMA code common for SPARC32 and SPARC64. Now SPARC32 uses two dma_map_ops structures for pci and sbus so there is not much dma stuff for SPARC32 in kernel/dma.c. kernel/ioport.c also includes dma stuff for SPARC32. So let's put all the dma stuff for SPARC32 in kernel/ioport.c and make kernel/dma.c common for SPARC32 and SPARC64. Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-9-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit ee664a9252d24ef10317d1bba8fc8f4c6495b36c Author: FUJITA Tomonori Date: Mon Aug 10 11:53:16 2009 +0900 sparc: Use asm-generic/pci-dma-compat This converts SPARC to use asm-generic/pci-dma-compat instead of the homegrown mechnism. SPARC32 has two dma_map_ops structures for pci and sbus (removing arch/sparc/kernel/dma.c, PCI and SBUS DMA accessor). The global 'dma_ops' is set to sbus_dma_ops and get_dma_ops() returns pci32_dma_ops for pci devices so we can use the appropriate dma mapping operations. Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-8-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit c2c07dbd8742a26ab3f1ee8b82237a060a0d9f61 Author: FUJITA Tomonori Date: Mon Aug 10 11:53:15 2009 +0900 sparc: Replace sbus_map_single and sbus_unmap_single with sbus_map_page and sbus_unmap_page This is a preparation for using asm-generic/pci-dma-compat.h; SPARC32 has two dma_map_ops structures for pci and sbus (removing arch/sparc/kernel/dma.c, PCI and SBUS DMA accessor). Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-7-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 595cc8560783ea31ed1208dc1f97282a2a5606b7 Author: FUJITA Tomonori Date: Mon Aug 10 11:53:14 2009 +0900 sparc: Remove no-op dma_4v_sync_single_for_cpu and dma_4v_sync_sg_for_cpu Now sparc uses include/asm-generic/dma-mapping-common.h. pci_sun4v.c doesn't need to have no-op dma_4v_sync_single_for_cpu and dma_4v_sync_sg_for_cpu (dma-mapping-common.h does nothing if sync_{single|sg}_for_cpu hook is not defined). So we can remove them safely. Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-6-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 02f7a18935eef0e56d9180fc3c35da6aad1ff3bb Author: FUJITA Tomonori Date: Mon Aug 10 11:53:13 2009 +0900 sparc: Use asm-generic/dma-mapping-common.h Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-5-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit bc0a14f154069cc4e42ea903c2c2b9984a94e4b7 Author: FUJITA Tomonori Date: Mon Aug 10 11:53:12 2009 +0900 sparc: Use dma_map_ops struct Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-4-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit be02ff9940c0106dea1470462401a07c5d52e086 Author: FUJITA Tomonori Date: Mon Aug 10 11:53:11 2009 +0900 IA64: Remove NULL flush_write_buffers flush_write_buffers() in dma-mapping-common.h was removed so we can remove NULL flush_write_buffers() in IA64. Signed-off-by: FUJITA Tomonori Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com Cc: davem@davemloft.net LKML-Reference: <1249872797-1314-3-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit a8ad568dd8ca122aa8048ea067d3599820d1c1b4 Author: Arnd Bergmann Date: Mon Aug 10 11:53:10 2009 +0900 dma-ops: Remove flush_write_buffers() in dma-mapping-common.h This moves flush_write_buffers() in asm-generic/dma-mapping-common.h to arch/x86/kernel/pci-nommu.c. The purpose of this patch is that, we can avoid defining NULL flush_write_buffers() on IA64 and SPARC. dma-mapping-common.h is used by X86 and IA64 (and SPARC soon) but only X86 with CONFIG_X86_OOSTORE or CONFIG_X86_PPRO_FENCE actually uses flush_write_buffers(). CONFIG_X86_OOSTORE or CONFIG_X86_PPRO_FENCE is usable with only kernel/pci-nommu.c (that is, not usable with other X86 IOMMU implementations such as SWIOTLB, VT-d, etc) so we can safely move flush_write_buffers() in asm-generic/dma-mapping-common.h to arch/x86/kernel/pci-nommu.c. The further discussion is: http://lkml.org/lkml/2009/6/28/104 Signed-off-by: Arnd Bergmann Acked-by: FUJITA Tomonori Cc: davem@davemloft.net Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit da2a2aaa8e3dddb41678af7e5295d9e3e6c030a4 Author: Takashi Iwai Date: Mon Aug 10 07:44:09 2009 +0200 ALSA: hda - Fix Oops due to STAC/IDT auto-mic changes The previous auto-mic patch for STAC/IDT codecs causes the Oops on machines without digital mic pins. This patch fixes the problem. Signed-off-by: Takashi Iwai commit 85a7f0ac5370901916a21935e1fafbe397b70f80 Author: Sebastian Andrzej Siewior Date: Mon Aug 10 12:50:03 2009 +1000 crypto: mv_cesa - Add support for Orion5X crypto engine This adds support for Marvell's Cryptographic Engines and Security Accelerator (CESA) which can be found on a few SoC. Tested with dm-crypt. Acked-by: Nicolas Pitre Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Herbert Xu commit 896a6de40ef3814525632609799af909338f50c3 Author: Oleg Nesterov Date: Fri Jul 10 03:27:40 2009 +0200 mm_for_maps: take ->cred_guard_mutex to fix the race with exec The problem is minor, but without ->cred_guard_mutex held we can race with exec() and get the new ->mm but check old creds. Now we do not need to re-check task->mm after ptrace_may_access(), it can't be changed to the new mm under us. Strictly speaking, this also fixes another very minor problem. Unless security check fails or the task exits mm_for_maps() should never return NULL, the caller should get either old or new ->mm. Signed-off-by: Oleg Nesterov Acked-by: Serge Hallyn Signed-off-by: James Morris commit d3c8660233d3f2801e14eaf722937ff4ed49bfb7 Author: Oleg Nesterov Date: Fri Jul 10 03:27:38 2009 +0200 mm_for_maps: shift down_read(mmap_sem) to the caller mm_for_maps() takes ->mmap_sem after security checks, this looks strange and obfuscates the locking rules. Move this lock to its single caller, m_start(). Signed-off-by: Oleg Nesterov Acked-by: Serge Hallyn Signed-off-by: James Morris commit 47d439e9fb8a81a90022cfa785bf1c36c4e2aff6 Author: Eric Paris Date: Fri Aug 7 14:53:57 2009 -0400 security: define round_hint_to_min in !CONFIG_SECURITY Fix the header files to define round_hint_to_min() and to define mmap_min_addr_handler() in the !CONFIG_SECURITY case. Built and tested with !CONFIG_SECURITY Signed-off-by: Eric Paris Signed-off-by: James Morris commit 9f51e24ee8b5a1595b6a5ac0c2be278a16488e75 Author: Marcin Slusarz Date: Sun Aug 9 21:54:00 2009 +0200 x86: Use printk_once() Signed-off-by: Marcin Slusarz Cc: "H. Peter Anvin" LKML-Reference: <1249847649-11631-6-git-send-email-marcin.slusarz@gmail.com> Signed-off-by: Ingo Molnar commit 8854e82d9accc80f43c0bc3ff06b5979ac858185 Author: Trond Myklebust Date: Sun Aug 9 15:14:30 2009 -0400 SUNRPC: Add an rpc_pipefs front end for the sunrpc cache code Signed-off-by: Trond Myklebust commit 173912a6add00f4715774dcecf9ee53274c5924c Author: Trond Myklebust Date: Sun Aug 9 15:14:29 2009 -0400 SUNRPC: Move procfs-specific stuff out of the generic sunrpc cache code Signed-off-by: Trond Myklebust commit bc74b4f5e63a09fb78e245794a0de1e5a2716bbe Author: Trond Myklebust Date: Sun Aug 9 15:14:29 2009 -0400 SUNRPC: Allow the cache_detail to specify alternative upcall mechanisms For events that are rare, such as referral DNS lookups, it makes limited sense to have a daemon constantly listening for upcalls on a channel. An alternative in those cases might simply be to run the app that fills the cache using call_usermodehelper_exec() and friends. The following patch allows the cache_detail to specify alternative upcall mechanisms for these particular cases. Signed-off-by: Trond Myklebust commit da77005f0d64486cd760f43d9b7cc2379262a363 Author: Trond Myklebust Date: Sun Aug 9 15:14:28 2009 -0400 SUNRPC: Remove the global temporary write buffer in net/sunrpc/cache.c While we do want to protect against multiple concurrent readers and writers on each upcall/downcall pipe, we don't want to limit concurrent reading and writing to separate caches. This patch therefore replaces the static buffer 'write_buf', which can only be used by one writer at a time, with use of the page cache as the temporary buffer for downcalls. We still fall back to using the the old global buffer if the downcall is larger than PAGE_CACHE_SIZE, since this is apparently needed by the SPKM security context initialisation. It then replaces the use of the global 'queue_io_mutex' with the inode->i_mutex in cache_read() and cache_write(). Signed-off-by: Trond Myklebust commit 5b7a1b9f9214cb89dd164b43ca3fab7af4058e06 Author: Trond Myklebust Date: Sun Aug 9 15:14:27 2009 -0400 SUNRPC: Ensure we initialise the cache_detail before creating procfs files Also ensure that we destroy those files before we destroy the cache_detail. Otherwise, user processes might attempt to write into uninitialised caches. Signed-off-by: Trond Myklebust commit 2da8ca26c6bfad685bfddf39728eac1c83906aa9 Author: Trond Myklebust Date: Sun Aug 9 15:14:26 2009 -0400 NFSD: Clean up the idmapper warning... What part of 'internal use' is so hard to understand? Signed-off-by: Trond Myklebust commit e57aed77ad48d28ac617ba157ad2f665f5301b30 Author: Trond Myklebust Date: Sun Aug 9 15:14:26 2009 -0400 SUNRPC: One more clean up for rpc_create_client_dir() In order to allow rpc_pipefs to create directories with different types of subtrees, it is useful to allow the caller to customise the subtree filling process. In order to do so, we separate out the parts which are specific to making an RPC client directory, and put them in a separate helper, then we convert the process of filling the directory contents into a callback. Signed-off-by: Trond Myklebust commit 23ac6581702ac6d029643328a7e6ea3baf834c5e Author: Trond Myklebust Date: Sun Aug 9 15:14:25 2009 -0400 SUNRPC: clean up rpc_setup_pipedir() There is still a little wart or two there: Since we've already got a vfsmount, we might as well pass that in to rpc_create_client_dir. Another point is that if we open code __rpc_lookup_path() here, then we can avoid looking up the entire parent directory path over and over again: it doesn't change. Also get rid of rpc_clnt->cl_pathname, since it has no users... Signed-off-by: Trond Myklebust commit 7d217caca5d704e48aa5e59aba0b3ad4c7af4fd2 Author: Trond Myklebust Date: Sun Aug 9 15:14:24 2009 -0400 SUNRPC: Replace rpc_client->cl_dentry and cl_mnt, with a cl_path Signed-off-by: Trond Myklebust commit 7d59d1e86531a53d7648726ab8a6a670ecbd8f06 Author: Trond Myklebust Date: Sun Aug 9 15:14:23 2009 -0400 SUNRPC: Clean up rpc_create_client_dir() Factor out the code that does lookups from the code that actually creates the directory. Signed-off-by: Trond Myklebust commit 458adb8ba9b26bfc66593866013adbb62a1a3d2e Author: Trond Myklebust Date: Sun Aug 9 15:14:22 2009 -0400 SUNRPC: Rename rpc_mkdir to rpc_create_client_dir() This reflects the fact that rpc_mkdir() as it stands today, can only create a RPC client type directory. Signed-off-by: Trond Myklebust commit bb1567491e43df4113ec8b088ff0ebc22f568bc5 Author: Trond Myklebust Date: Sun Aug 9 15:14:21 2009 -0400 SUNRPC: rpc_pipefs cleanup Move the files[] array closer to rpc_fill_super() Signed-off-by: Trond Myklebust commit ac6fecee3121a6825a01c8fda2f5cbf1ad6a3ebd Author: Trond Myklebust Date: Sun Aug 9 15:14:20 2009 -0400 SUNRPC: Clean up rpc_populate/depopulate Signed-off-by: Trond Myklebust commit cfeaa4a3caaf590c1fdb7a83fcd5326e7cdc70c3 Author: Trond Myklebust Date: Sun Aug 9 15:14:20 2009 -0400 SUNRPC: Clean up rpc_lookup_create Signed-off-by: Trond Myklebust commit 810d90bc2a76ff54295cfb3aa9b165160faa47ef Author: Trond Myklebust Date: Sun Aug 9 15:14:18 2009 -0400 SUNRPC: Clean up rpc_unlink() Signed-off-by: Trond Myklebust commit 7589806e961a16449003b636b369edec537c2726 Author: Trond Myklebust Date: Sun Aug 9 15:14:17 2009 -0400 SUNRPC: Clean up file creation code in rpc_pipefs Signed-off-by: Trond Myklebust commit b5bb61da2efe7519eedd6a8f3830ab33ab774b83 Author: Trond Myklebust Date: Sun Aug 9 15:14:17 2009 -0400 SUNRPC: Clean up rpc_pipefs lookup code... Signed-off-by: Trond Myklebust commit 7364af6a2d5e708b5c6fee3cce08d1bd7b27c9f1 Author: Trond Myklebust Date: Sun Aug 9 15:14:16 2009 -0400 SUNRPC: Allow rpc_pipefs_ops to have null values for upcall and downcall Also ensure that we use the umode_t type when appropriate... Signed-off-by: Trond Myklebust commit b693ba4a338da15db1db4b5ebaa36e4ab9781c82 Author: Trond Myklebust Date: Sun Aug 9 15:14:15 2009 -0400 SUNRPC: Constify rpc_pipe_ops... Signed-off-by: Trond Myklebust commit c05988cdb06237738d361ef82fbf4df1020aa3db Author: Chuck Lever Date: Sun Aug 9 15:09:47 2009 -0400 SUNRPC: Add documenting comments in net/sunrpc/timer.c Clean up: provide documenting comments for the functions in net/sunrpc/timer.c. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 9dc3b095b78347bfb02c324b5ee2e558f7267396 Author: Chuck Lever Date: Sun Aug 9 15:09:46 2009 -0400 SUNRPC: Update xprt address strings after an rpcbind completes After a bind completes, update the transport instance's address strings so debugging messages display the current port the transport is connected to. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c740eff84bcfd63c0497ef880e80171931cb8222 Author: Chuck Lever Date: Sun Aug 9 15:09:46 2009 -0400 SUNRPC: Kill RPC_DISPLAY_ALL At some point, I recall that rpc_pipe_fs used RPC_DISPLAY_ALL. Currently there are no uses of RPC_DISPLAY_ALL outside the transport modules themselves, so we can safely get rid of it. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fbfffbd5e74c5fa8c9165e110cb5899ec21e6364 Author: Chuck Lever Date: Sun Aug 9 15:09:46 2009 -0400 SUNRPC: Rename sock_xprt.addr as sock_xprt.srcaddr Clean up: Give the "addr" and "port" field less ambiguous names. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f8b761eff1e49fde43dd940ac32b38cf7cee2a95 Author: Chuck Lever Date: Sun Aug 9 15:09:44 2009 -0400 SUNRPC: Eliminate PROC macro from rpcb_clnt Clean up: Replace PROC macro with open coded C99 structure initializers to improve readability. The rpcbind v4 GETVERSADDR procedure is never sent by the current implementation, so it is not copied to the new structures. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0e47f0d665efcf1b45f293422d21d8383f07d122 Author: Chuck Lever Date: Sun Aug 9 15:09:43 2009 -0400 SUNRPC: Clean up: Remove unused XDR decoder functions from rpcb_clnt.c Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c0c077df009f2f329875051ac5283df235288689 Author: Chuck Lever Date: Sun Aug 9 15:09:43 2009 -0400 SUNRPC: Introduce new xdr_stream-based decoders to rpcb_clnt.c Replace the open-coded decode logic for PMAP_GETPORT/RPCB_GETADDR with an xdr_stream-based implementation, similar to what NFSv4 uses, to protect against buffer overflows. The new implementation also checks that the incoming port number is reasonable. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7ed0ff983c8ad30bf4e2b9fdbb299a3e3ec08d08 Author: Chuck Lever Date: Sun Aug 9 15:09:42 2009 -0400 SUNRPC: Introduce xdr_stream-based decoders for RPCB_UNSET Replace the open-coded decode logic for rpcbind UNSET results with an xdr_stream-based implementation, similar to what NFSv4 uses, to protect against buffer overflows. The new function is unused for the moment. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0d36c4f7574d5a33bedd8f0e3c793490d45d83c6 Author: Chuck Lever Date: Sun Aug 9 15:09:41 2009 -0400 SUNRPC: Clean up: Remove unused XDR encoder functions from rpcb_clnt.c Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 6f2c2db7a46243bd86e3d7ff5f9ff982f26a9fe8 Author: Chuck Lever Date: Sun Aug 9 15:09:40 2009 -0400 SUNRPC: Introduce new xdr_stream-based encoders to rpcb_clnt.c Replace the open-coded encode logic for rpcbind arguments with an xdr_stream-based implementation, similar to what NFSv4 uses, to better protect against buffer overflows. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 4116092b92f859e5e9a90c99d740933e651ee8c0 Author: Chuck Lever Date: Sun Aug 9 15:09:40 2009 -0400 NFSD: Support IPv6 addresses in write_failover_ip() In write_failover_ip(), replace the sscanf() with a call to the common sunrpc.ko presentation address parser. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c15128c5e428af1e8ada1476484a74c970665edd Author: Chuck Lever Date: Sun Aug 9 15:09:39 2009 -0400 lockd: Replace nsm_display_address() with rpc_ntop() Clean up. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit b97a56747ea3f6c1a27dd0719bf1424959f1ebae Author: Chuck Lever Date: Sun Aug 9 15:09:38 2009 -0400 lockd: Replace nlm_clear_port() Clean up: Use shared rpc_set_port() function instead of nlm_clear_port(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ec6ee61250acfccbc5578dd4014735fb2cbe53b5 Author: Chuck Lever Date: Sun Aug 9 15:09:37 2009 -0400 NFS: Replace nfs_set_port() with rpc_set_port() Clean up. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 53a0b9c4c99ab0085a06421f71592722e5b3fd5f Author: Chuck Lever Date: Sun Aug 9 15:09:36 2009 -0400 NFS: Replace nfs_parse_ip_address() with rpc_pton() Clean up: Use the common routine now provided in sunrpc.ko for parsing mount addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c877b849d302d1275452af80b7221a2555dc02e1 Author: Chuck Lever Date: Sun Aug 9 15:09:36 2009 -0400 SUNRPC: Use rpc_ntop() for constructing transport address strings Clean up: In addition to using the new generic rpc_ntop() and rpc_get_port() functions, have the RPC client compute the presentation address buffer sizes dynamically using kstrdup(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ba809130bc260fce04141aca01ef9e068d32af2a Author: Chuck Lever Date: Sun Aug 9 15:09:35 2009 -0400 SUNRPC: Remove duplicate universal address generation RPC universal address generation is currently done in several places: rpcb_clnt.c, nfs4proc.c xprtsock.c, and xprtrdma.c. Remove the redundant cases that convert a socket address to a universal address. The nfs4proc.c case takes a pre-formatted presentation address string, not a socket address, so we'll leave that one. Because the new uaddr constructor uses the recently introduced rpc_ntop(), it now supports proper "::" shorthanding for IPv6 addresses. This allows the kernel to register properly formed universal addresses with the local rpcbind service, in _all_ cases. The kernel can now also send properly formed universal addresses in RPCB_GETADDR requests, and support link-local properly when encoding and decoding IPv6 addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit a02d692611348f11ee1bc37431a883c3ff2de23e Author: Chuck Lever Date: Sun Aug 9 15:09:34 2009 -0400 SUNRPC: Provide functions for managing universal addresses Introduce a set of functions in the kernel's RPC implementation for converting between a socket address and either a standard presentation address string or an RPC universal address. The universal address functions will be used to encode and decode RPCB_FOO and NFSv4 SETCLIENTID arguments. The other functions are part of a previous promise to deliver shared functions that can be used by upper-layer protocols to display and manipulate IP addresses. The kernel's current address printf formatters were designed specifically for kernel to user-space APIs that require a particular string format for socket addresses, thus are somewhat limited for the purposes of sunrpc.ko. The formatter for IPv6 addresses, %pI6, does not support short-handing or scope IDs. Also, these printf formatters are unique per address family, so a separate formatter string is required for printing AF_INET and AF_INET6 addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0b10bf5e14d856d1d27a2117d07af2bebee81b75 Author: Chuck Lever Date: Sun Aug 9 15:09:33 2009 -0400 SUNRPC: Move XDR data type size macros Clean up: To make subsequent patches cleaner, move the XDR data type size macros to the top of the file (similar to nfs4xdr.c) first. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 169026a61e6f436dfc12c9d10d95455c4e9f945b Author: Chuck Lever Date: Sun Aug 9 15:09:32 2009 -0400 SUNRPC: Clean up RPCBIND_MAXUADDRLEN definitions Clean up: Replace the single-integer definition of RPCBIND_MAXUADDRLEN with a definition that is based on previously defined address string sizes, and document the way this maximum is calculated. Also provide a separate macro for the size of the port number extension. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ec88f28d1eb77346f19ca324ceec76e645cdd9da Author: Chuck Lever Date: Sun Aug 9 15:09:32 2009 -0400 NFS: Use the authentication flavor list returned by mountd Commit a14017db added support in the kernel's NFS mount client to decode the authentication flavor list returned by mountd. The NFS client can now use this list to determine whether the authentication flavor requested by the user is actually supported by the server. Note we don't actually negotiate the security flavor if none was specified by the user. Instead, we try to use AUTH_SYS, and fail if the server does not support it. This prevents us from negotiating an inappropriate security flavor (some servers list AUTH_NULL first). If the server does not support AUTH_SYS, the user must provide an appropriate security flavor by specifying the "sec=" mount option. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 059f90b323c0f5d34656ab7e0548d7d033c2a51a Author: Chuck Lever Date: Sun Aug 9 15:09:31 2009 -0400 NFS: Fix auth flavor len accounting Previous logic in the NFS mount parsing code path assumed auth_flavor_len was set to zero for simple authentication flavors (like AUTH_UNIX), and 1 for compound flavors (like AUTH_GSS). At some earlier point (maybe even before the option parsers were merged?) specific checks for auth_flavor_len being zero were removed from the functions that validate the mount option that sets the mount point's authentication flavor. Since we are populating an array for authentication flavors, the auth_flavor_len should always be set to the number of flavors. Let's eliminate some cleverness here, and prepare for new logic that needs to know the number of flavors in the auth_flavors[] array. (auth_flavors[] is an array because at some point we want to allow a list of acceptable authentication flavors to be specified via the sec= mount option. For now it remains a single element array). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0b524123c93893391ec9e6c9b04998a45235f9c8 Author: Chuck Lever Date: Sun Aug 9 15:09:30 2009 -0400 NFS: Add ability to send MOUNTPROC_UMNT to the kernel's mountd client After certain failure modes of an NFS mount, an NFS client should send a MOUNTPROC_UMNT request to remove the just-added mount entry from the server's mount table. While no-one should rely on the accuracy of the server's mount table, sending a UMNT is simply being a good internet neighbor. Since NFS mount processing is handled in the kernel now, we will need a function in the kernel's mountd client that can post a MOUNTRPC_UMNT request, in order to handle these failure modes. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f3f4f4ed26b116f621596f74d42d2b736171e968 Author: Chuck Lever Date: Sun Aug 9 15:09:29 2009 -0400 NFS: Fix up new minorversion= option The new minorversion= mount option (commit 3fd5be9e) was merged at the same time as the recent sloppy parser fixes (commit a5a16bae), so minorversion= still uses the old value parsing logic. If the minorversion= option specifies a bogus value, it should fail with "bad value" not "bad option." Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 8f738d58425625faf0c1a6dbfdd4458545338551 Author: Mark Brown Date: Sun Aug 9 20:08:31 2009 +0100 ASoC: Define more formats for the AC97 CODECs Signed-off-by: Mark Brown commit c140aa91357c415c91269884518fa1d6fdebc20d Author: Trond Myklebust Date: Sun Aug 9 15:06:19 2009 -0400 NFSv4: Clean up the nfs.callback_tcpport option Tighten up the validity checking in param_set_port: check for NULL pointers. Ensure that the option shows up on 'modinfo' output. Signed-off-by: Trond Myklebust commit cbf1107126af2950623fafdaa5c9df43ab00f046 Author: Trond Myklebust Date: Sun Aug 9 15:06:19 2009 -0400 SUNRPC: convert some sysctls into module parameters Parameters like the minimum reserved port, and the number of slot entries should really be module parameters rather than sysctls. Signed-off-by: Trond Myklebust commit 80e52aced138bb41b045a8595a87510f27d8d8c5 Author: Trond Myklebust Date: Sun Aug 9 15:06:19 2009 -0400 NFSv4: Don't do idmapper upcalls for asynchronous RPC calls We don't want to cause rpciod to hang... Signed-off-by: Trond Myklebust commit 62ab460cf5e450e1d207a98a9c6cf2e4a6a78fd1 Author: Trond Myklebust Date: Sun Aug 9 15:06:19 2009 -0400 NFSv4: Add 'server capability' flags for NFSv4 recommended attributes If the NFSv4 server doesn't support a POSIX attribute, the generic NFS code needs to know that, so that it don't keep trying to poll for it. However, by the same count, if the NFSv4 server does support that attribute, then we should ensure that the inode metadata is appropriately labelled as being untrusted. For instance, if we don't know the correct value of the file's uid, we should certainly not be caching ACLs or ACCESS results. Signed-off-by: Trond Myklebust commit a78cb57a106fceeba26da2907db9d8886700e1dc Author: Trond Myklebust Date: Sun Aug 9 15:06:19 2009 -0400 NFSv4: Don't loop forever on state recovery failure... If the server is broken, then retrying forever won't fix it. We should just give up after a while, and return an error to the user. We set the number of retries to 10 for now... Signed-off-by: Trond Myklebust commit dd8ac1da4190139de70da18823ff8f5992a649ae Author: Roel Kluin Date: Sun Aug 9 15:06:19 2009 -0400 nfs: Keep index within mnt_errtbl[] Ensure that index i remains within array mnt_errtbl[] and mnt3_errtbl[]. Signed-off-by: Roel Kluin Signed-off-by: Trond Myklebust commit 8e5b59a2d728e6963b35dba8bb36e0b70267462e Author: Arnd Bergmann Date: Thu Aug 6 16:02:50 2009 -0700 sched: Add default defines for PREEMPT_ACTIVE The PREEMPT_ACTIVE setting doesn't actually need to be arch-specific, so set up a sane default for all arches to (hopefully) migrate to. > if we look at linux/hardirq.h, it makes this claim: > * - bit 28 is the PREEMPT_ACTIVE flag > if that's true, then why are we letting any arch set this define ? a > quick survey shows that half the arches (11) are using 0x10000000 (bit > 28) while the other half (10) are using 0x4000000 (bit 26). and then > there is the ia64 oddity which uses bit 30. the exact value here > shouldnt really matter across arches though should it ? actually alpha, arm and avr32 also use bit 30 (0x40000000), there are only five (or eight, depending on how you count) architectures (blackfin, h8300, m68k, s390 and sparc) using bit 26. Signed-off-by: Arnd Bergmann Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 8d51327090ac025d7f4ce6c059786b5e93513321 Author: Brice Goglin Date: Fri Aug 7 13:55:24 2009 +0200 perf report: Fix and improve the displaying of per-thread event counters Improve and fix the handling of per-thread counter stats recorded via perf record -s. Previously we only displayed it in debug printouts (-D) and even that output was hard to disambiguate. I moved everything to utils/values.[ch] so that we may reuse it in perf stat. We get something like this now: # PID TID cache-misses cache-references 4658 4659 495581 3238779 4658 4662 498246 3236823 4658 4663 499531 3243162 Then it'll be easy to add --pretty=raw to display a single line per thread/event. By the way, -S was also used for --symbol... So I used -T/--thread here. perf report: Add -T/--threads to display per-thread counter values We get something like this now: # PID TID cache-misses cache-references 4658 4659 495581 3238779 4658 4662 498246 3236823 4658 4663 499531 3243162 Per-thread arrays of counter values are managed in utils/values.[ch] Signed-off-by: Brice Goglin Cc: Peter Zijlstra Cc: paulus@samba.org Signed-off-by: Ingo Molnar commit 30dd568c912602b7dbd609a45d053e01b13422bb Author: Markus Metzger Date: Tue Jul 21 15:56:48 2009 +0200 x86, perf_counter, bts: Add BTS support to perfcounters Implement a performance counter with: attr.type = PERF_TYPE_HARDWARE attr.config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS attr.sample_period = 1 Using branch trace store (BTS) on x86 hardware, if available. The from and to address for each branch can be sampled using: PERF_SAMPLE_IP for the from address PERF_SAMPLE_ADDR for the to address [ v2: address review feedback, fix bugs ] Signed-off-by: Markus Metzger Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c36ba80ea01d0aecb652c26799a912e760ce8981 Author: Bartlomiej Zolnierkiewicz Date: Thu Aug 6 21:46:03 2009 +0200 irq: Remove superfluous NULL pointer check in check_irq_resend() This takes care of the following entry from Dan's list: kernel/irq/resend.c +73 check_irq_resend(17) warning: variable derefenced before check 'desc->chip' Reported-by: Dan Carpenter Signed-off-by: Bartlomiej Zolnierkiewicz Cc: Jonathan Corbet Cc: Eugene Teo Cc: Julia Lawall LKML-Reference: <200908062146.03638.bzolnier@gmail.com> Signed-off-by: Ingo Molnar commit 42c2c8c854a716b05882a122632ddcd6dbe108f1 Author: Sonic Zhang Date: Thu Aug 6 15:58:11 2009 -0700 printk: Fix "printk: Enable the use of more than one CON_BOOT (early console)" Don't return when we find the first bootconsole - it can leave other bootconsoles still installed, and they can be used and cause problems later (if they are in the init section, and eventually released), and cause problems. Make sure we remove all of them. Signed-off-by: Sonic Zhang Signed-off-by: Robin Getz Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 4c711576b90cc36c13b94816a953a8de6a53d03c Author: Amerigo Wang Date: Thu Aug 6 15:58:12 2009 -0700 x86, 32-bit: Use generic sys_pipe() As suggested by Al, it's better to use the generic sys_pipe() for ia32. Signed-off-by: WANG Cong Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit fb82ad719831db58e9baa4c67015aae3fe27e7e3 Author: Tom Zanussi Date: Sat Aug 8 10:49:36 2009 -0500 tracing/filters: Don't use pred on alloc failure Dan Carpenter sent me a fix to prevent pred from being used if it couldn't be allocated. This updates his patch for the same problem in the tracing tree (which has changed this code quite substantially). Reported-by: Dan Carpenter Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Li Zefan LKML-Reference: <1249746576.6453.30.camel@tropicana> Signed-off-by: Ingo Molnar The original report: create_logical_pred() could sometimes return NULL. It's a static checker complaining rather than problems at runtime... commit 72c4d8530244264317a662de9a55cc47e6c8e9df Author: Ingo Molnar Date: Mon Aug 3 08:47:07 2009 +0200 x86: Introduce GDT_ENTRY_INIT(), fix APM This crash: [ 0.891983] calling cache_sysfs_init+0x0/0x1ee @ 1 [ 0.897251] initcall cache_sysfs_init+0x0/0x1ee returned 0 after 405 usecs [ 0.904019] calling mce_init_device+0x0/0x242 @ 1 [ 0.909124] initcall mce_init_device+0x0/0x242 returned 0 after 347 usecs [ 0.915815] calling apm_init+0x0/0x38d @ 1 [ 0.919967] apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac) [ 0.926813] general protection fault: 0000 [#1] [ 0.927269] last sysfs file: [ 0.927269] Modules linked in: [ 0.927269] [ 0.927269] Pid: 271, comm: kapmd Not tainted (2.6.31-rc3-00100-gd520da1-dirty #311) System Product Name [ 0.927269] EIP: 00c0:[<000082b2>] EFLAGS: 00010002 CPU: 0 [ 0.927269] EIP is at 0x82b2 [ 0.927269] EAX: 0000530e EBX: 00000000 ECX: 00000102 EDX: 00000000 [ 0.927269] ESI: 00000000 EDI: f6a4bf44 EBP: 67890000 ESP: f6a4beec [ 0.927269] DS: 00c8 ES: 0000 FS: 0000 GS: 0000 SS: 0068 [ 0.927269] Process kapmd (pid: 271, ti=f6a4a000 task=f7142280 task.ti=f6a4a000) [ 0.927269] Stack: [ 0.927269] 0000828d 02160000 00b88092 f6a4bf3c c102a63d 00000060 f6a4bf3c f6a4bf44 [ 0.927269] <0> 0000007b 0000007b 00000000 00000000 00000000 00000000 560aae9e 00000000 [ 0.927269] <0> 00000200 f705fd74 00000000 c102af70 f6a4bf60 c102a6ec 0000530e 00000000 [ 0.927269] Call Trace: [ 0.927269] [] ? __apm_bios_call_simple+0x7d/0x110 [ 0.927269] [] ? apm+0x0/0x6a0 [ 0.927269] [] ? apm_bios_call_simple+0x1c/0x50 [ 0.927269] [] ? apm+0x485/0x6a0 [ 0.927269] [] ? finish_task_switch+0x2a/0xb0 [ 0.927269] [] ? schedule+0x31e/0x480 [ 0.927269] [] ? apm+0x0/0x6a0 [ 0.927269] [] ? apm+0x0/0x6a0 [ 0.927269] [] ? kthread+0x74/0x80 [ 0.927269] [] ? kthread+0x0/0x80 [ 0.927269] [] ? kernel_thread_helper+0x7/0x10 [ 0.927269] Code: Bad EIP value. [ 0.927269] EIP: [<000082b2>] 0x82b2 SS:ESP 0068:f6a4beec [ 0.927269] ---[ end trace a7919e7f17c0a725 ]--- [ 0.927269] Kernel panic - not syncing: Fatal exception [ 0.927269] Pid: 271, comm: kapmd Tainted: G D 2.6.31-rc3-00100-gd520da1-dirty #311 Is caused by an incorrect GDT_ENTRY_INIT() conversion in the apm code, as noticed by hpa. Reported-by: Ingo Molnar Noticed-by: "H. Peter Anvin" Signed-off-by: Akinobu Mita LKML-Reference: <20090808094905.GA2954@localhost.localdomain> Signed-off-by: Ingo Molnar commit 1e5de18278e6862f4198412b5059a03770fa816a Author: Akinobu Mita Date: Sun Jul 19 00:12:20 2009 +0900 x86: Introduce GDT_ENTRY_INIT() GDT_ENTRY_INIT is static initializer of desc_struct. We already have similar macro GDT_ENTRY() but it's static initializer for u64 and it cannot be used for desc_struct. Signed-off-by: Akinobu Mita LKML-Reference: <20090718151219.GD11294@localhost.localdomain> Signed-off-by: Ingo Molnar commit f3d1915a8623b9248572d3ee44e19a80b7a3520b Author: Cyrill Gorcunov Date: Thu Aug 6 00:09:31 2009 +0400 x86, ioapic: Panic on irq-pin binding only if needed Though the most time we are to panic on irq-pin allocation fails, for PCI interrupts it's not the case and we could continue operate even if irq-pin allocation failed. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090805200931.GB5319@lenovo> Signed-off-by: Ingo Molnar commit 35b1207b34975d7ff2ea014171229c02bdb066f1 Author: Mark Brown Date: Sat Aug 8 10:37:33 2009 +0100 ASoC: Convert WM8776 to use factored out register cache code Signed-off-by: Mark Brown commit 7ae5945f0cacdfa30ed3257892dbea75bc959a28 Author: Chaithrika U S Date: Fri Aug 7 10:07:51 2009 -0400 ASoC: DaVinci: Support Audio on DA830 EVM Add support for audio on DA830 EVM- here McASP1 is interfaced to TLV320AIC3106 codec. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit dbe9ea6e79d38cd5f2069405864ff06606cf9ff1 Author: Uwe Kleine-König Date: Fri Aug 7 22:42:37 2009 +0200 ASoC: s3c2443-ac97: convert semaphore to mutex This fixes a build failure for 2.6.31-rc4-rt1 (ARCH=arm, s3c2410_defconfig): CC [M] sound/soc/s3c24xx/s3c2443-ac97.o sound/soc/s3c24xx/s3c2443-ac97.c:50: warning: type defaults to 'int' in declaration of 'DECLARE_MUTEX' sound/soc/s3c24xx/s3c2443-ac97.c:50: warning: parameter names (without types) in function declaration sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_read': sound/soc/s3c24xx/s3c2443-ac97.c:59: error: 'ac97_mutex' undeclared (first use in this function) sound/soc/s3c24xx/s3c2443-ac97.c:59: error: (Each undeclared identifier is reported only once sound/soc/s3c24xx/s3c2443-ac97.c:59: error: for each function it appears in.) sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_write': sound/soc/s3c24xx/s3c2443-ac97.c:93: error: 'ac97_mutex' undeclared (first use in this function) Signed-off-by: Uwe Kleine-König Signed-off-by: Mark Brown commit b7b8f9bf0cd73b90561e8123fd5ec28f4539c419 Author: Janusz Krzysztofik Date: Thu Aug 6 13:07:32 2009 +0200 TTY/ASoC: Rename N_AMSDELTA line discipline to N_V253 The patch changes the line discipline name registered in include/linux/tty.h and updates the ams-delta machine driver to use it. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 06cddefc1f25b847dafe392f3d5781482b3395b5 Merge: b9b5cc2 27ded04 Author: Mark Brown Date: Fri Aug 7 11:43:58 2009 +0100 Merge branch 'reg-cache' into for-2.6.32 commit b9b5cc26d0b3a9b361cc56c3a3b0d6f819b9195f Merge: 6a90d53 c12abc0 Author: Mark Brown Date: Fri Aug 7 11:42:01 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit 6a90d536feeccb2c84a2831252b1ed4642684da3 Author: Troy Kisky Date: Thu Aug 6 16:55:32 2009 -0700 ASoC: DaVinci: pcm, constrain buffer size to multiple of period The dma setup code assumes that the buffer size is a multiple of the period size. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 9bb74150561bb337b49192a8f8e8f812057b88ea Author: Troy Kisky Date: Thu Aug 6 16:55:31 2009 -0700 ASoC: DaVinci: i2s: don't bounce through rtd to get dai dai is a parameter to the functions, so use it instead of looking it up. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit c12abc012e18b362204345c323536f228d65c4db Author: Jarkko Nikula Date: Fri Aug 7 09:59:47 2009 +0300 ARM: OMAP: McBSP: Fix ASoC on OMAP1510 by fixing API of omap_mcbsp_start/stop Simultaneous audio playback and capture on OMAP1510 can cause that second stream is stalled if there is enough delay between startup of the audio streams. Current implementation of the omap_mcbsp_start is starting both transmitter and receiver at the same time and it is called only for firstly started audio stream from the OMAP McBSP based ASoC DAI driver. Since DMA request lines on OMAP1510 are edge sensitive, the DMA request is missed if there is no DMA transfer set up at that time when the first word after McBSP startup is transmitted. The problem hasn't noted before since later OMAPs are using level sensitive DMA request lines. Fix the problem by changing API of omap_mcbsp_start and omap_mcbsp_stop by allowing to start and stop individually McBSP transmitter and receiver logics. Then call those functions individually for both audio playback and capture streams. This ensures that DMA transfer is setup before transmitter or receiver is started. Thanks to Janusz Krzysztofik for detailed problem analysis and Peter Ujfalusi for info about DMA request line behavior differences between the OMAP generations. Reported-and-tested-by: Janusz Krzysztofik Signed-off-by: Jarkko Nikula Acked-by: Tony Lindgren Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit bbd8a0d3a3b65d341437f8b99c828fa5cc29c739 Author: Krishna Kumar Date: Thu Aug 6 01:44:21 2009 +0000 net: Avoid enqueuing skb for default qdiscs dev_queue_xmit enqueue's a skb and calls qdisc_run which dequeue's the skb and xmits it. In most cases, the skb that is enqueue'd is the same one that is dequeue'd (unless the queue gets stopped or multiple cpu's write to the same queue and ends in a race with qdisc_run). For default qdiscs, we can remove the redundant enqueue/dequeue and simply xmit the skb since the default qdisc is work-conserving. The patch uses a new flag - TCQ_F_CAN_BYPASS to identify the default fast queue. The controversial part of the patch is incrementing qlen when a skb is requeued - this is to avoid checks like the second line below: + } else if ((q->flags & TCQ_F_CAN_BYPASS) && !qdisc_qlen(q) && >> !q->gso_skb && + !test_and_set_bit(__QDISC_STATE_RUNNING, &q->state)) { Results of a 2 hour testing for multiple netperf sessions (1, 2, 4, 8, 12 sessions on a 4 cpu system-X). The BW numbers are aggregate Mb/s across iterations tested with this version on System-X boxes with Chelsio 10gbps cards: ---------------------------------- Size | ORG BW NEW BW | ---------------------------------- 128K | 156964 159381 | 256K | 158650 162042 | ---------------------------------- Changes from ver1: 1. Move sch_direct_xmit declaration from sch_generic.h to pkt_sched.h 2. Update qdisc basic statistics for direct xmit path. 3. Set qlen to zero in qdisc_reset. 4. Changed some function names to more meaningful ones. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 9f519f68cfffba022978634f724944a0b971fec1 Author: Yevgeny Petrilin Date: Thu Aug 6 19:28:18 2009 -0700 mlx4_en: Not using Shared Receive Queues We use 1:1 mapping between QPs and SRQs on receive side, so additional indirection level not required. Allocated the receive buffers for the RSS QPs. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit b6b912e0804dc1b3e856da3cc82fbe78b50e968c Author: Yevgeny Petrilin Date: Thu Aug 6 19:27:51 2009 -0700 mlx4_en: Using real number of rings as RSS map size There is no point in using more QPs then actual number of receive rings. If the RSS function for two streams gives the same result modulo number of rings, they will arrive to the same RX ring anyway. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit a35ee541a66d11d26da30d3f6046dbddd073334e Author: Yevgeny Petrilin Date: Thu Aug 6 19:27:28 2009 -0700 mlx4_en: Adaptive moderation policy change If the net device is identified as "sender" (number of sent packets is higher then the number of received packets and the incoming packets are small), set the moderation time to its low limit. We do it because the incoming packets are acks, and we don't want to delay them Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 6cb87823627699b0267234a210d8199b681c70e3 Author: Daniel Mack Date: Wed Aug 5 08:29:31 2009 +0000 net: smsc911x: switch to new dev_pm_ops Hibernation is unsupported for now, which meets the actual implementation in the driver. For free/thaw, the chip's D2 state should be entered. Signed-off-by: Daniel Mack Acked-by: Signed-off-by: David S. Miller commit a48ec346fcb095f6a0e74a57165f9a9a3b23b95a Author: Atsushi Nemoto Date: Thu Aug 6 04:41:49 2009 +0000 tc35815: Use 0 RxFragSize.MinFrag value for non-packing mode The datasheet say "When not enabling packing, the MinFrag value must remain at 0". Do not set value to RxFragSize register if TC35815_USE_PACKEDBUFFER disabled. This is not a bugfix. No real problem reported on this. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit 7bb82e834cc9cc95512287a9bf637719557674a0 Author: Atsushi Nemoto Date: Thu Aug 6 04:41:48 2009 +0000 tc35815: Fix rx_missed_errors count The Miss_Cnt register is cleared by reading. Accumulate its value to rx_missed_errors count. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit c60a5cf7af0a94cf8b09ca22796affa5f5f0669a Author: Atsushi Nemoto Date: Thu Aug 6 04:41:47 2009 +0000 tc35815: Increase timeout for mdio The current timeout value is too short for very high-load condition which jiffies might jump up in busy-loop. Also add minimum delay before checking completion of MDIO. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit db30f5ef6e4471fd55671382b8870fdd61e35814 Author: Atsushi Nemoto Date: Thu Aug 6 04:41:46 2009 +0000 tc35815: Improve BLEx / FDAEx handling Clear Int_BLEx / Int_FDAEx after (not before) processing Rx interrupt. This will reduce number of unnecessary interrupts. Also print rx error messages only if netif_msg_rx_err() enabled. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit 297713decac17527d3583fcd4d18564568cac759 Author: Atsushi Nemoto Date: Thu Aug 6 04:41:45 2009 +0000 tc35815: Disable StripCRC It seems Rx_StripCRC cause trouble on recovering from the BLEx (Buffer List Exhaust) or FDAEx (Free Descriptor Area Exhaust) condition. Do not use it. Also bump version number up. Reported-by: Ralf Roesch Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit bfe34ebbaa125f00da309f59cc9d30febe1e3115 Merge: 3d7ddd5 6b4f645 Author: David S. Miller Date: Thu Aug 6 12:57:18 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit a5479e389e989acfeca9c32eeb0083d086202280 Author: Daniel Ribeiro Date: Mon Jun 15 21:44:31 2009 -0300 ASoC: change set_tdm_slot api to allow slot_width override. Extend set_tdm_slot to allow the user to arbitrarily set the frame width and active TX/RX slots. Updates magician.c and wm9081.c for the new set_tdm_slot(). wm9081.c still doesn't handle the slot_width override. While being there, correct an incorrect use of SlotsPerFrm(7) use in bitmask on pxa-ssp.c (SSCR0_SlotsPerFrm(x) is (((x) - 1) << 24)) ). (this series is meant for Mark's for-2.6.32 branch) Signed-off-by: Daniel Ribeiro Signed-off-by: Mark Brown commit 9029bb316bb99ccc7f0518c4d3e0d6adc0729c4f Author: Janusz Krzysztofik Date: Thu Aug 6 12:25:00 2009 +0200 ASoC: CX20442: simplify codec controller usage This patch is a workaround for the problem of several subsequent control statements not being applied correctly to the codec controller (modem). In order to follow the hook switch state change from handset to handsfree while in full duplex mode, two consecutive +VLS control commands were sent to the modem. The first one was M1 (microphone only), the seconds one was M1S1 (both microphone and speaker). As there was no real modem handshaking procedure implemented, neither in the codec nor in the machine driver part of the line discipline, the modem was having the second command missed. Since a possibility to switch to microphone only mode (and speaker only mode as well) seams of no value, I have modified the code to issue single M1S1 command only for any of those cases. Tested on my Amstrad Delta. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 4977b03e3dc3b76182903cda2df9dc2ef8f566a0 Author: Janusz Krzysztofik Date: Thu Aug 6 12:24:54 2009 +0200 ASoC: CX20442: add some debugging This patch adds debugging statement that can help in tracing how the driver is trying to control the codec device. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 924914ee953f2ccf3a2d49bda08c9ce1046a0c58 Author: Mark Brown Date: Tue Aug 4 23:50:16 2009 +0100 ASoC: Add WM8776 CODEC driver The WM8776 is a high performance, stereo audio CODEC with five channel input selector. The WM8776 is ideal for surround sound processing applications for home hi-fi, DVD-RW and other audio visual equipment. This driver implements support for most WM8776 features - currently the ADC automatic level control/limiter functionality is omitted. Signed-off-by: Mark Brown commit 1972d02504b142a6f1442bd987a8831146031d3d Author: Takashi Iwai Date: Thu Aug 6 08:44:43 2009 +0200 ALSA: hda - Add quirks for some HP laptops The new HP laptops have PCI SSID 103c:701x and requires model=hp-dv5. Signed-off-by: Takashi Iwai commit ace1366369841c9c3a9788f79baa4d73f1c53107 Author: Huang Ying Date: Thu Aug 6 15:35:20 2009 +1000 crypto: cryptd - Add support to access underlaying shash cryptd_alloc_ahash() will allocate a cryptd-ed ahash for specified algorithm name. The new allocated one is guaranteed to be cryptd-ed ahash, so the shash underlying can be gotten via cryptd_ahash_child(). Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 9382d97af586a47dad312765e35c61aa7ad7fcdd Author: Huang Ying Date: Thu Aug 6 15:34:26 2009 +1000 crypto: gcm - Use GHASH digest algorithm Remove the dedicated GHASH implementation in GCM, and uses the GHASH digest algorithm instead. This will make GCM uses hardware accelerated GHASH implementation automatically if available. ahash instead of shash interface is used, because some hardware accelerated GHASH implementation needs asynchronous interface. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 2cdc6899a88e2b9c6cb82ebd547bf58932d534df Author: Huang Ying Date: Thu Aug 6 15:32:38 2009 +1000 crypto: ghash - Add GHASH digest algorithm for GCM GHASH is implemented as a shash algorithm. The actual implementation is copied from gcm.c. This makes it possible to add architecture/hardware accelerated GHASH implementation. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit a2ca5e03b6a5a1d401062f0a7f78888cf9e5e3b0 Author: Frederic Weisbecker Date: Thu Aug 6 07:32:21 2009 +0200 tracing/events: Only define remove_subsystem_dir() if CONFIG_MODULES If we disable modules, we get the following warning in ftrace events file: kernel/trace/trace_events.c:912: attention : ‘remove_subsystem_dir’ defined but not used remove_subystem_dir() is useless if !CONFIG_MODULES, then move it to the appropriate #ifdef section of trace_events.c Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 1a0799a8fef5acc6503f9c5e79b2cd003317826c Author: Frederic Weisbecker Date: Wed Jul 29 18:59:58 2009 +0200 tracing/function-graph-tracer: Move graph event insertion helpers in the graph tracer file The function graph events helpers which insert the function entry and return events into the ring buffer currently reside in trace.c But this file is quite overloaded and the right place for these helpers is in the function graph tracer file. Then move them to trace_functions_graph.c Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 82e04af498a85ba425efe77580b7ba08234411df Author: Frederic Weisbecker Date: Wed Jul 29 18:00:29 2009 +0200 tracing: Move sched event insertion helpers in the sched switch tracer file The sched events helpers which insert the sched switch and wakeup events into the ring buffer currently reside in trace.c But this file is quite overloaded and the right place for these helpers is in the sched switch tracer file. Then move them to trace_functions.c Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit c0a0d0d3f65284c71115a9bb1ed801ee33eeb552 Author: Frederic Weisbecker Date: Wed Jul 29 17:51:13 2009 +0200 tracing/core: Make the stack entry helpers global Make the stacktrace event insertion helpers globals. This has two effects: - Prepare for moving the sched events insertion helpers to the sched switch tracer file. - Move some ifdef outside function definitions Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 5e5bf483986ad86ad25f25eec5299c86eb2d1c57 Author: Frederic Weisbecker Date: Wed Jul 29 17:11:12 2009 +0200 tracing/core: Turn ftrace_cpu_disabled into a global var In order to prepare the moving of the function graph tracer insertion helpers from trace.c to trace_functions_graph.c, we need to export the ftrace_cpu_disabled variable. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 07868b086cca784f4b532fc2ab574ec3a73b468a Author: Frederic Weisbecker Date: Wed Jul 29 03:33:51 2009 +0200 tracing/function-graph-tracer: Drop the useless nmi protection The function graph tracer used to have a protection against NMI while entering a function entry tracing. But this is useless now, this tracer is reentrant and the ring buffer supports the NMI tracing. We can then drop this protection. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 0c9e6f639aed490202bbc79214f4495cf4bfde58 Author: Lai Jiangshan Date: Tue Jul 28 20:26:06 2009 +0800 tracing: Simplify print_graph_cpu() print_graph_cpu() is little over-designed. And "log10_all" may be wrong when there are holes in cpu_online_mask: the max online cpu id > cpumask_weight(cpu_online_mask) So change it by using a static column length for the cpu matching nr_cpu_ids number of decimal characters. Signed-off-by: Lai Jiangshan Cc: Steven Rostedt LKML-Reference: <4A6EEE5E.2000001@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit 3d7ddd540b4c2d24c6a3e7a52c083a0c31e6151c Author: Julia Lawall Date: Wed Aug 5 20:30:13 2009 -0700 net/rds: Use AF_INET for sin_family field Elsewhere the sin_family field holds a value with a name of the form AF_..., so it seems reasonable to do so here as well. Also the values of PF_INET and AF_INET are the same. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ struct sockaddr_in sip; @@ ( sip.sin_family == - PF_INET + AF_INET | sip.sin_family != - PF_INET + AF_INET | sip.sin_family = - PF_INET + AF_INET ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 9073e3a32bb249293edc01ecff575bb87380c068 Author: Divy Le Ray Date: Wed Aug 5 20:28:27 2009 -0700 cxgb3: fix 2 ports 1G regression commit 88045b3cf0f8981129cb489c7b6bc36c21dd33a7 cxgb3: fix mac index mapping Override the mac index computation for the gen2 adapter, as each port is expected to use index 0. introduces a regression on 2 port 1G adapter as its xauicfg vpd value is null. Add a check on the device id. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit a2551df7ec568d87793d2eea4ca744e86318f205 Author: Eric Paris Date: Fri Jul 31 12:54:11 2009 -0400 Security/SELinux: seperate lsm specific mmap_min_addr Currently SELinux enforcement of controls on the ability to map low memory is determined by the mmap_min_addr tunable. This patch causes SELinux to ignore the tunable and instead use a seperate Kconfig option specific to how much space the LSM should protect. The tunable will now only control the need for CAP_SYS_RAWIO and SELinux permissions will always protect the amount of low memory designated by CONFIG_LSM_MMAP_MIN_ADDR. This allows users who need to disable the mmap_min_addr controls (usual reason being they run WINE as a non-root user) to do so and still have SELinux controls preventing confined domains (like a web server) from being able to map some area of low memory. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 84336d1a77ccd2c06a730ddd38e695c2324a7386 Author: Eric Paris Date: Fri Jul 31 12:54:05 2009 -0400 SELinux: call cap_file_mmap in selinux_file_mmap Currently SELinux does not check CAP_SYS_RAWIO in the file_mmap hook. This means there is no DAC check on the ability to mmap low addresses in the memory space. This function adds the DAC check for CAP_SYS_RAWIO while maintaining the selinux check on mmap_zero. This means that processes which need to mmap low memory will need CAP_SYS_RAWIO and mmap_zero but will NOT need the SELinux sys_rawio capability. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 7c73875e7dda627040b12c19b01db634fa7f0fd1 Author: Eric Paris Date: Fri Jul 31 12:53:58 2009 -0400 Capabilities: move cap_file_mmap to commoncap.c Currently we duplicate the mmap_min_addr test in cap_file_mmap and in security_file_mmap if !CONFIG_SECURITY. This patch moves cap_file_mmap into commoncap.c and then calls that function directly from security_file_mmap ifndef CONFIG_SECURITY like all of the other capability checks are done. Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 012a5299a29672039f42944a37984558393ef769 Merge: da34d42 90bc1a6 Author: James Morris Date: Thu Aug 6 08:55:03 2009 +1000 Merge branch 'master' into next commit da34d4248bd2013ee64ce51e63ec0ebd1f32b46c Author: Julia Lawall Date: Wed Aug 5 14:34:55 2009 +0200 security/smack: Use AF_INET for sin_family field Elsewhere the sin_family field holds a value with a name of the form AF_..., so it seems reasonable to do so here as well. Also the values of PF_INET and AF_INET are the same. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ struct sockaddr_in sip; @@ ( sip.sin_family == - PF_INET + AF_INET | sip.sin_family != - PF_INET + AF_INET | sip.sin_family = - PF_INET + AF_INET ) // Signed-off-by: Julia Lawall Acked-by: Casey Schaufler Signed-off-by: James Morris commit fbb474dedab871c7382858c374acd287dad4ab38 Author: javier Martin Date: Wed Aug 5 22:29:39 2009 +0100 ASoC: Fix review issues in i.MX2x PCM driver Signed-off-by: javier Martin Signed-off-by: Mark Brown commit 2ccafed43a75b836a15bd36ef0acf466ba36604d Author: javier Martin Date: Tue Aug 4 17:18:02 2009 +0200 ASoC: add machine driver for i.mx27_visstrim_m10 board This adds support for i.mx27_visstrim_sm10 board machine driver which uses an i.mx27 processor plus a wm8974 codec. It has been tested on a visstrim_sm10 board. Signed-off-by: Javier Martin Signed-off-by: Mark Brown commit 9d8bc2968cb0b50ffa76ed806591974e34fc296a Author: javier Martin Date: Wed Aug 5 08:47:48 2009 +0200 ASoC: add DAI platform ssi driver for MXC This adds support for DAI platform for the SSI present in MXC platforms. It currently does not support i.MX3, the only thing necessary to do this is to export DMA data for i.MX3 interface which I haven't done because I don't have a i.MX3 based board available. It has been tested on i.MX27 board. Signed-off-by: Mark Brown commit fd6a6394d7d6142afb3d4c87beb3c2c1d25c69bd Author: javier Martin Date: Tue Aug 4 17:17:52 2009 +0200 ASoC: add DMA platform driver for MX1x and MX2x This adds support for DMA platform valid for i.MX1 and i.MX2 platforms. This is not valid for i.MX3 since it doesn't share the same DMA interface than i.MX1 and i.MX2. It has been tested on i.MX27 board. Signed-off-by: Javier Martin Signed-off-by: Mark Brown commit 15b5bdaeeb15e0c18cca3ce7449188ca46516721 Author: Daniel Mack Date: Wed Aug 5 20:50:43 2009 +0200 ALSA: ASoC: cs4270: move power management hooks to snd_soc_codec_device Power management for the cs4270 codec is currently implemented as part of the i2c_driver struct. The disadvantage of doing it this way is that the callbacks registered in the snd_soc_card struct are called _before_ the codec's callbacks. That doesn't work, because the snd_soc_card callbacks will most likely switch down the codec's power domains or pull the reset GPIOs, and hence make the i2c communication bail out. Fix this by binding the suspend and resume code to the snd_soc_codec_device driver model and let the I2C functions only call the SoC core function for resume and suspend, which do nothing currently but will do later. Signed-off-by: Daniel Mack Cc: Timur Tabi Signed-off-by: Mark Brown commit b0a2712ffdde139f95d3e78c359877b23709509a Author: John Bonesio Date: Wed Jul 29 08:38:55 2009 -0700 ASoC: MPC5200: Support for buffer wrap around The code in psc_dma_bcom_enqueue_tx() didn't account for the fact that s->runtime->control->appl_ptr can wrap around to the beginning of the buffer. This change fixes this problem. Signed-off-by: John Bonesio Acked-by: Grant Likely Signed-off-by: Mark Brown commit cc104e52b4f61dbfe1a815f775ffb2fbbb4b785d Author: Benjamin LaHaise Date: Tue Aug 4 10:22:19 2009 +0000 vxge: Version update Update the driver version number for any bug reports from end users. Signed-off-by: Benjamin LaHaise Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit ea11bbe0c94b045fdefc05476b69a2eef999a9c4 Author: Benjamin LaHaise Date: Tue Aug 4 10:21:57 2009 +0000 vxge: prefetch skb->data This patch implements prefetching of skb->data from a copy of the pointer in the descriptor (which is already in the L1 cache at this point). This improves netperf rx performance (netperf -L 0,0 -c -H 192.168.254.2 -- -M 131072 -m 131072) by 4.9% on a P4 Xeon host. Signed-off-by: Benjamin LaHaise Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 3f23e436d241ac1cf50a659228a5a0e1e6572c1a Author: Benjamin LaHaise Date: Tue Aug 4 10:21:39 2009 +0000 vxge: prefetch RxD descriptors This patch prefetches RxD descriptors which helps to lower the latency of a cache miss in vxge_hw_ring_rxd_next_completed. This lowers the % of CPU time used by vxge_hw_ring_rxd_next_completed() where the descriptor is accessed in profiling netperf on a P4 Xeon from 1.5% to 1.0%. Signed-off-by: Benjamin LaHaise Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit ff1b974cf30b282f90993ab658e59b73c152c0b8 Author: Benjamin LaHaise Date: Tue Aug 4 10:21:21 2009 +0000 vxge: improve tx performance by using mmiowb() instead of wmb() wmb() is extremely heavy on x86. The semantics required in the driver are provided by mmiowb(), so use that and improve tx performance on P4 Xeons by 5-10%. Signed-off-by: Benjamin LaHaise Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit ff67df55f6bde9de5e508bf1f09509c843accd54 Author: Benjamin LaHaise Date: Tue Aug 4 10:21:03 2009 +0000 vxge: fix pktgen hangs (don't abuse skb->cb[]) This patch fixes a case in the transmit completion code which was resulting in pktgen hanging at the end of a run. The cause is due to the fact that the ->cb[] area of an skb cannot be used in a network driver's transmit path, as that area belongs to the network protocol. Pktgen hangs, as it sends out the same packet multiple times, and vxge's use of this area of the skb for a temporary list can only add the packet to the temporary list once (while it may be on the queue many times). The fix is to remove this abuse of skb->cb[]. Instead, skb pointers are placed into a temporary stack array, and then free outside of the tx lock. This retains the smp optimization of doing dev_kfree_skb() outside of the tx lock. Signed-off-by: Benjamin LaHaise Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 4403b371888d5947ed08200ee6351441a188a5c7 Author: Benjamin LaHaise Date: Tue Aug 4 10:20:44 2009 +0000 vxge: don't drop frame on tx queue full The vxge driver will drop a packet in its transmit function if the number of TxDs available hits 0. Instead of doing that, simply stop the transmit queue when transmitting a packet with the last available TxD. Signed-off-by: Benjamin LaHaise Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 36e89d73e54c8db79d0fd1636cab9236eea7aae9 Author: Lucy Liu Date: Wed Aug 5 13:06:34 2009 -0700 ixgbe: allow vlan egress priority mapping in DCB mode The skb priority to vlan-qos egress mapping that can be configured using set_egress_map with vconfig is overriden by the DCB code in the driver. This patch allows this existing mechanism to work and will increase the configuration flexibility of DCB mode on Linux. A hierarchy of configuration is: 1. Modifies the ixgbe_select_queue() routine for DCB mode to return the priority value from the VLAN tag. It will normally be zero, unless the egress priority map has modified it. This will get packets into the correct queue and result in the queue_mapping field being set correctly. 2. Any tc filter which modifies queue_mapping will be honored, as the filters are handled after the vlan egress map is handled. Signed-off-by: Lucy Liu Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 14074eab8dcaa7f66d8f52612b2dcec51222bb5f Author: sarveshwarb Date: Wed Aug 5 13:05:24 2009 -0700 be2net: Patch to perform function reset at initialization This patch is a bug fix to avoid system going into a bad state when driver is loaded in context of kdump kernel. The patch fixes the issue by performing a soft reset of pci function at probe time. Signed-off-by: sarveshwarb Signed-off-by: David S. Miller commit 0d6038ee76f2e06b79d0465807f67e86bf4025de Author: Jan Engelhardt Date: Tue Aug 4 07:28:29 2009 +0000 net: implement a SO_DOMAIN getsockoption This sockopt goes in line with SO_TYPE and SO_PROTOCOL. It makes it possible for userspace programs to pass around file descriptors — I am referring to arguments-to-functions, but it may even work for the fd passing over UNIX sockets — without needing to also pass the auxiliary information (PF_INET6/IPPROTO_TCP). Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 49c794e94649020248e37b78db16cd25bad38b4f Author: Jan Engelhardt Date: Tue Aug 4 07:28:28 2009 +0000 net: implement a SO_PROTOCOL getsockoption Similar to SO_TYPE returning the socket type, SO_PROTOCOL allows to retrieve the protocol used with a given socket. I am not quite sure why we have that-many copies of socket.h, and why the values are not the same on all arches either, but for where hex numbers dominate, I use 0x1029 for SO_PROTOCOL as that seems to be the next free unused number across a bunch of operating systems, or so Google results make me want to believe. SO_PROTOCOL for others just uses the next free Linux number, 38. Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit c1c00ab8626298ac784ea344bf10e94b5bd9bcb5 Author: Dhananjay Phadke Date: Wed Aug 5 07:34:09 2009 +0000 netxen: add hardware LRO support Add support to handle aggregate packets from firmware. Local TCP flows are automatically identified by firmware based on the dest IP hash added by driver for local IP addresses. The packets are sent down on the jumbo rx ring. Signed-off-by: Narender Kumar Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 06db58c0cd92e157a4ccf2b6836c9f4b931c7cda Author: Dhananjay Phadke Date: Wed Aug 5 07:34:08 2009 +0000 netxen: remove unnecessary structures Remove unnecessary offsetof calulations on these structures: netxen_board_info, netxen_user_old_info, netxen_new_user_info. The offsets into the flash are fixed, don't need to be calculated. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 545eb370087494dcf267e6285fe3aa20e5617c33 Author: Dhananjay Phadke Date: Wed Aug 5 07:34:07 2009 +0000 netxen: fix vlan tso case Fix the calculation of remaining header length in TSO over vlan device case. This was inadvertently missed out in patch 028afe719855a157e32450c ("netxen: add vlan tx acceleration support"). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 839b04c4aba91dd175f60f45712680126fdc88f7 Author: Florian Fainelli Date: Tue Aug 4 11:17:49 2009 +0000 cpmac: unmark as broken Starting with version 0.5.1, cpmac is no longer broken. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 4e43af323a669a977fcb35f1127c57480ebf7265 Author: Florian Fainelli Date: Tue Aug 4 10:53:00 2009 +0000 cpmac: bump version to 0.5.1 Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit e4540aa94f9b3e75528d9091524e7d82a0650f10 Author: Florian Fainelli Date: Tue Aug 4 10:52:57 2009 +0000 cpmac: wait longer after MDIO reset This patch slows down the MDIO_ALIVE busy waiting to let switches and PHY come up after reset. Previous loop was too quick for IC+175C and ADM6996C/L switches to come up. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 76e61eaa55e33ea51205fad633393d1ae10311c5 Author: Florian Fainelli Date: Tue Aug 4 10:52:52 2009 +0000 cpmac: add support for fixed PHY This patch adds support for fixed PHY connected in MII mode to cpmac. We allow external and dumb_switch module parameters to override the PHY detection process since they are always connected with MDIO bus identifier 0. This lets fixed PHYs to be detected correctly and be connected to the their corresponding MDIO bus identifier. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 1e2c8d830a74c24ccb25601bd89dcd0dbcb4e9f5 Author: Florian Fainelli Date: Tue Aug 4 10:52:47 2009 +0000 ar7: add fixed PHY support for the two on-board cpmac This patch adds fixed PHY support for the two on-chip cpmac Ethernet adapters. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit d76c626b922e279c7764ec46fb1b9bbd41538f35 Author: Florian Fainelli Date: Tue Aug 4 10:52:41 2009 +0000 cpmac: fix wrong MDIO bus identifier This patch fixes the wrong MDIO bus identifier which was set to 0 unconditionaly, suitable for external switches while it is actually 1 for PHYs different than external switches which are autodetected. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 36cbd3dcc10384f813ec0814255f576c84f2bcd4 Author: Jan Engelhardt Date: Wed Aug 5 10:42:58 2009 -0700 net: mark read-only arrays as const String literals are constant, and usually, we can also tag the array of pointers const too, moving it to the .rodata section. Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 4bc4c9a5f5206d795e9ee1af8b0b074d126354af Author: Mark Brown Date: Tue Aug 4 11:38:42 2009 +0100 ASoC: Existing S3C24xx AC97 drivers should depend on S3C24xx Signed-off-by: Mark Brown commit ce69a784504222c3ab6f1b3c357d09ec5772127a Author: Gleb Natapov Date: Mon Jul 20 15:24:17 2009 +0300 x86/apic: Enable x2APIC without interrupt remapping under KVM KVM would like to provide x2APIC interface to a guest without emulating interrupt remapping device. The reason KVM prefers guest to use x2APIC is that x2APIC interface is better virtualizable and provides better performance than mmio xAPIC interface: - msr exits are faster than mmio (no page table walk, emulation) - no need to read back ICR to look at the busy bit - one 64 bit ICR write instead of two 32 bit writes - shared code with the Hyper-V paravirt interface Included patch changes x2APIC enabling logic to enable it even if IR initialization failed, but kernel runs under KVM and no apic id is greater than 255 (if there is one spec requires BIOS to move to x2apic mode before starting an OS). -v2: fix build -v3: fix bug causing compiler warning Signed-off-by: Gleb Natapov Acked-by: Suresh Siddha Cc: Sheng Yang Cc: "avi@redhat.com" LKML-Reference: <20090720122417.GR5638@redhat.com> Signed-off-by: Ingo Molnar commit cbdcf80d8b9486ddb699a044c6f87f25821708cb Author: Steffen Klassert Date: Wed Aug 5 19:35:34 2009 +1000 crypto: authenc - Convert to ahash This patch converts authenc to the new ahash interface. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 9910887af84e33ba98fd6792029470ae80166208 Author: Cyrill Gorcunov Date: Thu Jul 23 00:52:59 2009 +0400 x86, apic: Drop redundant bit assignment cpu_has_apic has already investigated boot_cpu_data X86_FEATURE_APIC bit for being clear if condition is triggered. So there is no need to clear this bit second time. Signed-off-by: Cyrill Gorcuno v Cc: "Maciej W. Rozycki" LKML-Reference: <20090722205259.GE15805@lenovo> Signed-off-by: Ingo Molnar commit a7428cd2ef77734465e36bceb43290e37e2a97c6 Author: Cyrill Gorcunov Date: Sat Aug 1 11:48:00 2009 +0400 x86, ioapic: Throw BUG instead of NULL dereference Instead of plain NULL deref we better throw error message with a backtrace. Actually we need more gracious error handling here. Meanwhile leave it as is. Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org LKML-Reference: <20090801075435.769301745@openvz.org> Signed-off-by: Ingo Molnar commit 2977fb3ffc8493a2f4f0a362e8660a6cde9f1bb9 Author: Cyrill Gorcunov Date: Sat Aug 1 11:47:59 2009 +0400 x86, ioapic: Introduce for_each_irq_pin() helper This allow us to save a few lines of code. Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org LKML-Reference: <20090801075435.597863129@openvz.org> Signed-off-by: Ingo Molnar commit db71789c01ae7b641f83c5aa64e7df25122f4b28 Author: David S. Miller Date: Tue Aug 4 20:32:16 2009 -0700 xfrm6: Fix xfrm6_policy.c build when SYSCTL disabled. Same as how Randy Dunlap fixed the ipv4 side of things. Signed-off-by: David S. Miller commit f816700aa9ef1b1e2f984f638cb211e79dcab495 Author: Randy Dunlap Date: Tue Aug 4 20:18:33 2009 -0700 xfrm4: fix build when SYSCTLs are disabled Fix build errors when SYSCTLs are not enabled: (.init.text+0x5154): undefined reference to `net_ipv4_ctl_path' (.init.text+0x5176): undefined reference to `register_net_sysctl_table' xfrm4_policy.c:(.exit.text+0x573): undefined reference to `unregister_net_sysctl_table Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 6b4f645a491ac29c7dced415d034eea7736155a6 Author: Luis R. Rodriguez Date: Mon Aug 3 13:51:49 2009 -0700 ath9k: fix compile warning on ath9k_hw_AR9287_check_eeprom() CC [M] drivers/net/wireless/ath/ath9k/eeprom.o drivers/net/wireless/ath/ath9k/eeprom.c: In function ‘ath9k_hw_AR9287_check_eeprom’: drivers/net/wireless/ath/ath9k/eeprom.c:2866: warning: comparison of distinct pointer types lacks a cast Cc: Vivek Natarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e3b90ca28412fb9dcc8c5ca38e179e78fec07eee Author: Igor Perminov Date: Tue Aug 4 16:48:51 2009 +0400 mac80211: FIF_PSPOLL filter flag When an interface is configured in the AP mode, the mac80211 implementation doesn't inform the driver to receive PS Poll frames. It leads to inability to communicate with power-saving stations reliably. The FIF_CONTROL flag isn't passed by mac80211 to ieee80211_ops.configure_filter when an interface is in the AP mode. And it's ok, because we don't want to receive ACK frames and other control ones, but only PS Poll ones. This patch introduces the FIF_PSPOLL filter flag in addition to FIF_CONTROL, which means for the driver "pass PS Poll frames". This flag is passed to the driver: A) When an interface is configured in the AP mode. B) In all cases, when the FIF_CONTROL flag was passed earlier (in addition to it). Signed-off-by: Igor Perminov Signed-off-by: John W. Linville commit e48e3a2f17f189deb086ff221e489e7fd8ec4302 Author: Luis R. Rodriguez Date: Fri Jul 24 20:47:33 2009 -0400 ath9k: cancel xmit poll work at stop() callback We forgot to cancel this work at the stop() callback. ------------[ cut here ]------------ WARNING: at net/mac80211/util.c:511 ieee80211_queue_delayed_work+0x3a/0x40 [mac80211]() Hardware name: 6460DWU queueing ieee80211 work while going to suspend Modules linked in: <-- snip --> Pid: 5124, comm: phy0 Tainted: G W 2.6.31-rc3-wl #4 Call Trace: [] ? ieee80211_queue_delayed_work+0x3a/0x40 [mac80211] [] warn_slowpath_common+0x78/0xd0 [] warn_slowpath_fmt+0x64/0x70 [] ? thread_return+0x3e/0x635 [] ieee80211_queue_delayed_work+0x3a/0x40 [mac80211] [] ath_tx_complete_poll_work+0xc0/0x100 [ath9k] [] ? ath_tx_complete_poll_work+0x0/0x100 [ath9k] [] worker_thread+0x178/0x260 [] ? autoremove_wake_function+0x0/0x40 [] ? worker_thread+0x0/0x260 [] kthread+0x9e/0xb0 [] child_rip+0xa/0x20 [] ? kthread+0x0/0xb0 [] ? child_rip+0x0/0x20 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d7e7d229c7d1395283e1e1fda8727af60ca6f4ad Author: Luis R. Rodriguez Date: Mon Aug 3 23:14:12 2009 -0400 ath9k: add initial hardware support for ar9271 We will finalize this after some driver core changes, for now we leave this unsupported. Cc: Stephen Chen Cc: Zhifeng Cai Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 670388c5f56383e1d5b9f4f7fc835a280487754e Author: Luis R. Rodriguez Date: Mon Aug 3 23:14:11 2009 -0400 ath9k: add initvals and registry definitions for AR9271 Cc: Stephen Chen Cc: Zhifeng Cai Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit edb1f9152f1f346381336554674f5d443fc5f473 Author: Luis R. Rodriguez Date: Mon Aug 3 23:14:10 2009 -0400 ath9k: add ar9271 revision and subrevision ID helpers These will be used later to add support for ar9271. Cc: Stephen Chen Cc: Zhifeng Cai Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 475f5989d4dc359046521cdfe9869cabf8c9fce9 Author: Luis R. Rodriguez Date: Mon Aug 3 17:31:25 2009 -0400 ath9k: Remove _t postfix for ar9287_eeprom structure We don't use typdefs on ath9k, remove that _t. Cc: Vivek Natarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 39068d1c2810077377fc2ffcfbe380bfbed696cb Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:56 2009 -0700 ath9k: remove spurious check for channel on keycache reset ath9k_hw_keyreset() has a spurious check for ah->curchan.. remove it. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2f69ffacb303bba274b126eabd3a3ed011b2d35d Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:55 2009 -0700 ath9k: remove dangling error check on keycache reset on hw init The keycache reset will not fail as right above we ensure to set the sc->keymax to be <= ah->caps.keycache_size. Just remove this dangling check. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 95fafca26dc317b7ea0667c57576b0b5389f5bef Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:54 2009 -0700 ath9k: call ath9k_hw_detach() once upon hw init failure If hw initialization fails (ath9k_hw_init()) on ath_init_softc() we bail out and call ath9k_hw_detach(). The call ath9k_hw_detach() is conditional though as ath9k_hw_init() could itself have called ath9k_hw_detach(). Just describing this is itself a brain twister. Avoid this nonsense by removing ath9k_hw_detach() from ath9k_hw_init(). Upon hw initialization failure we expect the callers to take care of the cleanup. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3ce1b1a949ae849fb73556867e60977a65ca3141 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:53 2009 -0700 ath9k: set sc->sc_ah to NULL after freeing it Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9db6b6a25fd829a0d29480785ac0770a1e76f9a4 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:52 2009 -0700 ath9k: set ah to null after freeing Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e70c0cfdbf98384d9ce0b7a7332b6e60ec22ad54 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:51 2009 -0700 ath9k: rename ath9k_hw_ani_detach() to ath9k_hw_ani_disable() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 081b35ab2e98a2f76d0378219e91cd1c90aed55f Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:50 2009 -0700 ath9k: rename ath9k_hw_rfdetach() to ath9k_hw_rf_free() This makes it clear what this does. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6b827529058d6d479f31b281a9ec630f7b6841e1 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:49 2009 -0700 ath9k: use helper macro to kfree and nullify on ath9k_hw_rfdetach() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 39a21951efc99e040a7d66449f63910e439b97e9 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:48 2009 -0700 ath9k: remove !NULL check before kfree() kfree(NULL) works so remove all those branches which check for it before kfree()'ing on ath9k_hw_rfdetach(). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1e40bcfa91429edb665af9ffefb2658350913d35 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:47 2009 -0700 ath9k: distinguish between device initialization and ath_softc init We re-label the device driver initialization routines from the ath_softc, the "Software Carrier" fillers. This should make it clearer what each of these do. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f637cfd6bbacbaeab329f9dfc56e9855cc15849d Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:46 2009 -0700 ath9k: describe hw initialization better During initialization ath9k tends to use "attach" to when we initialize hardware due to the fact we used to attach a "HAL". The notion of a HAL is long gone, so lets just be clear on what we are doing. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit aa4058aea24efe7aef736cbfb2d9b07de920ca27 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:45 2009 -0700 ath9k: break up hw initialization into a few more helpers This makes reading the hardware initialization process easier to understand. The new helpers added are: ath9k_hw_init_cal_settings() ath9k_hw_init_mode_regs() ath9k_hw_init_mode_gain_regs() ath9k_hw_init_11a_eeprom_fix() This patch has no functional changes. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 08e0403a1472d9fa3662369a36ccaf24c796a33e Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:44 2009 -0700 ath9k: remove debug message for no memoery on ath_init() We're now propagating the -ENOMEM error so there is no need to keep a debug message there now. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b8b0f377c762558b3773e27f73c7bbcd0fa40171 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:43 2009 -0700 ath9k: rename ath9k_hw_set_defaults() to ath9k_hw_init_config() This reflects better what we are actually doing there. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 50aca25b5824f29fa94417abadf82ee7f0c7f816 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:42 2009 -0700 ath9k: rename ath9k_hw_newstate() to ath9k_hw_init_defaults() This reflects better what we are actually doing there. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f9d4a668035b0bf65d1c8d5eba680201112f7c3d Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:41 2009 -0700 ath9k: move hw macrevision checker to helper Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 07c10c6177bdd199fead127c2a4c43acb415a5be Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:40 2009 -0700 ath9k: pass only one argument to hw attach The softc is cached and set within the ath_hw struct. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ee2bb460e28b757f097efb9e5947a6e47e2477e1 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:39 2009 -0700 ath9k: call hw initializer directly ath9k_hw_attach() was going first through some device id verifier, and then calling some other helper which was doing the real hardware initialization. Lets just do the devid checks within the real worker by calling a helper ath9k_hw_devid_supported(). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e1e2f93ffacab692823209e00a124e802039aa9a Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:38 2009 -0700 ath9k: move cache setting of softc ah prior to attach We do this in case attach and friends try to get back to ah from the softc somehow. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8df5d1b77395271dd9b75ed2b9aa9235f7589a0d Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:37 2009 -0700 ath9k: move devid cache setting to ath_init() This lets us trim one argument off of hw initializer routines. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4f3acf81f2a47244f7403353784f528c92e98a6c Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:36 2009 -0700 ath9k: move memory allocation of ath_hw to ath_init() This lets us simplify attach code and arguments passed. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7819ac84b689b61340f29af6233fa1d15b76a6ef Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:35 2009 -0700 ath9k: propagate hw initialization errors We were never propagating hw initialization errors, lets do that now and also use -EOPNOTSUPP when device revision is not supported yet. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit fbf54660d1b48fba8527aae5c628ba72feee8f83 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:34 2009 -0700 ath9k: use a switch for revising supported hw mac revisions This makes adding new hw revisions a one line change here. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ed459c18517881890193b3414a25dbfe83d2ae7f Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:33 2009 -0700 ath9k: remove usage of AR_SREV_*() wrapper to detect supported hw We will clean this up next to just use a switch. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8dadadb7e977a91b46ed3549f9d2f22a629e5043 Author: Johannes Berg Date: Tue Aug 4 09:32:23 2009 +0200 cfg80211: clear SSID on disconnect/no connection The SME state machine in cfg80211 uses the SSID stored in struct wireless_dev internally, but fails to clear it in multiple places (when giving up on a connection attempt and when disconnecting). This doesn't matter to the SME state machine, but does matter for IBSS. Thus, in those cases, clear the SSID to avoid messing up the IBSS state machine. Reported-by: Joerg Albert Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 847c1e130092240c225a7be08607a7bf4e296fbd Author: Zhu Yi Date: Mon Aug 3 14:37:03 2009 +0800 iwmc3200wifi: avoid setting default key for 802.1X and RSNA UMAC only allows us to set default key for WEP and auth type is not 802.1X or RSNA. This patch fixes iwmc3200wifi for 802.1X with WEP104. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit beda278d987cf7091302cf730c5b226d88e01c5b Author: Zhu Yi Date: Mon Aug 3 14:37:02 2009 +0800 iwmc3200wifi: set WEP key static flag correctly We should only set the static_key flag for open and legacy authentication types. It should not be set for 802.1X and TKIP. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 554503f8c9e11cbea92b7cf1e31f7e4d93ad4492 Author: Zhu Yi Date: Mon Aug 3 14:37:01 2009 +0800 iwmc3200wifi: fix set_wpa_version and set_auth_type order iwm->umac_profile->sec.flags is set by iwm_set_wpa_version and checked by iwm_set_auth_type. The patch changes the order to make the flag used correctly. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 738f0f4301587ad09b58651390b122205086b484 Author: Gábor Stefanik Date: Mon Aug 3 01:28:12 2009 +0200 b43: implement baseband init for LP-PHY <= rev1 Implement baseband init for rev.0 and rev.1 LP PHYs. Convert boardflags_hi values to defines. Implement b43_phy_copy for easier copying between registers, as needed by LP-PHY init. Signed-off-by: Gábor Stefanik Cc: Michael Buesch Cc: Larry Finger Signed-off-by: John W. Linville commit d8cc8926e9b4dc2ce513ee3325bf16b4ea6d94e8 Author: Pavel Roskin Date: Sun Aug 2 14:30:15 2009 -0400 rt2x00: cancel all work on disconnect Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 117839bd1251dc654938c529c95c7611ac260351 Author: Pavel Roskin Date: Sun Aug 2 14:30:02 2009 -0400 rt61pci: fix module reloading Unloading rt61pci can leave the device in such state that reloading rt61pci would fail to reinitialize it. Bogus data would be read from the EEPROM and the RF version won't be recognized. It appears that unloading rt61pci with power saving enabled would have such effect. To initialize the device properly, SOFT_RESET_CSR should be set to the same value as rt61pci_config_ps() uses to wake up the device. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit c1be5152860218dffea6a47cff5ea31a56c6cff5 Author: Larry Finger Date: Sat Aug 1 22:32:48 2009 -0500 b43legacy: Work around mac80211 race condition As shown in http://thread.gmane.org/gmane.linux.kernel.wireless.general/36497, mac80211 has a bug that allows a call to the TX routine after the queues have been stopped. This situation will only occur under extreme stress. Although b43legacy does not crash when this condition occurs, it does generate a WARN_ON and also logs a queue overrun message. This patch recognizes b43legacy is not at fault and logs a message only when the most verbose debugging mode is enabled. In the unlikely event that the queue is not stopped when the DMA queue becomes full, then a warning is issued. This patch is based on the one used by b43. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3ad201496badddd8e1cda87ee6d29e8b3b8e1279 Author: Tomas Winkler Date: Sun Aug 2 02:36:49 2009 +0300 rfkill: add the GPS radio type Althoug GPS is a technology w/o transmitting radio and thus not a primary candidate for rfkill switch, rfkill gives unified interface point for devices with wireless technology. The input key is not supplied as it is too be deprecated. Cc: johannes@sipsolutions.net Signed-off-by: Tomas Winkler Acked-by: Marcel Holtmann Signed-off-by: John W. Linville commit 87cdb9894b9367237f25e5a4c381eb8e594e782b Author: Julia Lawall Date: Sat Aug 1 21:50:31 2009 +0200 drivers/net/wireless: Use DIV_ROUND_CLOSEST The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d but is perhaps more readable. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 2c8d51048f6a54aabe2e15278210cb07288e17bb Author: Maithili Hinge Date: Fri Jul 31 20:02:19 2009 -0700 libertas: Fix WEP association failure with open source wpa_supplicant 0.5.10 Add code to handle IW_AUTH_PRIVACY_INVOKED and IW_AUTH_RX_UNENCRYPTED_EAPOL cases in lbs_set_auth() function in libertas code. Signed-off-by: Maithili Hinge Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit abdc2d62be335b85091e8f74081336563277a163 Author: Jay Sternberg Date: Fri Jul 31 14:28:09 2009 -0700 iwlwifi: remove duplicated version info from sysfs version info in sysfs had been determined to be unnecessary as it is already provided in syslog info. nvm version is added to syslog version info as a debug level message to provide all info that was in the version sysfs data. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a11c4d000b84f7f49ebefc018c24bbfa3c9c0f3b Author: Wey-Yi Guy Date: Fri Jul 31 14:28:08 2009 -0700 iwlwifi: remove deprecated 6000 series adapters Remove the support for deprecated devices. These devices are engineering samples and no longer supported by the uCode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 65b7998a9be418482493e9448bb83ff2914ed050 Author: Wey-Yi Guy Date: Fri Jul 31 14:28:07 2009 -0700 iwlwifi: Distinguish power amplifier for 6000 series For 6x00 2x2 NIC, two types of Power Amplifier are available. In order for uCode to apply correct tx power, driver needs to program the CSR_GP_DRIVER_REG register and let uCode know the type of PA. If driver do not program CSR_GP_DRIVER_REG register (default to 0), then it is uCode's decision for tx power 2x2 Hybrid card: use both internal and external PA 2x2 IPA(Internal Power Amplifier) card: internal PA only Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8ce73f3abd064081706cc337c771378fc4431ef3 Author: Daniel C Halperin Date: Fri Jul 31 14:28:06 2009 -0700 iwlwifi: clear iwl_cmd_meta structure before use Resolve an issue in which out-dated fields in iwl_cmd_meta could be used for later hardware commands. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 92ca8d437fdbb482752534885d86af264897da85 Author: gregor kowski Date: Fri Jul 31 22:35:49 2009 +0200 b43: remove wrong probe_resp_plcp write The tkip hw support uncovered a bug in b43_write_probe_resp_template : it is writing at the wrong shm offset, it is in the B43_SHM_SH_TKIPTSCTTAK zone. This patch comments these writes. Signed-off-by: Gregor Kowski Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit f62ae6cd887a184d6923037d588b5b2466aa2a97 Author: Michael Buesch Date: Fri Jul 31 20:51:41 2009 +0200 b43: Fix unaligned 32bit SHM-shared access This fixes unaligned 32bit SHM-shared read/write access. The low and high 16 bits were swapped. It also adds a testcase for this to the chipaccess validation. (Thanks to Albert Herranz for tracking down this bug.) Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 88d89526a671ba008f59456161b0c513cdfb5d5a Author: Andrey Yurovsky Date: Fri Jul 31 11:35:19 2009 -0700 libertas: check valid bits in SPI bus mode reg The SPI driver writes to the bus mode register and performs a sanity check by reading back what we wrote, however only the lower four bits of that register are defined. In some cases, the device side seems to set the higher bits, causing us to fail the sanity check unnecessarily. Check only the lower four bits instead. Thanks to John Goyette from Schick Technologies for pointing out the problem. Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit d1c5091f23fed5195271e2849f89017d3a126521 Author: Maxim Levitsky Date: Fri Jul 31 18:54:23 2009 +0300 mac80211: Increase timeouts for station polling Do a probe request every 30 seconds, and wait for probe response, half a second This should lower the traffic that card sends, thus save power Wainting longer for response makes probe more robust against 'slow' access points Signed-off-by: Maxim Levitsky Acked-by: Johannes Berg Tested-by: Marcel Holtmann Signed-off-by: John W. Linville commit a43abf293965230c93a4b74e5d10b9d60b153ab4 Author: Maxim Levitsky Date: Fri Jul 31 18:54:12 2009 +0300 mac80211: Retry probe request few times Retry 5 times (chosen arbitary ), before assuming that station is out of range. Fixes frequent disassociations while connected to weak, and sometimes even strong access points. Signed-off-by: Maxim Levitky Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 75e6c3b72b3ab01c47629f3fbd0fed4e6550bf3a Author: Johannes Berg Date: Fri Jul 31 11:18:13 2009 +0200 cfg80211: lower dynamic PS timeout to 100ms The default of 500ms is pretty high, and leads to the device being awake at least 50% of the time under such light traffic conditions as a simple 1 second interval ping. Reduce to just 100ms -- it should have a similar effect while providing a better sleep time. Signed-off-by: Johannes Berg Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 97cad51e191919b43aabdc85b83241b66c3fcf2c Author: Luis R. Rodriguez Date: Thu Jul 30 21:37:27 2009 -0400 iwlwifi: remove usage of orig_flags This is a private flag, internal to cfg80211. cfg80211 will set orig_* stuff internally upon wiphy registration, drivers do not need to muck with it. Signed-off-by: Luis R. Rodriguez Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 8b19e6ca3bac7e04e93fb73f561d670e77c5fae6 Author: Luis R. Rodriguez Date: Thu Jul 30 17:38:09 2009 -0700 cfg80211: enable country IE support to all cfg80211 drivers Since the bss is always set now once we are connected, if the bss has its own information element we refer to it and pass that instead of relying on mac80211's parsing. Now all cfg80211 drivers get country IE support, automatically and we reduce the call overhead that we had on mac80211 which called this upon every beacon and instead now call this only upon a successfull connection by a STA on cfg80211. Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit abc7381bcca6ce9dc101f112a13e14957bfbda7e Author: Luis R. Rodriguez Date: Thu Jul 30 17:38:08 2009 -0700 cfg80211: decouple regulatory variables from cfg80211_mutex We change regulatory code to be protected by its own regulatory mutex and alleviate cfg80211_mutex to only be used to protect cfg80211_rdev_list, the registered device list. By doing this we will be able to work on regulatory core components without having to have hog up the cfg80211_mutex. An example here is we no longer need to use the cfg80211_mutex during driver specific wiphy_apply_custom_regulatory(). We also no longer need it for the the country IE regulatory hint; by doing so we end up curing this new lockdep warning: ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.31-rc4-wl #12 ------------------------------------------------------- phy1/1709 is trying to acquire lock: (cfg80211_mutex){+.+.+.}, at: [] regulatory_hint_11d+0x32/0x3f0 [cfg80211] but task is already holding lock: (&ifmgd->mtx){+.+.+.}, at: [] ieee80211_sta_work+0x108/0x10f0 [mac80211] which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #3 (&ifmgd->mtx){+.+.+.}: [] __lock_acquire+0xd76/0x12b0 [] lock_acquire+0xe3/0x120 [] mutex_lock_nested+0x44/0x350 [] ieee80211_mgd_auth+0x108/0x1f0 [mac80211] [] ieee80211_auth+0x13/0x20 [mac80211] [] __cfg80211_mlme_auth+0x1b1/0x2a0 [cfg80211] [] cfg80211_mlme_auth+0x86/0xc0 [cfg80211] [] nl80211_authenticate+0x21d/0x230 [cfg80211] [] genl_rcv_msg+0x1b6/0x1f0 [] netlink_rcv_skb+0x89/0xb0 [] genl_rcv+0x29/0x40 [] netlink_unicast+0x29d/0x2b0 [] netlink_sendmsg+0x214/0x300 [] sock_sendmsg+0x107/0x130 [] sys_sendmsg+0x189/0x320 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff -> #2 (&wdev->mtx){+.+.+.}: [] __lock_acquire+0xd76/0x12b0 [] lock_acquire+0xe3/0x120 [] mutex_lock_nested+0x44/0x350 [] cfg80211_netdev_notifier_call+0x1a4/0x390 [cfg80211] [] notifier_call_chain+0x3f/0x80 [] raw_notifier_call_chain+0x11/0x20 [] dev_open+0x10a/0x120 [] dev_change_flags+0x9d/0x1e0 [] devinet_ioctl+0x6fe/0x760 [] inet_ioctl+0x94/0xc0 [] sock_ioctl+0x6a/0x290 [] vfs_ioctl+0x31/0xa0 [] do_vfs_ioctl+0x8a/0x5c0 [] sys_ioctl+0x99/0xa0 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff -> #1 (&rdev->mtx){+.+.+.}: [] __lock_acquire+0xd76/0x12b0 [] lock_acquire+0xe3/0x120 [] mutex_lock_nested+0x44/0x350 [] cfg80211_get_dev_from_ifindex+0x60/0x90 [cfg80211] [] get_rdev_dev_by_info_ifindex+0x6f/0xa0 [cfg80211] [] nl80211_set_interface+0x3b/0x260 [cfg80211] [] genl_rcv_msg+0x1b6/0x1f0 [] netlink_rcv_skb+0x89/0xb0 [] genl_rcv+0x29/0x40 [] netlink_unicast+0x29d/0x2b0 [] netlink_sendmsg+0x214/0x300 [] sock_sendmsg+0x107/0x130 [] sys_sendmsg+0x189/0x320 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff other info that might help us debug this: 3 locks held by phy1/1709: #0: ((wiphy_name(local->hw.wiphy))){+.+.+.}, at: [] worker_thread+0x19d/0x340 #1: (&ifmgd->work){+.+.+.}, at: [] worker_thread+0x19d/0x340 #2: (&ifmgd->mtx){+.+.+.}, at: [] ieee80211_sta_work+0x108/0x10f0 [mac80211] Reported-by: Reinette Chatre Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4b44c8bc4d077f1a7a9e5e946a1400c3cbcadee7 Author: Luis R. Rodriguez Date: Thu Jul 30 17:38:07 2009 -0700 cfg80211: do not iterate over rdev list on country IE hint Simplify the country IE hint code by just bailing out if a previous country IE has been issued. We currently just trust the first AP we connect to on any card. The idea was to perform conflict resolution within this routine but since we can no longer iterate over the registered device list here we leave conflict resolution to be dealt with at a later time on the workqueue. This code has no functional changes other than saving us an interation over the registered device list when a second card is connected, or you unplug and connect the same one, and a country IE is received. This would have been done upon every beacon received. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9828b0170eef541c3fa583caa0134dadbb1d3ea6 Author: Luis R. Rodriguez Date: Thu Jul 30 17:38:06 2009 -0700 cfg80211: use goto out on country IE reg hint failure This has no functional changes. Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 056508dcb6890586745aa937e779f00fde05531b Author: Johannes Berg Date: Thu Jul 30 21:43:55 2009 +0200 mac80211: fix powersave Some of the recent MLME rework I did broke powersave because the ps_sdata isn't assigned at the right time, and the work item wasn't removed from the list before calling ieee80211_recalc_ps(). To be more specific, this broke the case where you'd enabled PS before associating, either automatically or with iwconfig. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b7cfc5b35eed2fe8a5c45793e6e52ef0edddc824 Author: Jussi Kivilinna Date: Thu Jul 30 19:42:08 2009 +0300 rndis_wlan: rework key handling Organize key data in private structure better and store WPA keys, so they can be restored as WEP keys. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 9d40934e5e28314731d4b32acd2fdf5fb805a3ed Author: Jussi Kivilinna Date: Thu Jul 30 19:42:03 2009 +0300 rndis_wlan: add missing padding to struct rndis_80211_remove_key OID_802_11_REMOVE_KEY failed with invalid length error, add missing padding to structure fix this. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 030645aceb3d9f10b1c3d2231c50f5a8bb3a9667 Author: Jussi Kivilinna Date: Thu Jul 30 19:41:58 2009 +0300 rndis_wlan: handle 802.11 indications from device Add handling for 802.11 specific rndis indications. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 2a4901bcbe9c122bd56e1f6c337fcb4ad75fafb7 Author: Jussi Kivilinna Date: Thu Jul 30 19:41:52 2009 +0300 rndis_host: allow rndis_wlan to see all indications Allow rndis_wlan to see all indications. Currently rndis_host lets rndis_wlan to know about link state changes only, but there is whole set of other 802.11-specific indications that rndis_wlan should handle properly. So rename link_change() to indication() and convert rndis_wlan to use it. Signed-off-by: Jussi Kivilinna Cc: David Brownell Signed-off-by: John W. Linville commit 27b7b5c131a1df6701a96e10d1056de8e3b15aa9 Author: Jussi Kivilinna Date: Thu Jul 30 19:41:47 2009 +0300 rndis_wlan: add rndis_set/query_oid debugging Add better debugging for failed OID queries. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit e5a11a822e1758b05b987e3a5041ef1029aa6cec Author: Jussi Kivilinna Date: Thu Jul 30 19:41:42 2009 +0300 rndis_wlan: set current packet filter to zero on stop Set current packet filter to zero to block receiving data packets from device. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 7eaab7086c3a313d76c217f98bc610c523d9bc2c Author: Jussi Kivilinna Date: Thu Jul 30 19:41:37 2009 +0300 rndis_wlan: reset device and restore multicast list on rndis_wlan_reset() Reset device properly with RNDIS_MSG_RESET in rndis_wlan_reset() and restore multicast list afterwards. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 005ba2f17e68b4da6a2c2c01c826294beac50415 Author: Jussi Kivilinna Date: Thu Jul 30 19:41:31 2009 +0300 rndis_wlan: clear cfg80211 scan on rndis_wlan_stop() Scanning gets stuck if device is stopped when scan is active. Fix by clearing/aborting cfg80211 scan on rndis_wlan_stop(). Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 110736de938b5bfdd63c86166e355d3f16115f6a Author: Jussi Kivilinna Date: Thu Jul 30 19:41:26 2009 +0300 rndis_wlan: stop workers on rndis_wlan_stop() and restore on rndis_wlan_reset() Driver doesn't need to poll statistics/link status when stopped. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 1487cd5e76337555737cbc55d7d83f41460d198f Author: Jussi Kivilinna Date: Thu Jul 30 19:41:20 2009 +0300 usbnet: allow "minidriver" to prevent urb unlinking on usbnet_stop rndis_wlan devices freeze after running usbnet_stop several times. It appears that firmware freezes in state where it does not respond to any RNDIS commands and device have to be physically unplugged/replugged. This patch lets minidrivers to disable unlink_urbs on usbnet_stop through new info flag. Signed-off-by: Jussi Kivilinna Cc: David Brownell Signed-off-by: John W. Linville commit e40cbdac0629402a4cb0c3bca0cc19ab7a00e00d Author: Johannes Berg Date: Thu Jul 30 14:04:01 2009 +0200 cfg80211: fix NETDEV_UNREGISTER notifier It's possible to get the NETDEV_UNREGISTER callback multiple times (see net/core/dev.c:netdev_wait_allrefs) and this will completely mess up our cleanup code. To avoid that, clean up only when the interface is still on the wiphy interface list from which it's removed on the first NETDEV_UNREGISTER call. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e46ab7f0886143846d8da2ca06c2b0e245f34dc6 Author: Johannes Berg Date: Thu Jul 30 11:58:16 2009 +0200 iwlwifi: don't export symbols not needed in other modules Even with the split into iwlcore/agn/3945 not all symbols that cross file boundaries are needed in other modules, a few are only used within iwlcore, for example. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 42935ecaf4e784d0815afa9a7e5fe7e141157ca3 Author: Luis R. Rodriguez Date: Wed Jul 29 20:08:07 2009 -0400 mac80211: redefine usage of the mac80211 workqueue The mac80211 workqueue exists to enable mac80211 and drivers to queue their own work on a single threaded workqueue. mac80211 takes care to flush the workqueue during suspend but we never really had requirements on drivers for how they should use the workqueue in consideration for suspend. We extend mac80211 to document how the mac80211 workqueue should be used, how it should not be used and finally move raw access to the workqueue to mac80211 only. Drivers and mac80211 use helpers to queue work onto the mac80211 workqueue: * ieee80211_queue_work() * ieee80211_queue_delayed_work() These helpers will now warn if mac80211 already completed its suspend cycle and someone is trying to queue work. mac80211 flushes the mac80211 workqueue prior to suspend a few times, but we haven't taken the care to ensure drivers won't add more work after suspend. To help with this we add a warning when someone tries to add work and mac80211 already completed the suspend cycle. Drivers should ensure they cancel any work or delayed work in the mac80211 stop() callback. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 64344d78228f6346a0462ba2d5fc03494aef4e6b Author: Luis R. Rodriguez Date: Wed Jul 29 14:20:41 2009 -0700 at76c50x-usb: remove unneeded flush_workqueue() at usb disconnect This driver only uses the mac80211 workqueue and mac80211 requires us to cancel all work at driver stop. Since we now have the cancels in the right places at stop() we really don't need to flush the mac80211 workqueue so remove it. Signed-off-by: Luis R. Rodriguez Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 8784d2ee92fc835bf18dd5096f00ec9a48dc0590 Author: Bob Copeland Date: Wed Jul 29 17:32:28 2009 -0400 ath5k: fix CAB queue operation We need to process tx descriptors for all queues (currently main tx queue and cabq) which may have triggered the TX completion interrupt. Otherwise, the queues can get stuck after sending a few frames. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 7e2ce646fc0acc99837f73d39528493e146d1dcc Author: Holger Schurig Date: Tue Jul 28 16:34:26 2009 +0200 orinoco: enable cfg80211 "set_channel" operation Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 91b092d73435489d7336f94e927d96224b26c9a8 Author: Luis R. Rodriguez Date: Mon Jul 27 16:52:10 2009 -0700 ar9170: remove EXPERIMENTAL marker Cc: Christian Lamparter Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 18c6951091eca7645005a71b556106cc99a6f4b1 Author: Larry Finger Date: Wed Jul 29 10:54:06 2009 -0500 b43: Work around mac80211 race condition As shown in http://thread.gmane.org/gmane.linux.kernel.wireless.general/36497, mac80211 has a bug that allows a call to the TX routine after the queues have been stopped. This situation will only occur under extreme stress. Although b43 does not crash when this condition occurs, it does generate a WARN_ON and also logs a queue overrun message. This patch recognizes b43 is not at fault and logs a message only when the most verbose debugging mode is enabled. In the unlikely event that the queue is not stopped when the DMA queue becomes full, then a warning is issued. During testing of this patch with one output stream running repeated tcpperf writes and a second running a flood ping, this routine was entered with the DMA ring stopped about once per hour. The condition where the DMA queue is full but the ring has not been stopped has never been seen by me. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit ae6f53f25f9803212d1985b5eb5a03111f439c24 Author: Bob Copeland Date: Wed Jul 29 10:29:03 2009 -0400 ath5k: update PCU opmode whenever a new interface is added Previously, we would store the operating mode at interface up time, but only update the PCU registers when the next reset happened. The result is that if beacon configuration (ops->bss_info_changed) happens before ops->config, we will program the wrong things into the timer registers. Consequently, beacons won't work in AP mode until after a reset (channel change, scan etc.). This is fragile anyway so just program the opmode as soon as mac80211 gives it to us. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 57c9fff3d0c5d77bc7910717faeca4e8a018b1ee Author: Johannes Berg Date: Wed Jul 29 15:46:21 2009 +0200 mac80211: fix sparse warnings/errors sparse complains about a shadowed variable, which we can just rename, and lots of stuff if the API tracer is enabled, so kick out the tracer code in a sparse run -- the macros just confuse it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0b3acfa71a50a1fa1fcee528aa15404ea4ea0877 Author: Vasanthakumar Thiagarajan Date: Wed Jul 29 15:05:23 2009 +0530 ath9k: Remove unused ath9k_hw_intrget() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 3fc0fbf407967fa8def04d019316553c9ca133e2 Author: Vasanthakumar Thiagarajan Date: Wed Jul 29 15:05:22 2009 +0530 ath9k: Maintain monotonicity of PER while going across different phy Monotonicity of packet error rate should be kept when moving from one phy to another (legacy to ht, ht single stream to dual, etc). Current code skips updating per for other phys. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 42e8856092be1db40bd4ae01406d2aaddf4e66fc Author: Vasanthakumar Thiagarajan Date: Wed Jul 29 15:05:21 2009 +0530 ath9k: Update rate control for 11NA HT40 mode Now the lowest rate in 11na ht40 mode is 13.5Mbps this shortens the range when compared to 11na ht20 mode where the lowest rate is 6.5Mbps. To improve the range, make 6.5Mbps as the lowest rate in 11na ht40 mode, this improves the range by approximately 2dB. 11ng ht40 does not have this issue as it also has basic rates (1, 2, 5.5 and 11). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit df7fc0f9735085bb617fff774bfd71465edb448c Author: Johannes Berg Date: Wed Jul 29 11:23:49 2009 +0200 cfg80211: keep track of current_bss for userspace SME When a userspace SME is active, we're currently not keeping track of the BSS properly for reporting the current link and for internal use. Additionally, it looks like there is a possible BSS leak in that the BSS never gets removed from auth_bsses[]. To fix it, pass the BSS struct to __cfg80211_connect_result in this case. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 97af743207466ff8b477e14bfb7af0ba2c93375b Author: Bob Copeland Date: Wed Jul 29 10:13:03 2009 +0200 mac80211: disable beacons before removing the associated interface When downing interfaces, it's a good idea to tell the driver to stop sending beacons; that way the driver doesn't need special code in ops->remove_interface() when it should already handle the case in bss_info_changed(). This fixes a potential crash with at least ath5k since the vif pointer will be nullified while beacon interrupts are still active. Signed-off-by: Bob Copeland Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ad2f34b41fd6e2b84c896ccf321d5de0a7c7cd52 Author: Ivo van Doorn Date: Tue Jul 28 18:58:54 2009 +0200 rt2x00: Fix build error when crypto support is disabled When only rt2400pci or rt2500pci is compiled without any of the other rt2x00 modules, then CONFIG_RT2X00_LIB_CRYPTO will not be enabled. However rt2x00mac_set_tim() implemented within #ifdef CONFIG_RT2X00_LIB_CRYPTO statements while the declaration is placed outside the definition. This results in linking errors as reporte by Ken. rt2x00_set_tim() has nothing to do with crypto, and thus should be moved outside of the #ifdef statements. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 33172899a9d922b04081e12dced3ae474d46d620 Author: Luis R. Rodriguez Date: Tue Jul 28 08:03:42 2009 -0700 rt2x00: move experimental on kconfig only to rt2800usb These drivers have been around for a while, if there are issues they should be reported. rt2800usb is still a bit flaky though. Signed-off-by: Luis R. Rodriguez Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3e6404528c95e3439f478e1d28353e77f6d9c188 Author: Luis R. Rodriguez Date: Mon Jul 27 16:56:15 2009 -0700 wireless: use menuconfig for WLAN_PRE80211 and WLAN_80211 This should make it very clear which are pre-802.11 or not Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 75323fa3dec54abb0bcba8ce6b4994020af210ca Author: Luis R. Rodriguez Date: Mon Jul 27 16:52:09 2009 -0700 ath5k: remove EXPERIMENTAL marker Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 44b7dd6dde1b80a94e5c0d01ecbc8097f52aa2dc Author: Luis R. Rodriguez Date: Mon Jul 27 16:52:08 2009 -0700 ath: use menuconfig to put ath stuff in its own page Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b820b3bcb02a97091b969faf2b5f19f1218953f9 Author: Luis R. Rodriguez Date: Mon Jul 27 16:52:07 2009 -0700 ath: simplify kconfig dependency and add documentation Make atheros wireless drivers visible when you select "Atheros wirless drivers". Adds links to ath.ko page, and Atheros drivers page on the wiki. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d17734aee6383ff5e1720b3f01c014c0a9db40d5 Author: Luis R. Rodriguez Date: Mon Jul 27 16:52:06 2009 -0700 ath: depend on cfg80211 The ath.ko module itself depends on cfg80211 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dd21dcdc65a182222666199ec4cea188a11cb5d2 Author: Luis R. Rodriguez Date: Mon Jul 27 16:10:22 2009 -0700 wext: remove extra return on wireless_nlevent_init() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e351cfbf4e6ccd8bf32555748a49dba5bc93fcb0 Author: Luis R. Rodriguez Date: Mon Jul 27 12:51:37 2009 -0700 ar9170: remove unneeded flush_workqueue() cancel_delayed_work_sync() and cancel_work_sync() are already being used therefore already waiting for all pending work by the driver to have been completed, no need to flush the mac80211 workqueue. Cc: Christian Lamparter Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9ed21d390166ceb89e011d3dbd277475ff2f33c4 Author: Luis R. Rodriguez Date: Mon Jul 27 11:56:24 2009 -0700 at76c50x-usb: cancel scan work at stop callback This should fix suspend as mac80211 expects all work queued to the mac80211 workqueue to be canceled at driver stop(). Signed-off-by: Luis R. Rodriguez Acked-by: Kalle Valo Signed-off-by: John W. Linville commit ebc8ab17d69cbaec6bb345a48a2cb87047643f63 Author: Luis R. Rodriguez Date: Mon Jul 27 11:56:23 2009 -0700 ar76c50x-usb: cancel promisc work during mac80211 stop We weren't ever cancelling this. Signed-off-by: Luis R. Rodriguez Acked-by: Kalle Valo Signed-off-by: John W. Linville commit c94dbff7996b861fb0ff730bdf6eac4e2b288402 Author: Luis R. Rodriguez Date: Mon Jul 27 11:53:04 2009 -0700 ath9k: move workqueue cancels to stop callback We should be cancelling our work at the stop callback since we are borrowing the mac80211 workqueue for our work. As it stands mac80211 expects this for suspend purposes. The ath9k specific virtual wiphy stuff need only be cancelled only when the we have no secondary virtual wiphys. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 35c95ab9b5ea3a2bf69d049d5437bb831e9bddf3 Author: Luis R. Rodriguez Date: Mon Jul 27 11:53:03 2009 -0700 ath9k: move cancel_delayed_work_sync() out of ath_deinit_leds() We do this as we'll be moving the cancel elsewhere later. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9851bad7a3ab601b8b5b156119a7d0fd15b47fa3 Author: Luis R. Rodriguez Date: Mon Jul 27 11:53:02 2009 -0700 ath9k: re-order cancelling of work on mac80211 workqueue ath9k uses the mac80211 workqueue for 4 different types of work: * Led blink work * TX hang monitoring work * internal wiphy schedular work * channel change work done for internal wiphy schedular Since the internal wiphy schedular can end up kicking off some channel channel change work we should first cancel the wiphy schedular work and then the channel change work. The TX hang work can be cancelled second since we're going down anyway. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4da163ab0a224590f3cae67c1d54ae8c428f6223 Author: Johannes Berg Date: Mon Jul 27 20:28:40 2009 +0200 mac80211: disable software retry for now Pavel Roskin reported a problem that seems to be due to software retry of already transmitted frames. It turns out that we've never done that correctly, but due to some recent changes it now crashes in the TX code. I've added a comment in the patch that explains the problem better and also points to possible solutions -- which I can't implement right now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 990a55eb25d9698d61352264cc43f3a9c04cce90 Author: Jiri Slaby Date: Fri Jul 31 00:02:06 2009 +0200 irq: Clean up by removing irqfixup MODULE_PARM_DESC() It's wrong (the parm takes no arguments) and compile-time wiped away anyway (due to !MODULE). Signed-off-by: Jiri Slaby LKML-Reference: <1248991326-26267-1-git-send-email-jirislaby@gmail.com> Signed-off-by: Ingo Molnar commit 4680e64a88c4ce2c4e736dade99233e3def13fa7 Author: Andrew Morton Date: Tue Jun 23 12:36:08 2009 -0700 arch/x86/oprofile/op_model_amd.c: fix op_amd_handle_ibs() return type arch/x86/oprofile/op_model_amd.c: In function 'op_amd_handle_ibs': arch/x86/oprofile/op_model_amd.c:217: warning: no return statement in function returning non-void Fix this by making op_amd_handle_ibs() return void. Cc: Robert Richter Signed-off-by: Andrew Morton Signed-off-by: Robert Richter commit cc6db4e60116c1f76577b6850a35ae7de69a95b6 Author: Darren Hart Date: Fri Jul 31 16:20:10 2009 -0700 futex: Correct futex_wait_requeue_pi() commentary The state machine described in the comments wasn't updated with a follow-on fix. Address that and cleanup the corresponding commentary in the function. Signed-off-by: Darren Hart Cc: Peter Zijlstra Cc: Steven Rostedt Cc: Thomas Gleixner LKML-Reference: <4A737C2A.9090001@us.ibm.com> Signed-off-by: Ingo Molnar commit 54a0bf3c2cad3fd118ea725f26a493aece6ea01d Author: Robert Richter Date: Tue Aug 4 15:52:38 2009 +0200 Revert "x86: oprofile/op_model_amd.c set return values for op_amd_handle_ibs()" This reverts commit 21e70878215f620fe99ea7d7c74bc641aeec932f. Instead Andrew's patch will be applied he posted at the same time. Signed-off-by: Robert Richter commit 5b0f437df0a3e374d26ad533eb78fe64744f55a8 Author: Bart Van Assche Date: Thu Jul 30 19:00:53 2009 +0200 workqueues: Improve schedule_work() documentation Two important aspects of the schedule_work() function are not yet documented: - that it is allowed to pass a struct work_struct * to this function that is already on the kernel-global workqueue; - the meaning of its return value. The patch below documents both aspects. Signed-off-by: Bart Van Assche Cc: "Greg Kroah-Hartman" Cc: Andrew Morton LKML-Reference: <200907301900.54202.bart.vanassche@gmail.com> Signed-off-by: Ingo Molnar commit c7bd0414d681706a32105895cae20fb9090db52e Author: Frans Pop Date: Thu Jul 23 20:56:27 2009 +0200 x86: Simplify the Makefile in a minor way through use of cc-ifversion Signed-off-by: Frans Pop Acked-by: Sam Ravnborg Reviewed-by: WANG Cong LKML-Reference: <200907232056.28635.elendil@planet.nl> Signed-off-by: Ingo Molnar commit 16ffe32c773dab387cfc5e6bdf181367ff944376 Author: Takashi Iwai Date: Tue Aug 4 13:40:54 2009 +0200 ALSA: hda - Fix line-out jack handling with STAC/IDT codec When the line-out jack is plugged/unplugged, the driver needs to check the headphone plug, not only the line-out jack itself. Otherwise the headphone or the speaker may be wrongly muted/unmuted. As a result, both STAC_HP_EVENT and STAC_LO_EVENT need to call the same function, stac92xx_hp_detect(). Signed-off-by: Takashi Iwai commit bdf977b37418cdf8a2252504779a7e12a09b7575 Author: Tejun Heo Date: Mon Aug 3 14:12:19 2009 +0900 x86, percpu: Collect hot percpu variables into one cacheline On x86_64, percpu variables current_task and kernel_stack are used for get_current() and current_thread_info() respectively and thus are often used close to each other. Move definition of current_task to kernel/cpu/common.c right above kernel_stack definition and align it to cacheline so that they always fall into the same cacheline. Two percpu variables defined there together - irq_stack_ptr and irq_count - are also pretty hot and will benefit from sharing the cacheline. For consistency, current_task definition for x86_32 is also moved to kernel/cpu/common.c. Putting current_task and kernel_stack into the same cacheline was suggested by Linus Torvalds. Signed-off-by: Tejun Heo Cc: Linus Torvalds Cc: Ingo Molnar Signed-off-by: H. Peter Anvin commit 3e352aa8ee2bd48f1a19c7742810b3a4a7ba605e Author: Tejun Heo Date: Mon Aug 3 14:10:11 2009 +0900 x86, percpu: Fix DECLARE/DEFINE_PER_CPU_PAGE_ALIGNED() DECLARE/DEFINE_PER_CPU_PAGE_ALIGNED() put percpu variables in .page_aligned section without adding any alignment restrictions. Currently, this doesn't cause any problem because all users of the macros have explicit page alignment and page-sized but it's much safer to enforce page alignment from the macros. After all, it's what they claim to do. Add __aligned(PAGE_SIZE) to DECLARE/DEFINE_PER_CPU_PAGE_ALIGNED() and drop explicit alignment from it users. Signed-off-by: Tejun Heo Cc: Ingo Molnar Signed-off-by: H. Peter Anvin commit ed8d9adf357ec331603fa1049510399812cea7e5 Author: Linus Torvalds Date: Mon Aug 3 14:08:48 2009 +0900 x86, percpu: Add 'percpu_read_stable()' interface for cacheable accesses This is very useful for some common things like 'get_current()' and 'get_thread_info()', which can be used multiple times in a function, and where the result is cacheable. tj: Added the magical undocumented "P" modifier to UP __percpu_arg() to force gcc to dereference the pointer value passed in via the "p" input constraint. Without this, percpu_read_stable() returns the address of the percpu variable. Also added comment explaining the difference between percpu_read() and percpu_read_stable(). Signed-off-by: Linus Torvalds Signed-off-by: Tejun Heo Signed-off-by: H. Peter Anvin commit 27ded041f03026e8c6be9efc626e11ddfb4620c1 Author: Mark Brown Date: Fri Jul 10 23:28:16 2009 +0100 ASoC: Factor out 7 bit register 9 bit data SPI write This converts all the Wolfson drivers using this format (the only devices that do) except WM8753 to use it. Signed-off-by: Mark Brown commit 8d50e447d19fec64adebeef55f2b60d695435412 Author: Mark Brown Date: Fri Jul 10 23:12:01 2009 +0100 ASoC: Factor out I/O for Wolfson 8 bit data 16 bit register CODECs Signed-off-by: Mark Brown commit afa2f1066e7288a9e4f8e3fda277da245219dffc Author: Mark Brown Date: Fri Jul 10 23:11:24 2009 +0100 ASoC: Factor out I2C 8 bit address 16 bit data I/O As part of this refactoring the type of the CODEC hw_read operation is changed to match the regular read operation. Signed-off-by: Mark Brown commit 7084a42b965d972079201414d19a399e65b26099 Author: Mark Brown Date: Fri Jul 10 22:24:27 2009 +0100 ASoC: Add I/O control bus information to factored out cache setup While writes tend to be able to use a fairly bus independant format to do the writes reads are all bus specific. To allow us to factor out this code include the bus type as a parameter when setting up the cache. Initially just use this to factor out hw_write_t for I2C. Signed-off-by: Mark Brown commit 15cfa2b3db8b64d4e66d36fb88d21bae9ea3dfba Author: Takashi Iwai Date: Mon Aug 3 14:23:33 2009 +0200 ALSA: hda - Fix line-out jack detection The commit fefd67f31ee7f5259344e36a237d59b47e8715cf ALSA: hda - Add line-out jack detection on IDT/STAC codecs enabled wrong pins for jack detections. Fixed to the correct ones. Signed-off-by: Takashi Iwai commit 47cab6a722d44c71c4f8224017ef548522243cf4 Author: Ingo Molnar Date: Mon Aug 3 09:31:54 2009 +0200 debug lockups: Improve lockup detection, fix generic arch fallback As Andrew noted, my previous patch ("debug lockups: Improve lockup detection") broke/removed SysRq-L support from architecture that do not provide a __trigger_all_cpu_backtrace implementation. Restore a fallback path and clean up the SysRq-L machinery a bit: - Rename the arch method to arch_trigger_all_cpu_backtrace() - Simplify the define - Document the method a bit - in the hope of more architectures adding support for it. [ The patch touches Sparc code for the rename. ] Cc: Paul E. McKenney Cc: Peter Zijlstra Cc: Andrew Morton Cc: Linus Torvalds Cc: "David S. Miller" LKML-Reference: <20090802140809.7ec4bb6b.akpm@linux-foundation.org> Signed-off-by: Ingo Molnar commit 51840409b6c928eead140157d4e9fc267f50caf9 Author: Lubomir Rintel Date: Sun Aug 2 18:14:44 2009 +0200 ALSA: pcm - Tell user that stream to be rewound is suspended Return STRPIPE instead of EBADF when userspace attempts to rewind of forward a stream that was suspended in meanwhile, so that it can be recovered by snd_pcm_recover(). This was causing Pulseaudio to unload the ALSA sink module under a race condition when it attempted to rewind the stream right after resume from suspend, before writing to the stream which would cause it to revive the stream otherwise. Tested to work with Pulseaudio patched to attempt to snd_pcm_recover() upon receiving an error from snd_pcm_rewind(). Signed-off-by: Lubomir Rintel Signed-off-by: Takashi Iwai commit e44d4e4cee1ece7b6e6bf4db899b1a7766015306 Merge: 559059b 4b35d2c Author: Takashi Iwai Date: Mon Aug 3 08:37:17 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 559059b27f1768e89adc204f3ba2cb82882c15ca Author: Wu Fengguang Date: Sun Aug 2 16:48:55 2009 +0800 ALSA: hda: add IbexPeak/Clarkdale HDMI model with static cvt/pin number The new IbexPeak HDMI codec has 3 pin nodes and 2 converter nodes. Here we assume only the first ones will be used. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit e4c4e448cf557921ffbbbd6d6ddac81fdceacb4f Author: Eric Dumazet Date: Thu Jul 30 03:15:07 2009 +0000 neigh: Convert garbage collection from softirq to workqueue Current neigh_periodic_timer() function is fired by timer IRQ, and scans one hash bucket each round (very litle work in fact) As we are supposed to scan whole hash table in 15 seconds, this means neigh_periodic_timer() can be fired very often. (depending on the number of concurrent hash entries we stored in this table) Converting this to a workqueue permits scanning whole table, minimizing icache pollution, and firing this work every 15 seconds, independantly of hash table size. This 15 seconds delay is not a hard number, as work is a deferrable one. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1e3e238e9c4bf9987b19185235cd0cdc21ea038c Author: Hannes Eder Date: Sun Aug 2 11:05:41 2009 +0000 IPVS: use pr_err and friends instead of IP_VS_ERR and friends Since pr_err and friends are used instead of printk there is no point in keeping IP_VS_ERR and friends. Furthermore make use of '__func__' instead of hard coded function names. Signed-off-by: Hannes Eder Acked-by: Simon Horman Signed-off-by: David S. Miller commit bcd218be5aebed94951a750b1d477aea86fb68ea Author: Steve Glendinning Date: Tue Jul 28 02:37:58 2009 +0000 smsc95xx: remove EEPROM loaded check The eeprom read & write commands currently check the E2P_CMD_LOADED_ bit is set before allowing any operations. This prevents any reading or writing unless a correctly programmed EEPROM is installed. This patch removes the check, so it is possible to program blank EEPROMS via ethtool. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 81e43213882e62374c1a87f9d97d4287ed9f7257 Author: Gerrit Renker Date: Tue Jul 28 09:48:07 2009 +0000 inet6: functions shadow global variable This renames away a variable clash: * ipv6_table[] is declared as a static global table; * ipv6_sysctl_net_init() uses ipv6_table to refer/destroy dynamic memory; * ipv6_sysctl_net_exit() also uses ipv6_table for the same purpose; * both the two last functions call kfree() on ipv6_table. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 8b97c7c283c5ba8f9f4dabd418fd7dcfcc8a387e Author: Julia Lawall Date: Sat Aug 1 22:48:45 2009 +0000 drivers/atm: Use DIV_ROUND_CLOSEST The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d but is perhaps more readable. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 39506a552b4b302540e1f9c6c93a122df353e57d Author: Julia Lawall Date: Sat Aug 1 09:51:06 2009 +0000 drivers/net: Use DIV_ROUND_CLOSEST The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d but is perhaps more readable. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 25f6e89bedd29cc49bfa0d55497e91a671b9ae6e Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 30 23:21:18 2009 +0200 x86: Remove superfluous NULL pointer check in destroy_irq() This takes care of the following entry from Dan's list: arch/x86/kernel/apic/io_apic.c +3241 destroy_irq(11) warning: variable derefenced before check 'desc' Reported-by: Dan Carpenter Signed-off-by: Bartlomiej Zolnierkiewicz Cc: Jonathan Corbet Cc: Eugene Teo Cc: Julia Lawall LKML-Reference: <200907302321.19086.bzolnier@gmail.com> Signed-off-by: Ingo Molnar commit 88e7b76ef7cf939a0cf23a1902030211b20837fe Author: Divy Le Ray Date: Thu Jul 30 21:23:39 2009 +0000 cxgb3: fix Gen2 pci default settings Modify control register settings to accommodate the bridge's max read requset size. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 9450526ac7bd74edf1ee030841d8078c6db6ca0b Author: Divy Le Ray Date: Thu Jul 30 21:23:34 2009 +0000 cxgb3: fix EDC filename string Fix a cut'n paste error in the AEL2020 twinax EDC file name Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 90629209a020859b67423a6326f3765f220c7f5c Author: Ming Lei Date: Sun Aug 2 21:43:36 2009 +0800 lockdep: Fix memory usage info of BFS The unit is KB, so sizeof(struct circular_queue) should be divided by 1024. Signed-off-by: Ming Lei Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Cc: davem@davemloft.net Cc: Ming Lei Cc: a.p.zijlstra@chello.nl LKML-Reference: <1249220616-7190-1-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit e351b660fddd4df76cc4635f896d311ed0ff3752 Author: Ming Lei Date: Wed Jul 22 22:48:09 2009 +0800 lockdep: Reintroduce generation count to make BFS faster We still can apply DaveM's generation count optimization to BFS, based on the following idea: - before doing each BFS, increase the global generation id by 1 - if one node in the graph has been visited, mark it as visited by storing the current global generation id into the node's dep_gen_id field - so we can decide if one node has been visited already, by comparing the node's dep_gen_id with the global generation id. By applying DaveM's generation count optimization to current implementation of BFS, we gain the following advantages: - we save MAX_LOCKDEP_ENTRIES/8 bytes memory; - we remove the bitmap_zero(bfs_accessed, MAX_LOCKDEP_ENTRIES); in each BFS, which is very time-consuming since MAX_LOCKDEP_ENTRIES may be very large.(16384UL) Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra Cc: "David S. Miller" LKML-Reference: <1248274089-6358-1-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit bb97a91e2549a7f2df9c21d32542582f549ab3ec Author: Peter Zijlstra Date: Mon Jul 20 19:15:35 2009 +0200 lockdep: Deal with many similar locks spin_lock_nest_lock() allows to take many instances of the same class, this can easily lead to overflow of MAX_LOCK_DEPTH. To avoid this overflow, we'll stop accounting instances but start reference counting the class in the held_lock structure. [ We could maintain a list of instances, if we'd move the hlock stuff into __lock_acquired(), but that would require significant modifications to the current code. ] We restrict this mode to spin_lock_nest_lock() only, because it degrades the lockdep quality due to lost of instance. For lockstat this means we don't track lock statistics for any but the first lock in the series. Currently nesting is limited to 11 bits because that was the spare space available in held_lock. This yields a 2048 instances maximium. Signed-off-by: Peter Zijlstra Cc: Marcelo Tosatti Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit f607c6685774811b8112e124f10a053d77015485 Author: Peter Zijlstra Date: Mon Jul 20 19:16:29 2009 +0200 lockdep: Introduce lockdep_assert_held() Add a lockdep helper to validate that we indeed are the owner of a lock. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 98c33eddaf41d225d99b40f9eedbd0fac4c08c05 Author: Peter Zijlstra Date: Tue Jul 21 13:19:07 2009 +0200 lockdep: Fix style nits fixes a few comments and whitespaces that annoyed me. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4f84f4330a11b9eb828bf5af557f4c79c64614a3 Author: Peter Zijlstra Date: Mon Jul 20 15:27:04 2009 +0200 lockdep: Fix backtraces Truncate stupid -1 entries in backtraces. Signed-off-by: Peter Zijlstra LKML-Reference: <1248096665.15751.8816.camel@twins> Signed-off-by: Ingo Molnar commit bcf08df3b23b3d13bf8c4ad6bd744a6ad30015fb Author: Ingo Molnar Date: Sat Apr 19 12:11:10 2008 +0200 sched: Fix cpupri build on !CONFIG_SMP This build bug: In file included from kernel/sched.c:1765: kernel/sched_rt.c: In function ‘has_pushable_tasks’: kernel/sched_rt.c:1069: error: ‘struct rt_rq’ has no member named ‘pushable_tasks’ kernel/sched_rt.c: In function ‘pick_next_task_rt’: kernel/sched_rt.c:1084: error: ‘struct rq’ has no member named ‘post_schedule’ Triggers because both pushable_tasks and post_schedule are SMP-only fields. Move pushable_tasks() to the SMP section and #ifdef the post_schedule use. Cc: Gregory Haskins Cc: Peter Zijlstra LKML-Reference: <20090729150422.17691.55590.stgit@dev.haskins.net> Signed-off-by: Ingo Molnar commit bbfa26229a8143889e95e0df4a9d69067ee836cd Author: Ingo Molnar Date: Sun Aug 2 14:44:24 2009 +0200 lockdep: Fix BFS build Fix: kernel/built-in.o: In function `lockdep_stats_show': lockdep_proc.c:(.text+0x48202): undefined reference to `max_bfs_queue_depth' As max_bfs_queue_depth is only available under CONFIG_PROVE_LOCKING=y. Cc: Ming Lei Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 693525e3bea25cf2ee6cf2b862ba7c148e891df2 Author: Peter Zijlstra Date: Tue Jul 21 13:56:38 2009 +0200 sched: Ensure the migration task doesn't go away during use Like sched_migrate_task(), set_cpus_allowed_ptr() should hold onto the migration thread too. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 8f48894fcc89ddec62e1762f73a0825793e59e91 Author: Peter Zijlstra Date: Fri Jul 24 12:25:30 2009 +0200 sched: Add debug check to task_of() A frequent mistake appears to be to call task_of() on a scheduler entity that is not actually a task, which can result in a wild pointer. Add a check to catch these mistakes. Suggested-by: Ingo Molnar Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 00aec93d10a051ea64f83eff75d4065a19508ea6 Author: Gregory Haskins Date: Thu Jul 30 10:57:23 2009 -0400 sched: Fully integrate cpus_active_map and root-domain code Reflect "active" cpus in the rq->rd->online field, instead of the online_map. The motivation is that things that use the root-domain code (such as cpupri) only care about cpus classified as "active" anyway. By synchronizing the root-domain state with the active map, we allow several optimizations. For instance, we can remove an extra cpumask_and from the scheduler hotpath by utilizing rq->rd->online (since it is now a cached version of cpu_active_map & rq->rd->span). Signed-off-by: Gregory Haskins Acked-by: Peter Zijlstra Acked-by: Max Krasnyansky Signed-off-by: Peter Zijlstra LKML-Reference: <20090730145723.25226.24493.stgit@dev.haskins.net> Signed-off-by: Ingo Molnar commit 3f029d3c6d62068d59301d90c18dbde8ee402107 Author: Gregory Haskins Date: Wed Jul 29 11:08:47 2009 -0400 sched: Enhance the pre/post scheduling logic We currently have an explicit "needs_post" vtable method which returns a stack variable for whether we should later run post-schedule. This leads to an awkward exchange of the variable as it bubbles back up out of the context switch. Peter Zijlstra observed that this information could be stored in the run-queue itself instead of handled on the stack. Therefore, we revert to the method of having context_switch return void, and update an internal rq->post_schedule variable when we require further processing. In addition, we fix a race condition where we try to access current->sched_class without holding the rq->lock. This is technically racy, as the sched-class could change out from under us. Instead, we reference the per-rq post_schedule variable with the runqueue unlocked, but with preemption disabled to see if we need to reacquire the rq->lock. Finally, we clean the code up slightly by removing the #ifdef CONFIG_SMP conditionals from the schedule() call, and implement some inline helper functions instead. This patch passes checkpatch, and rt-migrate. Signed-off-by: Gregory Haskins Signed-off-by: Peter Zijlstra LKML-Reference: <20090729150422.17691.55590.stgit@dev.haskins.net> Signed-off-by: Ingo Molnar commit c3a2ae3d93c0f10d29c071f599764d00b8de00cb Author: Steven Rostedt Date: Wed Jul 29 00:21:23 2009 -0400 sched: Add new prio to cpupri before removing old prio We need to add the new prio to the cpupri accounting before removing the old prio. This is because removing the old prio first will open a race window where the cpu will be removed from pri_active. In this case the cpu will not be visible for RT push and pulls. This could cause a RT task to not migrate appropriately, and create a very large latency. This bug was found with the use of ftrace sched events and trace_printk. Signed-off-by: Steven Rostedt Signed-off-by: Peter Zijlstra LKML-Reference: <20090729042526.438281019@goodmis.org> Signed-off-by: Ingo Molnar commit da19ab510343c6496fe8b8f890091296032025c9 Author: Steven Rostedt Date: Wed Jul 29 00:21:22 2009 -0400 sched: Check for pushing rt tasks after all scheduling The current method for pushing RT tasks after scheduling only happens after a context switch. But we found cases where a task is set up on a run queue to be pushed but the push never happens because the schedule chooses the same task. This bug was found with the help of Gregory Haskins and the use of ftrace (trace_printk). It tooks several days for both of us analyzing the code and the trace output to find this. Signed-off-by: Steven Rostedt Signed-off-by: Peter Zijlstra LKML-Reference: <20090729042526.205923666@goodmis.org> Signed-off-by: Ingo Molnar commit e709715915d69b6a929d77e7652c9c3fea61c317 Author: Peter Zijlstra Date: Wed Jun 3 15:41:20 2009 +0200 sched: Optimize unused cgroup configuration When cgroup group scheduling is built in, skip some code paths if we don't have any (but the root) cgroups configured. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a5004278f0525dcb9aa43703ef77bf371ea837cd Author: Peter Zijlstra Date: Mon Jul 27 14:04:49 2009 +0200 sched: Fix cgroup smp fairness Commit ec4e0e2fe018992d980910db901637c814575914 ("fix inconsistency when redistribute per-cpu tg->cfs_rq shares") broke cgroup smp fairness. In order to avoid starvation of newly placed tasks, we never quite set the share of an empty cpu group-task to 0, but instead we set it as if there's a single NICE-0 task present. If however we actually set this in cfs_rq[cpu]->shares, that means the total shares for that group will be slightly inflated every time we balance, causing the observed unfairness. Fix this by setting cfs_rq[cpu]->shares to 0 but actually setting the effective weight of the related se to the inflated number. Signed-off-by: Peter Zijlstra LKML-Reference: <1248696557.6987.1615.camel@twins> Signed-off-by: Ingo Molnar commit 8e9ed8b02490fea577b1eb1704c05bf43c891ed7 Merge: 716a423 07903af Author: Ingo Molnar Date: Sun Aug 2 14:11:26 2009 +0200 Merge branch 'sched/urgent' into sched/core Merge reason: avoid upcoming patch conflict. Signed-off-by: Ingo Molnar commit 716a42348cdaf04534b15fbdc9c83e25baebfed5 Author: Frederic Weisbecker Date: Fri Jul 24 20:05:23 2009 +0200 sched: Fix cond_resched_lock() in !CONFIG_PREEMPT The might_sleep() test inside cond_resched_lock() assumes the spinlock is held and then preemption is disabled. This is true with CONFIG_PREEMPT but the preempt_count() doesn't change otherwise. Check by starting from the appropriate preempt offset depending on the config. Reported-by: Li Zefan Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1248458723-12146-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit c1dc0b9c0c8979ce4d411caadff5c0d79dee58bc Author: Ingo Molnar Date: Sun Aug 2 11:28:21 2009 +0200 debug lockups: Improve lockup detection When debugging a recent lockup bug i found various deficiencies in how our current lockup detection helpers work: - SysRq-L is not very efficient as it uses a workqueue, hence it cannot punch through hard lockups and cannot see through most soft lockups either. - The SysRq-L code depends on the NMI watchdog - which is off by default. - We dont print backtraces from the RCU code's built-in 'RCU state machine is stuck' debug code. This debug code tends to be one of the first (and only) mechanisms that show that a lockup has occured. This patch changes the code so taht we: - Trigger the NMI backtrace code from SysRq-L instead of using a workqueue (which cannot punch through hard lockups) - Trigger print-all-CPU-backtraces from the RCU lockup detection code Also decouple the backtrace printing code from the NMI watchdog: - Dont use variable size cpumasks (it might not be initialized and they are a bit more fragile anyway) - Trigger an NMI immediately via an IPI, instead of waiting for the NMI tick to occur. This is a lot faster and can produce more relevant backtraces. It will also work if the NMI watchdog is disabled. - Dont print the 'dazed and confused' message when we print a backtrace from the NMI - Do a show_regs() plus a dump_stack() to get maximum info out of the dump. Worst-case we get two stacktraces - which is not a big deal. Sometimes, if register content is corrupted, the precise stack walker in show_regs() wont give us a full backtrace - in this case dump_stack() will do it. Cc: Paul E. McKenney Cc: Peter Zijlstra Cc: Andrew Morton Cc: Linus Torvalds LKML-Reference: Signed-off-by: Ingo Molnar commit e33b992d1504f21a8c2173245aeca4fc2ad632ab Author: Dean Nelson Date: Fri Jul 31 09:14:03 2009 +0000 vxge: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for vxge. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit 1e3c8bd63854a620680323681f28e60a44e26f0e Author: Dean Nelson Date: Fri Jul 31 09:13:56 2009 +0000 s2io: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for s2io. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit fbc663ceeb7a48481a3b0290040528fbfd207282 Author: Dean Nelson Date: Fri Jul 31 09:13:48 2009 +0000 qlge: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for qlge. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit d6a1f83b63e6999ee9374330ea2d7924e775aff7 Author: Dean Nelson Date: Fri Jul 31 09:13:40 2009 +0000 ixgb: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for ixgb. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit c06c430dedf71a0e9180d673191b9c9368aeaa65 Author: Dean Nelson Date: Fri Jul 31 09:13:33 2009 +0000 igbvf: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for igbvf. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit 07ce50e434b62c4de05207109ecd3d615b3cce42 Author: Dean Nelson Date: Fri Jul 31 09:13:25 2009 +0000 bnx2x: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for bnx2x. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit 2ec3de26d2dc666159b79a8b9394fa00b6f414ae Author: Dean Nelson Date: Fri Jul 31 09:13:18 2009 +0000 bnx2: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for bnx2. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit 0d6ab58da0465c42f34d9d4e7d91510278183c80 Author: Dean Nelson Date: Fri Jul 31 09:13:10 2009 +0000 atl1e: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for atl1e. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit 005fb4f0330afb2916ddc3f3c4c70e4555d64758 Author: Dean Nelson Date: Fri Jul 31 09:13:02 2009 +0000 atl1c: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for atl1c. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit d9509ac1295ce2ec121333d29b8a85a9e564f817 Author: Sathya Perla Date: Mon Jul 27 22:53:30 2009 +0000 be2net: delete unnecessary code from be_cmd_POST() When the driver loads the POST stage of the card is expected to be POST_STAGE_ARMFW_RDY. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit efd2e40a8cc891e8f90e0bdde000006bd6201530 Author: Sathya Perla Date: Mon Jul 27 22:53:10 2009 +0000 be2net: some name changes for consistency be_mbox_db_ring() has been changed to be_mbox_notify() (to be consistent with be_mcc_notify()) and struct be_mcc_cq_entry changed to be_mcc_compl to be consistent with rx/tx_compl. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 5f0b849eb35d09cd2f332d5031051c1a8976c30b Author: Sathya Perla Date: Mon Jul 27 22:52:56 2009 +0000 be2net: replace some printks with dev_err()/dev_warn() And get rid of some unnecessary printks. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit eec368fb3ce3ee9e7bb042bbafb03f297d96e55e Author: Sathya Perla Date: Mon Jul 27 22:52:23 2009 +0000 be2net: remove pci_func field from be_adapter struct pci function is available as PCI_FUNC(pdev->devfn); no need for a separate field. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 8788fdc2a53cf012a43808877eaa6ac7e3c923b4 Author: Sathya Perla Date: Mon Jul 27 22:52:03 2009 +0000 be2net: get rid of be_ctrl_info struct/abstraction Currently only the be_ctrl_info struct ptr (instead of adapter) is passed to all the routines in be_cmds.c. Instead pass be_adapter ptr to allow access to all its fields. Merge the contents of struct be_ctrl_info into be_adapter. The resulting code is simpler. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 6d7f68a1eab3d5b3c0a6a5cf9434c77cd3a8c6ac Author: Janusz Krzysztofik Date: Wed Jul 29 13:18:53 2009 +0200 ASoC: add support for Amstrad E3 (Delta) machine This patch adds machine support for Amstrad E3 (Delta) videophone to ASoC. Created and tested against linux-2.6.31-rc3. Applies and works with linux-omap-2.6 commit 7c5cb7862d32cb344be7831d466535d5255e35ac as well. Depends on: 1) latest version of the CX20442 codec driver that exposes v253_ops structure[1], 2) patch 2/3 form this series: TTY: Add definition of a new line discipline required by Amstrad E3 (Delta) ASoC driver[2]. CPU DAI parameters best matching the codec DAI has been selected out empirically for best user experience. Board specific audio function control (with related DAPM widgets) has been modeled after empirically discovered codec capabilities. Unlike other ASoC machine drivers, this one makes use of a codec provided line discipline that is required for talking to a modem chip that can control the codec behavoiur. As the line discipline operations must call board specific bits as well, the machine driver registers its own line discipline ops, not the codec provided, and then calls those codec provided from inside its own callbacks. If some kind of a glue, like a bus over a tty, exsited that could help in runtime detection of a modem (bus adapter) over a more generic line discipline (bus driver)[3], the line discipline code could be probably designed in a more generic way. In order to work at all, this driver requires a working McBSP1. On OMAP1510 based machines (not sure if other OMAP1 variants as well), where McBSP1 is a DSP public peripheral, that means the kernel must provide basic DSP support, ie. omap_dsp_init(), in order to power up the DSP. This used to be included in linux-omap-2.6 tree up to commit 2512fd29db4eb09e82d182596304c7aaf76d2c5c. Without that, the driver would not work, ie. not shift in/out any bits over the CPU DAI[4]. This limitation is not board, but CPU specific, and may apply to other code that makes use of McBSP1/McBSP3 on affected machines. I provide an extra patch (4/3) as a temporary solution. To work correctly in playback mode, this driver requires my prevoiusly submitted patch that corrects pcm pointer calculation for OMAP1510 based machines[5] (already included in linux-2.6.31-rc3). To support codec controls, this driver requires my previously submitted patch that adds support for modem found on Amstrad Delta[6]. [1] http://mailman.alsa-project.org/pipermail/alsa-devel/2009-July/019780.html [2] http://www.spinics.net/lists/linux-serial/msg01862.html [3] http://www.spinics.net/lists/linux-serial/msg01856.html [4] http://www.spinics.net/lists/linux-omap/msg15114.html [5] http://mailman.alsa-project.org/pipermail/alsa-devel/2009-June/018950.html [6] http://www.spinics.net/lists/linux-omap/msg15432.html Credits to: Mark Underwood - for his initial, omap-alsa based sound driver for this machine, Mark Brown - for his help, patience and excellent subsytem maintainer support. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit ad120dae127f5cb14b4c4ed0b98313fb13b9c846 Author: Janusz Krzysztofik Date: Wed Jul 29 12:24:46 2009 +0200 ASoC: CX20442: push down machine independent line discipline bits This corrected patch adds machine independent line discipline code, prevoiusly exsiting inside my Amstrad Delta ASoC machine dirver, to the Conexant CX20442 codec driver. The code can be used as a standalone line discipline, or as a set of codec specific functions called from machine's line discipline callbacks. Anyway, the line discipline itself must be registered by a machine driver. Applies on top of the followup to my initial driver version: http://mailman.alsa-project.org/pipermail/alsa-devel/2009-July/019757.html Suggested by ASoC manintainer Mark Brown Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 78ed73e84d132e2d556eda90e5b76620f4390ff2 Author: Janusz Krzysztofik Date: Wed Jul 22 05:22:37 2009 +0200 TTY: Add definition of a new line discipline required by Amstrad E3 (Delta) ASoC driver This patch adds new line discipline name an number to include/linux/tty.h. The line discipline will be used by the Amstrad E3 (Delta) sound driver that will come next in this series of patches. Created against linux-2.6.31-rc3. Applies to linux-omap-2.6 commit 7c5cb7862d32cb344be7831d466535d5255e35ac as well. Signed-off-by: Janusz Krzysztofik Acked-by: Alan Cox Signed-off-by: Mark Brown commit b8e22c1fe375a8c3b3e4fd7c569cb8932607bef3 Author: Lars-Peter Clausen Date: Fri Jul 31 21:15:25 2009 +0200 ASoC: jack: Fix race in snd_soc_jack_add_gpios The irq can fire as soon as it has been requested, thus all fields accessed from within the irq handler must be initialized prior to requesting the irq. Signed-off-by: Lars-Peter Clausen Signed-off-by: Mark Brown commit 77ee09c67e051a5ebd19a53ba3945dbdc8d21b3c Author: Mark Brown Date: Fri Jul 31 18:26:51 2009 +0100 ASoC: Allow CODECs to flag invalid registers This helps CODECs with sparse register maps work better with the register cache display interface. Signed-off-by: Mark Brown commit 2f6d7c1b34403b97fa57473edcb6749d1db5ace3 Merge: df597ef 1e4247d Author: David S. Miller Date: Thu Jul 30 19:26:55 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit df597efb5737063497f1a4f7c996cc9aec294230 Merge: a33bc5c 0a92457 Author: David S. Miller Date: Thu Jul 30 19:22:43 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-3945.h drivers/net/wireless/iwlwifi/iwl-tx.c drivers/net/wireless/iwlwifi/iwl3945-base.c commit a33bc5c15154c835aae26f16e6a3a7d9ad4acb45 Author: Neil Horman Date: Thu Jul 30 18:52:15 2009 -0700 xfrm: select sane defaults for xfrm[4|6] gc_thresh Choose saner defaults for xfrm[4|6] gc_thresh values on init Currently, the xfrm[4|6] code has hard-coded initial gc_thresh values (set to 1024). Given that the ipv4 and ipv6 routing caches are sized dynamically at boot time, the static selections can be non-sensical. This patch dynamically selects an appropriate gc threshold based on the corresponding main routing table size, using the assumption that we should in the worst case be able to handle as many connections as the routing table can. For ipv4, the maximum route cache size is 16 * the number of hash buckets in the route cache. Given that xfrm4 starts garbage collection at the gc_thresh and prevents new allocations at 2 * gc_thresh, we set gc_thresh to half the maximum route cache size. For ipv6, its a bit trickier. there is no maximum route cache size, but the ipv6 dst_ops gc_thresh is statically set to 1024. It seems sane to select a simmilar gc_thresh for the xfrm6 code that is half the number of hash buckets in the v6 route cache times 16 (like the v4 code does). Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit 9aada7ac047f789ffb27540cc1695989897b2dfe Author: Hannes Eder Date: Thu Jul 30 14:29:44 2009 -0700 IPVS: use pr_fmt While being at it cleanup whitespace. Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit b4076d1715b8a38138db0805a85932b3b650d583 Author: Stephen Hemminger Date: Thu Jul 30 13:16:45 2009 -0700 vlan: allow creating vlan when real device is not up There is no reason for the arbitrary restriction that device must be up to create a vlan. This patch was added to Vyatta kernel to resolve startup ordering issues where vlan's are created but real device was disabled. Note: the vlan already correctly inherits the operstate from real device; so if vlan is created and real device is marked down, the vlan is marked down. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 573dd788ccd919f90c78f971c0da124ffa4b8bff Author: Eilon Greenstein Date: Wed Jul 29 00:20:11 2009 +0000 bnx2x: Version 1.48.114-1 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 7d0446c2349da54f2967fb34d984db572fbfc6ac Author: Eilon Greenstein Date: Wed Jul 29 00:20:10 2009 +0000 bnx2x: WoL only with current MAC address In some cases with 57711E, depending on the functions unload sequence, other functions MAC address could have been used to wake the system as well. Make sure to block all but the current function if WoL is required by changing the mode to single function WoL. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c1f1a06f926acc267c62a26d5d7435a3b5c7e429 Author: Eilon Greenstein Date: Wed Jul 29 00:20:08 2009 +0000 bnx2x: Self-test kills management traffic Self test used to play with the management FIFO possibly while management was running... Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 581ce43d269bb9f9ea85d8f6e6acf68bad129740 Author: Eilon Greenstein Date: Wed Jul 29 00:20:04 2009 +0000 bnx2x: Receive traffic that maches management filtering rules Due to lack of configuration, if the BMC configures the chip to pass all broadcast/multicast traffic to it, the host will not receive it. On top of fixing it, also make sure that in promiscuous mode, the host will receive the management traffic as well. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 03cb2dafcbde938ed7d01d4b952ea60e3c4e8532 Merge: d195658 3a38516 Author: Takashi Iwai Date: Thu Jul 30 18:09:04 2009 +0200 Merge branch 'topic/hda-cirrus' into topic/hda commit d195658bd785e9384d2f70937034ceb13d5e4bcc Merge: fefd67f 78735cf Author: Takashi Iwai Date: Thu Jul 30 18:08:54 2009 +0200 Merge branch 'fix/hda' into topic/hda commit fefd67f31ee7f5259344e36a237d59b47e8715cf Author: Takashi Iwai Date: Thu Jul 30 18:03:05 2009 +0200 ALSA: hda - Add line-out jack detection on IDT/STAC codecs Add the automatic mute of speakers via line-out jack plugging on STAC/IDT codecs. The feature is enabled when the HP detect is present. Signed-off-by: Takashi Iwai commit 3a38516750e176a18f76d605b401fbab2c72d648 Author: Stelian Pop Date: Thu Jul 30 14:44:27 2009 +0200 ALSA: hda - Enable HP output with Macbook Pro 5, 5 The patch below, to be applied on the latest sound-unstable-2.6.git, enables headphones output on my MacBookPro 5,5, together with the automuting feature. Here is the exact soundcard id: Vendor Id: 0x10134206 Subsystem Id: 0x106b4d00 Revision Id: 0x100301 Signed-off-by: Takashi Iwai commit a1daf67d721adfecc298132550bc2967c67f764f Merge: 3a39f83 82c4362e Author: Mark Brown Date: Thu Jul 30 13:21:38 2009 +0100 Merge branch 'gta02-audio' into for-2.6.32 commit 5207e10ed49c515e7432d0b1a7561ccc7b71f9df Author: Takashi Iwai Date: Thu Jul 30 13:09:08 2009 +0200 ALSA: hda - Integrate Digital Input Source to Input Source STAC/IDT codecs provide both "Input Source" and "Digital Input Source" controls to choose the analog input source and the digital input source. But this is far user-unfriendly. This patch merges the input source selections into one "Input Source" control. To have separate digital and analog input source controls, you can pass "separate_dmux = 1 " hint string. At the same time, this patch gets rid of analog mixer stuff that was already disabled in previous patches. Signed-off-by: Takashi Iwai commit bf677bd8fbd5dc06ead5511cf9fa76d090856c6a Author: Takashi Iwai Date: Thu Jul 30 09:24:29 2009 +0200 ALSA: hda - Fix typos of Capture controls. The commit 6479c63188290beae83ade3243b9d6eb47d394b6 ALSA: hda - Create Capture controls dynamically introduced typos of "Capture". Fixed now. Signed-off-by: Takashi Iwai commit 6732bd0d15893d20359396309adc238e0af10b58 Author: Wu Fengguang Date: Thu Jul 30 09:19:14 2009 +0200 ALSA: hda: add HP automute support to Intel ALC889/ALC889A models It auto mutes all 8-channel outputs at rear panel when the front panel headphone is connected. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit dd7714c92248943b778e8199c7dec7ef859dcac2 Author: Wu Fengguang Date: Thu Jul 30 14:36:35 2009 +0800 ALSA: hda: add 2-channel mode to Intel ALC889/ALC889A models This 2-channel mode is useful in that it will broadcast a 2-channel audio stream to all front/side/... ports. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 044824d96208c8ec4863f9c54a529e00a1f1d37c Author: Dhananjay Phadke Date: Tue Jul 28 09:10:03 2009 +0000 netxen: fix CONFIG_INET=n build Wrap dest IP hashing code with #ifdef CONFIG_INET, this feature makes no sense without INET, but other driver can still work. Signed-off-by: Dhananjay Phadke Acked-by: Randy Dunlap Signed-off-by: David S. Miller commit 3a39f832a5699d50a6785de97c551033cc09d0ec Author: Barry Song <21cnbao@gmail.com> Date: Wed Jul 29 15:03:16 2009 +0800 ASoC: Fix checkpatch issues and typos of ad1938 codec and bf5xx-tdm dai 1. fix "line over 80 characters" checkpatch warnings 2. ‘DMA_nnBIT_MASK’ is deprecated, use DMA_BIT_MASK instead 3. fix typos Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 82c4362ee3d8a0b8797ba77222b25c7671696e2b Author: Lars-Peter Clausen Date: Wed Jul 29 16:40:19 2009 +0200 ASoC: neo1973_gta02_wm8753: Replace deprecated s3c_gpio calls with gpiolib With the s3c platform has implementing gpiolib support the s3c_gpio api has been deprecated. This patch gets rid of all s3c_gpio calls and replaces them by using gpiolib. Signed-off-by: Lars-Peter Clausen Signed-off-by: Mark Brown commit 69331fbdeede932b64a0eaea6d196beaa9c40e0f Author: Lars-Peter Clausen Date: Wed Jul 29 16:40:18 2009 +0200 ASoC: neo1973_gta02_wm8753: Replace snd_soc_cnew with snd_soc_add_controls. Signed-off-by: Lars-Peter Clausen Signed-off-by: Mark Brown commit 1e4247d457c6a42e4a05cb7dfa4e6ea1fa65c112 Author: Wey-Yi Guy Date: Mon Jul 27 13:50:15 2009 -0700 iwlwifi: debugFs to enable/disable HT40 support Add debugfs file to enable/disable HT40(40MHz) channel support. By default, 40MHz is supported if AP can support the function. By echo "1" to "disable_ht40" file, iwlwifi driver will disable the 40MHz support and only allow 20MHz channel. Because the information exchange happen during association time, so enable/disable ht40 channel only can be performed when it is not associated with AP. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 35a1e70dfe74aafa350325f79687153b9852c3f1 Author: Luis R. Rodriguez Date: Mon Jul 27 08:30:00 2009 -0700 ath9k: remove unused ATH_PCI_VERSION Our version goes by the kernel release. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a9a11622c5c742c115fad371c0397ae86dd3bb67 Author: Johannes Berg Date: Mon Jul 27 12:01:53 2009 +0200 cfg80211: self-contained wext handling where possible Finally! This is what you've all been waiting for! This patch makes cfg80211 take care of wext emulation _completely_ by itself, drivers that don't need things cfg80211 doesn't do yet don't even need to be aware of wireless extensions. This means we can also clean up mac80211's and iwm's Kconfig and make it possible to build them w/o wext now! RIP wext. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1f9298f96082692bdfe73af6fc2167f627f21647 Author: Johannes Berg Date: Mon Jul 27 12:01:52 2009 +0200 cfg80211: combine IWESSID handlers Since we now have handlers IWESSID for all modes, we can combine them into one. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 562e482265ac4d660d9f0114419591d62f44361d Author: Johannes Berg Date: Mon Jul 27 12:01:51 2009 +0200 cfg80211: combine IWAP handlers Since we now have IWAP handlers for all modes, we can combine them into one. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0e82ffe3b90bcad72cfe80e4379946b8fb0691ca Author: Johannes Berg Date: Mon Jul 27 12:01:50 2009 +0200 cfg80211: combine iwfreq implementations Until now we implemented iwfreq for managed mode, we needed to keep the implementations separate, but now that we have all versions implemented we can combine them and export just one handler. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a7bc376c858e0e724b8cb2db09b6874562d377ca Author: Johannes Berg Date: Mon Jul 27 10:33:31 2009 +0200 mac80211: verify info->control.vif is not NULL When enqueuing packets on the internal packet queue, we need to ensure that we have a valid vif pointer since that is required since the net namespace work. Add some assertions to verify this, but also don't crash is for some reason we don't end up with a vif pointer -- warn and drop the packet in all these cases. Since this code touches a number of hotpaths, it is intended to be temporary, or maybe configurable in the future, at least the bit that is in the path that gets hit for every packet, ieee80211_tx_pending(). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f9d6b402603a63b5e5b56bd7a79fa72a818be55b Author: Johannes Berg Date: Mon Jul 27 10:22:28 2009 +0200 cfg80211: fix disassoc while not associated When trying to disassociate while not associated, the kernel would crash rather than refusing the operation, fix this; Reported-by: Maxim Levitsky Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fec247c0d5bfbaa0861774ce31d515bbd48f7fce Author: Sujith Date: Mon Jul 27 12:08:16 2009 +0530 ath9k: Add debug counters for TX Location: ath9k/phy#/xmit Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0ee9c13c7c92581ab005d80795cf65897213b249 Author: Helmut Schaa Date: Sat Jul 25 17:25:51 2009 +0200 mac80211: fix an oops in ieee80211_scan_state_set_channel Fix an oops in ieee80211_scan_state_set_channel which was triggered if the last scanned channel was skipped (for example due to regulatory restrictions) by returning to the decision state after each skipped channel. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit c0b2bbd833a5a26b5a9425cb9a7eb66bbe736dd1 Author: Johannes Berg Date: Sat Jul 25 16:54:36 2009 +0200 nl80211: add missing parameter clearing Jouni and Maxim reported an oops when using wpa_supplicant -Dnl80211, which seems to be due to random data being contained in the crypto settings for the assoc() command. This seems to be due to the missing memset here, so add it -- it's certainly missing but I'm not 100% certain that it will fix the problem. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cbdec9758736c30ecbb03651b0c2915c442a5895 Author: Gabor Juhos Date: Fri Jul 24 17:27:22 2009 +0200 ath9k: get rid of unnecessary setpower calls We are using setpower routines regardless of the current power mode. Don't bother the hardware, if it is not necessary. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 96148326c4b54db5c384def1a5ab285c359d1395 Author: Gabor Juhos Date: Fri Jul 24 17:27:21 2009 +0200 ath9k: fix race with IEEE80211_CONF_PS checks There is a small window where the mac80211 changes the IEEE80211_CONF_PS flag, and then informs the driver about the change. We have a race condition if we are checking the flag in the same time. Avoid it by introducing a local variable, and using that instead of checking the IEEE80211_CONF_PS flag directly. This fix the problem reported by Luis: http://article.gmane.org/gmane.linux.kernel.wireless.general/34363 Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit ff8365ca889cb86ba5bd40fe3047d047bc632f4c Author: Alexander Beregalov Date: Fri Jul 24 11:55:44 2009 +0400 ar9170: fix build error when !CONFIG_AR9170_LEDS Fix this build error when CONFIG_AR9170_LEDS is not set drivers/net/wireless/ath/ar9170/main.c:1296: error: 'struct ar9170' has no member named 'led_work' Signed-off-by: Alexander Beregalov Signed-off-by: John W. Linville commit 11866efa9b5d6f321a2625b7f6837ba55c4c2e4b Author: John W. Linville Date: Mon Jul 27 10:56:41 2009 -0400 ray_cs: remove bogus NULL check at head of ray_get_wireless_stats Reported-by: Johannes Berg Cc: Martin Ettl Signed-off-by: John W. Linville commit 8d8b261a5c11bd043b9b0e0c7e6c49d57611e3ae Author: Johannes Berg Date: Sat Jul 25 11:58:36 2009 +0200 mac80211: fix receiving deauth Marcel reported a warning, which quite obviously comes from an oversight in the code handling deauth frames, and which resulted in multiple follow-up warnings due to this missing handling. This patch adds the missing deauth handling (telling cfg80211 about it) and also removes the follow-up warnings since they could happen due to races even if nothing is wrong. I've explained the races in the comments. Signed-off-by: Johannes Berg Reported-by: Marcel Holtmann Tested-by: Marcel Holtmann Signed-off-by: John W. Linville commit bc43b28c10855aa56f6d0bd64ec6a6d8edbcf11b Author: Johannes Berg Date: Sat Jul 25 10:54:13 2009 +0200 cfg80211: fix circular lock dependency (1) Luis reported this lockdep complaint, that he had also reported earlier but when trying to analyse I had been locking at the wrong code, and never saw the problem: (slightly abridged) ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.31-rc4-wl #6 ------------------------------------------------------- wpa_supplicant/3799 is trying to acquire lock: (cfg80211_mutex){+.+.+.}, at: [] cfg80211_get_dev_from_ifindex+0x1a/0x90 [cfg80211] but task is already holding lock: (rtnl_mutex){+.+.+.}, at: [] rtnl_lock+0x12/0x20 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (rtnl_mutex){+.+.+.}: [] __lock_acquire+0xd76/0x12b0 [] lock_acquire+0xe3/0x120 [] mutex_lock_nested+0x44/0x350 [] rtnl_lock+0x12/0x20 [] nl80211_send_reg_change_event+0x1f5/0x2a0 [cfg80211] [] set_regdom+0x28e/0x4c0 [cfg80211] -> #0 (cfg80211_mutex){+.+.+.}: [] __lock_acquire+0xe3b/0x12b0 [] lock_acquire+0xe3/0x120 [] mutex_lock_nested+0x44/0x350 [] cfg80211_get_dev_from_ifindex+0x1a/0x90 [cfg80211] [] get_rdev_dev_by_info_ifindex+0x6f/0xa0 [cfg80211] [] nl80211_set_interface+0x3b/0x260 [cfg80211] When looking at the correct code, the problem is quite obvious. I'm not entirely sure which code paths lead here, so until I can analyse it better let's just use RCU to avoid the problem. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6686d17e161dcd0dc6801bcde9e397020bf9edf7 Author: Reinette Chatre Date: Fri Jul 24 11:13:13 2009 -0700 iwlagn: fix sparse warning when compiling without debug C [M] drivers/net/wireless/iwlwifi/iwl-core.o drivers/net/wireless/iwlwifi/iwl-core.c:1341: warning: ‘iwl_dump_nic_error_log’ defined but not used Reported-by: Luis R. Rodriguez Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f7ea097d9b4e61a816c041c92548aad7c7ed7915 Author: Reinette Chatre Date: Fri Jul 24 11:13:12 2009 -0700 iwlagn: fix null pointer access during ucode load on 1000 Commit "iwlwifi: Handle new firmware file with ucode build number in header" introduced new ucode header parsing routines, but neglected to initialize these routines for 1000. The system thus goes into infinite loop trying to load ucode, failing every time with a null pointer exception as it tries to parse the header. Signed-off-by: Reinette Chatre Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 71443b0b745f7d2c775c8a228e09ef2dc98d42f3 Author: Takashi Iwai Date: Wed Jul 29 18:41:29 2009 +0200 ALSA: hda - No analog mix input source as default for IDT92HD71bxx The analog mix is disabled now as default (unless "analog_mixer" hint is given), so it shoudn't appear in the digital input source as well. Signed-off-by: Takashi Iwai commit 15b4f296fce683497ecc815b2f9b6f121fb3fef8 Author: Takashi Iwai Date: Wed Jul 29 16:32:55 2009 +0200 ALSA: hda - Add missing DMUX initialization for auto-mic with STAC/IDT Added the missing initialization of DMUX connection (to analog input) for auto-mic mode with STAC/IDT codecs. Signed-off-by: Takashi Iwai commit 26a2798053519d766ddae1ca1b03c8295fddf1a8 Author: Takashi Iwai Date: Wed Jul 29 16:28:09 2009 +0200 ALSA: hda - Remove static connection in IDT 92HD71bxx We don't need any more static connection to the port F (which is often used for docking stations) since its connection is done dynamically via DAC assignment now. Signed-off-by: Takashi Iwai commit 3d21d3f7e7032619f5c5b47d3ee23bbe45de5993 Author: Takashi Iwai Date: Wed Jul 29 14:32:56 2009 +0200 ALSA: hda - Support auto-mic switching with IDT/STAC codec Support the automatic mic-switching with some devices with IDT/STAC codecs. The condition is that the device has only two inputs, one for an external mic and one for an internal mic. Signed-off-by: Takashi Iwai commit 62558ce15759ee93223132258588320967e1e521 Author: Takashi Iwai Date: Wed Jul 29 14:23:09 2009 +0200 ALSA: hda - Avoid overwrite of jack events with STAC/IDT Since only one event can be associated to a (pin) widget, it's safer to avoid the multiple mapping. This patch fixes the behavior of the STAC/IDT codec driver. Now stac_get_event() doesn't take the type argument but simply returns the first hit element. Then enable_pin_detect() checks the validity of the type, and returns non-zero only if a valid entry. The caller can call stac_issue_unsol_event() after checking the return value. Signed-off-by: Takashi Iwai commit c8489c3ed319677f23e5387fec09c844365566e8 Author: Barry Song <21cnbao@gmail.com> Date: Thu Jul 23 02:10:34 2009 +0800 ASoC: board driver to connect bf5xx with ad1938 Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 01e2ab207ca5a8edac622ab112b581d41b5eb36e Author: Barry Song <21cnbao@gmail.com> Date: Mon Jul 27 18:06:39 2009 +0800 ASoC: blackfin I2S(TDM mode) CPU DAI driver The I2S DAI driver for blackfin SPORT, but works in TDM mode. I2S is not a special case of TDM with only left and right two slots for SPORT interface. I2S coordinates with TDM in SPORT, but not a part of TDM. TDM require different hardware configuration with I2S, not only different slot number. One is "Stereo Serial Operation" mode of SPORT, the other one is "Multichannel Operation" mode. They are incompatible at the same time. Hardware and DMA description and data transfer flow are much different for I2S and TDM. Merging them as a whole will be very ugly and difficult to maintain. So we don't define a new DAI type, but give two DAI instances for standard I2S and TDM, both in I2S-family DAI type. The TDM instance still uses the I2S-family DAI type. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit b84eab08a67913581515a1184f1deedf1d54dc5d Author: Janusz Krzysztofik Date: Tue Jul 28 20:24:12 2009 +0200 ASoC: CX20442: fix issues pointed out by subsystem maintainer The patch fixes some checkpatch identified issues and adds a comment about line discipline interaction to my driver code, as requested by Mark on my inital submission (thank you Mark for applying my imperfect patch anyway). It also fixes MODULE_ALIAS mismatch as used in my machine driver. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 50c62f068ee67b5a0178855f502f4ea2ee931eed Author: Takashi Iwai Date: Tue Jul 28 18:25:29 2009 +0200 ALSA: hda - Don't create analog mixer for IDT92HD71bxx The analog mixer unit on IDT 92HD71Bxx codecs is almost useless since we use only the direct connections from DAC to pin. Remove the controls to avoid unneeded confusion as default now. This can be still back via "analog_mixer = 1" hint. Signed-off-by: Takashi Iwai commit 6479c63188290beae83ade3243b9d6eb47d394b6 Author: Takashi Iwai Date: Tue Jul 28 18:20:25 2009 +0200 ALSA: hda - Create Capture controls dynamically Instead of static snd_kcontrol_new arrays, create "Capture Volume" and "Capture Switch" controls dynamically based on the mixer attr values (made via HDA_COMPOSE_AMP_VAL()). This reduces the code size and gives more flexibility to change the number of controls later. Signed-off-by: Takashi Iwai commit 4417932315d185b59c0089091de7fa509c59fd5a Author: Takashi Iwai Date: Tue Jul 28 17:03:49 2009 +0200 ALSA: hda - Don't create unneeded digital input source for IDT 92HD71x The current driver creates always the digital input source mixer elements for IDT 92HD71x codecs no matter whether digital mics are present. This patch adds the proper check to avoid the creation of these controls if unnecessary. Signed-off-by: Takashi Iwai commit 9a11f1aa8e14798037d0c9ac134696fa3af6eb2a Author: Takashi Iwai Date: Tue Jul 28 16:01:20 2009 +0200 ALSA: hda - Reword information messages for BIOS auto-probing mode The sentense "Unknown model for xxx, ..." makes people too nervous and drives them to a direction to a wrong "fix" by giving any mismatching model option. Let's rephrase the messages to be more nice and easy (at least that won't make people suspect conspiracies). Signed-off-by: Takashi Iwai commit b683d42693c4e92b838117f5c6f7b90bfa1525c9 Author: FUJITA Tomonori Date: Fri Jul 10 10:05:04 2009 +0900 x86: remove unused swiotlb_phys_to_bus() and swiotlb_bus_to_phys() phys_to_dma() and dma_to_phys() are used instead of swiotlb_phys_to_bus() and swiotlb_bus_to_phys(). Signed-off-by: FUJITA Tomonori commit 8ab7ff42c9dd9231706a4ba7120eed22ff52a93b Author: FUJITA Tomonori Date: Fri Jul 10 10:05:03 2009 +0900 powerpc: remove unused swiotlb_phys_to_bus() and swiotlb_bus_to_phys() phys_to_dma() and dma_to_phys() are used instead of swiotlb_phys_to_bus() and swiotlb_bus_to_phys(). Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 862d196b27bd30a5ab8109d5cdb37980d81b1fe9 Author: FUJITA Tomonori Date: Fri Jul 10 10:05:02 2009 +0900 swiotlb: use phys_to_dma and dma_to_phys This converts swiotlb to use phys_to_dma and dma_to_phys instead of swiotlb_phys_to_bus() and swiotlb_bus_to_phys(). swiotlb_phys_to_bus() and swiotlb_bus_to_phys() are not necessary so this patch also removes them. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 8d4f5339d1ee4027c07e6b2a1cfa9dc41b0d383b Author: FUJITA Tomonori Date: Fri Jul 10 10:05:01 2009 +0900 x86, IA64, powerpc: add phys_to_dma() and dma_to_phys() This adds two functions, phys_to_dma() and dma_to_phys() to x86, IA64 and powerpc. swiotlb uses them. phys_to_dma() converts a physical address to a dma address. dma_to_phys() does the opposite. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 8f2502fd8157632909ff335a3c628e7caeec5e03 Author: FUJITA Tomonori Date: Fri Jul 10 10:05:00 2009 +0900 remove is_buffer_dma_capable() is_buffer_dma_capable() was replaced with dma_capable(). is_buffer_dma_capable() tells if a buffer is dma-capable or not. However, it doesn't take a pointer to struct device so it doesn't work for POWERPC. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 30945fdf6a08f52370dab3bc162e96c4b4e36082 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:59 2009 +0900 powerpc: remove unncesary swiotlb_arch_address_needs_mapping swiotlb doesn't use swiotlb_arch_address_needs_mapping(); it uses dma_capalbe(). We can remove unnecessary swiotlb_arch_address_needs_mapping(). We can remove swiotlb_addr_needs_map() and is_buffer_dma_capable() in swiotlb_pci_addr_needs_map() too; dma_capable() handles the features that both provide. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit b9394647ac88faad9db0f9e92eac4db434faded6 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:58 2009 +0900 swiotlb: use dma_capable() This converts swiotlb to use dma_capable() instead of swiotlb_arch_address_needs_mapping() and is_buffer_dma_capable(). Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 9a937c91eea31c4b594ea49a2a23c57003e04987 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:57 2009 +0900 powerpc: add dma_capable() to replace is_buffer_dma_capable() dma_capable() eventually replaces is_buffer_dma_capable(), which tells if a memory area is dma-capable or not. The problem of is_buffer_dma_capable() is that it doesn't take a pointer to struct device so it doesn't work for POWERPC. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit a0b00ca84b3ecb9eebd62ad34880d8cc0d988c8a Author: FUJITA Tomonori Date: Fri Jul 10 10:04:56 2009 +0900 ia64: add dma_capable() to replace is_buffer_dma_capable() dma_capable() eventually replaces is_buffer_dma_capable(), which tells if a memory area is dma-capable or not. The problem of is_buffer_dma_capable() is that it doesn't take a pointer to struct device so it doesn't work for POWERPC. Signed-off-by: FUJITA Tomonori commit a4c2baa6e148adfb27beaf16b6fb6d465b5b3acb Author: FUJITA Tomonori Date: Fri Jul 10 10:04:55 2009 +0900 x86: replace is_buffer_dma_capable() with dma_capable Signed-off-by: FUJITA Tomonori commit 99becaca86d184a4433e9fde879ff97303d7669f Author: FUJITA Tomonori Date: Fri Jul 10 10:04:54 2009 +0900 x86: add dma_capable() to replace is_buffer_dma_capable() dma_capable() eventually replaces is_buffer_dma_capable(), which tells if a memory area is dma-capable or not. The problem of is_buffer_dma_capable() is that it doesn't take a pointer to struct device so it doesn't work for POWERPC. Signed-off-by: FUJITA Tomonori commit 02ca646e73f3cb9be69e339841b94edae675e248 Author: FUJITA Tomonori Date: Thu Jul 23 11:18:49 2009 +0900 swiotlb: remove unnecessary swiotlb_bus_to_virt swiotlb_bus_to_virt is unncessary; we can use swiotlb_bus_to_phys and phys_to_virt instead. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit cf56e3f2e8a8d5b7bc719980869b0e7985c256f3 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:52 2009 +0900 swiotlb: remove swiotlb_arch_range_needs_mapping Nobody uses swiotlb_arch_range_needs_mapping(). Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit bb52196be37ce154ddc50b1f39496146d181cbe7 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:51 2009 +0900 swiotlb: remove unused swiotlb_alloc() Nobody uses swiotlb_alloc(). Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 3885123da8335dc6b67387e5e626acbffc56f664 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:50 2009 +0900 swiotlb: remove unused swiotlb_alloc_boot() Nobody uses swiotlb_alloc_boot(). Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 1da46bebb1bb01a77333e6509e74e12b85df5729 Author: Pavel Machek Date: Fri Jul 24 11:13:10 2009 -0700 iwlwifi: fix LED config option IWLWIFI_LEDS option should certainly have help comment, and should default to y. Signed-off-by: Pavel Machek Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bcc693a14ddf46170752c185e415ff8609b9f82f Author: Wey-Yi Guy Date: Fri Jul 24 11:13:09 2009 -0700 iwlwifi: Name fix for MPDU density for TX aggregation Fix incorrect name for HT MPDU Density. default set to 4 uSec Reported-by: Sujith Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ec74116487278adf6c3db9c3bbdc81c6409c1cbb Author: Reinette Chatre Date: Fri Jul 24 11:13:08 2009 -0700 iwlwifi: print packet contents in error case This data is more useful to debugging that the receive buffer contents. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5696aea6f243e40013d2b00cd140fd006ec20b9c Author: Johannes Berg Date: Fri Jul 24 11:13:06 2009 -0700 iwlwifi: remove command callback return value No existing callbacks use anything other than the return value 1, which means that the caller should free the reply skb, so it seems safer in terms of not introducing memory leaks to simply remove the return value and let the caller always free the skb. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c2acea8e9b86ba5a5469ff477445676a223af4e2 Author: Johannes Berg Date: Fri Jul 24 11:13:05 2009 -0700 iwlwifi: fix up command sending The current command sending in iwlwifi is a bit of a mess: 1) there is a struct, iwl_cmd, that contains both driver and device data in a single packed structure -- this is very confusing 2) the on-stack data and the command metadata share a structure by embedding the latter in the former, which is also rather confusing because it leads to weird unions and similarly odd constructs 3) each txq always has enough space for 256 commands, even if only 32 end up being used This patch fixes these things: 1) rename iwl_cmd to iwl_device_cmd and keep track of command metadata and device command separately, in two arrays in each tx queue 2) remove the 'meta' member from iwl_host_cmd and only put in the required members 3) allocate the cmd/meta arrays separately instead of embedding them into the txq structure Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fbf3a2af3834e8e93e9c2876de62c5b49988e352 Author: Wey-Yi Guy Date: Fri Jul 24 11:13:04 2009 -0700 iwlwifi: Thermal Throttling debugfs function Add debugfs function to display current thermal throttling status for both Legacy and Advance Thermal Throttling Management Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 46f9381aa3fb62f6a141bfd41dcbeda1ec5fa26e Author: Wey-Yi Guy Date: Fri Jul 24 11:13:03 2009 -0700 iwlwifi: Thermal Throttling Management - part 2 Part 2 of Thermal Throttling Management - Thermal Throttling feature is used to put NIC into low power state when driver detect the Radio temperature reach pre-defined threshold Two Thermal Throttling Management Methods; this patch introduce the Advance Thermal Throttling: TI-0: system power index, no tx/rx restriction, HT enabled TI-1: power index 5, 1 spatial stream Tx, multiple spatial stream Rx, HT enabled TI-2: power index 5: 1 spatial stream Tx, 1 spatial stream Rx, HT disabled TI-CT-KILL: power index 5, no Tx, no Rx, HT disabled For advance Thermal Throttling, CT_KILL_ENTER threshold and CT_KILL_EXIT threshold are different; uCode will not stay awake until reach CT_KILL_EXIT threshold. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 39b73fb15e4704fd4d1e33688135810637f5f3fb Author: Wey-Yi Guy Date: Fri Jul 24 11:13:02 2009 -0700 iwlwifi: Thermal Throttling Management - Part 1 Part 1 of Thermal Throttling Management - Thermal Throttling feature is used to put NIC into low power state when driver detect the Radio temperature reach pre-defined threshold Two Thermal Throttling Management Methods; this patch introduce the Legacy Thermal Management: IWL_TI_0: normal temperature, system power state IWL_TI_1: high temperature detect, low power state IWL_TI_2: higher temperature detected, lower power state IWL_TI_CT_KILL: critical temperature detected, lowest power state Once get into CT_KILL state, uCode go into sleep, driver will stop all the active queues, then move to IWL_TI_CT_KILL state; also set up 5 seconds timer to toggle CSR flag, uCode wake up upon CSR flag change, then measure the temperature. If temperature is above CT_KILL exit threshold, uCode go backto sleep; if temperature is below CT_KILL exit threshold, uCode send Card State Notification response with appropriate CT_KILL status flag, and uCode remain awake, Driver receive Card State Notification Response and update the card temperature to the CT_KILL exit threshold. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 672639de13c4db92ed6a47e68043a4317e219902 Author: Wey-Yi Guy Date: Fri Jul 24 11:13:01 2009 -0700 iwlwifi: critical temperature enter/exit condition If advance thermal throttling is used the driver need to pass both "enter" and "exit" temperature to uCode. Using different critical temperature threshold for legacy and advance thermal throttling management based on the type of thermal throttling method is used except 1000. For 1000, it use advance thermal throttling critical temperature threshold, but with legacy thermal management implementation until ucode has the necessary implementations in place. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e3139fe741b25a0f8a27fd2cdf2ad11734c3d4d3 Author: Wey-Yi Guy Date: Fri Jul 24 11:13:00 2009 -0700 iwlwifi: revert to active table when rate is not valid When performing rate scaling, if detected that the new rate index is invalid, clear the search_better_tbl flag so it will not be stuck in the loop. Since the search table is already set up in uCode, we need to empty out the the search table; revert back to the "active" rate and throughput info. Also pass the "active" table setup to uCode to make sure the rate scale is functioning correctly. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 21f5fc75deca63bc41c9d13007d35981d4485622 Author: Luis R. Rodriguez Date: Fri Jul 24 19:57:25 2009 -0400 mac80211: fix oops due to missing private data This was caused by patch: "mac80211: cooperate more with network namespaces" The version of the patch applied doesn't match Johannes' latest: http://johannes.sipsolutions.net/patches/kernel/all/LATEST/NNN-mac80211-netns.patch The skb->cb virtual interface data wasn't being reset for reuse so ath9k pooped out when trying to dereference the private rate control info from the skb. BUG: unable to handle kernel NULL pointer dereference RIP: 0010:[] ath_tx_rc_status+0x33/0x150 [ath9k] <-- snip etc --> Reported-by: Davide Pesavento Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ac88b6ecdfa629fd1261dab1504d78a56fd4cabf Author: Vivek Natarajan Date: Thu Jul 23 10:59:57 2009 +0530 ath9k: Add support for AR9287 based chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 3fa52056f3a8e755708241d5795e6d3e6f55ad85 Author: Johannes Berg Date: Fri Jul 24 13:23:09 2009 +0200 mac80211: fix PS-poll response, race When a station queries us for a PS-poll response, we wrongly queue the frame on the virtual interface's queue rather than the pending queue. Additionally, fix a race condition where we could potentially send multiple frames to the sleeping station due to using a station flag rather than a packet flag. When converting to a packet flag, we can also convert p54 and remove the filter clearing we added for it. (Also remove a now dead function) Signed-off-by: Johannes Berg Reported-by: Bob Copeland Tested-by: Bob Copeland Cc: Christian Lamparter Signed-off-by: John W. Linville commit 91a3bd76155085d41520cf41ede39e8b7f01aeff Author: Luis R. Rodriguez Date: Thu Jul 23 16:37:47 2009 -0700 mac80211: fix MLME issuing of probe requests while scanning We were issuing probe requests to the associated AP on the wrong band by having our beacon timer loss trigger while we are scanning. When we would scan the timer could hit and force us to send a probe request to the AP but with a chance we'd be on the wrong band. This leads to finding no usable bitrate but we should not get so far on the xmit path. We should not be trying to send these probe request frames so prevent ieee80211_mgd_probe_ap() from sending these. As it turns out all callers of ieee80211_mgd_probe_ap() need this check so we just move the scan check there. This means we can remove the recenlty added check during ieee80211_sta_monitor_work(). Additionally we now fix a race condition added by the patch "mac80211: do not monitor the connection while scanning" which had the same check in ieee80211_sta_conn_mon_timer(). The race happens because the timer routine *does* a valid check for scanning but after it queues work into the mac80211 workqueue the work callback can kick off with scanning enabled and cause the same issue we were trying to avoid. The more appropriate solution would be to disable the respective timers during scan and re-enable them after scan but requires more complex code and testing. Cc: Christian Lamparter Cc: Larry Finger Reported-by: Fabio Rossi Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 485318471e85c1ddb5e3056fa30fdbbc46d759c6 Author: Johannes Berg Date: Thu Jul 23 16:50:16 2009 +0200 mac80211: fix mlme timeouts When a new MLME work is created, its timeout is initialised to 0. This is wrong, it could then be thought of as having an actual timeout in the future (time_is_after_jiffies() can return true). Instead, it should be initialised to jiffies so that it will run right away as soon as the mlme work is executed. Signed-off-by: Johannes Berg Reported-by: Luciano Roth Coelho Reported-by: Alban Browaeys Signed-off-by: John W. Linville commit 09f97e0fc4ae81f151bd76b97e28d2af429c1427 Author: Helmut Schaa Date: Thu Jul 23 12:14:29 2009 +0200 cfg80211: increase scan result expire time Using background scanning in mac80211 the time a scan needs to finish can exceed 10 seconds. Hence, increase the scan results expire time to 15 seconds which should be sufficient. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 977923b00c79185c11b4b47664f5ffa4c3820438 Author: Helmut Schaa Date: Thu Jul 23 12:14:20 2009 +0200 mac80211: rename scan_state to next_scan_state Rename scan_state to next_scan_state to better reflect what it is used for. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 142b9f5074dc0d09dc0025739ad437723d7bf527 Author: Helmut Schaa Date: Thu Jul 23 13:18:01 2009 +0200 mac80211: implement basic background scanning Introduce a new scan flag "SCAN_OFF_CHANNEL" which basically tells us that we are currently on a different channel for scanning and cannot RX/TX. "SCAN_SW_SCANNING" tells us that we are currently running a software scan but we might as well be on the operating channel to RX/TX. While "SCAN_SW_SCANNING" is set during the whole scan "SCAN_OFF_CHANNEL" is set when leaving the operating channel and unset when coming back. Introduce two new scan states "SCAN_LEAVE_OPER_CHANNEL" and "SCAN_ENTER_OPER_CHANNEL" which basically implement the functionality we need to leave the operating channel (send a nullfunc to the AP and stop the queues) and enter it again (send a nullfunc to the AP and start the queues again). Enhance the scan state "SCAN_DECISION" to switch back to the operating channel after each scanned channel. In the future it sould be simple to enhance the decision state to scan as much channels in a row as the qos latency allows us. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit fbe9c429f195111bbf7f1630efa19aee295fd8e7 Author: Helmut Schaa Date: Thu Jul 23 12:14:04 2009 +0200 mac80211: Replace {sw, hw}_scanning variables with a bitfield Use a bitfield to store the current scan mode instead of two boolean variables {sw,hw}_scanning. This patch does not introduce functional changes but allows us to enhance the scan flags later (for example for background scanning). Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 2fb3f028a9a46bd344329766257699b4acb36525 Author: Helmut Schaa Date: Thu Jul 23 12:13:56 2009 +0200 mac80211: introduce a new scan state "decision" Introduce a new scan state "decision" which is entered after every completed scan operation and decides about the next steps. At first the decision is in any case to scan the next channel. This shouldn't introduce any functional changes. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit f502d09b750437a4ec9c63333acf1070fe7958af Author: Helmut Schaa Date: Thu Jul 23 12:13:48 2009 +0200 mac80211: advance the state machine immediately if no delay is needed Instead of queueing the scan work again without delay just process the next state immediately. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 7d3be3cc489176bc7bd23e673b0b4aef597af2b3 Author: Helmut Schaa Date: Thu Jul 23 12:13:41 2009 +0200 mac80211: refactor the scan code Move the processing of each scan state into its own functions for better readability. This patch does not introduce functional changes. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4ef7084173e22cfdd4bb3aa3858ba8dd5d76f22f Author: Sujith Date: Thu Jul 23 15:32:41 2009 +0530 ath9k: Remove a few redundant variables/macros Signed-off-by: Sujith Signed-off-by: John W. Linville commit f83da96564b2a2f4ae75ea971b357458e5240b61 Author: Sujith Date: Thu Jul 23 15:32:37 2009 +0530 ath9k: Cleanup return values Cleanup aggregation start/stop function interfaces. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 9e98ac65a39df54fb0520cd86d1e7373319df00f Author: Sujith Date: Thu Jul 23 15:32:34 2009 +0530 ath9k: Remove redundant HT macros These can be obtained from mac80211. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 305fe47fb8ac1279f01284c1ba5875fa9a355d22 Author: Sujith Date: Thu Jul 23 15:32:29 2009 +0530 ath9k: Fix a sparse warning Signed-off-by: Sujith Signed-off-by: John W. Linville commit c49fd520d10eb277d94c570f2fdb35d2974a30ee Author: Sujith Date: Thu Jul 23 15:32:25 2009 +0530 ath9k: Trivial fix in Kconfig Update filename for debug information. Signed-off-by: Sujith Signed-off-by: John W. Linville commit d1eba248469272ae0618288bccf65b24d017f1d2 Author: Sujith Date: Thu Jul 23 15:31:31 2009 +0530 mac80211: Add a few 802.11n defines for AMPDU parameters Signed-off-by: Sujith Acked-by: Johannes Berg Signed-off-by: John W. Linville commit d9db5fa2c5cada8d8c20219ad4bab254e866409d Author: Vivek Natarajan Date: Thu Jul 23 12:01:50 2009 +0530 ath9k: Add init values for AR9287 based chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 58d30d14a1e5fbc3db6351e5af178ba71e2710f0 Author: Luis R. Rodriguez Date: Wed Jul 22 10:41:14 2009 -0700 ath: map TH to FCC3_WORLD TH gets 5 GHz. Cc: David Quan Cc: Michael Green Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit eb87eaac52e916e28bcf3bd5974f3b581f6c0ae9 Author: Lars Ericsson Date: Sat Jul 18 20:21:52 2009 +0200 rt2x00: Don't alter rt2x00dev->default_ant rt2x00dev->default_ant should be initialized once by the driver, and should not be changed afterwards. Because rt2x00lib_config_antenna() was using a reference to the struct antenna_setup it actually had the oppurtunity to change the default antenna setting and it actually did that during the validation. Instead of passing a pointer to antenna_setup the entire structure should be copied. Signed-off-by: Lars Ericsson Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a272a720660059c30fa038113b77fa2a096437d9 Author: Johannes Berg Date: Tue Jul 14 00:33:36 2009 +0200 mac80211: allow using network namespaces This finally opens up the ability to put mac80211 devices into different network namespaces. As long as you don't have sysfs, that is. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 463d018323851a608eef52a9427b0585005c647f Author: Johannes Berg Date: Tue Jul 14 00:33:35 2009 +0200 cfg80211: make aware of net namespaces In order to make cfg80211/nl80211 aware of network namespaces, we have to do the following things: * del_virtual_intf method takes an interface index rather than a netdev pointer - simply change this * nl80211 uses init_net a lot, it changes to use the sender's network namespace * scan requests use the interface index, hold a netdev pointer and reference instead * we want a wiphy and its associated virtual interfaces to be in one netns together, so - we need to be able to change ns for a given interface, so export dev_change_net_namespace() - for each virtual interface set the NETIF_F_NETNS_LOCAL flag, and clear that flag only when the wiphy changes ns, to disallow breaking this invariant * when a network namespace goes away, we need to reparent the wiphy to init_net * cfg80211 users that support creating virtual interfaces must create them in the wiphy's namespace, currently this affects only mac80211 The end result is that you can now switch an entire wiphy into a different network namespace with the new command iw phy# set netns and all virtual interfaces will follow (or the operation fails). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5061b0c2b9066de426fbc63f1278d2210e789412 Author: Johannes Berg Date: Tue Jul 14 00:33:34 2009 +0200 mac80211: cooperate more with network namespaces There are still two places in mac80211 that hardcode the initial net namespace (init_net). One of them is mandated by cfg80211 and will be removed by a separate patch, the other one is used for finding the network device of a pending packet via its ifindex. Remove the latter use by keeping track of the device pointer itself, via the vif pointer, and avoid it going stale by dropping pending frames for a given interface when the interface is removed. To keep track of the vif pointer for the correct interface, change the info->control.vif pointer's internal use to always be the correct vif, and only move it to the vif the driver expects (or NULL for monitor interfaces and injected packets) right before giving the packet to the driver. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6cf5767c7107c606644503f3e95bc1855386a70f Author: Julia Lawall Date: Mon Jul 27 11:38:52 2009 -0700 drivers/atm: Correct redundant test str has already been tested. It seems that this test should be on the recently returned value snr. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( *x == NULL | *x != NULL ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit a44a4a006b860476881ec0098c36584036e1cb91 Author: Neil Horman Date: Mon Jul 27 08:22:46 2009 +0000 xfrm: export xfrm garbage collector thresholds via sysctl Export garbage collector thresholds for xfrm[4|6]_dst_ops Had a problem reported to me recently in which a high volume of ipsec connections on a system began reporting ENOBUFS for new connections eventually. It seemed that after about 2000 connections we started being unable to create more. A quick look revealed that the xfrm code used a dst_ops structure that limited the gc_thresh value to 1024, and always dropped route cache entries after 2x the gc_thresh. It seems the most direct solution is to export the gc_thresh values in the xfrm[4|6] dst_ops as sysctls, like the main routing table does, so that higher volumes of connections can be supported. This patch has been tested and allows the reporter to increase their ipsec connection volume successfully. Reported-by: Joe Nall Signed-off-by: Neil Horman ipv4/xfrm4_policy.c | 18 ++++++++++++++++++ ipv6/xfrm6_policy.c | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) Signed-off-by: David S. Miller commit 8a729fce76f7af50d8b622f2fb26adce9c8df743 Author: Eric Dumazet Date: Sun Jul 26 23:18:11 2009 +0000 net: ethtool_op_get_rx_csum() should be public and exported Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 479432344420bc9a868088e346fecb6765e2b674 Author: Julia Lawall Date: Mon Jul 27 06:15:43 2009 +0000 net/netlabel: Correct redundant test entry was tested for NULL near the beginning of the function, followed by a return, and there is no intervening modification of its value. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( *x == NULL | *x != NULL ) // Signed-off-by: Julia Lawall Acked-by: Paul Moore Signed-off-by: David S. Miller commit 463889e27e6f4f097374a6c9de5611f520766dad Author: Julia Lawall Date: Mon Jul 27 06:13:30 2009 +0000 drivers/net: Correct redundant test res has already been tested. It seems that this test should be on the recently returned value mmio. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( *x == NULL | *x != NULL ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit f004ec728bff3cf924ffc19387baca503cd73b01 Merge: c685bfc 987b881 Author: David S. Miller Date: Mon Jul 27 11:29:31 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit c685bfc6c6bcb9bcc42d1345a3650d3ce5185c52 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:47 2009 +0000 netxen: update version to 4.0.41 Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 7042cd8f148345bfca6c336f009c96a416674f5e Author: Amit Kumar Salecha Date: Mon Jul 27 11:15:54 2009 -0700 netxen: support for ethtool set ringparam Add support for ethtool -G to tune rx and tx ring sizes per interface basis. This is only supported for NX3031 based cards. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 028afe719855a157e32450c36b7a12e1f9e85abe Author: Dhananjay Phadke Date: Sun Jul 26 20:07:45 2009 +0000 netxen: add vlan tx acceleration support Enable vlan tx acceleration for NX3031 if firmware advertises capability. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 9b08beba2d1bf7e4598deba2800a9ea5e5c3a282 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:44 2009 +0000 netxen: fix skb alloc size for legacy firmware Request 1532 bytes skb data size for NX3031. NX2031 firmware needs 1760 sized buffers. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f17443f4b01659a5c44d5fc6f5c502c39c293959 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:43 2009 +0000 netxen: refactor net_device setup code Move all net_device initialization into one function netxen_setup_netdev(). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 4f96b988e8d404b8b32aefed27503b4538949a3c Author: Dhananjay Phadke Date: Sun Jul 26 20:07:42 2009 +0000 netxen: clean up firmware version checks NX2031 firmware version will never be > 4.0.0, so replace (adapter->fw_major < 4) checks with pci revision ID check. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 24767ab16913bc27ba7a85698e5c0f591368647d Author: Dhananjay Phadke Date: Mon Jul 27 11:08:00 2009 -0700 netxen: Add default and limit macros for ring sizes. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1bcfd790c49341fcbdce9526a007c4e2b9d54c7c Author: Dhananjay Phadke Date: Sun Jul 26 20:07:40 2009 +0000 netxen: refactor tso code o move all tso / checksum offload code into netxen_tso_check(). o optimize the tso header copy into simple loop. o clean up unnecessary unions from cmd_desc_type0 struct. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 83ac51fa747c3a74372417629fcad4b110857b77 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:39 2009 +0000 netxen: annotate dma watchdog setup o remove superfluous code to setup PCI dma watchdog for NX2031. o disable dma watchdog completely for NX3031 (not required). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ca2ef330b5eb30e3bc7047f99fd4be9f1bad22be Author: Dhananjay Phadke Date: Sun Jul 26 20:07:38 2009 +0000 netxen: configure interrupt coalesce defaults Initialize and configure interrupt coalesing defaults in the firmware, so that these also reflect in "ethool -c". Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 6598b169b856793f8f9b80a3f3c5a48f5eaf40e3 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:37 2009 +0000 netxen: enable ip addr hashing NX3031 hardware requires local IP addresses for packet accumulation (LRO). IP address hashing is required to distinguish a local TCP flow from others (forwarded or guest). This patch adds listener for IP and netdev events and configures IP address in the firmware. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 68b3cae0824b98d1f469a80cc65dcaab81771f45 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:36 2009 +0000 netxen: refresh firmware info after reset o move dma mask update to netxen_start_firmware() so that if firmware changes across suspend (e.g. file -> flash) it reflects right dma mask. o re-read firmware capabilities after firmware reset. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 663a31ce5bbef2d14fa325023e48bf02b4249f27 Author: Karsten Keil Date: Mon Jul 27 08:20:55 2009 -0700 mISDN: Fix wrong struct name in macro and clarifications Based on comments from Joe Perches . Thanks. Fix IOFUNC_MEMIO macro. WriteFiFo##name##_MIO use the wrong struct name, this was missed because the macro was only called with this name. Clarify with _func that the defined types are functions. Add names to the parameters for better understanding the purpose. Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 70034918930d2e5b68c09bced637228c50d9561a Author: Stephen Rothwell Date: Mon Jul 27 08:05:52 2009 -0700 net: fix multiple definitions of setup_w6692 Signed-off-by: Stephen Rothwell Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 59e57f4417507b1e71f6e5af3eb7e68e6477ac94 Author: Eric Dumazet Date: Mon Jul 27 08:03:18 2009 -0700 phonet: phonet_device_get() fix net/phonet/pn_dev.c: In function `phonet_device_get': net/phonet/pn_dev.c:99: warning: 'dev' might be used uninitialized in this function Signed-off-by: Eric Dumazet Acked-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 987b8816661332978efd0f85bedf9866fe2e3232 Author: Thadeu Lima de Souza Cascardo Date: Sun Jul 26 12:34:40 2009 -0300 trivial: fix typo in ieee802154 documentation and add it to index Signed-off-by: Thadeu Lima de Souza Cascardo commit 1ba7a7c650bd8ee567e25d9b68e9081d131c70f6 Author: Takashi Iwai Date: Mon Jul 27 12:56:26 2009 +0200 ALSA: hda - Add exception for volume-knob in snd_hda_get_connections() Volume-knob widgets may have connections even if they have no CONN_LIST cap bit. Allow the query exceptionally in snd_hda_get_connections(). Signed-off-by: Takashi Iwai commit a22d543a95e82e5ad0ee1a44aad54fd6b6bf52a8 Author: Takashi Iwai Date: Mon Jul 27 12:54:26 2009 +0200 ALSA: hda - Introduce get_wcaps_type() macro Add a helper macro to retrieve the widget type from wiget cap bits. Signed-off-by: Takashi Iwai commit 72dccb01e8632aa5ffe58070003d0fa19d007116 Author: Eric Dumazet Date: Thu Jul 23 02:01:38 2009 +0000 bnx2: Update vlan_features [PATCH net-next-2.6] bnx2: Update vlan_features In order to get full use of some advanced features of BNX2, we now need to fill dev->vlan_features. Patch successfully tested with vlan devices built on top of bonding. (bond0 : one bnx2 slave, one tg3 slave (not yet vlan_features enabled) Signed-off-by: Eric Dumazet Acked-by: Michael Chan Signed-off-by: David S. Miller commit 51def0bea92629dff02ff1de40603eb90c609c55 Author: Tomas Winkler Date: Wed Jul 22 14:06:56 2009 +0000 imwc3200: move iwmc3200 SDIO ids to sdio_ids.h 1. add intel's sdio vendor id to sdio_ids.h 2. move iwmc3200 sdio devices' ids to sdio_ids.h Signed-off-by: Tomas Winkler Signed-off-by: David S. Miller commit 1896e61ff7cc1c9dd0d8b1cf4a9426a0f7217a20 Author: Sridhar Samudrala Date: Wed Jul 22 13:38:22 2009 +0000 ethtool: device independent rx_csum and get_flags routines This helps avoid error messages with ethtool -k on devices that don't provide device specific routines. Signed-off-by: Sridhar Samudrala ------------------------------------------------------------------ Signed-off-by: David S. Miller commit 7d073c68a49b23b5ba2bc23c3bb5b3bcaa0b4f20 Author: Eric Dumazet Date: Thu Jul 23 21:21:19 2009 +0000 bnx2x: Dont update vlan_features in bnx2x_set_tso() Patrick said : "vlan_features doesn't need to be updated, the resulting dev->features of the VLAN device is computed as the intersection of dev->features and dev->vlan_features." Signed-off-by: Eric Dumazet Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit b5eb0589937eae2d58fca17fa45ed44152e772ed Author: Johannes Berg Date: Wed Jul 15 05:23:23 2009 +0000 net: deprecate print_mac We've had %pM for long enough now, time to deprecate print_mac() and remove the __maybe_unused attribute from DECLARE_MAC_BUF so that variables declared with that can be found and removed. Otherwise people are putting in new users of print_mac(). Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit c409c34bc472cc62da6c619acf786120b56c2dc2 Author: Mike McCormack Date: Tue Jul 21 14:51:20 2009 +0000 sky2: remove unnecessary assignment Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 421d20a3dccb3670d4b2e8d3e4cef6327530f30d Author: David S. Miller Date: Sun Jul 26 13:39:10 2009 -0700 phonet: Fix build. As reported by Oliver Hartkopp: net/phonet/pn_dev.c: In function ‘phonet_init_net’: net/phonet/pn_dev.c:221: error: implicit declaration of function ‘proc_net_fops_create’ net/phonet/pn_dev.c: In function ‘phonet_exit_net’: net/phonet/pn_dev.c:242: error: implicit declaration of function ‘proc_net_remove’ Signed-off-by: David S. Miller commit c8b201ff867e64b6233d069563081775269f4499 Merge: 436b355 249b405 Author: David S. Miller Date: Sun Jul 26 10:01:25 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 436b355b96042ab6564f43a7dabd5c61d9634ff7 Merge: 92d947b f70e75e Author: David S. Miller Date: Sun Jul 26 10:00:21 2009 -0700 Merge branch 'for_david' of git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6-net-next commit 92d947b77436437f4fe6f9b7b7cd35f1a294fa9d Author: Alexander Duyck Date: Thu Jul 23 18:11:01 2009 +0000 igbvf: resolve "frees DMA memory with different size" warnings This change resolves some warnings seen with DMA debugging enabled in which we were mapping skb->data with size + NET_IP_ALIGN and unmapping it with just size. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a0c98605d7237fc4bf26a345db5f950f46e69834 Author: Alexander Duyck Date: Thu Jul 23 18:10:43 2009 +0000 igb: initialize mailbox function pointers prior to phy init The igb driver is currently initializing the mailbox function pointers after the phy. This causes issues as the phy init will return from the function early if there is no phy present. To resolve this I have moved the function pointer init to a location prior to the phy initialization so that serdes based adapters can also make use of SR-IOV. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0cce119aa977dba00467985c0ae93fe43d28740a Author: Alexander Duyck Date: Thu Jul 23 18:10:24 2009 +0000 igb: cleanup flow control configuration to make requested/current more clear This patch cleans up the flow control configuration for igb to make it a bit more readable in regards to what the requested and current modes are. This should help with the maintainability of the current igb driver in regards to flow control. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2d94d8ab76ea6c858c6e2eb0ab0403b00b031039 Author: Alexander Duyck Date: Thu Jul 23 18:10:06 2009 +0000 igb: use buffer_info->dma instead of shinfo->nr_frags to determine unmap This change makes it so that we use buffer_info->dma instead of shinfo->nr_frags to determine if we need to unmap a received skb. By doing this we can avoid a cache miss on small packets since the buffer_info structure should already be prefetched. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4703bf73bd5b0d43c3eb5b547398d4f62dc5d4e1 Author: Alexander Duyck Date: Thu Jul 23 18:09:48 2009 +0000 igb: add support for 82576 mezzanine card This patch adds support for a new 82576 mezzanine adapter. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 08a72b5dced32889594e08008cca0d0582f2d3d8 Author: Alexander Duyck Date: Thu Jul 23 18:09:30 2009 +0000 igb: remove unused switch statement from igb_set_wol There is a switch statement in igb_set_wol that defaults to break and doesn't actually do anything. As such it should be removed. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5ac1665906559768029c398d9ede8e7cdd73004e Author: Alexander Duyck Date: Thu Jul 23 18:09:12 2009 +0000 igb: cleanup receive address register initialization This update cleans up the receive address register initialization. The main purpose of this is to clean out some redundancy that was introduced due to having multiple ways of setting the receive address registers. Instead of having a specialized function to set one register and one to set all of them it makes more sense to just go through the list calling the function that is needed to set the individual registers. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 28fc06f58b1fe567bb86c7d0e3d93137e5c0126e Author: Alexander Duyck Date: Thu Jul 23 18:08:54 2009 +0000 igb: move all multicast addresses into multicast table array This patch moves all of the multicast addresses out of the free Receive address registers and instead programs them all into the multicast table array. As a result the multicast filtering may not be as precise, but it also greatly reduces the overhead for multicast addresses. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 009bc06e5311b48c77b7708d9e226ae0f110373a Author: Alexander Duyck Date: Thu Jul 23 18:08:35 2009 +0000 igb: add completion timeout workaround for 82575/82576 The 82575 and 82576 hardware can both experience data corruption issues if a pci-e completion arrives after the timeout value. In order to avoid this we need to increase the timeout value while pci-e master is disabled. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 12645a196eccb9209f88915f56a686086dea1a16 Author: Alexander Duyck Date: Thu Jul 23 18:08:16 2009 +0000 igb: do not overwrite EEPROM LED settings The igb driver was overwritting the LED settings that were configured via EEPROM. This is not correct behavior as the LED settings are meant to be configured by EEPROM and not changed. This change removes the code that was setting the LED behavior on the interface. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f3e7841ca3608db6e0207cd8af5561f065882517 Author: Alexander Duyck Date: Thu Jul 23 18:07:58 2009 +0000 igb: change configure_pcs_link to void since it always returns 0 Since igb_configure_pcs_link always returns 0 there isn't really much point to checking for the result so it is best just to change this to a void so we can properly ignore the return result. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 099e1cb700da6359b784ac7fb65099091b7b961e Author: Alexander Duyck Date: Thu Jul 23 18:07:40 2009 +0000 igb: make serdes power down available for 82575 in addition to 82576 parts There was a serdes power down workaround that was originally added for 82576 fiber. However it has also been found that this workaround is needed for serdes connections as well. In addition it is also needed for 82575 serdes so we we need to remove the checks restricting it to 82576. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit dcc3ae9a5252ea4ffe65b43cdc09ec2654b48000 Author: Alexander Duyck Date: Thu Jul 23 18:07:20 2009 +0000 igb: remove media type fiber as it is misleading The current igb driver only supports copper and serdes. The fiber media type is a holdover from earlier NICs as the current nics supported by igb all use serdes when communicating over a fiber connection. As a result we can remove media type fiber without losing any functionality. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f70e75e11069edfbe55be06960854c46860da0a3 Author: Karsten Keil Date: Fri Jul 24 18:41:23 2009 +0200 mISDN: hfcmulti display real PCI ids for not supported cards In the PCI probe function struct pci_device_id points to the matched entry of the ID table, but for devices which are matched with PCI_ANY_ID sub IDs we want display the IDs of the device itself. Signed-off-by: Karsten Keil commit ba2d6ccb1df6ebb2c1b2322518ce7be25c1e3469 Author: Karsten Keil Date: Fri Jul 24 18:26:08 2009 +0200 ISDN: ARRAY_SIZE changes These changes were a direct result of using a semantic patch More information can be found at http://www.emn.fr/x-info/coccinelle/ Modified some of the changes to avoid the extra define. Signed-off-by: Stoyan Gaydarov Signed-off-by: Karsten Keil commit 3cad3da3ed9ece03704f7d67e038b8ae710fa312 Author: Julia Lawall Date: Sun Jul 12 22:05:03 2009 +0200 drivers/isdn: Drop unnecessary NULL test The result of container_of should not be NULL. In particular, in this case the argument to the enclosing function has passed though INIT_WORK, which dereferences it, implying that its container cannot be NULL. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ identifier fn,work,x,fld; type T; expression E1,E2; statement S; @@ static fn(struct work_struct *work) { ... when != work = E1 x = container_of(work,T,fld) ... when != x = E2 - if (x == NULL) S ... } // Signed-off-by: Julia Lawall Signed-off-by: Karsten Keil commit a900845e56617edc005fd8f35bfd5a407aaf96c8 Author: Karsten Keil Date: Thu Jul 23 10:03:05 2009 +0200 mISDN: Add support for Traverse Technologies NETJet PCI cards Add support for cards based on the Tiger 300 and Tiger 320 ISDN PCI chip. Currently only the ISAC ISDN line interface is supported. Signed-off-by: Karsten Keil commit 707b2ce6c1f4f1261788f2ff09ad82c35e0e6240 Author: Karsten Keil Date: Wed Jul 22 20:06:05 2009 +0200 mISDN: Add driver for Winbond cards Add driver for Winbond W6692 based PCI cards. Signed-off-by: Karsten Keil commit da2272c91ae81b41ae6fa6ebdc767a6cef73b770 Author: Karsten Keil Date: Wed Jul 22 20:01:59 2009 +0200 mISDN: Add support for Speedfax+ cards Add support for the Siemens ISAR DSP chip and cards based on it, including analog modem protocols. Signed-off-by: Karsten Keil commit 6115d2f3fcaebed5b88fa9cefd178bb5b07461ff Author: Karsten Keil Date: Wed Jul 22 19:52:24 2009 +0200 mISDN: Driver for AVM Fritz!CARD PCI Add mISDN driver for AVM FRITZ!CARD PCI (all versions). Signed-off-by: Karsten Keil commit cae86d4a4e56eeda1afdea38f230d222edda7dd5 Author: Karsten Keil Date: Wed Jul 22 19:42:46 2009 +0200 mISDN: Add driver for Infineon ISDN chipset family This driver supports cards with Infineon ISAC/HSCX, ISACX, IPAC and IPACX chips from various manufacturers. Signed-off-by: Karsten Keil commit fb286f0471a04ef646c8e5c79750ae6718183745 Author: Karsten Keil Date: Thu Jul 9 10:02:29 2009 +0200 mISDN: Make clearing B-channel a common function Clearing B-channel is needed in every driver, so it makes sense to have it as common function. Signed-off-by: Karsten Keil commit f3fad223ed69f406f33c9619c256858d5a5fc5c7 Author: Karsten Keil Date: Wed Jul 8 20:58:33 2009 +0200 ISDN: Fix isdnhdlc for one byte hdlc packets Normally HDLC packets contain more as one byte (e.g a X25/X75 header). But if you use plain HDLC framing, the current code do not encode 1 byte payloads, this patch fix that. Signed-off-by: Karsten Keil commit c38fc3bc2ecddd4f5278131603e6964cbed071b2 Author: Karsten Keil Date: Wed Jul 8 20:31:42 2009 +0200 ISDN: Add support for none reverse bitstreams to isdnhdc The original isdnhdlc code was developed for devices which had reversed bitorder in the byte stream. Adding code to handle normal bitstreams as well. Signed-off-by: Karsten Keil commit 6bd4bcd3cd8affc09eaee7efbc037f65f4a71501 Author: Karsten Keil Date: Wed Jul 8 19:11:09 2009 +0200 ISDN: Clean up isdnhdlc code Clean up isdnhdlc to meet current code standard. Remove hint to already removed bit reversal table. Signed-off-by: Karsten Keil commit cb3824bade2549d7ad059d5802da43312540fdee Author: Karsten Keil Date: Wed Jul 8 14:21:12 2009 +0200 ISDN: Make isdnhdlc usable for other ISDN drivers isdnhdlc is useful for other ISDN drivers as well. Move the include file to a central location and the source to the central isdn location. Signed-off-by: Karsten Keil commit 249b405cf8145da8a74b70544ae1079d244bdb00 Author: Javier Cardona Date: Tue Jul 7 10:55:03 2009 -0700 mac80211: Fix regression in mesh forwarding path. The removal of the master netdev broke the mesh forwarding path. This patch fixes it by using the new internal 'pending' queue. As a result of this change, mesh forwarding no longer does the inefficient 802.11 -> 802.3 -> 802.11 conversion that was done before. [Changes since v1] Suggested by Johannes: - Select queue before adding to mpath queue - ieee80211_add_pending_skb -> ieee80211_add_pending_skbs - Remove unnecessary header wme.h Signed-off-by: Javier Cardona Signed-off-by: Andrey Yurovsky Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 3d34deb6737b1ae1f8b7817b57d603807f5d88ea Author: Johannes Berg Date: Thu Jun 18 17:25:11 2009 +0200 mac80211: fix ieee80211_xmit call context ieee80211_xmit() cannot be called with tasklets enabled because it is normally called from within a tasklet. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 72bce62775db0315511474e8d8f8e25d25b48366 Author: Johannes Berg Date: Wed Jun 17 17:45:28 2009 +0200 net: remove unused skb->do_not_encrypt mac80211 required this due to the master netdev, but now it can put all information into skb->cb and this can go. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3b8d81e020f77c9da8b85b0685c8cd2ca7c7b150 Author: Johannes Berg Date: Wed Jun 17 17:43:56 2009 +0200 mac80211: remove master netdev With the internal 'pending' queue system in place, we can simply put packets there instead of pushing them off to the master dev, getting rid of the master interface completely. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c4029083e2acb82229c43b791c07afb089d972ff Author: Johannes Berg Date: Wed Jun 17 17:43:30 2009 +0200 net: export __dev_addr_sync/__dev_addr_unsync For mac80211, with the master netdev removal, we need to be able to sync a multicast address list onto another list that is not tracked within a netdev, so we need access to the functions doing that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ccc78ec5d463e6c99f4a384be52b31222ffe2e21 Author: Luis R. Rodriguez Date: Tue Jul 21 21:03:42 2009 -0400 adm8211: remove uneeded code during suspend/resume mac80211 drivers do not need to stop the software queues or call their own stop() callback upon suspend as we do it for drivers. Equally drivers don't have to call their own start() or start the queues as mac80211 will do it for us. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 95a2b2ef82dc0bd10475c02e9d1fc7c93e708d03 Author: Luis R. Rodriguez Date: Tue Jul 21 21:03:10 2009 -0400 ath9k: do not stop the queues in driver stop mac80211 will have disabled the queues for us when needed. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2b3daf588965b72d3a9ccff426bfd5516bb73c6a Author: Joe Perches Date: Tue Jul 21 13:09:56 2009 -0700 MAINTAINERS: Update rtl8180 patterns rtl8180 files were moved into a subdirectory by commit 1c740ed2210a0d124674a477ea538468aba47810 Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 834da346041cd8969897feea2cdb09269120599f Author: Kalle Valo Date: Tue Jul 21 14:26:08 2009 +0300 MAINTAINERS: add wl1251 wireless driver Add myself as the maintainer for wl1251 driver. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 270b7588b376968d4db3af01e6d9907814c45552 Author: Kalle Valo Date: Tue Jul 21 14:26:01 2009 +0300 wl1251: remove wl1251_plt_start/stop() This Production Line Testing code is currently unused and can be removed. It can be reintroduced when nl80211 test mode implemented for the driver. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit f298c282a5233126ffe6385c02a9e79f695bed0f Author: Kalle Valo Date: Tue Jul 21 14:25:53 2009 +0300 wl1251: remove accidentally added wl1251_netlink.c Commit "wl1251: add wl1251 prefix to all 1251 files" accidentally added wl1251_netlink.c which contains a private netlink interface. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit f974cfdd8112a081fb1a402bf77835f28f37fcad Author: Pavel Roskin Date: Mon Jul 20 08:00:30 2009 -0400 ath5k: fix values for bus error bits in ISR2 The new values are taken from the recently open sourced Atheros HAL. Correctness is also confirmed by the users with access to Atheros documentation. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 1e056665e878ce4f91dbfd594f4ebba49ea689c0 Author: Zhu Yi Date: Mon Jul 20 16:12:57 2009 +0800 cfg80211: avoid setting default_key if add_key fails In cfg80211_upload_connect_keys(), we call add_key, set_default_key and set_default_mgmt_key (if applicable) one by one. If one of these operations fails, we should stop calling the following functions. Because if the key is not added successfully, we should not set it as default key anyway. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 971ad01169398170976951d3a9479a29d231c734 Author: Zhu Yi Date: Mon Jul 20 11:47:47 2009 +0800 iwmc3200wifi: fix a use-after-free bug The patch fixes a use-after-free bug for cmd->seq_num; Reported-by: Dan Carpenter Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9c7c0cdd24e64f9aed39453a1bffc3b3fd16ef99 Author: Zhu Yi Date: Mon Jul 20 11:47:46 2009 +0800 iwmc3200wifi: fix cfg80211_connect_result is called in IBSS Avoid calling cfg80211_connect_result() in IBSS mode. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit b68518fcbc6e0fe8c06a218cd2b92f62f3730cf9 Author: Zhu Yi Date: Mon Jul 20 11:47:45 2009 +0800 iwmc3200wifi: use cfg80211_connect_result to send req/resp IE cfg80211_connect_result() let us specify associate request and response IEs as parameters after we are connected. We use this capability instead of doing it ourselves with WEXT. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 3409ff7711bcf70390d5ba8ebde5d913b5266a45 Author: Zhu Yi Date: Mon Jul 20 11:47:44 2009 +0800 cfg80211: fix typo of IWEVASSOCRESPIE It should be IWEVASSOCREQIE instead. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1f00fca5c83c1bc5b4ca7e07f2a030bc39c130f2 Author: Zhu Yi Date: Mon Jul 20 11:47:43 2009 +0800 cfg80211: set_default_key only for WEP We invoke the cfg80211 set_default_key callback only for WEP key configuring. Signed-off-by: Zhu Yi Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e6a3f551bc236010c4d4d99e626e150e98a4c3e6 Author: Larry Finger Date: Sun Jul 19 21:53:14 2009 -0500 p54: Eliminate unnecessary initialization In two places, variables are unnecessilarly initialized to NULL. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f742880c9ca733b6c18bfaa0f5ad2a57f37180c2 Author: Christian Lamparter Date: Sun Jul 19 23:21:07 2009 +0200 mac80211: fix spare warnings in driver-trace.h This patch fixes the following errors: driver-trace.h:148:1: error: cannot size expression driver-trace.h:148:1: error: cannot size expression [...] driver-trace.h:222:1: error: cannot size expression driver-trace.h:71:1: error: incompatible types for operation (<) driver-trace.h:71:1: left side has type void * driver-trace.h:71:1: right side has type int driver-trace.h:99:1: error: incompatible types for operation (<) driver-trace.h:99:1: left side has type void * driver-trace.h:99:1: right side has type int driver-trace.h:148:1: error: incompatible types for operation (<) driver-trace.h:148:1: left side has type void * driver-trace.h:148:1: right side has type int driver-trace.h:222:1: error: cannot size expression driver-trace.h:248:1: error: incompatible types for operation (<) driver-trace.h:248:1: left side has type void * driver-trace.h:248:1: right side has type int driver-trace.h:446:1: error: incompatible types for operation (<) driver-trace.h:446:1: left side has type void * driver-trace.h:446:1: right side has type int Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a99d02483a40b9410d8a7af3b653ebc3f106280f Author: Christian Lamparter Date: Sun Jul 19 22:09:32 2009 +0200 mac80211: do not monitor the connection while scanning mac80211 constantly monitors the connection to the associated AP in order to check if it is out of reach/dead. This is absolutely fine most of the time. Except when there is a scheduled scan for the whole neighborhood. After all this path could trigger while scanning on different channel. Or even worse: this AP probing triggers a WARN_ON in rate_lowest_index when the scan code did a band transition! ( http://www.kerneloops.org/raw.php?rawid=449304 ) Reported-by: Larry Finger Signed-off-by: Christian Lamparter Tested-by: Larry Finger Signed-off-by: John W. Linville commit 9ab56078e638efb75ac4ccd27c7196cdfed2e6c8 Author: Roel Kluin Date: Mon Jul 13 00:10:07 2009 +0200 arlan: inverted logic? Inverted logic Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit f9b604f6c24ad161e9c9e30a138d5899724225c8 Author: Gabor Juhos Date: Sun Jun 21 00:02:15 2009 +0200 ath9k: make use ath9k_hw_wait int ath9k_hw_reset_tsf We have a dedicated function for this kind of checks, use that instead of duplicating the code. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 1b7e528b2e39bfed37228eedaaf0665196d8ddc9 Author: Gabor Juhos Date: Sun Jun 21 00:02:14 2009 +0200 ath9k: wake up the chip for TSF reset If we are in NETWORK SLEEP state, AR_SLP32_TSF_WRITE_STATUS limit always exceeds in 'ath9k_hw_reset_tsf', because reading of the AR_SLP3 register always return with the magic 0xdeadbeef value. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit da3c821f549419e09b4b64f07d99f52174daae6d Author: Stefan Weil Date: Sun Jul 19 15:00:39 2009 +0200 wl12xx: fix spelling Changes (comments and debug output): * couldnt -> couldn't * frmware -> firmware * recevied -> received Signed-off-by: Stefan Weil Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 4951348109c334f2b839816bd161522d089cb782 Author: Luis Correia Date: Fri Jul 17 21:39:19 2009 +0200 rt2x00: Comment spellchecking Fix a bunch of spelling errors in the rt2x00 drivers Signed-off-by: Luis Correia Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 30a12a8fbbd530b016277dd2ab65246b516540a8 Author: Wey-Yi Guy Date: Fri Jul 17 09:30:27 2009 -0700 iwlwifi: change iwl_enable/disable_interrupts to "inline" iwl_enable_interrupts is being called inside the interrupt, change from function call to inline Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4c423a2b0cc3c85137988962e6ba3f01baef0b4e Author: Reinette Chatre Date: Fri Jul 17 09:30:26 2009 -0700 iwlwifi: inform user about rfkill state changes rfkill state changes are mostly available through debug messages. These are significant enough to always make user aware of so we turn them into warnings. Also insert a missing newline in some rfkill related debug message. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 58dba728b1b727cb3d95a1f76ca4e88a1e628ee1 Author: Reinette Chatre Date: Fri Jul 17 09:30:25 2009 -0700 iwlwifi: clarify hardware error message When a hardware error is detected we need to be clear about that and not create impression that the microcode is able to deal with it. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a562a9dda7f47e7cac58d80bf1ffe441feca510e Author: Reinette Chatre Date: Fri Jul 17 09:30:24 2009 -0700 iwlwifi: make debug level more user friendly * Deprecate the "debug50" module parameter used to obtain 5000 series and up debugging. Replace it with "debug" module parameter to match with original driver and be consistent between them. The "debug50" module parameter can still be used, except that the module parameter is not writable in keeping with its previous state. We currently just mark it as "deprecated" and do not have it in the feature-removal-schedule. Some more cleanup of module parameters needs to be done and can then be entered together. * Only make "debug" module parameters visible if the driver is compiled with CONFIG_IWLWIFI_DEBUG. This will eliminate a lot of confusion where users think they have set debug flags but yet cannot see any debug output. * Make module parameters writable. This eliminates the need for the "debug_level" sysfs file, which can now also be deprecated and added to feature-removal-schedule. This file is in significant use though with many iwlwifi documents and text referring users to it. We can thus not take its removal lightly and keep it around. With iwlcore shared between iwlagn and iwl3945 we really do not need debug module parameters for each but can instead have one debug module parameter for the iwlcore module. The same issue is here as with the sysfs file - a lot of iwlwifi documentation and text (like bug reports) rely on iwlagn and iwl3945 having this module parameter, so changing this to a module parameter of iwlcore will have significant impact and we do not do this for that reason. One consequence of this patch is that if a user is running a system with both 3945 and later hardware then the setting of the one module parameter will affect the value of the other. The likelihood of this seems low - and even if this setup is present it does not seem like an issue for both modules to run with the same debug level. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 34a66de628b5dcc4a93129610ccd24814935e8cd Author: Wey-Yi Guy Date: Fri Jul 17 09:30:23 2009 -0700 iwlwifi: uCode Alive notification with timeout Wait for REPLY_ALIVE notification from init and runtime uCode. based on the type of REPLY_ALIVE, different status bit will be set to wake up the queue: STATUS_INIT_UCODE_ALIVE for init uCode STATUS_RT_UCODE_ALIVE for runtime uCode. If timeout, attempt to download the failing uCode image again. This can only be done for the init ucode images of all iwlagn devices and the runtime ucode image of the 5000 series and up. If there is a problem with the 4965 runtime ucode coming up we restart the interface and thus trigger a new download of the init ucode also. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cce53aa347c1e023d967b1cb1aa393c725aedba5 Author: Jay Sternberg Date: Fri Jul 17 09:30:22 2009 -0700 iwlwifi: update 1000 series API version to match firmware firmware file now contains build number so API needs to be updated. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b23a0524a38b146f85be44ae0d71abd2a710f4ab Author: Wey-Yi Guy Date: Fri Jul 17 09:30:21 2009 -0700 iwlwifi: checking unknown HW type When deciding NVM type, if the HW type is unknown, report error and exit with -ENOENT. This check should prevent incorrect behavior by assuming the wrong NVM type. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e5108d075c705ed3336163d9ead2b8fe629f680d Author: Wey-Yi Guy Date: Fri Jul 17 09:30:20 2009 -0700 iwlwifi: Led blinking counting both tx and rx For controlling led blinking, counting both tx and rx data traffic; this will be able to handle traffic in either direction Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a283c0116b0cc5e82327e50ad4d05f6d4d42c603 Author: Wey-Yi Guy Date: Fri Jul 17 09:30:19 2009 -0700 iwlwifi: add led debugfs function Adding debugfs file to show current led blinking rate /sys/kernel/debug/ieee80211/phy0/iwlagn/data/led Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2d1bb9e58c2b13df13741d1efe1129cf1098405d Author: Reinette Chatre Date: Fri Jul 17 09:30:18 2009 -0700 iwlagn: do not send key clear commands when rfkill enabled Do all key clearing except sending sommands to device when rfkill enabled. When rfkill enabled the interface is brought down and will be brought back up correctly after rfkill is enabled again. Same change is not needed for iwl3945 as it ignores return code when sending key clearing command to device. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=13742 Signed-off-by: Reinette Chatre Tested-by: Frans Pop Signed-off-by: John W. Linville commit 5e215169f466e48561e40d1fa142f02e0e44a3d0 Author: Wey-Yi Guy Date: Fri Jul 17 09:30:17 2009 -0700 iwlwifi: make led functions generic Led functions are generic for all the devices except 3945, so remove the reference to 4965 Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cc0f555d511a5fe9d4519334c8f674a1dbab9e3a Author: Jay Sternberg Date: Fri Jul 17 09:30:16 2009 -0700 iwlwifi: Handle new firmware file with ucode build number in header Adding new API version to account for change to ucode file format. New header includes the build number of the ucode. This build number is the SVN revision thus allowing for exact correlation to the code that generated it. The header adds the build number so that older ucode images can also be enhanced to include the build in the future. some cleanup in iwl_read_ucode needed to ensure old header not used and reduce unnecessary references through pointer with the data is already in heap variable. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 244294e83f7637e31bbf64060301904860a32051 Author: Wey-Yi Guy Date: Fri Jul 17 09:30:15 2009 -0700 iwlwifi: fix rx signal quality reporting in dmesg Fix quality incorrectly reported as signal strength value. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 02c06e4abc0680afd31bf481a803541556757fb6 Author: Wey-Yi Guy Date: Fri Jul 17 09:30:14 2009 -0700 iwlagn: modify digital SVR for 1000 On 1000, there are two Switching Voltage Regulators (SVR). The first one apply digital voltage level (1.32V) for PCIe block and core. We need to use this regulator to solve a stability issue related to noisy DC2DC line in the silicon. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 436b37c59416d0d8e21430f7980857fc932eb1e6 Author: Christian Lamparter Date: Thu Jul 16 20:05:41 2009 +0200 p54: fix a fw crash caused by statistic feedback This patch fixes a bug which crawled into the tree with the split-up changes. The memory-manager wasn't aware of the statistic feedback extra_len space requirements and happily placed following frames into the allegedly free spots. Thanks fly out to Larry Finger for taking the time to test all (permutations of) patches and theories all day long. Acked-by: Larry Finger Signed-off-by: Christian Lamparter Tested-by: Larry Finger Signed-off-by: John W. Linville commit 46df10ae44b4488176bae16da0b31541eb0f8f48 Author: Christian Lamparter Date: Thu Jul 16 20:03:47 2009 +0200 p54: fix beaconing related firmware crash This patch fixes a firmware crash which can be provoked by changing operation mode. Acked-by: Larry Finger Signed-off-by: Christian Lamparter Tested-by: Larry Finger Signed-off-by: John W. Linville commit 12f49a79cd32d97a11f864a7b67660438ee3e6c8 Author: Christian Lamparter Date: Thu Jul 16 20:03:17 2009 +0200 p54: remove useless code This patch removes some useless checks in recv/xmit code. Acked-by: Larry Finger Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 25e83c490be421019997146bdec8645f5bcabcd1 Author: Johannes Berg Date: Thu Jul 16 11:39:04 2009 +0200 cfg80211: don't optimise wext calls too much In the wext code I tried to not reconnect all the time when the user wasn't really sure what they were doing, like setting the BSSID back to the same value it was. However, this optimisation should only be done while associated so that setting the BSSID back to the same value that it was actually triggers a new association if not currently associated. To achieve, that, put the relevant code into the !IDLE case instead. Signed-off-by: Johannes Berg Tested-by: Kalle Valo Tested-by: Marcel Holtmann Signed-off-by: John W. Linville commit d4b1a6876f99ae1886cd254f649506af6692ac9f Author: Zhu Yi Date: Thu Jul 16 17:34:14 2009 +0800 cfg80211: remove WARN_ON in __cfg80211_sme_scan_done cfg80211_sme_scan_done() can be called (by fullmac cards) with wdev->conn == NULL when CFG80211_SME_CONNECTING. We quit silently instead of WARN_ON in this case. Signed-off-by: Zhu Yi Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 6e5db0a8454b44bf88fa74cf437a507ec08f436d Author: Zhu Yi Date: Thu Jul 16 17:34:13 2009 +0800 iwmc3200wifi: remove key caches in driver cfg80211 now guarantees keys are set after connecting. We can remove the key cache code from the driver now. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit b6c321718e1376b1a55afc63cce090a2c4573417 Author: Zhu Yi Date: Thu Jul 16 17:34:12 2009 +0800 iwmc3200wifi: make iwm_send_wifi_if_cmd return 0 on success We used to return the result of wait_event_interruptible_timeout() which is the remaining timeout on success. But this information is not used by any of its callers. So we just return 0 on success. This fixed a erroneous return value bug for iwm_set_key(). Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 0e371f1a0c0acd4abfa052b01e7b1f4a71ef6590 Author: Zhu Yi Date: Thu Jul 16 17:34:11 2009 +0800 iwmc3200wifi: remove setting WEP keys before setting essid support The recent cfg80211 "rework key operation" patch from Johannes Berg makes sure keys are set only after the connection has been established. So we can remove the setting WEP keys before essid support from the driver. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9967d46aa5ba065650d3352ab5d906f56ba17648 Author: Samuel Ortiz Date: Thu Jul 16 17:34:10 2009 +0800 iwmc3200wifi: cfg80211 managed mode port This patch ports iwmc3200wifi to the cfg80211 managed mode API. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 4fdd81f5f2e6fc55b67938f09b3495d679428cd7 Author: Zhu Yi Date: Thu Jul 16 17:34:09 2009 +0800 iwmc3200wifi: use correct debug level This patch uses TX and RX instead of NTF debug levels in some hot paths. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 49b7772776359b8306ce740bfc52d32b344adc83 Author: Zhu Yi Date: Thu Jul 16 17:34:08 2009 +0800 iwmc3200wifi: set cipher_suites before registering wiphy We need to specify all the cipher suites we supported. Otherwise cfg80211_validate_key_settings() will fail when we are setting keys. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 3a0e4851c97328ee455a57cb3e4097bb43934a87 Author: Zhu Yi Date: Thu Jul 16 17:34:07 2009 +0800 iwmc3200wifi: hardware does not support IP checksum The iwmc3200wifi hardware doesn't support IP checksum. So mark the skb->ip_summed to CHECKSUM_NONE instead of CHECKSUM_UNNECESSARY. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1cc589b9e7d95888bb8cc806c210d8ab5371d40f Author: Zhu Yi Date: Thu Jul 16 17:34:06 2009 +0800 iwmc3200wifi: fix UMAC INIT_COMPLETE notification handling The patch fixes the missing UMAC iwm_umac_wifi_in_hdr header in the UMAC INIT_COMPLETE (iwm_umac_notif_init_complete) notification. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit ea9edaf6bc0e3f3a7bd167d9ba369276a30c9953 Author: Larry Finger Date: Wed Jul 15 22:49:27 2009 -0500 hostap_cs: Enable shared interrupts The hostap_cs driver is programmed for exclusive rather that shared interrupts. Signed-off-by: Larry Finger Reported-and-Tested-by: Jack Schneider Signed-off-by: John W. Linville commit e91d83346ad9b30f44469c92b982206dcd7dcaf0 Author: Johannes Berg Date: Wed Jul 15 17:21:41 2009 +0200 wireless: remove print_mac uses Use %pM instead, and also remove stray variables declared with DECLARE_MAC_BUF. Signed-off-by: Johannes Berg Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 04dc882d601ec6fae5dfcb47c43f7af343e9a135 Author: Vivek Natarajan Date: Wed Jul 15 08:51:17 2009 +0530 ath9k: Add AR9287 based chipsets' register information. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit ae9e4b0d1a43fd66da43918491834f9e5c1b6cca Author: Luis R. Rodriguez Date: Tue Jul 14 20:23:15 2009 -0400 cfg80211: treat ieee80211_regdom hints as user hints We were treating ieee80211_regdom module parameter hints as core hints, this means we were not letting the user help compliance further when using the module parameter. It also meant that users with a device with a custom regulatory domain set (wiphy->custom_regulatory) using this module parameter were being stuck to the original default core static regualtory domain. We fix this by using the static cfg80211_regdomain alpha2 as the core hint and treating the module parameter separately. All iwlwifi and ath5k/ath9k/ar9170 devices which world roam set the wiphy->custom_regulatory. This change allows users using this module parameter to have it trated as a a proper user hint and not have it ignored. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 64839170be296e6348fbaf83fd103711978669b9 Author: Luis R. Rodriguez Date: Tue Jul 14 20:22:53 2009 -0400 ath9k: disable radio when all devices are marked idle This uses the new configuration changes indicated up by mac80211 when all interfaces are marked idle. We need to do a little more work as we have our own set of virtual wiphys within ath9k. Only when all virtual wiphys are inactive do we allow an idle state change for a wiphy to trigger disabling the radio. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 709ade9eb8ef06e03526115408e2fc93a9feabbd Author: Gabor Juhos Date: Tue Jul 14 20:17:15 2009 -0400 ath9k: serialize ath9k_ps_{wakeup,restore} calls These functions are changing the power mode of the chip, but this may have unpredictable effects, if another code are trying to set the power mode via 'ath9k_hw_setpower' in the same time from another context. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 0bc0798b7605664c3ab8d577b398dc7ae0b2e58c Author: Gabor Juhos Date: Tue Jul 14 20:17:14 2009 -0400 ath9k: uninline ath9k_ps_{wakeup,restore} functions Uninline these functions before we add functional changes to them. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 04717ccd80e5acc500239222684fcf8d2c759a84 Author: Gabor Juhos Date: Tue Jul 14 20:17:13 2009 -0400 ath9k: serialize ath9k_hw_setpower calls Because ath9k_setpower is called from various contexts, we have to protect it against concurrent calls. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit ebaa24534ef54a8f665558536dbef3a761a9b841 Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:17:12 2009 -0400 ath9k: Remove pointless ath9k_ps_restore() in ath_detach() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c41d92dc9d9a1afcec0095c32698ea7deff01098 Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:17:11 2009 -0400 ath9k: Handle tx desc shortage more appropriately Update tx BA window and complete the frame as failed one if we can't clone the holding descriptor due to unavailability of descriptors. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 8e7f98b5690fc295e3a39b99aeed475d28c60c90 Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:17:10 2009 -0400 ath9k: Remove bogus assert in ath_clone_txbuf() oops, this one should be part of the original patch "ath9k: downgrade assert in ath_clone_txbuf()" Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 164ace38536849966ffa377b1b1132993a5a375d Author: Senthil Balasubramanian Date: Tue Jul 14 20:17:09 2009 -0400 ath9k: Fix TX hang issue with Atheros chipsets The hardware doesn't generate interrupts in some cases and so work around this by monitoring the TX status periodically and reset the chip if required. This behavior of the hardware not generating the TX interrupts can be noticed through ath9k debugfs interrupt statistics when heavy traffic is being sent from STA to AP. One can easily see this behavior when the STA is transmitting at a higher rates. The interrupt statistics in the debugfs interface clearly shows that only RX interrupts alone being generated and TX being stuck. TX should be monitored through a timer and reset the chip only when frames are queued to the hardware but TX interrupts are not generated for the same even after one second. Also, we shouldn't remove holding descriptor from AC queue if it happens to be the only descriptor and schedule TX aggregation regarless of queue depth as it improves scheduling of AMPDUs from software to hardware queue. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit dd8b15b027d96f7097ae9dbaebd822a114a03c34 Author: Senthil Balasubramanian Date: Tue Jul 14 20:17:08 2009 -0400 ath9k: RX stucks during heavy traffic in HT40 mode. Running iperf along with p2p traffic on both TX and RX side then stop one side, then stop the other side, then start it up again, eventually the STA gets into a mode that it can not pass data at all. A hardware workaround for invalid RSSI can make FIFO write pointer to jump over read pointer, causing RX data corruption and repeated DMA. Both TX and RX works fine when the workaround is disabled. To replace the original hardware work around, software looks for frames with post delimiter CRC error and mark the RSSI invalid so that the upperlayer will not use the RSSI associated with this frame. So disable the hardware workaround by updating the appropriate registers. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit a59b5a5e684652eec035c869ab8911a1689c8f53 Author: Senthil Balasubramanian Date: Tue Jul 14 20:17:07 2009 -0400 ath9k: Manipulate and report the correct RSSI RSSI reported by the RX descriptor requires little manipulation. Manipulate and report the correct RSSI to the stack. This will fix the improper signal levels reported by iwconfig iw dev wlanX station dump. Also the Link Quality reported seems to be varying (falls to zero also sometimes) when iperf is run from STA to AP. Also use the default noise floor for now as the one reported during the caliberation seems to be wrong. The Signal and Link Quality before this patch (taken while TX is in progress from STA to AP) 09:59:13.285428037 Link Quality=29/70 Signal level=-81 dBm 09:59:13.410660084 Link Quality=20/70 Signal level=-90 dBm 09:59:13.586864392 Link Quality=21/70 Signal level=-89 dBm 09:59:13.710296281 Link Quality=21/70 Signal level=-89 dBm 09:59:13.821683064 Link Quality=25/70 Signal level=-85 dBm 09:59:13.933402989 Link Quality=24/70 Signal level=-86 dBm 09:59:14.045839276 Link Quality=26/70 Signal level=-84 dBm 09:59:14.193926673 Link Quality=23/70 Signal level=-87 dBm 09:59:14.306230262 Link Quality=31/70 Signal level=-79 dBm 09:59:14.419459667 Link Quality=26/70 Signal level=-84 dBm 09:59:14.530711167 Link Quality=37/70 Signal level=-73 dBm 09:59:14.642593962 Link Quality=29/70 Signal level=-81 dBm 09:59:14.754361169 Link Quality=21/70 Signal level=-89 dBm 09:59:14.866217355 Link Quality=21/70 Signal level=-89 dBm 09:59:14.976963623 Link Quality=28/70 Signal level=-82 dBm 09:59:15.089149809 Link Quality=26/70 Signal level=-84 dBm 09:59:15.205039887 Link Quality=27/70 Signal level=-83 dBm 09:59:15.316368003 Link Quality=23/70 Signal level=-87 dBm 09:59:15.427684036 Link Quality=36/70 Signal level=-74 dBm 09:59:15.539756380 Link Quality=21/70 Signal level=-89 dBm 09:59:15.650549093 Link Quality=22/70 Signal level=-88 dBm 09:59:15.761171672 Link Quality=32/70 Signal level=-78 dBm 09:59:15.872793750 Link Quality=23/70 Signal level=-87 dBm 09:59:15.984421694 Link Quality=22/70 Signal level=-88 dBm 09:59:16.097315093 Link Quality=21/70 Signal level=-89 dBm The link quality and signal level after this patch (take while TX is in progress from STA to AP) 17:21:25.627848091 Link Quality=65/70 Signal level=-45 dBm 17:21:25.762805607 Link Quality=65/70 Signal level=-45 dBm 17:21:25.875521888 Link Quality=66/70 Signal level=-44 dBm 17:21:25.987468448 Link Quality=66/70 Signal level=-44 dBm 17:21:26.100628151 Link Quality=66/70 Signal level=-44 dBm 17:21:26.213129671 Link Quality=66/70 Signal level=-44 dBm 17:21:26.324923070 Link Quality=65/70 Signal level=-45 dBm 17:21:26.436831357 Link Quality=65/70 Signal level=-45 dBm 17:21:26.610356973 Link Quality=65/70 Signal level=-45 dBm 17:21:26.723340047 Link Quality=65/70 Signal level=-45 dBm 17:21:26.835715293 Link Quality=64/70 Signal level=-46 dBm 17:21:26.949542748 Link Quality=64/70 Signal level=-46 dBm 17:21:27.062261613 Link Quality=65/70 Signal level=-45 dBm 17:21:27.174511563 Link Quality=64/70 Signal level=-46 dBm 17:21:27.287616232 Link Quality=64/70 Signal level=-46 dBm 17:21:27.400598119 Link Quality=64/70 Signal level=-46 dBm 17:21:27.511381404 Link Quality=64/70 Signal level=-46 dBm 17:21:27.624530421 Link Quality=65/70 Signal level=-45 dBm 17:21:27.737807109 Link Quality=64/70 Signal level=-46 dBm 17:21:27.850861352 Link Quality=65/70 Signal level=-45 dBm 17:21:27.963369436 Link Quality=64/70 Signal level=-46 dBm 17:21:28.076582289 Link Quality=64/70 Signal level=-46 dBm Signed-off-by: Senthil Balasubramanian Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 922bac602255d4557c289cabba7857c5be332d34 Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:14:13 2009 -0400 ath9k: Nuke struct ath_tx_ratectrl_state Move its only member (u8 per) to struct ath_rate_priv. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c41304653e120749dae8b04332b92ffb5f4dbbfd Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:14:12 2009 -0400 ath9k: Use probe interval instead of rssi reduce interval Get rid of rssi reduce interval. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ddf4a2db72c1073b31d0ad28911d137b1745cfca Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:14:11 2009 -0400 ath9k: Remove unused members from rate control structure Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 39a4cafe1638bb21f335b210d037cd2cd8ce6c08 Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:14:10 2009 -0400 ath9k: Remove dead code in rate control ath9k rate control is based on only PER (packet error rate), remove unused code which was intented to do rssi based rate selection. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit e25739a171d7352168346dbab7f006e1f9275995 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:09 2009 -0400 ath9k: remove rate control wraper After the cleanup we just use get_rate as a wrapper, skip the wrapper. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4c6d4f5c33fbe19b134c1af43af166fee79eb986 Author: Luis R. Rodriguez Date: Thu Jul 16 10:05:41 2009 -0700 mac80211: add helper for management / no-ack frame rate decision All current rate control algorithms agree to send management and no-ack frames at the lowest rate. They also agree to do this when sta and the private rate control data is NULL. We add a hlper to mac80211 for this and simplify the rate control algorithm code. Developers wishing to make enhancements to rate control algorithms are for broadcast/multicast can opt to not use this in their gate_rate() mac80211 callback. Cc: Zhu Yi Acked-by: Reinette Chatre Cc: ipw3945-devel@lists.sourceforge.net Cc: Gabor Juhos Acked-by: Felix Fietkau Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 943ab70f6aebfdc0005ef7e58ae982e9ec22224b Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:07 2009 -0400 iwlwifi: use ieee80211_is_data(fc) iwl-agn-rs.c already uses this. Cc: Zhu Yi Cc: Reinette Chatre Cc: ipw3945-devel@lists.sourceforge.net Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e8986436580caf50ebbd3bf8371074aadf95aba5 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:06 2009 -0400 mac80211: make minstrel/pid RC use ieee80211_is_data(fc) Cc: Felix Fietkau Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7682a76df8f4e875e4029d95b799c712ee740ddc Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:05 2009 -0400 ath9k: remove unnecessary IEEE80211_TX_CTL_NO_ACK checks We check for this condition early on in our mac80211 get_rate() callback ath_get_rate(), so remove this check later down the path. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 201c3b414b4b759f399502b059189d7802bbfbb6 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:04 2009 -0400 ath9k: rename ath_rc_ratefind_ht() to ath_rc_get_highest_rix() The purpose is to find the highest rate we can use. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b9b6e15a9481441108ad2527db0187f729c88970 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:03 2009 -0400 ath9k: remap ATH9K_MODE_* There are a lot of gaps here. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dfe80a3fd2199c31d0a2dc24044abaadb64c26c2 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:02 2009 -0400 ath9k: remove ATH9K_MODE_11B This saves us 2733 bytes. text data bss dec hex filename 252265 3628 1584 257477 3edc5 ath9k-has-b-rate.ko 249905 3628 1584 255117 3e48d ath9k.ko Cc: Derek Smithies Cc: Chittajit Mitra Siged-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4e6df85dacedbc68b551fdd8677f7df68639c181 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:01 2009 -0400 ath9k: remove unused ath_rc_isvalid_txmask() Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 39448b0a27529f2feecd876729ef0fba25354363 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:00 2009 -0400 ath9k: rename ath_rc_get_nextlowervalid_txrate() What this does is get us our next lower rate so call it that, ath_rc_get_lower_rix(). Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 20f57215a2ff75f7c2e4004b7583e1fec925679e Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:59 2009 -0400 ath9k: remove pointless wrapper ath_rc_rate_getidx() This is just calling another helper, so just use the other helper directly. This should make it clear that when do not find the next rate we stick to the current one. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7466c524a42110e921e79b390b58bfc6ca6d249e Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:58 2009 -0400 ath9k: remove unused stepdown when looking for the next rate This is not used, remove this. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 984d021d56f036e5ffbef191cb5e498cf159784d Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:57 2009 -0400 ath9k: remove unused min rate calculation code This is not used, and when we need to get the lowest rate we should simply use mac80211's own rate_lowest_index(sband, sta). Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dd1901830ca7baaaae2e58f549f770f215c6f3af Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:56 2009 -0400 ath9k: cleanup try count for MRR in rate control This has no functional change and just cleans up the code to be more legible and removes a useless variable for Multi Rate Retry. For regular frames we use 2 retries for MRR segments [0-2]. For the last MRR segment [3] we use 4. MRR[0] = 2 MRR[1] = 2 MRR[2] = 2 MRR[3] = 4 Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0ab216d9727c0728c8b5f9ad627b6955570303d7 Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:55 2009 -0400 iwlwifi: remove rs_get_rate workaround This removes the work around implemented for transmitting on an unsupported band on iwlwifi. This was added via the patch: 8e1856e82cb8f541e925738bebfbc473420cda68: iwlwifi: fix rs_get_rate WARN_ON() Cc: Mohamed Abbas Cc: Reinette Chatre Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e43419f9ad99112a2715ee34c634ffeac3bf730d Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:54 2009 -0400 ath9k: downgrade assert in rc.c for invalid rate The case where no vaid rate is found should not happen now but to help debugging and downgrade this to a warn. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b770b43e95a66587fbd8c1841de83da87fbf23ea Author: Luis R. Rodriguez Date: Thu Jul 16 10:15:09 2009 -0700 mac80211: drop frames for sta with no valid rate When we're associated we should be able to send data to target sta. If we cannot we may be trying to use the incorrect band to talk to the sta. Lets catch any such cases, warn, and drop the frames to not invalidate assumptions being made on rate control algorithms when they have a valid sta to communicate with. Any such cases should be handled and fixed. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit fe643414dbf330d6d910e01edd48dd93dc6f2942 Author: Jiri Slaby Date: Tue Jul 14 22:37:13 2009 +0200 wireless: wl12xx, fix lock imbalance Add omitted mutex_unlock to one of wl12xx_op_start fail paths (when wl12xx_chip_wakeup fails). [v2] Power off the device, because: \= cite from http://marc.info/?l=linux-kernel&m=124755028209880&w=2 If the chip cannot be booted, why should it remain powered on? In some rare cases, the chip might fail to initialize, but can recover if powered off and on again, so turning it off at this point is the right thing to do. =/ Signed-off-by: Jiri Slaby Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit a94ca4e7af0e6b63ef5345750fad8e1400274ba4 Author: Johannes Berg Date: Tue Jul 14 15:48:11 2009 +0200 iwlwifi: make some logging functions static/unexport iwl_dump_nic_error_log can be static and iwl_dump_nic_event_log doesn't need to be exported. Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 256fc96028f0eae5f7a3f6f77358cdd30a72c988 Author: Hin-Tak Leung Date: Tue Jul 14 00:05:56 2009 +0100 rtl8187: updating Kconfig with info of branded devices Adding more detailed info about Asus motherboards and Ralink devices. Signed-off-by: Hin-Tak Leung Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 8f75e07aa14107668d33f60fa4d78afa2d7aa22b Author: Hin-Tak Leung Date: Mon Jul 13 23:20:37 2009 +0100 zd1211rw: adding Accton Technology Corp (083a:e501) as a ZD1211B device New device supported by the zd1211rw driver reported to linux-wireless. Device string from lsusb: "ID 083a:e501 Accton Technology Corp. ZD1211B" RF type from dmesg: zd1211b chip 083a:e501 v4810 high 00-1a-2a AL2230_RF pa0 g--NS Signed-off-by: Hin-Tak Leung Tested-by: Adrián Cereto Signed-off-by: John W. Linville commit 6682588a08b8be34649348051bc0204f7ab401a2 Author: Johannes Berg Date: Mon Jul 13 13:24:44 2009 +0200 cfg80211: fix unregistration The work that we cancel there requires the cfg80211_mutex, so we can't cancel it under the mutex, which is fine, we can just move it to after the locked section. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0e2b6286805c419d28a4c1e19e3a121af7449b20 Author: Johannes Berg Date: Mon Jul 13 13:23:39 2009 +0200 mac80211: cancel the connection monitor timers/work In "mac80211: monitor the connection" I forgot to add code to cancel the new timers & work when the interface is brought down, which isn't a problem if you just bring it down, but _is_ a problem when you destroy the interface. Correct this lapse. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ec96cfd8215af1cda016837efb266409164e3a30 Author: Julia Lawall Date: Sun Jul 12 22:05:33 2009 +0200 drivers/net: Drop unnecessary NULL test The result of container_of should not be NULL. In particular, in this case the argument to the enclosing function has passed though INIT_WORK, which dereferences it, implying that its container cannot be NULL. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ identifier fn,work,x,fld; type T; expression E1,E2; statement S; @@ static fn(struct work_struct *work) { ... when != work = E1 x = container_of(work,T,fld) ... when != x = E2 - if (x == NULL) S ... } // Signed-off-by: Julia Lawall Acked-by: Zhu Yi Signed-off-by: John W. Linville commit 323d566eae1ace41bc674863b58fcc474501a2db Author: Gábor Stefanik Date: Sun Jul 12 02:03:48 2009 +0200 cfg80211: fix disabling WPA via wext (SIOCSIWAUTH) cfg80211_set_wpa_version completely missed the use case when disabling WPA, considering IW_AUTH_WPA_VERSION_DISABLED an invalid argument. This caused weird error messages in wpa_supplicant. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 4b9631a4734e25e37c83e72c3e0ffcbb08de5791 Author: Ivo van Doorn Date: Sat Jul 11 18:00:19 2009 +0200 rt2x00: Remove DEVICE_STATE_DISABLED_RADIO_HW The DEVICE_STATE_DISABLED_RADIO_HW flag is only read but never set, it is an ancient part of one of the many versions of the rfkill implementations in rt2x00. It is about time is disappears. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit acbadf01ff6727a2c7dc6e12f70ce8d05a16dc06 Author: Christian Lamparter Date: Sat Jul 11 17:24:14 2009 +0200 ar9170: implement transmit aggregation This patch roughly implements xmit aggregation for ar9170-like device. Not all AP are compatible with the driver(and firmware) yet, so YMMV. A more refined code will definitely need the final HT specification to be available for the public, lots of firmware modification and possibly a redesigned driver just for good measure. Sadly, these conditions won't come true anytime soon... Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 1a9b6679adfb8ef1f1f3dbb7ebd2ee72e2ea4b56 Author: Christian Lamparter Date: Sat Jul 11 01:22:26 2009 +0200 p54: generate channel list dynamically This patch enhances the eeprom parser to generate customized channel list for every device. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 596a07c18b35c9df2fb212856241ae0dfe3162b9 Author: Johannes Berg Date: Sat Jul 11 00:17:32 2009 +0200 cfg80211: fix more bugs in mlme handling The "what-was-I-thinking-if-anything" patch. Clearly, if cfg80211_send_disassoc() does wdev_lock() and then calls __cfg80211_send_disassoc(), the latter shouldn't lock again. And the sme_state test is ... no further comments. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 930c06f27120fa8cf0bfb6fa000a701cfaf01ed6 Author: Stefan Steuerwald Date: Fri Jul 10 20:42:55 2009 +0200 rt2x00: Implement set_tim callback for all drivers Implement set_tim callback for all rt2x00 drivers, this makes the device wake up powersaving stations properly while in AP mode. The only way to update the beacon is by simply calling mac80211 and requesting the new beacon. This means the set_tim() event is mostly the same as a beacon_done() event which was already defined in rt2x00lib. Signed-off-by: Stefan Steuerwald Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 48ab905d1a81b7df33a33def04a890e4e0c51460 Author: Johannes Berg Date: Fri Jul 10 18:42:31 2009 +0200 nl80211: report BSS status When connected to a BSS, or joined to an IBSS, we'll want to know in userspace without using wireless extensions, so report the BSS status in the BSS list. Userspace can query the BSS list, display all the information and retrieve the station information as well. For example (from hwsim): $ iw dev wlan1 scan dump BSS 02:00:00:00:00:00 (on wlan1) -- associated freq: 2462 beacon interval: 100 capability: ESS ShortSlotTime (0x0401) signal: -50.00 dBm SSID: j Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 DS Paramater set: channel 11 ERP: Extended supported rates: 24.0 36.0 48.0 54.0 Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4697fe4f78df14d37cffa7e8d27cbb02a351c139 Author: Johannes Berg Date: Fri Jul 10 18:35:49 2009 +0200 cfg80211: fix wext setting SSID Pavel reported that you can't set the SSID from "foo" to "bar". I tried reproducing, but used different values, with different lengths, and thus never saw the obvious problem. Reported-by: Pavel Roskin Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 908d4369a394e816767d566d9c3d15a5af8c1c55 Author: Johannes Berg Date: Fri Jul 10 17:53:34 2009 +0200 cfg80211: don't look at wdev->ssid for giwessid This variable is only used internally, _while_ connected. If we use it, the sequence # iwconfig wlan1 essid foo # iwconfig wlan1 essid "" # iwconfig will still display "foo" as the SSID afterwards, which is obviously quite bogus. Fix this by only displaying the wext SSID, if present. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4b14c96dfbf068acb85c3fa2446b3949c0230deb Author: Johannes Berg Date: Fri Jul 10 16:56:59 2009 +0200 mac80211_hwsim: report fixed signal strength There's no reason to think that hwsim has any actual signal strength, but for testing it is very useful to have it report _some_ value to the stack so I can see if the value ends up being reported correctly Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c56c5714f12808e3f702817e72a78dd12f1704eb Author: Johannes Berg Date: Fri Jul 10 16:54:07 2009 +0200 cfg80211: fix wext stats Instead of using the wext BSSID which may be NULL if you haven't explicitly set one, we should instead use the current_bss pointer -- if that's NULL we aren't connected anyway. Fixes missing signal quality output reported to me internally at Intel. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ca3dbc20d47ae43c201c215259d078e227bfcf01 Author: Helmut Schaa Date: Fri Jul 10 14:54:58 2009 +0200 cfg80211: update misleading comment In cfg80211_scan_request n_channels refers to the total number of channels to scan. Update the misleading comment accordingly. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit a43816df2a1a61effcb701037bdf63621d066182 Author: Johannes Berg Date: Fri Jul 10 11:39:26 2009 +0200 mac80211: mesh: fix two small problems 1) there's a spin_lock() that needs to be spin_lock_bh() 2) action frames of size 24 might cause an out-of-bounds memory access (for the 25th byte only, so no big deal) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ec3f149017ef3fd21343b1dcec3589eec6ba5dd5 Author: Johannes Berg Date: Fri Jul 10 02:45:38 2009 +0200 cfg80211: fix a locking bug The cfg80211_sme_disassoc() function is already holding a lock here that cfg80211_mlme_deauth() would take, so it needs to use __cfg80211_mlme_deauth() instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b291ba11181d46dfbd2d7a5c00a5f3335228191e Author: Johannes Berg Date: Fri Jul 10 15:29:03 2009 +0200 mac80211: monitor the connection With the recent MLME rework I accidentally removed the connection monitoring code. In order to add it back, this patch will add new code to monitor both for beacon loss and for the connection actually working, with possibly separate triggers. When no unicast frames have been received from the AP for (currently) two seconds, we will send the AP a probe request. Also, when we don't see beacons from the AP for two seconds, we do the same (but those times need not be the same due to the way the code is now written). Additionally, clean up the parameters to the ieee80211_set_disassoc() function that I need here, those are all useless except sdata. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ca386f3137eb68621fadba546d9eb35ac2f82de3 Author: Johannes Berg Date: Fri Jul 10 02:39:48 2009 +0200 mac80211: fix multi-use timer We have, sometimes, multiple things that want to run but don't have their own timer. Introduce a new function to mac80211's mlme run_again() that makes sure that the timer will run again at the _first_ needed time, use that function and also properly reprogram the timer once it fired. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 01a7e08436929271c6173b5daf3e193ef5b3561a Author: Reinette Chatre Date: Thu Jul 9 10:33:41 2009 -0700 iwlagn: fix minimum number of queues setting We need to provide a reasonable minimum that will result in a working setup if used. Set minimum to be 10 to provide for 4 standard TX queues + 1 command queue + 2 (unused) HCCA queues + 4 HT queues (one per AC). We allow the user to change the number of queues used via a module parameter and use this minimum value to check if it is valid. Without this patch a user can select a value for the number of queues that will result in a failing setup. Signed-off-by: Reinette Chatre Reviewed-by: Tomas Winkler Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 5905a1aa71488b5f78822100c865ed7c4f9fcd8f Author: Reinette Chatre Date: Thu Jul 9 10:33:40 2009 -0700 iwl3945: cleanup number of queues settings * Rename maximum number of queue (TFD_QUEUE_MAX) to IWL39_NUM_QUEUES to be consistent with rest of iwlwifi. * Remove unused defines. * Fix loops that iterate over number of TX queues to stop when maximum is reached (currently it is maximum + 1). * Remove queues_num module parameter as it is not used. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fcf89d05404dafcde581d44dfa89bd8c8def27f9 Author: Reinette Chatre Date: Thu Jul 9 10:33:38 2009 -0700 iwlwifi: fix permissions on debugfs files debugfs files are created with 644 permissions which gives everybody read access. This presents a security issue if a user opens the file and holds it open at the time the driver removes the file. At this point invalid memory will be accessed. Fix this by only allowing root to read debugfs files. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f5ad69fa47e7b204d0032d569812544cd9a351fb Author: Wey-Yi Guy Date: Thu Jul 9 10:33:36 2009 -0700 iwlwifi: move show_qos to debugfs This move the show_qos file from sysfs to debugfs because the "one value per file" sysfs rule. The file is located in /sys/kernel/debug/ieee80211/phy0/iwlagn/data Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 80e5b06a1b0d9a6aa88dc5c9e93ba49510c52b45 Author: Zhu Yi Date: Thu Jul 9 16:59:49 2009 +0800 cfg80211: fix NULL dereference in IBSS SIOCGIWAP This patch avoids memcpy from wdev->wext.ibss.bssid if it is NULL. This could happen if we SIOCGIWAP before SIOCSIWAP. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f874011bb01e7fb19904db7f739bb343a0a53fd5 Author: Marcin Slusarz Date: Wed Jul 8 22:03:13 2009 +0200 wireless: fix supported cards for rtl8187 Different revisions of WUSB54GC-EU use different chipsets - v2 uses rtl8187, but v3 uses Ralink RT3070. Signed-off-by: Marcin Slusarz Cc: Przemyslaw Kulczycki Cc: John W. Linville Cc: Linux wireless Signed-off-by: John W. Linville commit fffd0934b9390f34bec45762192b7edd3b12b4b5 Author: Johannes Berg Date: Wed Jul 8 14:22:54 2009 +0200 cfg80211: rework key operation This reworks the key operation in cfg80211, and now only allows, from userspace, configuring keys (via nl80211) after the connection has been established (in managed mode), the IBSS been joined (in IBSS mode), at any time (in AP[_VLAN] modes) or never for all the other modes. In order to do shared key authentication correctly, it is now possible to give a WEP key to the AUTH command. To configure static WEP keys, these are given to the CONNECT or IBSS_JOIN command directly, for a userspace SME it is assumed it will configure it properly after the connection has been established. Since mac80211 used to check the default key in IBSS mode to see whether or not the network is protected, it needs an update in that area, as well as an update to make use of the WEP key passed to auth() for shared key authentication. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b9454e83cac42fcdc90bfbfba479132bd6629455 Author: Johannes Berg Date: Wed Jul 8 13:29:08 2009 +0200 nl80211: introduce new key attributes We will soon want to nest key attributes into some new attribute for configuring static WEP keys at connect() and ibss_join() time, so we need nested attributes for that. However, key attributes right now are 'global'. This patch thus introduces new nested attributes for the key settings and functions for parsing them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 10c836d7896e9d7b683a76f3cac3c289d8da72ef Author: Javier Cardona Date: Thu Jul 9 14:42:16 2009 -0700 mac80211: Assign next hop address to pending mesh frames Assign next hop address to pending mesh frames once the path is resolved. Regression. Frames transmitted when a mesh path was wating to be resolved were being transmitted with an invalid Receiver Address. [Changes since v1] Suggested by Johannes: - Improved frame_queue traversal - Narower RCU scope Signed-off-by: Javier Cardona Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit 4bde0f7d1dca0a7d886997eb8dee3fb47a6484e4 Author: Johannes Berg Date: Tue Jul 7 23:46:51 2009 +0200 cfg80211: fix two buglets This fixes two small bugs: 1) the connect variable is already initialised, and the assignment to auth_type overwrites the previous setting with a wrong value 2) when all authentication attempts fail, we need to report that we couldn't connect Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a71d62dbf3f0523b7a456333196cb26cf783fe92 Author: Johannes Berg Date: Tue Jul 7 23:41:27 2009 +0200 cfg80211: fix race in giwrate cfg80211_wext_giwrate doesn't lock the wdev, so it cannot access current_bss race-free. Also, there's little point in trying to ask the driver for an AP that it never told us about, so avoid that case. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e0f114e82e3781087a0ad0e92c94ff0d55012c1a Author: Christian Lamparter Date: Tue Jul 7 19:08:07 2009 +0200 p54: re-enable power save feature This patch re-enables p54's power save features and adds a workaround which temporarily alters the device's power state in order to allow ps-polls to be sent and buffered data to be retrieved during psm. (Incorporates patch originally posted as "p54: fix beacon template dtim IE corruption". -- JWL) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 0a2b8bb24d4eb67788edd71d1ef8aa86c2e17e0f Author: Johannes Berg Date: Tue Jul 7 13:46:22 2009 +0200 mac80211: driver operation debugging This makes mac80211 use the event tracing framework to log all operations as given to the driver. This will need to be extended with more information, but as a start it should be good. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 99783e2cde6eccbd31efeb03a79f26bb5f239c36 Author: Johannes Berg Date: Tue Jul 7 03:54:43 2009 +0200 mac80211: fix sparse warning ieee80211_testmode_cmd can very well be static. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a3daf68931679dbd96342099e4d61a99ba98315c Merge: b5d6f93 8de56b7 Author: Takashi Iwai Date: Fri Jul 24 16:54:59 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 4ce2f2fe61002ab35c9333d52c95b5ff9e949f50 Author: Marek Vasut Date: Thu Jul 23 22:16:56 2009 +0200 ASoC: Switch palm27x-asoc to jack detection api This patch removes the old method of jack detection from palm27x-asoc driver and adds jack detection api. It also removes some other (now) useless stuff from the driver and corrects pin configuration for the codec. Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit 178b699c25c39f042c3c2446e6bd5dbed18c0442 Author: Janusz Krzysztofik Date: Fri Jul 24 02:48:57 2009 +0200 ASoC: Jack handling enhancements as suggested by subsystem maintainer The patch adds a few small enhancements to the ASoC jack handling, as suggested by Mark in his comments to my Amstrad Delta driver, and a few fixes for related bugs found while learning Mark's code and testing results. Enhancements: 1. Update status of an ASoC jack while associating it with new gpios. 2. Really update DAPM pins while associating them with an ASoC jack. 3. Export ASoC jack gpios over gpiolib sysfs for diagnostic purposes. Fixes: 1. Apply mask on jack status report before using it, just for case. 2. While updating jack associated DAPM pins, use full resulting jack status, not the status report passed as an argument. Created and tested on linux-2.6.31-rc3 Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit af012961450949ea297b209e091bd1a3805b8a0a Author: Peter Zijlstra Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: BFS cleanup Some cleanups of the lockdep code after the BFS series: - Remove the last traces of the generation id - Fixup comment style - Move the bfs routines into lockdep.c - Cleanup the bfs routines [ tom.leiming@gmail.com: Fix crash ] Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-11-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 12f3dfd022d7e616757a94f0538d3d525d806a16 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Add statistics info for max bfs queue depth Add BFS statistics to the existing lockdep stats. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-10-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 4dd861d6467007681991d8ec079d928db2018cbb Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Update memory usage introduced by BFS Also account the BFS memory usage. Signed-off-by: Ming Lei [ fix build for !PROVE_LOCKING ] Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-9-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit ef681026ff85c49b7399ceec3eb62bbbcce605e8 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Implement lockdep_count_*ward_deps by BFS Implement lockdep_count_{for,back}ward using BFS. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-8-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 24208ca76707581a097c01a73fd63781e73d3404 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Introduce print_shortest_lock_dependencies Since the shortest lock dependencies' path may be obtained by BFS, we print the shortest one by print_shortest_lock_dependencies(). Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-7-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit d7aaba140a09b7a2295aec061629c880f088de3d Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Implement find_usage_*wards by BFS This patch uses BFS to implement find_usage_*wards(),which was originally writen by DFS. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-6-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit db0002a32f31060ca900b533d93a074ddf7d5b61 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Implement check_noncircular() by BFS This patch uses BFS to implement check_noncircular() and prints the generated shortest circle if exists. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-5-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 9e2d551ea0d767c0d624965f0c273e942f4be536 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Introduce match function to BFS 1,introduce match() to BFS in order to make it usable to match different pattern; 2,also rename some functions to make them more suitable. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-4-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit d588e46155e9c51217b9840db1e94a0f594c1af2 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Improve implementation of BFS 1,replace %MAX_CIRCULAR_QUE_SIZE with &(MAX_CIRCULAR_QUE_SIZE-1) since we define MAX_CIRCULAR_QUE_SIZE as power of 2; 2,use bitmap to mark if a lock is accessed in BFS in order to clear it quickly, because we may search a graph many times. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-3-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit c94aa5ca3088018d2a7a9bd3258aefffe29df265 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Print the shortest dependency chain if finding a circle Currently lockdep will print the 1st circle detected if it exists when acquiring a new (next) lock. This patch prints the shortest path from the next lock to be acquired to the previous held lock if a circle is found. The patch still uses the current method to check circle, and once the circle is found, breadth-first search algorithem is used to compute the shortest path from the next lock to the previous lock in the forward lock dependency graph. Printing the shortest path will shorten the dependency chain, and make troubleshooting for possible circular locking easier. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-2-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit a004cd42181409eda70804ded240a791f4564d61 Author: Thomas Gleixner Date: Tue Jul 21 09:54:05 2009 +0200 sched: Fix return value of migration_init() migration_init() returns the return value of the hotplug notifier. In the success case this is NOTIFY_OK which is 1. initcall_debug evaluates that as an error code because init calls are expected to return 0 on success. Signed-off-by: Thomas Gleixner commit ab300465676b0c0559af62d57ec9a902f5680b03 Author: Herbert Xu Date: Fri Jul 24 15:26:15 2009 +0800 crypto: api - Fix aligned ctx helper The aligned ctx helper was using a bogus alignment value thas was one off the correct value. Fortunately the current users do not require anything beyond the natural alignment of the platform so this hasn't caused a problem. This patch fixes that and also removes the unnecessary minimum check since if the alignment is less than the natural alignment then the subsequent ALIGN operation should be a noop. Signed-off-by: Herbert Xu commit 0b767b4df360bd442434d9d40b8a495e64202254 Author: Herbert Xu Date: Fri Jul 24 15:18:41 2009 +0800 crypto: hmac - Prehash ipad/opad This patch uses crypto_shash_export/crypto_shash_import to prehash ipad/opad to speed up hmac. This is partly based on a similar patch by Steffen Klassert. Signed-off-by: Herbert Xu commit 7b4ffcf953f091a815df081911c5e75c8a38418d Author: Phil Carmody Date: Fri Jul 24 13:59:17 2009 +0800 crypto: aes - Undefined behaviour in crypto_aes_expand_key It's undefined behaviour in C to write outside the bounds of an array. The key expansion routine takes a shortcut of creating 8 words at a time, but this creates 4 additional words which don't fit in the array. As everyone is hopefully now aware, GCC is at liberty to make any assumptions and optimisations it likes in situations where it can detect that UB has occured, up to and including nasal demons, and as the indices being accessed in the array are trivially calculable, it's rash to invite gcc to do take any liberties at all. Signed-off-by: Phil Carmody Signed-off-by: Herbert Xu commit 0044f3eda9a778ab63c2a5eafede3803f01b0b97 Author: Steffen Klassert Date: Fri Jul 24 13:57:13 2009 +0800 crypto: shash - Test for the algorithms import function before exporting it crypto_init_shash_ops_async() tests for setkey and not for import before exporting the algorithms import function to ahash. This patch fixes this. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 5befbd5a7e9c814d145f15b4281c88da96fb1aa9 Author: Steffen Klassert Date: Fri Jul 24 13:56:31 2009 +0800 crypto: ahash - Use GFP_KERNEL on allocation if the request can sleep ahash_op_unaligned() and ahash_def_finup() allocate memory atomically, regardless whether the request can sleep or not. This patch changes this to use GFP_KERNEL if the request can sleep. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 74d154189d597b91da4322996dbf4f5c3d1544ab Merge: 5a6338d ffafa60 Author: David S. Miller Date: Thu Jul 23 19:03:51 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwmc3200wifi/netdev.c net/wireless/scan.c commit 5a6338db37885af06760d40cad589316e48431e9 Author: Dave Jones Date: Mon Jul 20 17:40:48 2009 +0000 Fix typos in comments in via-velocity header. Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit 2cf71d2e388cb0076b03f40f2fadfc590c228461 Author: Dave Jones Date: Thu Jul 23 18:11:12 2009 -0700 Remove unnecessary forward declarations from velocity NIC driver. By moving functions to before their first call, we eliminate the need to define forward references. Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit c40674001b162f9218ba2a6f26188177c6a4e763 Author: Dave Jones Date: Mon Jul 20 17:35:21 2009 +0000 Fix up CodingStyle problems in via-velocity.c Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit 83c98a8cd04dd0f848574370594886ba3bf56750 Author: Dave Jones Date: Tue Jul 21 09:15:49 2009 +0000 Remove unused zero-copy code from velocity NIC driver. This code hasn't been enabled in forever. Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit 67edfef78639573e9b01c26295a935349aab6fa3 Author: Andi Kleen Date: Tue Jul 21 23:00:40 2009 +0000 TCP: Add comments to (near) all functions in tcp_output.c v3 While looking for something else I spent some time adding one liner comments to the tcp_output.c functions that didn't have any. That makes the comments more consistent. I hope I documented everything right. No code changes. v2: Incorporated feedback from Ilpo. v3: Change style of one liner comments, add a few more comments. Signed-off-by: Andi Kleen Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 40d4e3dfc2f56ad85ecca29c7f9a0194bbb833c0 Author: Eric Dumazet Date: Tue Jul 21 21:57:59 2009 +0000 af_packet: style cleanups Some style cleanups to match current code practices. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c9a73cdb772a487b2c59c2711ad8b10d58cbaca8 Author: Uwe Kleine-König Date: Tue Jul 21 11:25:23 2009 +0000 net: move macsonic's probe function to .devinit.text A pointer to mac_sonic_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. Various other functions that are called by mac_sonic_probe need to move to .devinit.text, too. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Jeff Garzik Cc: David S. Miller Tested-by: Finn Thain Cc: Geert Uytterhoeven Cc: Andrew Morton Cc: netdev@vger.kernel.org Cc: Greg Kroah-Hartman Signed-off-by: David S. Miller commit 0c9cd395faca5ccf549e2bcb6b09086962c112b0 Author: Uwe Kleine-König Date: Tue Jul 21 11:25:27 2009 +0000 net: move xtsonic's probe function to .devinit.text A pointer to xtsonic_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Chris Zankel Cc: David S. Miller Cc: Andrew Morton Cc: Greg Kroah-Hartman Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit ffe8553f8871dabf61d49e7f97a2c6cbc7dc23cb Author: Uwe Kleine-König Date: Tue Jul 21 11:25:25 2009 +0000 net: move sb1250-mac's probe function to .devinit.text A pointer to sbmac_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Weiwei Wang Cc: Jeff Garzik Cc: David S. Miller Cc: Stephen Hemminger Acked-by: Maciej W. Rozycki Cc: Andrew Morton Cc: Greg Kroah-Hartman Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit dd93667711761362b393cfbd5959bb11aa1fa80d Author: Uwe Kleine-König Date: Tue Jul 21 11:25:24 2009 +0000 net: move meth's probe function to .devinit.text A pointer to meth_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: David S. Miller Cc: Thomas Bogendoerfer Cc: Christoph Lameter Cc: Jeff Garzik Acked-by: Ralf Baechle Cc: Andrew Morton Cc: netdev@vger.kernel.org Cc: Greg Kroah-Hartman Signed-off-by: David S. Miller commit 2e76baea67fa74442938afd3417170b28e7aac86 Author: Uwe Kleine-König Date: Tue Jul 21 11:25:22 2009 +0000 net: move jazzsonic's probe function to .devinit.text A pointer to jazz_sonic_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. As noticed by Geert Uytterhoeven sonic_probe1 is called by jazz_sonic_probe, so the former has to move to .devinit.text, too. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Acked-by: Ralf Baechle Cc: Jeff Garzik Cc: David S. Miller Cc: Thomas Bogendoerfer Cc: Finn Thain Cc: Geert Uytterhoeven Cc: Andrew Morton Cc: netdev@vger.kernel.org Cc: Greg Kroah-Hartman Signed-off-by: David S. Miller commit a65a688182cd7f5b69bd6dd9022be96ea771642c Author: Uwe Kleine-König Date: Tue Jul 21 11:25:26 2009 +0000 net: move sgiseeq's probe function to .devinit.text A pointer to sgiseeq_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Wang Chen Cc: David S. Miller Cc: Andrew Morton Cc: Jeff Garzik Cc: Thomas Bogendoerfer Acked-by: Ralf Baechle Cc: Greg Kroah-Hartman Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit 27a242e92f77c955433ce0347533f401ecdcd0f3 Author: Ben Greear Date: Tue Jul 21 12:50:02 2009 -0700 veth: Zero timestamp in xmit path. This patch zero's the timestamp before handing the packet to the peer interface. This lets the peer recalculate the rx timestamp if it cares about timestamps. Signed-off-by: Ben Greear Signed-off-by: David S. Miller commit dd52856ba24ed2f67679c86f207e5a9bab1eb93b Author: Sebastian Haas Date: Tue Jul 21 12:38:13 2009 -0700 can: sja1000: Add support for the new 4 channel EMS CPC-PCI cards This patch adds support to the ems_pci driver for the new, v2, 4 channel CPC-PCI/PCIe/104P CAN cards from EMS Dr. Thomas Wuensche. Signed-off-by: Sebastian Haas Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 69222e2cb01ac3faaa8ca758c5ee036c191b8b9f Author: Mike Rapoport Date: Tue Jul 21 12:37:18 2009 -0700 dm9000: switch to dev_pm_ops Signed-off-by: Mike Rapoport Acked-by: Ben Dooks Signed-off-by: David S. Miller commit 5be93b9a865344cf69958777c8d7c6f758cba416 Author: Ajit Khaparde Date: Tue Jul 21 12:36:19 2009 -0700 be2net: Add GRO support to the be2net driver. LRO is not supported anymore. This patch removes support for INET_LRO and switches over to GRO. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 2eee40c7f7c3734b28456169b2945e07d5ac0e2d Author: Rémi Denis-Courmont Date: Tue Jul 21 01:57:58 2009 +0000 Phonet: dropped datagrams accounting The per-socket drop count is visible via /proc/net/phonet. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 2e2fb4b33d62c742019774c5e6e47711a3d60505 Author: Rémi Denis-Courmont Date: Tue Jul 21 01:57:59 2009 +0000 Phonet: account for dropped RX packets Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit c1dc13e9d0bc35a8d85bf4238c48c1b627d48f35 Author: Rémi Denis-Courmont Date: Tue Jul 21 01:57:57 2009 +0000 Phonet: sockets list through proc_fs This provides a list of sockets with their Phonet bind addresses and some socket debug informations through /proc/net/phonet. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit f0166e5e3cdab66d5a31f796ce18e21fd3ce99dc Author: Dmitry Eremin-Solenikov Date: Thu Jul 23 16:56:29 2009 +0400 ieee802154: move headers out of extra directory include/net/ieee802154/af_ieee802154.h (and others) naming seems to be too long and redundant. Drop one level of subdirectories. Signed-off-by: Dmitry Eremin-Solenikov commit 878fa89f97954337d1dc41f0ccc3a8b5f89cfbc7 Author: Daniel Silverstone Date: Wed Jul 22 18:51:24 2009 +0200 IEEE80154: Add documentation to the IEEE80154 netlink and fakehard driver This adds some perfunctory documentation comments to the IEEE 802.15.4 fakehard.c driver (Fake hard MAC) and the nl802154.h (outgoing netlink messages) header. These comments are not necessarily complete, but they do reference the IEEE 802.15.4-2006 document where possible. Signed-off-by: Daniel Silverstone commit 474828a40f6ddab6e2a3475a19c5c84aa3ec7d60 Author: Marek Vasut Date: Wed Jul 22 13:01:03 2009 +0200 ALSA: Allow passing platform_data to devices attached to AC97 bus This patch allows passing platform_data to devices attached to AC97 bus (like touchscreens, battery measurement chips ...). Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit b5d6f93b92a37466b43ba105f524bdf046d3bb3c Author: Takashi Iwai Date: Thu Jul 23 12:25:40 2009 +0200 ALSA: hda - Add description of new models for ALC889/889A Signed-off-by: Takashi Iwai commit a7569afa8b79ca9272b0d7544335bc05b5b721d6 Author: Joonyoung Shim Date: Thu Jul 23 17:33:17 2009 +0900 ASoC: MAX9877: fix write operation for register The MAX9877 needs an address of start register when we write values to registers through i2c_master_send(), but the code for this was missed in max9877_write_regs(). If the value of control is 0 in the max9877_set_out_mode(), the value is not increased to 1, but actually the value to write to the register should be 1. And the register bits for out_mode and osc_mode should be cleared before writing. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit 459dc35233c88d9eb7c5d0e6c086122751e64750 Author: Janusz Krzysztofik Date: Wed Jul 22 05:22:28 2009 +0200 ASoC: Add support for Conexant CX20442-11 voice modem codec This patch adds support for Conexant CX20442-11 voice modem codec, suitable for use by the ASoC board driver for Amstrad E3 (Delta) videophone. Related sound card driver will follow. This codec is an optional part of the Conexant SmartV three chip modem design. As such, documentation for its proprietary digital audio interface is not available. However, on Amstrad Delta board, thanks to Mark Underwood who created an initial, omap-alsa based sound driver a few years ago[1], the codec has been discovered to be accessible not only from the modem side, but also over the OMAP McBSP based CPU DAI. Thus, the driver can be used by any sound card that can access the codec DAI directly. The DAI configuration parameters (sample rate and format, number of channels) has been selected out empirically for best user experience. The codec analogue interface consists of two pairs of analogue I/O pins: speakerphone interface or telephone handset/headset interface. Furthermore, it seams to provide two operation modes for speakerphone I/O: standard and advanced, with automatic gain control and echo cancelation. Even if the codec control interface is unknown and not available, all those interfaces and modes can be selected over the modem chip using V.253 commands. The driver is able to issue necessary commands over a suitable hw_write function if provided by a sound card driver. Otherwise, the codec can be controlled over the modem from userspace while inactive. Even if nothig is known about the codec internal power management capabilities, DAPM widgets has been used to model the codec audio map. Automatically performed powering up/down of those virtual widgets results in corresponding V.253 commands being issued. Some driver features/oddities may be board specific, but I have no way to verify that with any board other than Amstrad Delta. [1] http://www.earth.li/pipermail/e3-hacking/2006-April/000481.html Created and tested against linux-2.6.31-rc3. Applies and works with linux-omap-2.6 commit 7c5cb7862d32cb344be7831d466535d5255e35ac as well. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 87a8c3702e40028468a2d0ef6dab7627dab60c86 Author: Jaroslav Kysela Date: Thu Jul 23 10:58:29 2009 +0200 ALSA: hda - Add better Intel IbexPeak platform support Here are the new sound enabling patches for IbexPeak. Summary of tested features: - playback - Front Headphone: OK - 8 channel audio: Front/Rear/CLFE/Side all OK - recording - Front Mic/Rear Mic: both OK (front/rear/line mics are selectable in the "Input source" alsamixer control) - Line In: not working (in 6ch mode, its amp/mute, direction and route all looks fine, so I'm a little puzzled) (hopefully no one will care this feature) - digital SPDIF input/output: not tested (no equipment) Signed-off-by: Wu Fengguang Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit c30853df9834bccc2841798b0ab8f151929ae500 Merge: d756b27 06c7128 Author: Mark Brown Date: Thu Jul 23 08:22:58 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit d756b2774829c746e0cf2967802cbd41967eda65 Author: Lopez Cruz, Misael Date: Wed Jul 22 20:45:03 2009 -0500 ASoC: OMAP: Staticise pcm creation function of omap-pcm Signed-off-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit 35ebf6e7210dc0f7c612856513a8489a1da9de7e Author: Takashi Iwai Date: Wed Jul 22 17:12:34 2009 +0200 ALSA: ctxfi - Simple code clean up - replace NULL == xxx with !xxx - replace NULL != xxx with xxx - similar trivial cleanups Signed-off-by: Takashi Iwai commit 89e1b9511fc7fbfac4139fca5531f5f9d946c537 Merge: 9c6c529 6811066 Author: Takashi Iwai Date: Wed Jul 22 17:06:53 2009 +0200 Merge branch 'fix/ctxfi' into topic/ctxfi commit 16a433d8b38720a816736d59a62e705c19e31600 Author: Jaroslav Kysela Date: Wed Jul 22 16:20:40 2009 +0200 ALSA: hda-intel: Cleanups for widget connection list handling This patch adds a check to snd_hda_get_connections() routine for presence of AC_WCAP_CONN_LIST. Also, make sure that negative error codes from noted route are handled on all places as errors. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 254da007f93f79ee773788cbb38f24dfab9590f5 Author: Jaroslav Kysela Date: Wed Jul 22 15:31:03 2009 +0200 ALSA: hda_generic: use AC_WCAP_CONN_LIST check for widget connections Previous patch used widget type, but the presence flag of the connection list is in the widget capabilities. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 052960483833f81603450e2a3cfa7a5ee98eedd4 Author: Jaroslav Kysela Date: Wed Jul 22 14:38:58 2009 +0200 ALSA: hda_generic: do not read connections for widged with an unknown type Reading node connections for an unknown widget can confuse HDA codec bus. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 1c20930a41c623a2281e754f9321cd0feb01ceb9 Author: Takashi Iwai Date: Wed Jul 22 15:17:45 2009 +0200 ALSA: hda - Fix ALC861 auto-mode parser Fix the logic of ALC861 auto-mode parser for the outputs. Instead of assuming the fixed DAC list, parse the conection and assign the DAC dynamically. Also, unmute the unused output connections to avoid noises on inputs. Signed-off-by: Takashi Iwai commit 05ff7e11b78f18ff6819d2c260b7bcc7da0c8f46 Author: Takashi Iwai Date: Wed Jul 22 12:39:24 2009 +0200 ALSA: hda - Reduce click noise at power-saving Add some tricks to reduce the click noise at powering down to D3 in the power saving mode on STAC/IDT codecs. The key seems to be to reset PINs before the power-down, and some delay before entering D3. The needed delay is significantly long, but I don't know why. Signed-off-by: Takashi Iwai commit e458a48f8776d624d05246471501c6086adb1d7a Author: Joonyoung Shim Date: Wed Jul 22 14:09:08 2009 +0900 ASoC: MAX9877: separate callback functions The callback function to control register was used by whole controls in MAX9877 driver, but this causes using many if statement for double register control or invert. So, the callback function for double register control is separate differently, and the code for invert is added in the callback function. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit f592682f9fca18d336ac068a1abc8507b4a1d936 Author: Herbert Xu Date: Wed Jul 22 12:37:06 2009 +0800 crypto: shash - Require all algorithms to support export/import This patch provides a default export/import function for all shash algorithms. It simply copies the descriptor context as is done by sha1_generic. This in essence means that all existing shash algorithms now support export/import. This is something that will be depended upon in implementations such as hmac. Therefore all new shash and ahash implementations must support export/import. For those that cannot obtain a partial result, padlock-sha's fallback model should be used so that a partial result is always available. Signed-off-by: Herbert Xu commit 9fadfd1adff28a8895de8df9e8a778c44958840f Author: Herbert Xu Date: Wed Jul 22 12:29:41 2009 +0800 crypto: sha512-s390 - Add export/import support This patch adds export/import support to sha512-s390 (which includes sha384-s390). The exported type is defined by struct sha512_state, which is basically the entire descriptor state of sha512_generic. Since sha512-s390 only supports a 64-bit byte count the import function will reject anything that exceeds that. Signed-off-by: Herbert Xu commit 13887ed6888dad1608eb9530ebd83b6ba29db577 Author: Herbert Xu Date: Wed Jul 22 12:22:43 2009 +0800 crypto: sha512_generic - Use 64-bit counters This patch replaces the 32-bit counters in sha512_generic with 64-bit counters. It also switches the bit count to the simpler byte count. Signed-off-by: Herbert Xu commit 1f38ad8389bbca038d320c29d30aa1d6ed96b48d Author: Herbert Xu Date: Wed Jul 22 11:48:18 2009 +0800 crypto: sha512 - Export struct sha512_state This patch renames struct sha512_ctx and exports it as struct sha512_state so that other sha512 implementations can use it as the reference structure for exporting their state. Signed-off-by: Herbert Xu commit ac95301f271f32901e4007096aa3516def49eed2 Author: Herbert Xu Date: Wed Jul 22 14:37:15 2009 +0800 crypto: xcbc - Fix shash conversion Although xcbc was converted to shash, it didn't obey the new requirement that all hash state must be stored in the descriptor rather than the transform. This patch fixes this issue and also optimises away the rekeying by precomputing K2 and K3 within setkey. Signed-off-by: Herbert Xu commit b588ef6e69bfc0944a17dc673ee166a00fa23de2 Author: Herbert Xu Date: Wed Jul 22 13:04:37 2009 +0800 crypto: xcbc - Use crypto_xor This patch replaces the local xor function with the generic crypto_xor function. Signed-off-by: Herbert Xu commit 6fba00d176ab73b15bb8e31f261582943429a92b Author: Herbert Xu Date: Wed Jul 22 11:10:22 2009 +0800 crypto: cryptd - Add finup/export/import for hash This patch adds the finup/export/import functions to the cryptd ahash implementation. We simply invoke the underlying shash operations. Signed-off-by: Herbert Xu commit 25cbf465207e9616e9b7d362ee166abf296d4c1e Author: javier Martin Date: Tue Jul 21 11:15:06 2009 +0200 ASoC: Correct a bug with "ADC Inversion Switch" in wm8974 codec. This corrects a bug with ADC Inversion Switch in wm8974 codec. Signed-off-by: Javier Martin Signed-off-by: Mark Brown commit ed0f19b23754dc24f9a2d3c266a36277410f4686 Author: John Bonesio Date: Tue Jul 21 13:15:40 2009 -0700 ASoC: MPC5200: Increase the delay time between resets Reset was failing with the original udelay(50) between the code in psc_ac97_cold_reset() and the call to psc_ac97_warm_reset(). Through testing it was found that a delay of 1ms was necessary for the cold_reset code to consistently complete successfully. Signed-off-by: John Bonesio Signed-off-by: Mark Brown commit e8834a63bddf87f7b85955d1ba60d28343d88469 Author: Eilon Greenstein Date: Tue Jul 21 05:47:55 2009 +0000 bnx2x: Version 1.48.113-1 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5b6402d10328beb8a9b351ac65a31326ed5fe847 Author: Eilon Greenstein Date: Tue Jul 21 05:47:51 2009 +0000 bnx2x: Missing parenthesis might result with wrong casting Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ba71d3134176b9791aab7cb78242b6ba1428aac8 Author: Eilon Greenstein Date: Tue Jul 21 05:47:49 2009 +0000 bnx2x: Set LED in loopback test Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 4d295db0efd2ccf06edb7a45ad885b40c56b7161 Author: Eilon Greenstein Date: Tue Jul 21 05:47:47 2009 +0000 bnx2x: Supporting BCM8727 PHY Adding support for BCM8727 - a dual port SFP+ PHY. That includes verification of the optic module vendor and part number - the list of approved modules resides on the nvram and the module is verified by the FW. Since not all users would like to use this verification feature, it can be disabled. The default behavior is to issue a warning if the module is not approved, but still allow using it - but it is also possible to disable the link if the module is not approved. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5316bc0b9adbefe24f149b12caeddc30df6f04e1 Author: Eilon Greenstein Date: Tue Jul 21 05:47:43 2009 +0000 bnx2x: Update vlan_features As noted by Or Gerlitz , the vlan_features was not updated Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e15107065d073714dc47cf6b80c8bf5eea1bf18b Author: Eilon Greenstein Date: Tue Jul 21 05:47:41 2009 +0000 bnx2x: SMP-safe inter_sem Signed-off-by: Vlad Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 37dbbf32a0d45f0ed88f92cb6d0c35f4809e3a8e Author: Eilon Greenstein Date: Tue Jul 21 05:47:33 2009 +0000 bnx2x: Adding some mmiowb Signed-off-by: Vlad Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit eb8da205a6cac953a46a247b8dd19505eba944e2 Author: Eilon Greenstein Date: Tue Jul 21 05:47:30 2009 +0000 bnx2x: Fan failure early detection Check if fan failure happened before the driver was loaded and notify the user Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit fd4ef40d5977e1c226e9cd9659398e82cc4a1e85 Author: Eilon Greenstein Date: Tue Jul 21 05:47:27 2009 +0000 bnx2x: Fan failure Setup fan failure for different PHY types or according to nvram settings Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 279abdf59c766a06db89b50c6d3615b4f2b19ed3 Author: Eilon Greenstein Date: Tue Jul 21 05:47:22 2009 +0000 bnx2x: Stop management traffic in loopback test Since management traffic cannot go on the wire while configured to loopback, simply stop it to avoid race condition when the MAC is set to loopback in the middle of a packet Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3c2b8d180a47d041e9101ead27e49d237df0f1d1 Author: Gerrit Renker Date: Tue Jul 21 11:13:25 2009 -0700 mcastv6: Local variable shadows function argument The local variable 'idev' shadows the function argument 'idev' to ip6_mc_add_src(). Fixed by removing the local declaration, as pmc->idev should be identical with 'idev' passed as argument. Signed-off-by: Gerrit Renker Acked-by: David L Stevens Signed-off-by: David S. Miller commit 1f9963cbb0280e0cd554161e00f1a0eeddbf1ae1 Author: Li Zefan Date: Mon Jul 20 10:20:53 2009 +0800 tracing/filters: improve subsystem filter Currently a subsystem filter should be applicable to all events under the subsystem, and if it failed, all the event filters will be cleared. Those behaviors make subsys filter much less useful: # echo 'vec == 1' > irq/softirq_entry/filter # echo 'irq == 5' > irq/filter bash: echo: write error: Invalid argument # cat irq/softirq_entry/filter none I'd expect it set the filter for irq_handler_entry/exit, and not touch softirq_entry/exit. The basic idea is, try to see if the filter can be applied to which events, and then just apply to the those events: # echo 'vec == 1' > softirq_entry/filter # echo 'irq == 5' > filter # cat irq_handler_entry/filter irq == 5 # cat softirq_entry/filter vec == 1 Changelog for v2: - do some cleanups to address Frederic's comments. Inspired-by: Steven Rostedt Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker LKML-Reference: <4A63D485.7030703@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit ff4e9da2330beb8d64498a513d3f9694e941b01a Author: Xiao Guangrong Date: Mon Jun 22 10:33:07 2009 +0800 tracing: cleanup for tracing_trace_options_read() '\n' is already appended, and what we need is just an extra space for the '\0'. Signed-off-by: Xiao Guangrong LKML-Reference: <4A3EED63.3090908@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 7d536cb3fb9993bdcd5a2fbaa6b0670ded4e101c Author: Li Zefan Date: Thu Jul 16 10:54:02 2009 +0800 tracing/events: record the size of dynamic arrays When a dynamic array is defined, we add __data_loc_foo in trace_entry to record the offset of the array, but the size of the array is not recorded, which causes 2 problems: - the event filter just compares the first 2 chars of the strings. - parsers can't parse dynamic arrays. So we encode the size of each dynamic array in the higher 16 bits of __data_loc_foo, while the offset is in lower 16 bits. Signed-off-by: Li Zefan LKML-Reference: <4A5E964A.9000403@cn.fujitsu.com> Acked-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit 9c6c529a21cd3b6efb367256a239eec4153721c0 Merge: bc5304b 55fe27f Author: Takashi Iwai Date: Mon Jul 20 17:08:01 2009 +0200 Merge branch 'fix/ctxfi' into topic/ctxfi commit cb24405e67e56cbef51b5e4d0bb0a0fde167261f Author: Andy Grover Date: Fri Jul 17 13:13:36 2009 +0000 RDS: Refactor end of __conn_create for readability Add a comment for what's going on. Remove negative logic. I find this much easier to understand quickly, although there are a few lines duplicated. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit ed9e352a350ec85eb354046e0db6a86019620f53 Author: Andy Grover Date: Fri Jul 17 13:13:35 2009 +0000 RDS/IW: Remove dead code In iWARP code, node_type will always be RNIC Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 404bb72a56e553febe1055f98347a7a3e3145759 Author: Andy Grover Date: Fri Jul 17 13:13:34 2009 +0000 RDS/IW: Remove page_shift variable from iwarp transport The existing code treated page_shift as a variable, when in fact we always want to have the fastreg page size be the same as the arch's page size -- and it is, so this doesn't need to be a variable. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit a870d62726721785c34fa73d852bd35e5d1b295b Author: Andy Grover Date: Fri Jul 17 13:13:33 2009 +0000 RDS/IB: Always use PAGE_SIZE for FMR page size While FMRs allow significant flexibility in what size of pages they can use, we really just want FMR pages to match CPU page size. Roland says we can count on this always being supported, so this simplifies things. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit edacaeae52ade6cbb3a0704db32a9fb4a219dee3 Author: Andy Grover Date: Fri Jul 17 13:13:32 2009 +0000 RDS: Fix completion notifications on blocking sockets Completion or congestion notifications were not being checked if the socket went to sleep. This patch fixes that. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit fdf6e6b4afd8a56fa58f70a3950bd7ea7fbaef5f Author: Andy Grover Date: Fri Jul 17 13:13:31 2009 +0000 RDS/IB: Drop connection when a fatal QP event is received Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 68cb01c1ba312add7c7cc7da1bbe98b3071904d1 Author: Andy Grover Date: Fri Jul 17 13:13:30 2009 +0000 RDS/IB: Disable flow control in sysctl and explain why Backwards compatibility with rds 3.0 causes protocol- based flow control to be disabled as a side-effect. I don't want to pull out FC support from the IB transport but I do want to document and keep the sysctl consistent if possible. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit e11d912a7dd4dfe388f38ba3080a6d067a57b23d Author: Andy Grover Date: Fri Jul 17 13:13:29 2009 +0000 RDS/IB: Move tx/rx ring init and refill to later Since RDS 3.0 and 3.1 have different packet formats, we need to wait until after protocol negotiation is complete to layout the rx buffers. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 9099707ded4b3aeda7b1a6c1c87076bd18578d24 Author: Andy Grover Date: Fri Jul 17 13:13:28 2009 +0000 RDS: Don't set c_version in __rds_conn_create() Protocol negotiation is logically a property of the transports, so rds core need not set it. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 597ddd50e1c07ac55ac7742442690efcf16a37f5 Author: Andy Grover Date: Fri Jul 17 13:13:27 2009 +0000 RDS/IB: Rename byte_len to data_len to enhance readability Of course len is in bytes. Calling it data_len hopefully indicates a little better what the variable is actually for. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 92c330b9e93ce70a8c45a6b8b0a551321d783feb Author: Andy Grover Date: Fri Jul 17 13:13:26 2009 +0000 RDS/RDMA: Fix cut-n-paste errors in printks in rdma_transport.c Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 8dacd57e7ebc307d4d7c27c5d1caada4c4e63ebd Author: Andy Grover Date: Fri Jul 17 13:13:25 2009 +0000 RDS/IB: Fix printk to indicate remote IP, not local Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 02a6a2592e41d27644d647f3bce23598649961bc Author: Andy Grover Date: Fri Jul 17 13:13:24 2009 +0000 RDS/IB: Handle connections using RDS 3.0 wire protocol The big differences between RDS 3.0 and 3.1 are protocol-level flow control, and with 3.1 the header is in front of the data. The header always ends up in the header buffer, and the data goes in the data page. In 3.0 our "header" is a trailer, and will end up either in the data page, the header buffer, or split across the two. Since 3.1 is backwards- compatible with 3.0, we need to continue to support these cases. This patch does that -- if using RDS 3.0 wire protocol, it will copy the header from wherever it ended up into the header buffer. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 9ddbcfa098bae757d3760dd1dbf2847a0bd5a525 Author: Andy Grover Date: Fri Jul 17 13:13:23 2009 +0000 RDS/IB: Improve RDS protocol version checking RDS on IB uses privdata to do protocol version negotiation. Apparently the IB stack will return a larger privdata buffer than the struct we were expecting. Just to be extra-sure, this patch adds some checks in this area. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 3ba23ade464cca7c4a7ba5628c613339d3f2e161 Author: Andy Grover Date: Fri Jul 17 13:13:22 2009 +0000 RDS: Set retry_count to 2 and make modifiable via modparam This will be default cause IB connections to failover faster, but allow a longer retry count to be used if desired. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 4edf547b4d0f886acf5aa5a0c8f8edbaff280830 Author: Johannes Berg Date: Wed Jul 15 06:16:34 2009 +0000 net: explain netns notifiers a little better Eric explained this to me -- and afterwards the comment made sense, but not before. Add the the critical point about interfaces having to be gone from the netns before subsys notifiers are called. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 27e0955184a70c4bd4542ee2da18c749b4f43345 Author: roel kluin Date: Fri Jul 17 08:01:54 2009 +0000 b44: strncpy does not null terminate string strlcpy() will always null terminate the string. Also use the sizeof(version) to strlcopy() the version string. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 68fd60a8c8bca6af51805c45f286f0f2572ac977 Author: Lai Jiangshan Date: Thu Jul 16 10:53:34 2009 +0800 tracing/events: add missing type info of dynamic arrays The format file doesn't contain enough information for __dynamic_array/__string. The type name is missing. Before: # cat format: name: irq_handler_entry ... field:__data_loc name; offset:16; size:2; After: # cat format: name: irq_handler_entry ... field:__data_loc char[] name; offset:16; size:2; Signed-off-by: Lai Jiangshan LKML-Reference: <4A5E962E.9020900@cn.fujitsu.com> Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit c550091edd6fac2ed9dac1b30d986b6c58b216fa Author: Robert Richter Date: Thu Jul 16 13:11:16 2009 +0200 x86/oprofile: Small coding style fixes Some small coding style fixes. Signed-off-by: Robert Richter commit 11be1a7b54283021777f409aa983ce125945e67c Author: Robert Richter Date: Fri Jul 10 18:15:21 2009 +0200 x86/oprofile: Add counter reservation check for virtual counters This patch adds a check for the availability of a counter. A virtual counter is used only if its physical counter is not reserved. Signed-off-by: Robert Richter commit 61d149d5248ad7428801cdede0f5fcc2b90cd61c Author: Robert Richter Date: Fri Jul 10 15:47:17 2009 +0200 x86/oprofile: Implement op_x86_virt_to_phys() This patch implements a common x86 function to convert virtual counter numbers to physical. Signed-off-by: Robert Richter commit 1b294f5960cd89e49eeb3e797860c552b03f2272 Author: Robert Richter Date: Thu Jul 9 14:56:25 2009 +0200 oprofile: Adding switch counter to oprofile statistic variables This patch moves the multiplexing switch counter from x86 code to common oprofile statistic variables. Now the value will be available and usable for all architectures. The initialization and incrementation also moved to common code. Signed-off-by: Robert Richter commit 4d015f79e972cea1761cfee8872b1c0992ccd8b2 Author: Robert Richter Date: Thu Jul 9 21:42:51 2009 +0200 x86/oprofile: Implement mux_clone() To setup a counter for all cpus, its structure is cloned from cpu 0. This patch implements mux_clone() to do this part for multiplexing data. Signed-off-by: Robert Richter commit 5280514471c2803776701c43c027038decac1103 Author: Robert Richter Date: Thu Jul 9 16:02:44 2009 +0200 x86/oprofile: Enable multiplexing only if the model supports it This patch checks if the model supports multiplexing. Only then multiplexing will be enabled. The code is added to the common x86 initialization. Signed-off-by: Robert Richter commit 39e97f40c3a5e71de0532368deaa683e09b74ba2 Author: Robert Richter Date: Thu Jul 9 15:11:45 2009 +0200 x86/oprofile: Add function has_mux() to check multiplexing support The check is used to prevent running multiplexing code for models not supporting multiplexing. Before, the code was running but without effect. Signed-off-by: Robert Richter commit 52471c67ee2fa5ed6f700ef57bf27833c63b2192 Author: Robert Richter Date: Mon Jul 6 14:43:55 2009 +0200 x86/oprofile: Modify initialization of num_virt_counters Models that do not yet support counter multiplexing have to setup num_virt_counters. This patch implements the setup from num_counters if num_virt_counters is not set. Thus, num_virt_counters must be setup only for multiplexing support. Signed-off-by: Robert Richter commit 2904a527575344a804fdd82b1f8d09a8731d8d49 Author: Robert Richter Date: Thu Jul 9 12:33:41 2009 +0200 x86/oprofile: Remove unused num_virt_controls from struct op_x86_model_spec The member num_virt_controls of struct op_x86_model_spec is not used. This patch removes it. Signed-off-by: Robert Richter commit 259a83a8abdb9d2664819ec80ad12ebaeb251e32 Author: Robert Richter Date: Thu Jul 9 15:12:35 2009 +0200 x86/oprofile: Remove const qualifier from struct op_x86_model_spec This patch removes the const qualifier from struct op_x86_model_spec to make model parameters changable. Signed-off-by: Robert Richter commit b28d1b923ab52d535c0719155dccf3b3d98bab9f Author: Robert Richter Date: Thu Jul 9 14:38:49 2009 +0200 x86/oprofile: Moving nmi_cpu_switch() in nmi_int.c This patch moves some code in nmi_int.c to get a single separate multiplexing code section. Signed-off-by: Robert Richter commit d0f585dd20010f8479e56b5c6f391ef18e26877e Author: Robert Richter Date: Thu Jul 9 14:38:49 2009 +0200 x86/oprofile: Moving nmi_cpu_save/restore_mpx_registers() in nmi_int.c This patch moves some code in nmi_int.c to get a single separate multiplexing code section. Signed-off-by: Robert Richter commit 48fb4b46712c7d3e8adc79826311abd9ccbf7f1d Author: Robert Richter Date: Thu Jul 9 14:38:49 2009 +0200 x86/oprofile: Moving nmi_setup_cpu_mux() in nmi_int.c This patch moves some code in nmi_int.c to get a single separate multiplexing code section. Signed-off-by: Robert Richter commit 6ab82f958a5dca591a6ea17a3ca6f2aca06f4f2f Author: Robert Richter Date: Thu Jul 9 14:40:04 2009 +0200 x86/oprofile: Implement multiplexing setup/shutdown functions This patch implements nmi_setup_mux() and nmi_shutdown_mux() functions to setup/shutdown multiplexing. Multiplexing code in nmi_int.c is now much more separated. Signed-off-by: Robert Richter commit 7e7478c6bc0e011d2854b21f190cc3a1dba89905 Author: Robert Richter Date: Thu Jul 16 13:09:53 2009 +0200 oprofile: Grouping multiplexing code in op_model_amd.c This patch moves some multiplexing code to the new function op_mux_fill_in_addresses(). Also, the whole multiplexing code is now at a single location. Signed-off-by: Robert Richter commit d8471ad3ab613a1ba7abd3aad46659de39a2871c Author: Robert Richter Date: Thu Jul 16 13:04:43 2009 +0200 oprofile: Introduce op_x86_phys_to_virt() This new function translates physical to virtual counter numbers. Signed-off-by: Robert Richter commit a5659d17adb815fb35e11745e2f39c3f0bfd579f Author: Robert Richter Date: Fri Jun 19 16:45:34 2009 +0200 oprofile: Grouping multiplexing code in oprof.c This patch moves multiplexing code to a single section of code. This reduces the use of #ifdefs especially within functions. Signed-off-by: Robert Richter commit 16422a6e2d16a39861ae5b0b11d9b411a245ab83 Author: Robert Richter Date: Wed Jul 15 15:44:18 2009 +0200 oprofile: Remove oprofile_multiplexing_init() oprofile_multiplexing_init() can be removed when moving the initialization of oprofile_time_slice to oprofile_create_files(). Signed-off-by: Robert Richter commit afe1b50fe6aa56093e9234bdc08779e9fe20b5bf Author: Robert Richter Date: Wed Jul 15 15:19:29 2009 +0200 oprofile: Rename variable timeout_jiffies and move to oprofile_files.c This patch renames timeout_jiffies into an oprofile specific name. The macro MULTIPLEXING_TIMER_DEFAULT is changed too. Also, since this variable is controlled using oprofilefs, its definition is moved to oprofile_files.c. Signed-off-by: Robert Richter commit 2051cade7ccbe45a8bf8b7809d56b23d6d75ad03 Author: Robert Richter Date: Wed Jul 15 15:44:18 2009 +0200 oprofile: oprofile_set_timeout(), return with error for invalid args Return with -EINVAL for invalid parameters instead of setting the default value in oprofile_set_timeout(). Signed-off-by: Robert Richter commit 6bfccd099c2841e1c42530f1b6d2553bfa13be3a Author: Robert Richter Date: Thu Jul 9 19:23:50 2009 +0200 x86/oprofile: Fix initialization of switch_index Variable switch_index must be initialized for each cpu. This patch fixes the initialization by moving it to the per-cpu init function nmi_cpu_setup(). Signed-off-by: Robert Richter commit 82a225283fb0d9438549595d9e6f3ecc42b42ad6 Author: Robert Richter Date: Thu Jul 9 16:29:34 2009 +0200 x86/oprofile: Use per_cpu() instead of __get_cpu_var() __get_cpu_var() calls smp_processor_id(). When the cpu id is already known, instead use per_cpu() to avoid generating the id again. Signed-off-by: Robert Richter commit 5e766e3e433fa2d5d2fdfd8e2432804c91393387 Author: Robert Richter Date: Wed Jul 8 14:54:17 2009 +0200 x86/oprofile: Fix usage of NUM_CONTROLS/NUM_COUNTERS macros Use the corresponding macros when iterating over counter and control registers. Since NUM_CONTROLS and NUM_COUNTERS are equal for AMD cpus the fix is more a cosmetical change. Signed-off-by: Robert Richter commit b902e5735272b6a79fe2853180b2ad6658aa9678 Author: Jarek Poplawski Date: Tue Jul 14 11:20:32 2009 +0000 ipv4: fib_trie: Use tnode_get_child_rcu() and node_parent_rcu() in lookups While looking for other fib_trie problems reported by Pawel Staszewski I noticed there are a few uses of tnode_get_child() and node_parent() in lookups instead of their rcu versions. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit be916cdebe4dc720a23b1a9bb589f2c22afd6589 Author: Jarek Poplawski Date: Tue Jul 14 09:41:00 2009 +0000 ipv4: Fix inflate_threshold_root automatically During large updates there could be triggered warnings like: "Fix inflate_threshold_root. Now=25 size=11 bits" if inflate() of the root node isn't finished in 10 loops. It should be much rarer now, after changing the threshold from 15 to 25, and a temporary problem, so this patch tries to handle it automatically using a fix variable to increase by one inflate threshold for next root resizes (up to the 35 limit, max fix = 10). The fix variable is decreased when root's inflate() finishes below 7 loops (even if some other, smaller table/ trie is updated -- for simplicity the fix variable is global for now). Reported-by: Pawel Staszewski Reported-by: Jorge Boncompte [DTI2] Tested-by: Pawel Staszewski Signed-off-by: Jarek Poplawski Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit c3059477fce2d956a0bb3e04357324780c5d8eeb Author: Jarek Poplawski Date: Tue Jul 14 08:33:08 2009 +0000 ipv4: Use synchronize_rcu() during trie_rebalance() During trie_rebalance() we free memory after resizing with call_rcu(), but large updates, especially with PREEMPT_NONE configs, can cause memory stresses, so this patch calls synchronize_rcu() in tnode_free_flush() after each sync_pages to guarantee such freeing (especially before resizing the root node). The value of sync_pages = 128 is based on Pawel Staszewski's tests as the lowest which doesn't hinder updating times. (For testing purposes there was a sysfs module parameter to change it on demand, but it's removed until we're sure it could be really useful.) The patch is based on suggestions by: Paul E. McKenney Reported-by: Pawel Staszewski Tested-by: Pawel Staszewski Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 2e477c9bd2bb6a1606e498adb53ba913378ecdf2 Author: Herbert Xu Date: Mon Jul 20 07:35:37 2009 -0700 vlan: Propagate physical MTU changes When the physical MTU changes we want to ensure that all existing VLAN device MTUs do not exceed the new underlying MTU. This patch adds that propagation. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 4d4036e0e7299c6cbb2d2421b4b30b7a409ce61a Author: Jason Yeh Date: Wed Jul 8 13:49:38 2009 +0200 oprofile: Implement performance counter multiplexing The number of hardware counters is limited. The multiplexing feature enables OProfile to gather more events than counters are provided by the hardware. This is realized by switching between events at an user specified time interval. A new file (/dev/oprofile/time_slice) is added for the user to specify the timer interval in ms. If the number of events to profile is higher than the number of hardware counters available, the patch will schedule a work queue that switches the event counter and re-writes the different sets of values into it. The switching mechanism needs to be implemented for each architecture to support multiplexing. This patch only implements AMD CPU support, but multiplexing can be easily extended for other models and architectures. There are follow-on patches that rework parts of this patch. Signed-off-by: Jason Yeh Signed-off-by: Robert Richter commit bc5304b6fb6c572452b538512761a126f0e0b0d8 Author: Takashi Iwai Date: Mon Jul 20 13:41:35 2009 +0200 ALSA: ctxfi - Native timer support for emu20k2 Added the native timer support for emu20k2, which gives much more accurate update timing than the system timer. Signed-off-by: Takashi Iwai commit 1c388ad054fb1ead3dc354b1719570b99e464135 Author: Paul Menage Date: Fri Jul 17 16:16:18 2009 -0700 include/linux/cred.h: work around gcc-4.2.4 warning in get_cred() With gcc 4.2.4 (building UML) I get the warning include/linux/cred.h: In function 'get_cred': include/linux/cred.h:189: warning: passing argument 1 of 'get_new_cred' discards qualifiers from pointer target type Inserting an additional local variable appears to keep the compiler happy, although it's not clear to me why this should be needed. Signed-off-by: Paul Menage Signed-off-by: Andrew Morton Acked-by: David Howells Signed-off-by: James Morris commit 57594742a2b545f8f114cda34f15650be8ae976d Author: Akinobu Mita Date: Sun Jul 19 00:11:06 2009 +0900 x86: Introduce set_desc_base() and set_desc_limit() Rename set_base()/set_limit to set_desc_base()/set_desc_limit() and rewrite them in C. These are naturally introduced by the idea of get_desc_base()/get_desc_limit(). The conversion actually found the bug in apm_32.c: bad_bios_desc is written at run-time, but it is defined const variable. Signed-off-by: Akinobu Mita LKML-Reference: <20090718151105.GC11294@localhost.localdomain> Signed-off-by: Ingo Molnar commit fde0312d01b60a3fd5dc56e69a9613defbbc7097 Author: Akinobu Mita Date: Sun Jul 19 00:09:56 2009 +0900 x86: Remove unused patch_espfix_desc() patch_espfix_desc() is not used after commit dc4c2a0aed3b09f6e255bd5c3faa50fe6e0b2ded Signed-off-by: Akinobu Mita LKML-Reference: <20090718150955.GB11294@localhost.localdomain> Signed-off-by: Ingo Molnar commit 254e0a6bff87ab8b22293c4bd1443507df698407 Author: Akinobu Mita Date: Sun Jul 19 00:08:54 2009 +0900 x86: Use get_desc_base() Use get_desc_base() to get the base address in desc_struct Signed-off-by: Akinobu Mita LKML-Reference: <20090718150853.GA11294@localhost.localdomain> Signed-off-by: Ingo Molnar commit 05e870d29aef0bf43124b2bd424103987fadd5b5 Merge: 3f3b7c1 2e9bf24 Author: Takashi Iwai Date: Sun Jul 19 13:52:31 2009 +0200 Merge branch 'fix/hda' into topic/hda commit def01bc53d03881acfc393bd10a5c7575187e008 Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Convert the only user of cond_resched_bkl to use cond_resched() fs/locks.c:flock_lock_file() is the only user of cond_resched_bkl() This helper doesn't do anything more than cond_resched(). The latter naming is enough to explain that we are rescheduling if needed. The bkl suffix suggests another semantics but it's actually a synonym of cond_resched(). Reported-by: Peter Zijlstra Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-7-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 613afbf83298efaead05ebcac23d2285609d7160 Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Pull up the might_sleep() check into cond_resched() might_sleep() is called late-ish in cond_resched(), after the need_resched()/preempt enabled/system running tests are checked. It's better to check the sleeps while atomic earlier and not depend on some environment datas that reduce the chances to detect a problem. Also define cond_resched_*() helpers as macros, so that the FILE/LINE reported in the sleeping while atomic warning displays the real origin and not sched.h Changes in v2: - Call __might_sleep() directly instead of might_sleep() which may call cond_resched() - Turn cond_resched() into a macro so that the file:line couple reported refers to the caller of cond_resched() and not __cond_resched() itself. Changes in v3: - Also propagate this __might_sleep() pull up to cond_resched_lock() and cond_resched_softirq() Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-6-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 6f80bd985fe242c2e6a8b6209ed20b0495d3d63b Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Remove the CONFIG_PREEMPT_BKL case definition of cond_resched() CONFIG_PREEMPT_BKL doesn't exist anymore. So remove this config-on case definition of cond_resched(). Reported-by: Peter Zijlstra Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-5-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e4aafea2d4bde8b44d6500c4ee7195bbfc51269e Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Add a preempt count base offset to __might_sleep() Add a preempt count base offset to compare against the current preempt level count. It prepares to pull up the might_sleep check from cond_resched() to cond_resched_lock() and cond_resched_bh(). For these two helpers, we need to respectively ensure that once we'll unlock the given spinlock / reenable local softirqs, we will reach a sleepable state. Signed-off-by: Frederic Weisbecker [ Move and rename preempt_count_equals() ] Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e09758fae8ccde97e026c704319eaa18d488dc86 Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Cover the CONFIG_DEBUG_SPINLOCK_SLEEP off-case for __might_sleep() Cover the off case for __might_sleep(), so that we avoid #ifdefs in files that make use of it. Especially, this prepares for the __might_sleep() pull up on cond_resched(). Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 4b2155678d7cc7b5f45d6b36049091376c3408a2 Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Remove obsolete comment in __cond_resched() Remove the outdated comment from __cond_resched() related to the now removed Big Kernel Semaphore. Reported-by: Arnd Bergmann Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e7aaaa6934636d7a6cadd9e2a05250fbb6a34f65 Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Drop the need_resched() loop from cond_resched() The schedule() function is a loop that reschedules the current task while the TIF_NEED_RESCHED flag is set: void schedule(void) { need_resched: /* schedule code */ if (need_resched()) goto need_resched; } And cond_resched() repeat this loop: do { add_preempt_count(PREEMPT_ACTIVE); schedule(); sub_preempt_count(PREEMPT_ACTIVE); } while(need_resched()); This loop is needless because schedule() already did the check and nothing can set TIF_NEED_RESCHED between schedule() exit and the loop check in need_resched(). Then remove this needless loop. Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 5304d5fc74a269cc6c3e70f9713684ca729abdf0 Merge: 54d35f2 78af08d Author: Ingo Molnar Date: Sat Jul 18 15:50:22 2009 +0200 Merge branch 'linus' into sched/core Merge reason: branch had an old upstream base (-rc1-ish), but also merge to avoid a conflict. Signed-off-by: Ingo Molnar commit d34a4debef933061924ee17c2ede33f5c44925fb Author: jolsa@redhat.com Date: Thu Jul 16 21:44:28 2009 +0200 tracing: Remove .globl in the scripts/recordmcount.pl doc I was reading throught the recordmcount.pl starting comment, and spotted a tiny discrepancy. The second example is about my_func not being global, but the example code has the ".globl my_func" statement just moved. Signed-off-by: Jiri Olsa Cc: rostedt@goodmis.org LKML-Reference: <1247773468-11594-4-git-send-email-jolsa@redhat.com> Signed-off-by: Ingo Molnar commit 566b0aaf798a0dddfc455d1a5b05c424c6686c65 Author: jolsa@redhat.com Date: Thu Jul 16 21:44:26 2009 +0200 tracing: Remove unused fields/variables Signed-off-by: Jiri Olsa Cc: rostedt@goodmis.org LKML-Reference: <1247773468-11594-2-git-send-email-jolsa@redhat.com> Signed-off-by: Ingo Molnar commit 45bceffc3013bda7d2ebc7802e9b153b674e2d44 Merge: 6f2f3cf 78af08d Author: Ingo Molnar Date: Sat Jul 18 12:19:57 2009 +0200 Merge branch 'linus' into tracing/core Merge reason: tracing/core was on an older, pre-rc1 base. Signed-off-by: Ingo Molnar commit bca146578c863a1f37cb191995317e855a0364e1 Author: Mark Brown Date: Sat Jul 18 11:09:42 2009 +0100 ASoC: Fix checkpatch issues in AD1938 Signed-off-by: Mark Brown commit 0c11f655553c84bb695fdd5ea8b19d42b41b7133 Author: Mark Brown Date: Fri Jul 17 22:13:01 2009 +0100 ASoC: Fix FLL reference clock division setup in WM8993 Signed-off-by: Mark Brown commit 8aa2df53088f024b13cb005956bd6da94cc1fd2d Author: Mark Brown Date: Fri Jul 17 21:53:49 2009 +0100 ASoC: Bodge around GCC 4.4.0 flow analysis bug in GCC 4.4.0 GCC 4.4.0 doesn't appear to be able to spot that we don't apply any FLL configuration if the output frequency is zero. Signed-off-by: Mark Brown commit 37cf2b8d1622897cf57e70cdab9eba57feb5ff6c Author: Mike Frysinger Date: Fri Jul 17 10:14:26 2009 -0700 connector: get test code working by default The connector test code currently does not work out of the box. This is because it uses a connector id that is above the registered limit. So rather than force people to stumble through undocumented code wondering why it isn't working, have the test code use one of the "private" ids by default. While I'm in here, clean up the code (kernel and user app) so that it's a bit more user friendly and verbose in significant things that it does. Terse test code wastes people time as they simply enumerate it with all the same kind of debug messages to get a better feel of what code is running at any time. Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit 41144ca3dda6d55b10c46d5b7d86502ccffa1c97 Author: Mike Frysinger Date: Fri Jul 17 10:13:58 2009 -0700 connector: clean up grammar/style in documentation The grammar in most of this file is slightly off, and some sections are hard to read due to lack of visual clues breaking up related material. Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit 0741241c6b80bfd58417e95de984d60c9e9ef2a0 Author: Mike Frysinger Date: Fri Jul 17 10:13:21 2009 -0700 connector: make callback argument type explicit The connector documentation states that the argument to the callback function is always a pointer to a struct cn_msg, but rather than encode it in the API itself, it uses a void pointer everywhere. This doesn't make much sense to encode the pointer in documentation as it prevents proper C type checking from occurring and can easily allow people to use the wrong pointer type. So convert the argument type to an explicit struct cn_msg pointer. Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit e36aa25a533962b08402530e8443ac804a454e27 Author: Sridhar Samudrala Date: Tue Jul 14 14:21:04 2009 +0000 tun: Allow tap device to send/receive UFO packets. - Allow setting UFO on tap device and handle UFO packets. Signed-off-by: Sridhar Samudrala --------------------------------------------------------- Signed-off-by: David S. Miller commit 5c5167515d80f78f6bb538492c423adcae31ad65 Author: Sridhar Samudrala Date: Tue Jul 14 14:21:02 2009 +0000 virtio-net: Allow UFO feature to be set and advertised. - Allow setting UFO on virtio-net and advertise to host. Signed-off-by: Sridhar Samudrala Acked-by: Rusty Russell Signed-off-by: David S. Miller commit bbf50e4df11ea5b9d2f625be2a1cea3ec0352890 Author: Peter P Waskiewicz Jr Date: Thu Jul 16 15:51:11 2009 +0000 ixgbe: Bump version number Keep the version number marching along as updates come in. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3845bec0f33f7c2604ba985f6f80983d0c139d46 Author: Peter P Waskiewicz Jr Date: Thu Jul 16 15:50:52 2009 +0000 ixgbe: Add device support for a new copper 82598 device This adds support for a new copper device for 82598, device id 0x150b. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 078788b6a68828c1caf395b48110535e051cd623 Author: Peter P Waskiewicz Jr Date: Thu Jul 16 15:50:32 2009 +0000 ixgbe: Make sure boolean assignments from bitwise operations done correctly When the link comes up, the driver detects which flow control settings are active. This is done using bitwise operations directly from the hardware registers, and assumes the proper boolean assignment. Make this an explicit boolean value before assignment to the bool. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f4ec443b2b27ecb401eee35a7bea330438556c7e Author: Peter P Waskiewicz Jr Date: Thu Jul 16 15:50:12 2009 +0000 ixgbe: Remove legacy descriptor support The ethtool offline test is the only consumer of the legacy descriptors. Update that path to only use advanced descriptors, and remove all support for legacy descriptors. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c482c568577a2b31716e1019f2868bda7cf5629c Author: Eric Dumazet Date: Fri Jul 17 00:26:32 2009 +0000 udp: cleanups Pure style cleanups. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 652f6787c082a174f0bbfa7f895b65b03d8d46c9 Author: Wolfgang Denk Date: Fri Jul 17 02:27:07 2009 +0000 fs_enet/mii-fec.c: fix MII speed calculation The MII speed calculation was based on the CPU clock (ppc_proc_freq), but for MPC512x we must use the bus clock instead. This patch makes it use the correct clock and makes sure we don't clobber reserved bits in the MII_SPEED register. Signed-off-by: Wolfgang Denk Cc: Grant Likely Cc: Kumar Gala Cc: Acked-by: Grant Likely Signed-off-by: David S. Miller commit 3f3b7c1aed70fa25c6811f830c5fb1a7054681ae Author: Takashi Iwai Date: Fri Jul 17 14:36:59 2009 +0200 ALSA: hda - Fix ALC268 parser for mono speaker - Parse the mono output pin 0x16 correctly even as the primary output - Create "Speaker" volume control if the primary output is a speaker - Fix the wrong direction of (optional) "Mono" switch Signed-off-by: Takashi Iwai commit 82e1b804b03defe46fb69ffd2c8b19e6649bcb0d Author: Takashi Iwai Date: Fri Jul 17 12:47:34 2009 +0200 ALSA: hda - Fix the previous sanity check in make_codec_cmd() The newly added sanity-check for a codec verb can be better written with logical ORs. Also, the parameter can be more than 8bit. Signed-off-by: Takashi Iwai commit c5910a703889cf44ac1aa9405642a7d3b5bc6f24 Author: Candelaria Villareal, Jorge Date: Tue Jul 14 20:04:08 2009 -0500 ASoC: SDP3430: Add support for EXTMUTE using TWL GPIO6 Board sdp3430 has hardware support for EXTMUTE using TWL4030 GPIO6 line, controlled by register INTBR_PMBR1. Machine driver takes care of enabling gpio line through i2c and codec driver manipulates the line during headset ramp up/down sequence. Signed-off-by: Jorge Eduardo Candelaria Signed-off-by: Mark Brown commit 6430aeeb30b478d4ef25f988b1fde6f6ae83adb5 Author: Wu Fengguang Date: Fri Jul 17 16:49:19 2009 +0800 ALSA: hda - add bounds checking for the codec command fields A recent bug involves passing auto detected >0x7f NID to codec command, creating an invalid codec addr field, and finally lead to cmd timeout and fall back into single command mode. Jaroslav fixed that bug in alc880_parse_auto_config(). It would be safer to further check the bounds of all cmd fields. Cc: Jaroslav Kysela Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 9176b672c29baaa94cdff4eedf1350a3b553d9ea Author: Andiry Brienza Date: Fri Jul 17 11:32:32 2009 +0800 ALSA: hda - Add support for new AMD HD audio devices Add support for new AMD HD audio devices. Use generic driver to detect HD audio devices with Vendor ID AMD. Signed-off-by: Andiry Xu Signed-off-by: Takashi Iwai commit 416c8fe3cdcd2d46a6ca12d8ec6143c62d8569d9 Author: Takashi Iwai Date: Fri Jul 17 07:48:03 2009 +0200 ASoC: Kill direct accesses to driver_data Replaced with dev_{get|set}_drvdata(). Signed-off-by: Takashi Iwai commit 6f2f3cf00ee32f75ba007a46bab88a54d68a5deb Author: Xiao Guangrong Date: Thu Jul 16 14:21:08 2009 +0800 tracing/function: Cleanup for function tracer We can directly use %pf input format instead of kallsyms_lookup() and %s input format Signed-off-by: Xiao Guangrong Reviewed-by: Li Zefan Signed-off-by: Frederic Weisbecker commit 79173bf556417a737e9d2e096e0788452ec30a61 Author: Xiao Guangrong Date: Thu Jul 16 14:17:11 2009 +0800 tracing/trace_stack: Cleanup for trace_lookup_stack() We can directly use %pF input format instead of sprint_symbol() and %s input format. Signed-off-by: Xiao Guangrong Reviewed-by: Li Zefan Signed-off-by: Frederic Weisbecker commit 64fbcd162819bddaf0d99e78b16371b655aa5dee Author: Xiao Guangrong Date: Wed Jul 15 12:32:15 2009 +0800 tracing/function: Simplify __ftrace_replace_code() Rewrite the __ftrace_replace_code() function, simplify it, but don't change the code's logic. First, we get the state we want to set, if the record has the same state, then do nothing, otherwise enable/disable it. Signed-off-by: Xiao Guangrong Reviewed-by: Li Zefan Signed-off-by: Frederic Weisbecker commit da8120355e80ddaf534adb8ed910871d97512d56 Merge: c86ae82 7fefe6a Author: David S. Miller Date: Thu Jul 16 20:21:24 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/orinoco/main.c commit 967cc5371113f9806b39a2ebb2174af2883d96fe Author: Oleg Nesterov Date: Thu Jul 9 23:28:49 2009 +0200 kernel: is_current_single_threaded: don't use ->mmap_sem is_current_single_threaded() can safely miss a freshly forked CLONE_VM task, but in this case it must not miss its parent. That is why we take mm->mmap_sem for writing to make sure a thread/task with the same ->mm can't pass exit_mm() and disappear. However we can avoid ->mmap_sem and rely on rcu/barriers: - if we do not see the exiting parent on thread/process list we see the result of list_del_rcu(), in this case we must also see the result of list_add_rcu() which does wmb(). - if we do see the parent but its ->mm == NULL, we need rmb() to make sure we can't miss the child. Signed-off-by: Oleg Nesterov Acked-by: David Howells Signed-off-by: James Morris commit 5bb459bb45d1ad3c177485dcf0af01580aa31125 Author: Oleg Nesterov Date: Fri Jul 10 03:48:23 2009 +0200 kernel: rename is_single_threaded(task) to current_is_single_threaded(void) - is_single_threaded(task) is not safe unless task == current, we can't use task->signal or task->mm. - it doesn't make sense unless task == current, the task can fork right after the check. Rename it to current_is_single_threaded() and kill the argument. Signed-off-by: Oleg Nesterov Acked-by: David Howells Signed-off-by: James Morris commit d2e3ee9b29f5de5b01e611b04e6fb29760589b01 Author: Oleg Nesterov Date: Fri Jul 17 09:09:36 2009 +1000 kernel: fix is_single_threaded - Fix the comment, is_single_threaded(p) actually means that nobody shares ->mm with p. I think this helper should be renamed, and it should not have arguments. With or without this patch it must not be used unless p == current, otherwise we can't safely use p->signal or p->mm. - "if (atomic_read(&p->signal->count) != 1)" is not right when we have a zombie group leader, use signal->live instead. - Add PF_KTHREAD check to skip kernel threads which may borrow p->mm, otherwise we can return the wrong "false". - Use for_each_process() instead of do_each_thread(), all threads must use the same ->mm. - Use down_write(mm->mmap_sem) + rcu_read_lock() instead of tasklist_lock to iterate over the process list. If there is another CLONE_VM process it can't pass exit_mm() which takes the same mm->mmap_sem. We can miss a freshly forked CLONE_VM task, but this doesn't matter because we must see its parent and return false. Signed-off-by: Oleg Nesterov Cc: David Howells Cc: James Morris Cc: Roland McGrath Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: James Morris commit da706d8bc833e7153622435560422e653bdb2e94 Author: Lai Jiangshan Date: Wed Jul 15 16:27:30 2009 +0800 ring_buffer: Fix warning while ignoring cmpxchg return value kernel/trace/ring_buffer.c: In function 'rb_tail_page_update': kernel/trace/ring_buffer.c:849: warning: value computed is not used kernel/trace/ring_buffer.c:850: warning: value computed is not used Add "(void)"s to fix this warning, because we don't need here to handle the fail case of cmpxchg, it's fine if an interrupt already did the job. Changed from V1: Add a comment(which is written by Steven) for it. Signed-off-by: Lai Jiangshan Acked-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 713c0ecdb888e9ef6f085e828555455c5916b07f Author: Sten Spans Date: Thu Jul 16 09:41:39 2009 +0200 security: fix security_file_lock cmd argument Pass posix-translated lock operations to security_file_lock when invoked via sys_flock. Signed-off-by: Sten Spans Signed-off-by: James Morris commit 0fb67e982a1749b2cd477709838bf866028970ce Author: Daniel Drake Date: Thu Jul 16 14:46:57 2009 +0100 ALSA: hda - Add CX20582 and OLPC XO-1.5 support This adds support for the Conexant CX20582 codec, based on code from http://www.linuxant.com/alsa-driver/alsa-driver-linuxant-1.0.19ppch12-1.noarch.rpm.zip This is the codec to be shipped in the OLPC XO-1.5, so this patch also includes an XO-specific profile. Resultant configuration: http://dev.laptop.org/~dsd/20090713/codec0.txt http://dev.laptop.org/~dsd/20090713/codec0.svg As the Linuxant code is structured differently to the other codecs, I was unable to cleanly reimplement everything in the generic and Dell profiles as more info is needed (e.g. codec graphs). I simplified those profiles so that hopefully it will not break anyone's audio. If it does, it may be worth returning -ENODEV from patch_cx5066 on non-OLPC systems, and then fixing snd_hda_codec_configure() to fall back on the generic parser, at least until support for other systems is figured out. Signed-off-by: Daniel Drake Signed-off-by: Takashi Iwai commit 2a549c364aa11e658ae14b71861d25474e5808cf Author: Sachin Sant Date: Thu Jul 16 19:58:42 2009 +0800 crypto: s390 - Fix sha build failure Use struct s390_sha_ctx instead of sha1/sha256_state struct to fix s390 crypto build break. Signed-off-by: Sachin Sant Signed-off-by: Herbert Xu commit 1274738d85d0e25c4f82d83f50a6bcbe2397e9ea Author: Barry Song <21cnbao@gmail.com> Date: Thu Jul 16 16:00:05 2009 +0800 ASoC: new ad1938 codec driver based on asoc Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 3e46a447396df99e2367fe1564651abaacc19c13 Author: Kevin Hilman Date: Wed Jul 15 10:42:09 2009 -0700 ASoC: davinci: don't use clock names clock name strings are no longer passed on platform_data. Instead, we rely entirely on struct device and clkdev to find the right clock. Signed-off-by: Kevin Hilman Signed-off-by: Mark Brown commit e9b25f16cda88b33fe15b30c009912e6c471edda Author: Herbert Xu Date: Thu Jul 16 10:33:27 2009 +0800 crypto: padlock - Fix hashing of partial blocks When we encounter partial blocks in finup, we'll invoke the xsha instruction with a bogus count that is not a multiple of the block size. This patch fixes it. Signed-off-by: Herbert Xu commit c86ae82605ef92594a0de809a8c588ae955fed63 Author: Johannes Berg Date: Wed Jul 15 11:31:10 2009 -0700 gianfar: remove unused DECLARE_MAC_BUF The use of it was converted to %pM, but the variable stuck -- remove it now to not cause spurious warnings. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 9db9ed977d4f1a317f5f4d467d43025fa27223d8 Author: Joonyoung Shim Date: Wed Jul 15 20:34:00 2009 +0900 ASoC: MAX9877: add MAX9877 amp driver The MAX9877 combines a high-efficiency Class D audio power amplifier with a stereo Class AB capacitor-less DirectDrive headphone amplifier. The max9877_add_controls() is called to register the MAX9877 specific controls on machine specific init() of the machine driver. The datasheet for the MAX9877 can find at the following url: http://datasheets.maxim-ic.com/en/ds/MAX9877.pdf [Slight edit to sort the ALL_CODECS entries -- broonie.] Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit 3ce91d5a5a47eca6308c0a64f768c7a4466e0407 Author: Joonyoung Shim Date: Wed Jul 15 20:33:50 2009 +0900 ASoC: add SOC_DOUBLE_R_EXT_TLV control type This is a macro for double controls with special callback function and TLV. The SOC_DOUBLE_R_EXT_TLV needs two registers and one shift for double controls. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit d0af93db12639c425adee795fabadedb52182346 Author: Joonyoung Shim Date: Wed Jul 15 20:33:47 2009 +0900 ASoC: add SOC_DOUBLE_EXT_TLV control type This is a macro for double controls with special callback function and TLV. The SOC_DOUBLE_EXT_TLV needs one register and two shifts for double controls. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit 1dacc76d0014a034b8aca14237c127d7c19d7726 Author: Johannes Berg Date: Wed Jul 1 11:26:02 2009 +0000 net/compat/wext: send different messages to compat tasks Wireless extensions have the unfortunate problem that events are multicast netlink messages, and are not independent of pointer size. Thus, currently 32-bit tasks on 64-bit platforms cannot properly receive events and fail with all kinds of strange problems, for instance wpa_supplicant never notices disassociations, due to the way the 64-bit event looks (to a 32-bit process), the fact that the address is all zeroes is lost, it thinks instead it is 00:00:00:00:01:00. The same problem existed with the ioctls, until David Miller fixed those some time ago in an heroic effort. A different problem caused by this is that we cannot send the ASSOCREQIE/ASSOCRESPIE events because sending them causes a 32-bit wpa_supplicant on a 64-bit system to overwrite its internal information, which is worse than it not getting the information at all -- so we currently resort to sending a custom string event that it then parses. This, however, has a severe size limitation we are frequently hitting with modern access points; this limitation would can be lifted after this patch by sending the correct binary, not custom, event. A similar problem apparently happens for some other netlink users on x86_64 with 32-bit tasks due to the alignment for 64-bit quantities. In order to fix these problems, I have implemented a way to send compat messages to tasks. When sending an event, we send the non-compat event data together with a compat event data in skb_shinfo(main_skb)->frag_list. Then, when the event is read from the socket, the netlink code makes sure to pass out only the skb that is compatible with the task. This approach was suggested by David Miller, my original approach required always sending two skbs but that had various small problems. To determine whether compat is needed or not, I have used the MSG_CMSG_COMPAT flag, and adjusted the call path for recv and recvfrom to include it, even if those calls do not have a cmsg parameter. I have not solved one small part of the problem, and I don't think it is necessary to: if a 32-bit application uses read() rather than any form of recvmsg() it will still get the wrong (64-bit) event. However, neither do applications actually do this, nor would it be a regression. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 4f45b2cd4e78b5e49d7d41548345b879d3fdfeae Author: Johannes Berg Date: Wed Jun 24 01:34:49 2009 +0000 wext: optimise, comment and fix event sending The current function for sending events first allocates the event stream buffer, and then an skb to copy the event stream into. This can be done in one go. Also, the current function leaks kernel data to userspace in a 4 uninitialised bytes, initialise those explicitly. Finally also add a few useful comments, as opposed to the current comments. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit b333b3d22822cf9b295990866798e9239c9dee72 Author: Johannes Berg Date: Wed Jun 24 01:34:48 2009 +0000 wireless extensions: make netns aware This makes wireless extensions netns aware. The tasklet sending the events is converted to a work struct so that we can rtnl_lock() in it. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit cbc86b9161b40f95caee0e56381b68956fc28cc4 Author: Herbert Xu Date: Wed Jul 15 21:26:41 2009 +0800 crypto: shash - Fix async finup handling of null digest When shash_ahash_finup encounters a null request, we end up not calling the underlying final function. This patch fixes that. Signed-off-by: Herbert Xu commit fa64966473830219fe74952029ddb0e981a87749 Author: Herbert Xu Date: Wed Jul 15 21:16:05 2009 +0800 crypto: shash - Fix digest size offset When an shash algorithm is exported as ahash, ahash will access its digest size through hash_alg_common. That's why the shash layout needs to match hash_alg_common. This wasn't the case because the alignment weren't identical. This patch fixes the problem. Signed-off-by: Herbert Xu commit a70c522520d967844c01fa01459edc698fc54544 Author: Herbert Xu Date: Wed Jul 15 20:39:05 2009 +0800 crypto: ahash - Fix setkey crash When the alignment check was made unconditional for ahash we may end up crashing on shash algorithms because we're always calling alg->setkey instead of tfm->setkey. This patch fixes it. Signed-off-by: Herbert Xu commit faae890883624e14a328863eafabf54a36698774 Author: Herbert Xu Date: Wed Jul 15 18:37:48 2009 +0800 crypto: padlock - Fix compile error on i386 The previous change to allow hashing from states other than the initial broke compilation on i386 because the inline assembly tried to squeeze a u64 into a 32-bit register. As we've already checked for 32-bit overflows we can simply truncate it to u32, or unsigned long so that we don't truncate at all on x86-64. Signed-off-by: Herbert Xu commit 4b75e9476737dffef44a66818a4a481edd2512a1 Author: Mark Brown Date: Wed Jul 15 10:36:51 2009 +0100 ASoC: Error out if we can't determine a suitable WM9081 sysclk Due to the flexibility of the WM9081 FLL this should never happen in a real system. Reported-by: Jaswinder Singh Rajput Signed-off-by: Mark Brown commit 78df617acf83745908ae71f322e084284054ea66 Author: Andreas Mohr Date: Sun Jul 12 22:17:54 2009 +0200 ALSA: azt3328: fix previous breakage, improve suspend, cleanups - fix my previous codec activity breakage (_non-warned_ variable assignment issue) - convert suspend/resume to 32bit I/O access (I/O is painful; to improve suspend/resume performance) - change DEBUG_PLAY_REC to DEBUG_CODEC for consistency - printk cleanup - some logging improvements - minor cleanup/improvements The variable assignment issue above was a conditional assignment to the call_function variable (this ended with the non-preinitialized variable not getting assigned in some cases, thus a dangling stack value, yet gcc 4.3.3 unbelievably did _NOT_ warn about it in this case!!), needed to change this into _always_ assigning the check result. Practical result of this bug was that when shutting down _either_ playback or capture, _both_ streams dropped dead :P Tested, working (plus resume) and checkpatch.pl:ed on 2.6.30-rc5, applies cleanly to 2.6.30 proper with my previous (committed) patches applied. Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai commit 2d4b842014dc76a81abced47ef27177eedb9deba Author: Clemens Ladisch Date: Mon Jul 13 13:52:46 2009 +0200 sound: rawmidi: disable active-sensing-on-close by default Sending an Active Sensing message when closing a port can interfere with the following data if the port is reopened and a note-on is sent before the device's timeout has elapsed. Therefore, it is better to disable this setting by default. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 08d033405a5a537d4197dad0fcb6be47062be2a9 Author: Clemens Ladisch Date: Mon Jul 13 13:50:57 2009 +0200 sound: seq_oss_midi: remove magic numbers Instead of using magic numbers for the controlles sent when resetting a port, use the symbols from asoundef.h. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit b86c87288c2205376ee213d6a03ac9422faf014a Author: Clemens Ladisch Date: Mon Jul 13 13:50:17 2009 +0200 sound: seq_midi: do not send MIDI reset when closing Sending a MIDI reset message when closing a port is wrong because we only want to shut the device up, not to reset all settings. Furthermore, many devices ignore this message. Fortunately, the RawMIDI layer already shuts the device up, so we can ignore this matter here. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit a65dd997b3cf057f6524466cf8dfb8382c132bd5 Author: Clemens Ladisch Date: Mon Jul 13 13:48:36 2009 +0200 sound: usb-audio: add MIDI drain callback When draining, instead of waiting for fifty milliseconds, just wait for the currently active URBs to complete. This cuts the usual waiting time down to one USB frame, or zero in the common case when there is no URB. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit ed4affa53229701be7be4f7f84ba84164135d7e8 Author: Clemens Ladisch Date: Mon Jul 13 13:43:59 2009 +0200 sound: usb-audio: use multiple output URBs Some newer USB MIDI interfaces use rather small packet sizes, so to get enough bandwidth, we have to be able to send multiple packets in one USB frame, so we have to use multiple URBs. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 4773d1fb8f37612336d2c929058bf96d3a1624b1 Author: Clemens Ladisch Date: Mon Jul 13 13:40:36 2009 +0200 sound: usb-audio: use multiple input URBs Some newer USB MIDI interfaces use rather small packet sizes, so to get enough bandwidth, we have to be able to receive multiple packets in one USB frame, so we have to use multiple URBs. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit f907ed94f993b0cd366c26eaa88b90c5454203ae Author: Clemens Ladisch Date: Mon Jul 13 13:30:22 2009 +0200 seq-midi: always log message on output overrun It turns out that the main cause of output buffer overruns is not slow drivers but applications that generate too many messages. Therefore, it makes more sense to make that error message always visible, and to rate-limit it. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 468b8fde24d49f5b34e9152981824b9d4ecd1a2e Author: Clemens Ladisch Date: Mon Jul 13 11:39:29 2009 +0200 sound: usb-audio: Xonar U1 digital output support Add support for the Asus Xonar U1. This device is mostly class compliant, but the digital output requires a vendor-specific request. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit e465d544fab81aa122f86a50418f4be7f1fcf066 Author: Mark Brown Date: Wed Jul 15 10:01:30 2009 +0100 ASoC: Fix sample rate lookup in WM8993 We need to use the best value we picked, not the last value we looked at. Reported-by: Stephen Rothwell Signed-off-by: Mark Brown commit b5ebd44eb7559ea6135d536bafd02323d2ef0547 Author: Herbert Xu Date: Wed Jul 15 16:53:33 2009 +0800 crypto: xcbc - Fix incorrect error value when creating instance If shash_alloc_instance() fails, we return the wrong error value. This patch fixes it. Signed-off-by: Herbert Xu commit 3b3fc322d9c92e8bbfcecf739f1a3d10ded7f2cd Author: Herbert Xu Date: Wed Jul 15 16:52:55 2009 +0800 crypto: hmac - Fix incorrect error value when creating instance If shash_alloc_instance() fails, we return the wrong error value. This patch fixes it. Signed-off-by: Herbert Xu commit 05ed8758fa30e088766905d0d600aa393e144353 Author: Steffen Klassert Date: Wed Jul 15 16:51:04 2009 +0800 crypto: cryptd - Fix uninitialized return value If cryptd_alloc_instance() fails, the return value is uninitialized. This patch fixes this by setting the return value. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 305f9db22d62da10c43c7fd7554ec923c2b8727e Author: Herbert Xu Date: Wed Jul 15 15:11:08 2009 +0800 crypto: crypto4xx - Disable SHA implementation The crypto4xx SHA implementation keeps the hash state in the tfm data structure. This breaks a fundamental requirement of ahash implementations that they must be reentrant. This patch disables the broken implementation. Signed-off-by: Herbert Xu commit 66f6ce5e52f2f209d5bf1f06167cec888f4f4c13 Author: Herbert Xu Date: Wed Jul 15 12:40:40 2009 +0800 crypto: ahash - Add unaligned handling and default operations This patch exports the finup operation where available and adds a default finup operation for ahash. The operations final, finup and digest also will now deal with unaligned result pointers by copying it. Finally export/import operations are will now be exported too. Signed-off-by: Herbert Xu commit e25371d60cb06a44d7a32d7966ab9bfbeacb9390 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:49:01 2009 -0700 x86/ioapic.c: unify ioapic_retrigger_irq() The 32 and 64-bit versions of ioapic_retrigger_irq() are identical except the 64-bit one takes vector_lock. vector_lock is defined and used on 32-bit too, so just use a common ioapic_retrigger_irq(). Signed-off-by: Jeremy Fitzhardinge commit 638f2f8c52a92c15ebda9e50d84c1ab56fc42e42 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:37:52 2009 -0700 x86/ioapic.c: convert __target_IO_APIC_irq to conventional for() loop Use a normal for() loop in __target_IO_APIC_irq(). Signed-off-by: Jeremy Fitzhardinge commit 4eea6fff612f54380dd642b045bf03ac0613fe3e Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:32:15 2009 -0700 x86/ioapic.c: clean up replace_pin_at_irq_node logic and comments There's no need for a control variable in replace_pin_at_irq_node(); it can just return if it finds the old apic/pin to replace. If the loop terminates, then it didn't find the old apic/pin, so it can add the new ones. Signed-off-by: Jeremy Fitzhardinge commit 535b64291a9d1ff8bc54642494a5fce27e1e1170 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:29:26 2009 -0700 x86/ioapic.c: convert replace_pin_at_irq_node to conventional for() loop Use a conventional for() loop in replace_pin_at_irq_node(). Signed-off-by: Jeremy Fitzhardinge commit 875e68ec32fc5495f3edf987aaae1c52306184b7 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:24:11 2009 -0700 x86/ioapic.c: simplify add_pin_to_irq_node() Rather than duplicating the same alloc/init code twice, restructure the function to look for duplicates and then add an entry if none is found. This function is not performance critical; all but one of its callers are __init functions, and the non-__init caller is for PCI device setup. Signed-off-by: Jeremy Fitzhardinge commit d8c52063ed85dda61b70bc05b90711478db5dc17 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:17:58 2009 -0700 x86/ioapic.c: convert io_apic_level_ack_pending loop to normal for() loop Convert the unconventional loop in io_apic_level_ack_pending() to a conventional for() loop. Signed-off-by: Jeremy Fitzhardinge commit 8e13d697febc1ba17e70ed88789255c8bc25aa41 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:14:59 2009 -0700 x86/ioapic.c: move lost comment to what seems like appropriate place The comment got separated from its subject, so move it to what appears to be the right place, and update to describe the current structure. Signed-off-by: Jeremy Fitzhardinge commit 83c21bedf63ce92a2dd82ae2c7a96179b0aa4372 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:13:04 2009 -0700 x86/ioapic.c: remove redundant declaration of irq_pin_list The structure is defined immediately below, so there's no need to forward declare it. Signed-off-by: Jeremy Fitzhardinge commit 916a0fe739f151664f7f07b42543ae6fd4caec49 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:00:22 2009 -0700 x86/ioapic.c: remove #ifdef for 82093AA workaround While no 64-bit hardware will have a version 0x11 I/O APIC which needs the level/edge bug workaround, that's not a particular reason to use CONFIG_X86_32 to #ifdef the code out. Most 32-bit machines will no longer need the workaround either, so the test to see whether it is necessary should be more fine-grained than "32-bit=yes, 64-bit=no". (Also fix formatting of block comment.) Signed-off-by: Jeremy Fitzhardinge commit 890aeacf64c55a7ada7054a140d249ab13899f2d Author: Jeremy Fitzhardinge Date: Mon Jun 8 02:57:43 2009 -0700 x86/ioapic.c: unify __mask_IO_APIC_irq() The main difference between 32 and 64-bit __mask_IO_APIC_irq() does a readback from the I/O APIC to synchronize it. If there's a hardware requirement to do a readback sync after updating an APIC register, then it will be a hardware requrement regardless of whether the kernel is compiled 32 or 64-bit. Unify __mask_IO_APIC_irq() using the 64-bit version which always syncs with io_apic_sync(). Signed-off-by: Jeremy Fitzhardinge commit 2f210deba9887dd9143b63b217506f1ac152e91c Author: Jeremy Fitzhardinge Date: Mon Jun 8 02:55:22 2009 -0700 x86/ioapic.c: ioapic_modify_irq is too large to inline If ioapic_modify_irq() is marked inline, it gets inlined several times. Un-inlining it saves around 200 bytes in .text for me. Signed-off-by: Jeremy Fitzhardinge commit 6b2b171a774af256082635b53ac387b1613b7b4c Author: Jeremy Fitzhardinge Date: Mon Jun 8 02:53:50 2009 -0700 x86/acpi: acpi_parse_madt_ioapic_entries: remove redundant braces We don't put braces around a single statement. Signed-off-by: Jeremy Fitzhardinge commit 82d76f4d9fbf7d951d63e7056fd9911ada507bd1 Author: Cliff Cai Date: Tue Jul 14 10:01:40 2009 -0400 ASoC: Blackfin I2S: fix resume handling There is no need to manually start playback/capture ourselves as the PCM driver will handle things for us. Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 18d02bc32c0b35726b2a6a3699a0c44e5e8f6c94 Author: Cliff Cai Date: Tue Jul 14 10:01:39 2009 -0400 ASoC: Blackfin AC97: fix resume handling There is no need to manually start playback/capture ourselves as the PCM driver will handle things for us. Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 6e63ea4b0b14ff5fb8a3ca704fcda7d28b95f079 Author: Robert Richter Date: Tue Jul 7 19:25:39 2009 +0200 x86/oprofile: Whitespaces changes only This patch fixes whitespace changes of code that will be touched in follow-on patches. Signed-off-by: Robert Richter commit 44ab9a6b0e909145d42615493952fe986b1ce5c2 Author: Robert Richter Date: Thu Jul 9 18:33:02 2009 +0200 x86/oprofile: Rework and simplify nmi_cpu_setup() This patch removes the function nmi_save_registers(). Per-cpu code is now executed only in the function nmi_cpu_setup(). Also, it renames the per-cpu function nmi_restore_registers() to nmi_cpu_restore_registers(). Signed-off-by: Robert Richter commit 093900c2b964da73daf234374225b5ce5d49f941 Author: Herbert Xu Date: Tue Jul 14 21:48:35 2009 +0800 crypto: ahash - Use GFP_KERNEL in unaligned setkey We currently use GFP_ATOMIC in the unaligned setkey function to allocate the temporary aligned buffer. Since setkey must be called in a sleepable context, we can use GFP_KERNEL instead. Signed-off-by: Herbert Xu commit 0e2d3a126338ebb213c8e32d8d1d8936d8e62d43 Author: Herbert Xu Date: Tue Jul 14 21:43:56 2009 +0800 crypto: shash - Fix alignment in unaligned operations When we encounter an unaligned pointer we are supposed to copy it to a temporary aligned location. However the temporary buffer isn't aligned properly. This patch fixes that. Signed-off-by: Herbert Xu commit 8c32c516eb1c1f9c14d25478442137c698788975 Author: Herbert Xu Date: Tue Jul 14 21:35:36 2009 +0800 crypto: hash - Zap unaligned buffers Some unaligned buffers on the stack weren't zapped properly which may cause secret data to be leaked. This patch fixes them by doing a zero memset. It is also possible for us to place random kernel stack contents in the digest buffer if a digest operation fails. This is fixed by only copying if the operation succeeded. Signed-off-by: Herbert Xu commit 8045a4c293d36c61656a20d581b11f7f0cd7acd5 Author: Robert Richter Date: Tue Jul 7 19:30:25 2009 +0200 x86/oprofile: Fix cast of counter value When casting the counter value to a 64 bit value in 32 bit mode, sign extension may lead to broken counter values. This patch fixes this by casting to (u64) instead of (s64). Signed-off-by: Robert Richter commit debc6a6927dcd833a30750b07a4c2b456b71f1be Merge: 21e7087 6847e15 4f6e1fe Author: Robert Richter Date: Tue Jul 14 15:20:44 2009 +0200 Merge commit 'v2.6.31-rc3'; commit 'tip/oprofile' into oprofile/core Conflicts: drivers/oprofile/oprofile_stats.c drivers/usb/otg/Kconfig drivers/usb/otg/Makefile Signed-off-by: Robert Richter commit 500b3e3c3dc8e4845b77ae81e5b7b085ab183ce6 Author: Herbert Xu Date: Tue Jul 14 20:29:57 2009 +0800 crypto: ahash - Remove old_ahash_alg Now that all ahash implementations have been converted to the new ahash type, we can remove old_ahash_alg and its associated support. Signed-off-by: Herbert Xu commit 4dc10c0142ce0af8c20ec44dc6928ae63ad4f73a Author: Herbert Xu Date: Tue Jul 14 20:21:46 2009 +0800 crypto: crypto4xx - Switch to new style ahash This patch changes crypto4xx to use the new style ahash type. In particular, we now use ahash_alg to define ahash algorithms instead of crypto_alg. This is achieved by introducing a union that encapsulates the new type and the existing crypto_alg structure. They're told apart through a u32 field containing the type value. Signed-off-by: Herbert Xu commit 0b535adfb102bac1edb046444172b6b77d99bc92 Author: Herbert Xu Date: Tue Jul 14 19:11:32 2009 +0800 crypto: cryptd - Switch to new style ahash This patch changes cryptd to use the new style ahash type. In particular, the instance is enlarged to encapsulate the new ahash_alg structure. Signed-off-by: Herbert Xu commit 9cd899a32f611eb6328014f1d9e0ba31977812d9 Author: Herbert Xu Date: Tue Jul 14 18:45:45 2009 +0800 crypto: cryptd - Switch to template create API This patch changes cryptd to use the template->create function instead of alloc in anticipation for the switch to new style ahash algorithms. Signed-off-by: Herbert Xu commit 52861c7cd711fac97b37ae0f4842a9ad26ecae72 Author: Herbert Xu Date: Tue Jul 14 18:30:24 2009 +0800 crypto: hash - Add helpers to free spawns This patch adds the helpers crypto_drop_ahash and crypto_drop_shash so that these spawns can be dropped without ugly casts. Signed-off-by: Herbert Xu commit 7be380f7201064f704a128b78ac01a62dbd10162 Author: Herbert Xu Date: Tue Jul 14 16:06:54 2009 +0800 crypto: tcrypt - Add mask parameter This patch adds a mask parameter to complement the existing type parameter. This is useful when instantiating algorithms that require a mask other than the default, e.g., ahash algorithms. Signed-off-by: Herbert Xu commit 01c2dece4316dadc0f9fad1ad0b56d493980e492 Author: Herbert Xu Date: Tue Jul 14 14:06:06 2009 +0800 crypto: ahash - Add instance/spawn support This patch adds support for creating ahash instances and using ahash as spawns. Signed-off-by: Herbert Xu commit 88056ec346ccf41f63dbc7080b24b5fd19d1358d Author: Herbert Xu Date: Tue Jul 14 12:28:26 2009 +0800 crypto: ahash - Convert to new style algorithms This patch converts crypto_ahash to the new style. The old ahash algorithm type is retained until the existing ahash implementations are also converted. All ahash users will automatically get the new crypto_ahash type. Signed-off-by: Herbert Xu commit 2ca33da1dea3ba53d1425226a6bac073c5e8568c Author: Herbert Xu Date: Mon Jul 13 20:46:25 2009 +0800 crypto: api - Remove frontend argument from extsize/init_tfm As the extsize and init_tfm functions belong to the frontend the frontend argument is superfluous. Signed-off-by: Herbert Xu commit 6b1679f4a006acb5d76f8df686aa44c63d2555b4 Author: Herbert Xu Date: Sun Jul 12 23:08:28 2009 +0800 crypto: crypto4xx - Use crypto_ahash_set_reqsize This patch makes crypto4xx use crypto_ahash_set_reqsize to avoid accessing crypto_ahash directly. Signed-off-by: Herbert Xu commit 0d6669e2ba60ce5f5d4def6ab453f03567cc738e Author: Herbert Xu Date: Sun Jul 12 23:06:33 2009 +0800 crypto: cryptd - Use crypto_ahash_set_reqsize This patch makes cryptd use crypto_ahash_set_reqsize to avoid accessing crypto_ahash directly. Signed-off-by: Herbert Xu commit fc00127fb67b2a7d2b66f0f4096a5367b581f045 Author: Herbert Xu Date: Sun Jul 12 23:05:48 2009 +0800 crypto: ahash - Add crypto_ahash_set_reqsize This patch adds the helper crypto_ahash_set_reqsize so that implementations do not directly access the crypto_ahash structure. Signed-off-by: Herbert Xu commit 46309d8938122dff2fe59bf163307989cd22ea4a Author: Herbert Xu Date: Sun Jul 12 21:38:59 2009 +0800 crypto: cryptd - Use shash algorithms This patch changes cryptd to use shash algorithms instead of the legacy hash interface. Signed-off-by: Herbert Xu commit 7eddf95ec5440d60f10963f453e27f82f394044e Author: Herbert Xu Date: Sun Jul 12 21:25:20 2009 +0800 crypto: shash - Export async functions This patch exports the async functions so that they can be reused by cryptd when it switches over to using shash. Signed-off-by: Herbert Xu commit 6941c3a0aabb6ad4167827360f384e9daed7dd7f Author: Herbert Xu Date: Sun Jul 12 13:58:04 2009 +0800 crypto: hash - Remove legacy hash/digest implementaion This patch removes the implementation of hash and digest now that no algorithms use them anymore. The interface though will remain until the users are converted across. Signed-off-by: Herbert Xu commit 9ef074fa9b525f7fc7a35d0761f3d4ed01fe8252 Author: Herbert Xu Date: Sun Jul 12 12:50:11 2009 +0800 crypto: authenc - Remove reference to crypto_hash Now that there are no more legacy hash implementations we can remove the reference to crypto_hash. Signed-off-by: Herbert Xu commit 3106caab617c75c9a47706af3a8017318207be2d Author: Herbert Xu Date: Sun Jul 12 12:48:32 2009 +0800 crypto: xcbc - Switch to shash This patch converts the xcbc algorithm to the new shash type. Signed-off-by: Herbert Xu commit 8bd1209cfff246ce6dfae86837467a01236f9cb6 Author: Herbert Xu Date: Thu Jul 9 12:43:37 2009 +0800 crypto: hmac - Switch to shash This patch changes hmac to the new shash interface. Signed-off-by: Herbert Xu commit bbbee4679afd7c29a58087f133ffe241597f3144 Author: Herbert Xu Date: Sat Jul 11 18:16:16 2009 +0800 crypto: padlock - Switch sha to shash This patch converts the padlock-sha implementation to shash. In doing so the existing mechanism of storing the data until final is no longer viable as we do not have a way of allocating data in crypto_shash_init and then reliably freeing it. This is just as well because a better way of handling the problem is to hash everything but the last chunk using normal sha code and then provide the intermediate result to the padlock device. This is good enough because the primary application of padlock-sha is IPsec and there the data is laid out in the form of an hmac header followed by the rest of the packet. In essence we can provide all the data to the padlock as the hmac header only needs to be hashed once. Signed-off-by: Herbert Xu commit 113adefc73c291f93f875fe515a46d8f76252fff Author: Herbert Xu Date: Tue Jul 14 12:50:12 2009 +0800 crypto: shash - Make descsize a run-time attribute This patch changes descsize to a run-time attribute so that implementations can change it in their init functions. Signed-off-by: Herbert Xu commit ba3b64b976f91067710ef1a87b9b445406910e8f Merge: 47db8e8 b7d4de7 Author: Mark Brown Date: Mon Jul 13 23:05:51 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit 47db8e89ac04377fc4de9278d0a3d6e599c04b95 Author: Peter Meerwald Date: Mon Jul 13 23:05:11 2009 +0100 ASoC: fixes multiple typos in comments, no functional change Signed-off-by: Peter Meerwald Signed-off-by: Mark Brown commit 0a0cf58d93b49bdd3ba6049a5536e76c32ef7f88 Author: Kevin Hilman Date: Mon Jul 13 14:50:40 2009 -0700 ASoC: spdif: set module licence to GPL Without MODULE_LICENCE("GPL"), when built as a module it will fail to load because it uses other GPL symbols from kernel. Signed-off-by: Kevin Hilman Signed-off-by: Mark Brown commit a27e304b5c0bd7a3d6f337fd107a0a93d8687821 Author: Kevin Hilman Date: Mon Jul 13 14:50:39 2009 -0700 ASoC: spdif codec: enable use by modules Signed-off-by: Mark Brown commit 087d53ab11d538ce57b8a8e0ef899d7ee6a38548 Author: Rongrong Cao Date: Fri Jul 10 20:13:30 2009 +0100 ASoC: fix checking for external widgets bug In SOC DAPM layer of SOUND subsystem, when add signal route (in the function snd_soc_dapm_add_route() ), the original code has wrong logic when dapm layer check each widget whether an external one. Signed-off-by: Rongrong Cao Signed-off-by: Mark Brown commit 97fd5bc7f2e442482a7a6cc4bc2a286cbb5f4754 Author: Tobias Klauser Date: Mon Jul 13 11:17:49 2009 -0700 net: Rename lookup_neigh_params function Rename lookup_neigh_params to lookup_neigh_parms as the struct is named neigh_parms and all other functions dealing with the struct carry neigh_parms in their names. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 7d45ecafb6792ca68da9517969d37d910601845f Merge: be940d6 7638d53 Author: James Morris Date: Tue Jul 14 00:30:40 2009 +1000 Merge branch 'master' into next Conflicts: include/linux/personality.h Use Linus' version. Signed-off-by: James Morris commit 33e319fba727708ee45fec70091c498da4e8f606 Author: Roel Kluin Date: Mon Jul 13 02:20:10 2009 +0200 ASoC: Keep index within stac9766_reg[] Keep index within stac9766_reg[] Signed-off-by: Roel Kluin Signed-off-by: Mark Brown commit 8e321c4f72e2fb580a091317ba0fb2941f637ce1 Author: Julia Lawall Date: Sat Jul 11 10:03:55 2009 +0000 drivers/net/bonding: Adjust constant name AD_SHORT_TIMEOUT and AD_STATE_LACP_ACTIVITY have the same value, but AD_STATE_LACP_ACTIVITY better reflects the intended semantics. [ J adds: AD_STATE_LACP_ACTIVITY is a value defined by the standard, and should be set here in accordance with 802.3ad 43.4.12; AD_SHORT_TIMEOUT is a constant specific to the Linux 802.3ad implementation that happens to have the same value ] The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct port_params p; @@ * p.port_state |= AD_SHORT_TIMEOUT // Signed-off-by: Julia Lawall Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 440c1ce178d6a6743e02d136a55b2de3f6d62a20 Author: Huang Weiyi Date: Fri Jul 10 15:33:49 2009 +0000 dropmon: remove duplicated #include Remove duplicated #include('s) in include/linux/net_dropmon.h Signed-off-by: Huang Weiyi Signed-off-by: David S. Miller commit df5ede82588487db1894933af217e4aa710978d5 Author: Changli Gao Date: Wed Jul 8 18:06:47 2009 +0000 net: remove redundant sched/ in net/Makefile Remove redundant sched/ in net/Makefile. sched/ is contained in previous: obj-$(CONFIG_NET) += ethernet/ 802/ sched/ netlink/, so the later obj-$(CONFIG_NET_SCHED) += sched/ isn't necessary. Signed-off-by: Changli Gao ---- Makefile | 1 - 1 file changed, 1 deletion(-) Signed-off-by: David S. Miller commit be940d6279c30a2d7c4e8d1d5435f957f594d66d Author: James Morris Date: Mon Jul 13 10:39:36 2009 +1000 Revert "SELinux: Convert avc_audit to use lsm_audit.h" This reverts commit 8113a8d80f4c6a3dc3724b39b470f3fee9c426b6. The patch causes a stack overflow on my system during boot. Signed-off-by: James Morris commit b3a633c8527ef155b1a4e22e8f5abc58f7af54c9 Author: Julien Tinnes Date: Fri Jul 10 10:46:30 2009 -0700 personality handling: fix PER_CLEAR_ON_SETID for security reasons We have found that the current PER_CLEAR_ON_SETID mask on Linux doesn't include neither ADDR_COMPAT_LAYOUT, nor MMAP_PAGE_ZERO. The current mask is READ_IMPLIES_EXEC|ADDR_NO_RANDOMIZE. We believe it is important to add MMAP_PAGE_ZERO, because by using this personality it is possible to have the first page mapped inside a process running as setuid root. This could be used in those scenarios: - Exploiting a NULL pointer dereference issue in a setuid root binary - Bypassing the mmap_min_addr restrictions of the Linux kernel: by running a setuid binary that would drop privileges before giving us control back (for instance by loading a user-supplied library), we could get the first page mapped in a process we control. By further using mremap and mprotect on this mapping, we can then completely bypass the mmap_min_addr restrictions. Less importantly, we believe ADDR_COMPAT_LAYOUT should also be added since on x86 32bits it will in practice disable most of the address space layout randomization (only the stack will remain randomized). Signed-off-by: Julien Tinnes Signed-off-by: Tavis Ormandy Acked-by: Christoph Hellwig Acked-by: Kees Cook Signed-off-by: James Morris commit 8113a8d80f4c6a3dc3724b39b470f3fee9c426b6 Author: Thomas Liu Date: Fri Jul 10 10:31:04 2009 -0400 SELinux: Convert avc_audit to use lsm_audit.h Convert avc_audit in security/selinux/avc.c to use lsm_audit.h, for better maintainability and for less code duplication. - changed selinux to use common_audit_data instead of avc_audit_data - eliminated code in avc.c and used code from lsm_audit.h instead. I have tested to make sure that the avcs look the same before and after this patch. Signed-off-by: Thomas Liu Acked-by: Eric Paris Signed-off-by: James Morris commit ba73542585a4a3c8a708f502e62e6e63dd74b66c Author: Sridhar Samudrala Date: Thu Jul 9 08:10:04 2009 +0000 udpv6: Handle large incoming UDP/IPv6 packets and support software UFO - validate and forward GSO UDP/IPv6 packets from untrusted sources. - do software UFO if the outgoing device doesn't support UFO. Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 7ea2f2c5a66e4e9a8d96296ac47ad895c467ee1d Author: Sridhar Samudrala Date: Thu Jul 9 08:10:01 2009 +0000 udpv6: Remove unused skb argument of ipv6_select_ident() - move ipv6_select_ident() inline function to ipv6.h and remove the unused skb argument Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit c31d5326902cebffcd83b1aede67a0e0ac923090 Author: Sridhar Samudrala Date: Thu Jul 9 08:09:58 2009 +0000 udpv6: Fix gso_size setting in ip6_ufo_append_data - fix gso_size setting for ipv6 fragment to be a multiple of 8 bytes. Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 493c6be3fedfe24aa676949b237b9b104d911abf Author: Sridhar Samudrala Date: Thu Jul 9 08:09:54 2009 +0000 udpv6: Fix HW checksum support for outgoing UFO packets - add HW checksum support for outgoing large UDP/IPv6 packets destined for a UFO enabled device. Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit d7ca4cc01fd154f2da30ae6dae160fa5800af758 Author: Sridhar Samudrala Date: Thu Jul 9 08:09:47 2009 +0000 udpv4: Handle large incoming UDP/IPv4 packets and support software UFO. - validate and forward GSO UDP/IPv4 packets from untrusted sources. - do software UFO if the outgoing device doesn't support UFO. Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 30ffee8480c13fbcf8ab6c28e31f79dfff683117 Author: Johannes Berg Date: Fri Jul 10 09:51:35 2009 +0000 net: move and export get_net_ns_by_pid The function get_net_ns_by_pid(), to get a network namespace from a pid_t, will be required in cfg80211 as well. Therefore, let's move it to net_namespace.c and export it. We can't make it a static inline in the !NETNS case because it needs to verify that the given pid even exists (and return -ESRCH). Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 134e63756d5f3d0f7604dfcca847b09d1b14fd66 Author: Johannes Berg Date: Fri Jul 10 09:51:34 2009 +0000 genetlink: make netns aware This makes generic netlink network namespace aware. No generic netlink families except for the controller family are made namespace aware, they need to be checked one by one and then set the family->netnsok member to true. A new function genlmsg_multicast_netns() is introduced to allow sending a multicast message in a given namespace, for example when it applies to an object that lives in that namespace, a new function genlmsg_multicast_allns() to send a message to all network namespaces (for objects that do not have an associated netns). The function genlmsg_multicast() is changed to multicast the message in just init_net, which is currently correct for all generic netlink families since they only work in init_net right now. Some will later want to work in all net namespaces because they do not care about the netns at all -- those will have to be converted to use one of the new functions genlmsg_multicast_allns() or genlmsg_multicast_netns() whenever they are made netns aware in some way. After this patch families can easily decide whether or not they should be available in all net namespaces. Many genl families us it for objects not related to networking and should therefore be available in all namespaces, but that will have to be done on a per family basis. Note that this doesn't touch on the checkpoint/restart problem where network namespaces could be used, genl families and multicast groups are numbered globally and I see no easy way of changing that, especially since it must be possible to multicast to all network namespaces for those families that do not care about netns. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 11a28d373ed2539a110d56419457e2e7db221ac7 Author: Johannes Berg Date: Fri Jul 10 09:51:33 2009 +0000 net: make namespace iteration possible under RCU All we need to take care of is using proper RCU list add/del primitives and inserting a synchronize_rcu() at one place to make sure the exit notifiers are run after everybody has stopped iterating the list. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 6c04bb18ddd633b7feac2c8fe2ae0bf61d20ca7a Author: Johannes Berg Date: Fri Jul 10 09:51:32 2009 +0000 netlink: use call_rcu for netlink_change_ngroups For the network namespace work in generic netlink I need to be able to call this function under rcu_read_lock(), otherwise the locking becomes a nightmare and more locks would be needed. Instead, just embed a struct rcu_head (actually a struct listeners_rcu_head that also carries the pointer to the memory block) into the listeners memory so we can use call_rcu() instead of synchronising and then freeing. No rcu_barrier() is needed since this code cannot be modular. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 487420df79f1d9f5b9de74c9bef378609c475a39 Author: Johannes Berg Date: Fri Jul 10 08:32:06 2009 +0000 netlink: remove unused exports I added those myself in commits b4ff4f04 and 84659eb5, but I see no reason now why they should be exported, only generic netlink uses them which cannot be modular. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit aef73cfcb913eae3d0deeb60eb385f75039db40b Author: Herbert Xu Date: Sat Jul 11 22:22:14 2009 +0800 crypto: async - Use kzfree for requests This patch changes the kfree call to kzfree for async requests. As the request may contain sensitive data it needs to be zeroed before it can be reallocated by others. Signed-off-by: Herbert Xu commit 57cfe44bccb0e38ddb44a34a42f517deef1f4e82 Author: Herbert Xu Date: Sat Jul 11 22:17:39 2009 +0800 crypto: shash - Move null setkey check to registration time This patch moves the run-time null setkey check to shash_prepare_alg just like we did for finup/digest. Signed-off-by: Herbert Xu commit 7d024608265eb815ae4ce1e5da097ec9d800dda4 Author: Herbert Xu Date: Fri Jul 10 17:26:44 2009 +0800 crypto: padlock - Use shash fallback for sha This patch changes padlock sha fallback to shash instead of hash. Signed-off-by: Herbert Xu commit f63559bef380a95093408691c1081f07da755b74 Author: Herbert Xu Date: Fri Jul 10 13:20:32 2009 +0800 crypto: sha256-s390 - Add export/import support This patch adds export/import support to sha256-s390. The exported type is defined by struct sha256_state, which is basically the entire descriptor state of sha256_generic. Signed-off-by: Herbert Xu commit 406f104b4172de7452702c6810807c1b0132ba22 Author: Herbert Xu Date: Fri Jul 10 13:18:26 2009 +0800 crypto: sha1-s390 - Add export/import support This patch adds export/import support to sha1-s390. The exported type is defined by struct sha1_state, which is basically the entire descriptor state of sha1_generic. Signed-off-by: Herbert Xu commit 9b2fda7b94a769af13c24582739e50664b0e27a8 Author: Herbert Xu Date: Fri Jul 10 13:00:27 2009 +0800 crypto: sha256_generic - Add export/import support This patch adds export/import support to sha256_generic. The exported type is defined by struct sha256_state, which is basically the entire descriptor state of sha256_generic. Signed-off-by: Herbert Xu commit 3d4d277cf88e1980d905707b9c8ca61e8ad6bf0b Author: Herbert Xu Date: Fri Jul 10 12:54:20 2009 +0800 crypto: sha256_generic - Use 64-bit counter like sha1 This patch replaces the two 32-bit counter code in sha256_generic with the simpler 64-bit counter code from sha1. Signed-off-by: Herbert Xu commit e2a7ce4e185a94462698cc0e5192495ee3d22a2f Author: Herbert Xu Date: Thu Jul 9 21:27:13 2009 +0800 crypto: sha1_generic - Add export/import support This patch adds export/import support to sha1_generic. The exported type is defined by struct sha1_state, which is basically the entire descriptor state of sha1_generic. Signed-off-by: Herbert Xu commit 8267adab9433593adb09d94626475c2a5921f111 Author: Herbert Xu Date: Thu Jul 9 20:36:44 2009 +0800 crypto: shash - Move finup/digest null checks to registration time This patch moves the run-time null finup/digest checks to the shash_prepare_alg function which is run at registration time. Signed-off-by: Herbert Xu commit 99d27e1c59e34869605de625b033c52163f5bfa7 Author: Herbert Xu Date: Thu Jul 9 20:30:57 2009 +0800 crypto: shash - Export/import hash state only This patch replaces the full descriptor export with an export of the partial hash state. This allows the use of a consistent export format across all implementations of a given algorithm. This is useful because a number of cases require the use of the partial hash state, e.g., PadLock can use the SHA1 hash state to get around the fact that it can only hash contiguous data chunks. Signed-off-by: Herbert Xu commit 8bdbd962ecfcbdd96f9dbb02d780b4553afd2543 Author: Alan Cox Date: Sat Jul 4 00:35:45 2009 +0100 x86/cpu: Clean up various files a bit No code changes except printk levels (although some of the K6 mtrr code might be clearer if there were a few as would splitting out some of the intel cache code). Signed-off-by: Alan Cox LKML-Reference: Signed-off-by: Ingo Molnar commit e90476d3bab4322070c0afb3e3b55671de8664ea Author: Huang Weiyi Date: Sat Jul 11 09:32:46 2009 +0800 x86: Remove duplicated #include Remove duplicated #include in: arch/x86/kernel/dumpstack.c Signed-off-by: Huang Weiyi Signed-off-by: Ingo Molnar commit 030c819e79e8ad0320486e9ccbe76d2f0870369f Merge: f6f1eb1 5f34534 Author: Mark Brown Date: Fri Jul 10 21:06:33 2009 +0100 Merge branch 'tlv320aic3x' into reg-cache commit 5bc38193c1793e240a7e0b93f129606931e35fdb Author: Johannes Berg Date: Tue Jul 7 11:00:55 2009 +0200 hwsim: make testmode_cmd static sparse correctly complains about this, no reason for it not to be static. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0b20633d966eb08506f8796544aef7a9ab5f3544 Author: Johannes Berg Date: Tue Jul 7 03:56:13 2009 +0200 cfg80211: disallow configuring unsupported interfaces In order to force drivers to advertise their interface types, don't just disallow creating new interfaces with unadvertised types but also disallow setting them UP. Additionally, add some validation on the operations the drivers support. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 79c97e97aed7f760d2826c7daf2d42d8eefe9838 Author: Johannes Berg Date: Tue Jul 7 03:56:12 2009 +0200 cfg80211: clean up naming once and for all We've named the registered devices 'drv' sometimes, thinking of "driver", which is not what it is, it's the internal representation of a wiphy, i.e. a device. Let's clean up the naming once and and use 'rdev' aka 'registered device' everywhere. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 667503ddcb96f3b10211f997fe55907fa7509841 Author: Johannes Berg Date: Tue Jul 7 03:56:11 2009 +0200 cfg80211: fix locking Over time, a lot of locking issues have crept into the smarts of cfg80211, so e.g. scan completion can race against a new scan, IBSS join can race against leaving an IBSS, etc. Introduce a new per-interface lock that protects most of the per-interface data that we need to keep track of, and sprinkle assertions about that lock everywhere. Some things now need to be offloaded to work structs so that we don't require being able to sleep in functions the drivers call. The exception to that are the MLME callbacks (rx_auth etc.) that currently only mac80211 calls because it was easier to do that there instead of in cfg80211, and future drivers implementing those calls will, if they ever exist, probably need to use a similar scheme like mac80211 anyway... In order to be able to handle _deauth and _disassoc properly, introduce a cookie passed to it that will determine locking requirements. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4f5dadcebb55fccef34722bbbf6401d39124c8a4 Author: Johannes Berg Date: Tue Jul 7 03:56:10 2009 +0200 cfg80211: fix MFP bug, sparse warnings sparse warns about a number of things, and one of them (use_mfp shadowed variable) actually is a bug, fix all of them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4d0c8aead32ecdbe1310ad473b3637991f560865 Author: Johannes Berg Date: Tue Jul 7 03:56:09 2009 +0200 cfg80211: properly name driver locking Currently we call that cfg80211_put_dev(), but that is misleading. With the new convention of using 'rdev' for registered_device variables, also call that function cfg80211_unlock_rdev(). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c1e6fb1aad0d4d4f032d46b6bab093a41c6c82bf Author: Johannes Berg Date: Tue Jul 7 03:56:08 2009 +0200 cfg80211: warn again on spurious deauth The original code in mac80211 could send a deauth frame under certain circumstances even if nothing had ever requested an authentication. This has been fixed with the rework there, so cfg80211 can now warn again about spurious events to catch possible future drivers or mac80211 regressions. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cb0b4beb93d14429bf0c50fc1ab8e26348dca880 Author: Johannes Berg Date: Tue Jul 7 03:56:07 2009 +0200 cfg80211: mlme API must be able to sleep After the mac80211 mlme cleanup, we can require that the MLME functions in cfg80211 can sleep. This will simplify future work in cfg80211 a lot. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c238c8ac63f2d33ea5e7c0b9e9e0ccd8ae9a34e4 Author: Johannes Berg Date: Tue Jul 7 03:56:06 2009 +0200 cfg80211: dont use union for wext Otherwise it becomes very hard to reset the structs correctly since wext can be configured while the interface is down. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 78485475618cf9f1c70dc7f15e8deafa8b6074ab Author: Johannes Berg Date: Tue Jul 7 03:56:05 2009 +0200 cfg80211: fix netdev down problem We shouldn't be looking at the ssid_len for non-IBSS, and for IBSS we should also return an error on trying to leave an IBSS while not in or joining an IBSS. This fixes an issue where we wouldn't disconnect() on an interface being taken down since there's no SSID configured this way. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c9cf01226e0bd1fa4f7f7024d8d53e982fad208f Author: Johannes Berg Date: Tue Jul 7 03:45:18 2009 +0200 mac80211: refactor the WEP code to be directly usable The new key work for cfg80211 will only give us the WEP key for shared auth to do that authentication, and not via the regular key settings, so we need to be able to encrypt a single frame in software, and that without a key struct. Thus, refactor the WEP code to not require a key structure but use the key, len and idx directly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 77fdaa12cea26c204cc12c312fe40bc0f3dcdfd8 Author: Johannes Berg Date: Tue Jul 7 03:45:17 2009 +0200 mac80211: rework MLME for multiple authentications Sit tight. This shakes up the world as you know it. Let go of your spaghetti tongs, they will no longer be required, the horrible statemachine in net/mac80211/mlme.c is no more... With the cfg80211 SME mac80211 now has much less to keep track of, but, on the other hand, for FT it needs to be able to keep track of at least one authentication being in progress while associated. So convert from a single state machine to having small ones for all the different things we need to do. For real FT it will still need work wrt. PS, but this should be a good step. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a7c1cfc9616ee76213a6d4fd4c17f13fdc92ddce Author: Johannes Berg Date: Tue Jul 7 03:45:16 2009 +0200 mac80211: remove dead code from mlme The ap_capab and last_probe struct members are unused. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3e5d7649a64e558e4146ddfad4dfcf13fc65dd47 Author: Johannes Berg Date: Tue Jul 7 14:37:26 2009 +0200 cfg80211: let SME control reassociation vs. association Since we don't really know that well in the kernel, let's let the SME control whether it wants to use reassociation or not, by allowing it to give the previous BSSID in the associate() parameters. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2ffa5fede379091bf62a732462b829e4b51af054 Author: Christian Lamparter Date: Mon Jul 6 15:18:13 2009 +0200 p54: fix queue stall due to underrun Larry Finger discovered a weird behavior under load. In essence, the queue's length count under runs, which in turn renders the associated ac queue unusable. Reported-by: Larry Finger Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6d541a684d7eb72c71eaba82b09a360c96609134 Author: Christian Lamparter Date: Mon Jul 6 15:17:56 2009 +0200 p54usb: fix stalls caused by urb allocation failures This patch squashes a few old bugs, which have been around since the initial version of p54usb in one form or another. we never freed a orphaned frame, when were denied the resources, which are necessary to pass the data into the usb subsystem. As a result we could end up with a full queue that wasn't emptied, until the device was brought down. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 1be491fca12ff599c37ceaf7e9042ebee9f0068e Author: Johannes Berg Date: Sun Jul 5 14:51:06 2009 +0200 rfkill: prep for rfkill API changes We've designed the /dev/rfkill API in a way that we can increase the event struct by adding members at the end, should it become necessary. To validate the events, userspace and the kernel need to have the proper event size to check for -- when reading from the other end they need to verify that it's at least version 1 of the event API, with the current struct size, so define a constant for that and make the code a little more 'future proof'. Not that I expect that we'll have to change the event size any time soon, but it's better to write the code in a way that lends itself to extending. Due to the current size of the event struct, the code is currently equivalent, but should the event struct ever need to be increased the new code might not need changing. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3355443ad7601991affa5992b0d53870335af765 Author: Bob Copeland Date: Sat Jul 4 21:03:13 2009 -0400 ath5k: write PCU registers on initial reset "Ath5k: unify resets" introduced a regression into 2.6.28 where the PCU registers are never initialized, due to ath5k_reset() always passing true for change_channel. We subsequently program a lot of these registers but several may start in an unknown state. Cc: stable@kernel.org Reported-by: Forrest Zhang Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 0d0cd72fa1e6bfd419c99478ec70b4877ed0ef86 Author: Bob Copeland Date: Sat Jul 4 12:59:54 2009 -0400 ath5k: do not release irq across suspend/resume Paraphrasing Rafael J. Wysocki: "drivers should not release PCI IRQs in suspend." Doing so causes a warning during suspend/resume on some platforms. Cc: Rafael J. Wysocki Reported-by: Alan Jenkins Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 88f6bfe1829d67bea37b060d53131b2b96ebc8ac Author: Bob Copeland Date: Sat Jul 4 12:59:53 2009 -0400 ath: remove unnecessary return in ath_regd_get_band_ctl 'default' case already returns NO_CTL Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 21800491cc5c48e9f1084a6f524a0da7c2525cc6 Author: Bob Copeland Date: Sat Jul 4 12:59:52 2009 -0400 ath5k: rework beacon configuration Using the enable_beacon flag allows some simplifications and fixes some corner cases in beacon handling. This change adds a state variable for beaconing in ath5k_beacon_config and handles both enabling and disabling, thus eliminating the need for ath5k_beacon_disable. We also now configure the beacon when any of the beacon parameters change, so ath5k_beacon_reconfig is no longer needed (its mmiowb gets moved to ath5k_beacon_config). Finally, by locking around the whole config function, we don't need to worry about clearing the interrupt mask register before installing the new mask. The upshot is this correctly disables beaconing when the interfaces are taken down, it fixes a potential restarting of beaconing when ath5k_reset() is called, and ensures that updates to the beacon interval take effect immediately. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit cec8db23011d2a0a5ec101a0263d79678adf21ba Author: Bob Copeland Date: Sat Jul 4 12:59:51 2009 -0400 ath5k: send buffered frames after the beacon Enable the "Content" After Beacon queue and utilize it to send any buffered frames for power-saving clients. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 0859339b5c2902a7a4ba1d4c9cf35d882f421e7f Author: Christian Lamparter Date: Sat Jul 4 17:49:59 2009 +0200 p54spi: remove dead code and definitions This patch removes some dead code: p54spi.c:115: warning: ‘p54spi_read16’ defined but not used and while we're at it, p54spi_registers_array is purged as well. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a7eee06b874a02e2de75727ab21a8747ca6309ff Author: Christian Lamparter Date: Fri Jul 3 21:01:15 2009 +0200 p54: two endian fixes This patch fixes all CHECK_ENDIAN complains: 1. p54/fwio.c:296:6: warning: restricted __le32 degrades to integer p54/fwio.c:296:6: warning: restricted __le32 degrades to integer 2. p54/p54spi.c:172:32: warning: incorrect type in initializer p54spi.c:172:32: expected restricted __le32 [usertype] buffer p54/p54spi.c:172:32: got unsigned int Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6c230c02700f9d2aebe6edf9f571835c06707940 Author: Samuel Ortiz Date: Fri Jul 3 02:00:48 2009 +0200 cfg80211: check for current_bss from giwrate When connecting to an ESSID manually, we may not set the BSSID, and thus wdev->wext.connect.bssid will be NULL. wdev->current_bss is always updated when a connection is established so we should check it first. Signed-off-by: Samuel Ortiz Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e47a5cddf893815e7da16e3226b959af785d8aaf Author: Ivo van Doorn Date: Wed Jul 1 15:17:35 2009 +0200 rt2x00: use wiphy rfkill interface Remove the input_polldev from rt2x00 and replace it with the rfkill interface offered by the wiphy structure. This simplifies the entire rfkill handling in rt2x00 and allows us to remove the CONFIG_RT2X00_LIB_RFKILL option and always enables rfkill capabilities. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b623a9f7c488e51dbe4320d8b5cdd0ba242d0067 Author: Johannes Berg Date: Wed Jul 1 14:57:59 2009 +0200 iwlwifi: fix aggregation limit According to the documentation, the limit is 0x3f == 63, not 64. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 96f7e73938da744e718ce4817dd3e7e424624654 Author: Helmut Schaa Date: Tue Jun 30 14:49:18 2009 +0200 mac80211: shorten the passive dwell time for sw scans mac80211's software scan implementation uses a passive dwell time of (HZ / 5) which means we stay 200ms on each passive channel. Compared to iwlwifi's hw scan and the old ipw* drivers which use values around 120ms this is quite long. Reducing the passive dwell time from 200ms to 125ms should save us something around a second on cards capable of 11a and we should still be able to catch beacons from most access points (assuming a ~100ms beacon interval). Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 9d49e861a5e31fb7f575f348743886189045e102 Author: Jiri Slaby Date: Sun Jun 28 23:25:28 2009 +0200 ath9k: remove permissions from debugfs files Don't allow users to open debugfs files, because it can cause oopses. When a user opens some file, driver unlinks it and frees the corresponding structure, we will dereference freed memory. Signed-off-by: Jiri Slaby Signed-off-by: John W. Linville commit 31670070ffe18f8e8743109b19297a0efac0a72c Author: Jiri Slaby Date: Sun Jun 28 23:25:27 2009 +0200 ath5k: remove permissions from debugfs files Don't allow users to open debugfs files, because it can cause oopses. When a user opens some file, driver unlinks it and frees the corresponding structure, we will dereference freed memory. Signed-off-by: Jiri Slaby Signed-off-by: John W. Linville commit 6badaaf7729e5d1c02934b1739303ce79014ab67 Author: Joe Perches Date: Sun Jun 28 09:26:32 2009 -0700 drivers/net/wireless/ath/ath9k: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 7ac487260e087f1660e856d4afae2dd49774f66b Author: Reinette Chatre Date: Fri Jun 26 11:00:55 2009 -0700 iwlwifi: always print buffer when error condition occurs We want to see the buffer contents when the error occurs without needing to set any debug flags. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 68021b966b3cb363596251bac0370c12e084e7da Author: Reinette Chatre Date: Fri Jun 26 11:00:54 2009 -0700 iwlwifi: add utility to print buffer when error occurs Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f55e668f902e40a5299deb8cc5940d1d24b19ea0 Author: Reinette Chatre Date: Fri Jun 26 11:00:53 2009 -0700 iwlagn: re-enable PS support for iwlagn The register locking rework addressed the problem where nic access was obtained incorrectly when PS is enabled. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 19a42803f310ff60ce5a6c02992762068a01394a Author: Zhu Yi Date: Thu Jun 25 18:28:32 2009 +0800 iwmc3200wifi: remove B0 hardware support The patch removes B0 hardware support. Nobody is using it anyway. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fd2c7fe0b4dedc34ea0a2a72e00648bd2b8c7c3a Author: Zhu Yi Date: Thu Jun 25 18:28:31 2009 +0800 iwmc3200wifi: simplify calibration map The patch simplifies calibration map by combining the init_calib_map and periodic_calib_map into one calib_map in struct iwm_conf. Now the initial calibration map is stored in the lower 16 bits of calib_map and the periodic calibration map is stored in the higher 16 bits. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit dd13fd649879b6230be5d855e00c286c5e60f354 Author: Zhu Yi Date: Thu Jun 25 18:28:30 2009 +0800 iwmc3200wifi: replace netif_rx with netif_rx_ni The patch uses netif_rx_ni() over netif_rx() to post buffers to upper network code because it is always scheduled in a workqueue. The problem was first observed from a dynamic ticks warning: "NOHZ: local_softirq_pending ..." Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 8ab0ea77273ecf97d26cf8ca026ef383098577fb Author: Joe Perches Date: Wed Jun 24 22:13:27 2009 -0700 drivers/net/wireless: Use PCI_VDEVICE Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 140add21356528fc76ad276fd32b2e7abb945325 Author: Senthil Balasubramanian Date: Wed Jun 24 18:56:42 2009 +0530 ath9k: Handle different TX and RX streams properly. This patch fixes an issue when the TX and RX streams are different. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit e5f0921a9593365b506f69daa3cfd19c0ed1340b Author: Senthil Balasubramanian Date: Wed Jun 24 18:56:41 2009 +0530 ath9k: race condition in SCANNING state check during ANI calibration ANI calibration shouldn't be done when we are not on our home channel. This is already verified. However, it is racy. Fix this by proper spin locks. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit f38faa31e0da07390d72fb67d3151e56c54871f4 Author: Senthil Balasubramanian Date: Wed Jun 24 18:56:40 2009 +0530 ath9k: stop ani when the STA gets disconnected. ANI is not required when the STA is disconnected. So stop it and enable ANI for adhoc and monitor mode. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 2664f201ef162224c775ecf7e33aee9c4cac62b0 Author: Senthil Balasubramanian Date: Wed Jun 24 18:56:39 2009 +0530 ath9k: remove unnecessary STATION mode check. Remove unncessary STATION mode check in ath9k_bss_assoc_info() as it is called only for STATION mode. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit d8c9210757605c5191d2d9f4e09be5e59ceac824 Author: Christian Lamparter Date: Tue Jun 23 10:39:45 2009 -0500 p54: Modify p54 files for new organization Modify the remaining p54 files to account for the new file organization. Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0a5fb84f6b62bca8352f0aad045118e47340b096 Author: Christian Lamparter Date: Tue Jun 23 10:39:12 2009 -0500 p54: Move TX/RX code Copy the TX/RX code from p54common.c into a new file txrx.c Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0ac0d6cedf6110381501c236339a9fbe13c3441d Author: Christian Lamparter Date: Tue Jun 23 10:38:49 2009 -0500 p54: Move mac80211 glue code Copy the mac80211 glue code from p54common.c into a new file main.c Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0533f796993f7e8ccd682005bfbbe4135b24587e Author: Christian Lamparter Date: Tue Jun 23 10:38:24 2009 -0500 p54: Move LMAC interface definitions Copy the LMAC Interface specific definitions from p54common.h into a new file lmac.h Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0597c0141cf011ccf76419cb4f96f99b0d4b6171 Author: Christian Lamparter Date: Tue Jun 23 10:37:59 2009 -0500 p54: Move LED code Copy the LED code from p54common.c into a new file led.c Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 76074e1670b197385ce93242e3ba3ccc7a6be377 Author: Christian Lamparter Date: Tue Jun 23 10:37:40 2009 -0500 p54: Move firmware code Copy the firmware i/o code from p54common.c into a new file fwio.c Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 289b098c2754d04f768b34ac5a9d08b59c38b725 Author: Christian Lamparter Date: Tue Jun 23 10:37:13 2009 -0500 p54: Move eeprom header Copy the eeprom code from p54common.h into a new file eeprom.h Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 4c8a32f57105a78c49e01f083717cdb531d3c2b9 Author: Christian Lamparter Date: Tue Jun 23 10:36:26 2009 -0500 p54: Move eeprom code Copy the eeprom code from p54common.c into a new file eeprom.c Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 35a0ace7739b50331c919a3255639f123b78eaff Author: Roel Kluin Date: Mon Jun 22 17:42:21 2009 +0200 wireless: remove redundant tests on unsigned bufsize and remainder are unsigned. When negative they are wrapped and caught by the other test. Signed-off-by: Roel Kluin Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 1795378ee8d162084c6f98fc62ec309e418dfbe9 Author: Christian Lamparter Date: Sat Jun 20 21:13:46 2009 +0200 p54: redo rx_status into skb->cb This patch slightly optimizes p54_rx_data's stack and code size. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 92179986ba5221a21e0f8a1e9b7b82a2883fef79 Author: Christian Lamparter Date: Sat Jun 20 05:10:24 2009 +0200 ar9170usb: module link in sysfs Andrey Yurovsky reported that the driver forwarded erroneously the parent device structure instead of the real thing, which of course led to some dodgy sysfs links (at least?). Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 2c2f3b33888419fb9e7d015b9dc67b9db4437efa Author: Tomas Winkler Date: Fri Jun 19 13:52:45 2009 -0700 iwlwifi: unify iwl_setup_rxon_timing This patch unifies setup_rxon_timing funcions of AGN and 3945. HWs differ only in supported maximal beacon interval. This is reflected in hw_paras.max_beacon_itrvl Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4e05c2347a50f1d0892ff3475d7609eec428f781 Author: Johannes Berg Date: Fri Jun 19 13:52:44 2009 -0700 iwlwifi: scan requested channels only When userspace requests only certain channels to be scanned, we currently ignore that request entirely. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 45af81956e990440fe78d6d41f847664cb620609 Author: Johannes Berg Date: Fri Jun 19 13:52:43 2009 -0700 iwlwifi: make software queue assignment more efficient There really is no reason to be assigning txq->swq_id all the time, once at aggregation setup is sufficient. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 90e8e424d9c071f2db22100de81af6c8f7df34ee Author: Tomas Winkler Date: Fri Jun 19 13:52:42 2009 -0700 iwlwifi: drop sw_crypto from hw_params. Each HW supported by iwlwifi is capable of hardware crypto so drop this flag from hw_params structure. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3354a0f6a3ced6957dfb9f689ad075cfa8fd272f Author: Mohamed Abbas Date: Fri Jun 19 13:52:41 2009 -0700 iwlwifi: Check HW ready before prepare card. Hardware may be ready for us to manage it without us trying to prepare it first. Check if this is the case. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7d5ca3b8b2b38ab676d0adc268a3c6a82e7a7588 Author: Luis R. Rodriguez Date: Fri Jun 19 11:57:59 2009 -0700 ath9k: differentiate quality reporting between legacy and HT configurations We were not differentiating quality between legacy and HT configurations. We change this to consider the differences. New theory for reporting quality: At a hardware RSSI of 45 you will be able to use MCS 7 reliably. At a hardware RSSI of 45 you will be able to use MCS 15 reliably. At a hardware RSSI of 35 you should be able use 54 Mbps reliably. MCS 7 is the highets MCS index usable by a 1-stream device. MCS 15 is the highest MCS index usable by a 2-stream device. All ath9k devices are either 1-stream or 2-stream. How many bars you see is derived from the qual reporting. A more elaborate scheme can be used here but it requires tables of SNR/throughput for each possible mode used. For the MCS table you can refer to the wireless wiki: http://wireless.kernel.org/en/developers/Documentation/ieee80211/802.11n This should fix this bug report: http://bugzilla.kernel.org/show_bug.cgi?id=13537 Cc: Janath.Peiris@atheros.com Cc: Matt.Smith@atheros.com Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 23b149c1890f9a55f065c6b7842e9383d22e0c04 Author: Andrey Yurovsky Date: Wed Jun 17 19:15:19 2009 -0700 libertas: fix card cleanup order in SDIO driver The SDIO driver sets the surpriseremoved flag before calling lbs_remove_card. With IEEE PS enabled, lbs_remove_card must issue a command to exit IEEE PS mode, however with that flag set the command path is blocked and the card is never taken out of IEEE PS mode. This step is required to ensure that the driver can be reloaded. This patch moves the setting of surpriseremoved after lbs_remove_card is called. Tested with V9 firmware by ensuring that IEEE PS is disabled when the driver is removed. Reloading the driver is not fully tested due to a separate issue with module reload in the SDIO driver, however this patch at least leaves the card in a better state when we bring the driver down. Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit efcfd1f28f6a5c377a0e630ca2c96c54eb3f1e8f Author: Andrey Yurovsky Date: Thu Jun 18 09:51:57 2009 -0700 libertas: correct card cleanup order in SPI driver The SPI driver does a couple of card cleanup steps in the wrong order on module removal. If IEEE PS is enabled, this results in the card being left in IEEE PS mode and subsequent failures to reload the module. The problem is that the surpriseremoved flag is set before calling lbs_remove_card, but that function needs to issue a command to exit IEEE PS mode (the flag blocks the command path). In addition, lbs_stop_card should be called first because it clears out any pending commands. Tested on a GSPI device with V9 firmware by confirming that we can reload the module with or without IEEE PS enabled. Also fix a warning from the wrong uint format in a printk. V2: use z modifier, thanks Sebastian. Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit ce8d096dac70e92a506d2f686ae4f724f42052cf Author: Andrey Yurovsky Date: Wed Jun 17 18:45:34 2009 -0700 libertas: copy WPA keys to priv when associating Libertas currently maintains a copy of the WPA unicast and group keys when using WPA or WPA2. This copy is checked when deciding whether or not to return to sleep in IEEE PS mode but the actual copying back to priv was omitted, which breaks IEEE PS mode with WPA/WPA2 when one issues commands that require temporarily keeping the device awake. This patch introduces the omitted copy-back of the keys so that IEEE PS functions correctly in WPA/WPA2 mode. Thanks to Dan Williams for clearing up the issue. V2: fix typo. Also, this has been tested on GSPI and SDIO with V9 firmware. Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit 9834c079d130217c8c5ac8791428ebeb8c660538 Author: Johannes Berg Date: Mon Jul 6 19:40:51 2009 +0200 cfg80211: fix giwrange "cfg80211: Advertise ciphers via WE according to driver capability" unfortunately broke iwrange -- it used the variable c that needs to be 0 for the channel list. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3dc27d25f288c923735e8f10fa8e578be896e96a Author: Johannes Berg Date: Thu Jul 2 21:36:37 2009 +0200 nl80211: limit to one pairwise cipher for associate() In this case, only one cipher makes sense, unlike for connect() where it may be possible to have the card or driver select. No changes to mac80211 due to the way the structs are laid out -- but the loop in net/mac80211/cfg.c will degrade to just zero or one passes. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4244f41a040288e07d050ea64f60997c584cce9e Author: David Kilroy Date: Thu Jul 2 20:26:45 2009 +0100 orinoco: fix printk format specifier for size_t arguments This addresses the following compile warnings on 64-bit platforms. drivers/net/wireless/orinoco/scan.c: In function 'orinoco_add_hostscan_results': drivers/net/wireless/orinoco/scan.c:194: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' drivers/net/wireless/orinoco/scan.c:211: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' drivers/net/wireless/orinoco/scan.c:211: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 0a9b5e17952ec7ce938645a23ba29bcfdb66c8d9 Author: Johannes Berg Date: Thu Jul 2 18:26:18 2009 +0200 cfg80211: refuse authenticating to same BSSID twice It is possible that there are different BSS structs with the same BSSID, but we cannot authenticate with multiple of them them because we need the BSSID to be unique for deauthenticating/disassociating. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 19957bb399e2722719c0e20c9ae91cf8b6aaff04 Author: Johannes Berg Date: Thu Jul 2 17:20:43 2009 +0200 cfg80211: keep track of BSSes In order to avoid problems with BSS structs going away while they're in use, I've long wanted to make cfg80211 keep track of them. Without the SME, that wasn't doable but now that we have the SME we can do this too. It can keep track of up to four separate authentications and one association, regardless of whether it's controlled by the cfg80211 SME or the userspace SME. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 517357c685ccc4b5783cc7dbdae8824ada19a97f Author: Johannes Berg Date: Thu Jul 2 17:18:40 2009 +0200 cfg80211: assimilate and export ieee80211_bss_get_ie This function from mac80211 seems generally useful, and I will need it in cfg80211 soon. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0eb14647fc6b56f73efb28a72ca0c7cc03a653f9 Author: Johannes Berg Date: Thu Jul 2 15:49:03 2009 +0200 cfg80211: reset auth algorithm When the interface is brought down, we need to reset the auth algorithm because wpa_supplicant doesn't reset it, and then we fail to use shared key auth when required later. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e45cd82ace91b71bc690ba78a0ebea17edfaabef Author: Johannes Berg Date: Thu Jul 2 09:58:04 2009 +0200 cfg80211: send events for userspace SME When the userspace SME is in control, we are currently not sending events, but this means that any userspace applications using wext or nl80211 to receive events will not know what's going on unless they can also interpret the nl80211 assoc event. Since we have all the required code, let the SME follow events from the userspace SME, this even means that you will be refused to connect() while the userspace SME is in control and connected. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ab1faead50d09165b58c2854997c7205ca9c0d22 Author: Johannes Berg Date: Wed Jul 1 21:41:17 2009 +0200 mac80211: remove dead code, clean up With mac80211 now always controlled by an external SME, a lot of code is dead -- SSID, BSSID, channel selection is always done externally, etc. Additionally, rename IEEE80211_STA_TKIP_WEP_USED to IEEE80211_STA_DISABLE_11N and clean up the code a bit. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6dc1cb0319997648f59b0f46b9e093e779f0353d Author: Johannes Berg Date: Wed Jul 1 21:40:45 2009 +0200 mac80211: remove auth algorithm retry The automatic auth algorithm issue is now solved in cfg80211, so mac80211 no longer needs code to try different algorithms -- just using whatever cfg80211 asked for is good. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ac00326e9d1d46bf48e9cf60cf892a96b885601a Author: Johannes Berg Date: Wed Jul 1 21:27:01 2009 +0200 mac80211: re-add HT disabling The IEEE80211_STA_TKIP_WEP_USED flag is used internally to disable HT when WEP or TKIP are used. Now that cfg80211 is giving us the required information, we can set the flag appropriately again. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8990646d2fafeacfacba4a4b1073a4216662089a Author: Johannes Berg Date: Wed Jul 1 21:27:00 2009 +0200 cfg80211: implement get_wireless_stats By dropping the noise reporting, we can implement wireless stats in cfg80211. We also make the handler return NULL if we have no information, which is possible thanks to the recent wext change. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9930380f0bd8405fa6a51d644f3de88c30666519 Author: Johannes Berg Date: Wed Jul 1 21:26:59 2009 +0200 cfg80211: implement IWRATE For now, let's implement that using a very hackish way: simply mirror the wext API in the cfg80211 API. This will have to be changed later when we implement proper bitrate API. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ab737a4f7dbe57b12b73f482a7b973bf00b41942 Author: Johannes Berg Date: Wed Jul 1 21:26:58 2009 +0200 cfg80211: implement IWAP for WDS This implements siocsiwap/giwap for WDS mode. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bc92afd92088ab41223383cc6863ab4792533c54 Author: Johannes Berg Date: Wed Jul 1 21:26:57 2009 +0200 cfg80211: implement iwpower Just on/off and timeout, and with a hacky cfg80211 method until we figure out what we want, though this is probably sufficient as we want to use pm_qos for wifi everywhere. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f21293549f60f88c74fcb9944737f11048896dc4 Author: Johannes Berg Date: Wed Jul 1 21:26:56 2009 +0200 cfg80211: managed mode wext compatibility This adds code to make it possible to use the cfg80211 connect() API with wireless extensions, and because the previous patch added emulation of that API with auth() and assoc(), by extension also supports wext on that. At the same time, removes code from mac80211 for wext, but doesn't yet clean up mac80211's mlme code more. Signed-off-by: Samuel Ortiz Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6829c878ecd24ff0ae41b4668c7e9d0f11b66942 Author: Johannes Berg Date: Thu Jul 2 09:13:27 2009 +0200 cfg80211: emulate connect with auth/assoc This adds code to cfg80211 so that drivers (mac80211 right now) that don't implement connect but rather auth/assoc can still be used with the nl80211 connect command. This will also be necessary for the wext compat code. Signed-off-by: Samuel Ortiz Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b23aa676ab9d54469cda9f7151f51a2851c6f36e Author: Samuel Ortiz Date: Wed Jul 1 21:26:54 2009 +0200 cfg80211: connect/disconnect API This patch introduces the cfg80211 connect/disconnect API. The goal here is to run the AUTH and ASSOC steps in one call. This is needed for some fullmac cards that run both steps directly from the target, after the host driver sends a connect command. Additionally, all the new crypto parameters for connect() are now also valid for associate() -- although associate requires the IEs to be used, the information can be useful for drivers and should be given. Signed-off-by: Samuel Ortiz Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6a669e65c5ec393a650362874e13f7d3365a7827 Author: Johannes Berg Date: Wed Jul 1 21:26:53 2009 +0200 wireless: define AKM suites We'll need these values for some drivers using connect API and for wext compat code, so let's define them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3f65b24536996ac493777ef11474c47e1d3f56a0 Author: Johannes Berg Date: Wed Jul 1 21:26:52 2009 +0200 mac80211: remove an unused function declaration The ieee80211_scan_results function hasn't existed for a long time now, so its declaration should be removed as well. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit aff89a9b9084931e51b89d8f3ee3c547bea6c422 Author: Johannes Berg Date: Wed Jul 1 21:26:51 2009 +0200 cfg80211: introduce nl80211 testmode command This introduces a new NL80211_CMD_TESTMODE for testing and calibration use with nl80211. There's no multiplexing like like iwpriv had, and the command is not available by default, it needs to be explicitly enabled in Kconfig and shouldn't be enabled in most kernels. The command requires a wiphy index or interface index to identify the device to operate on, and the new TESTDATA attribute. There also is API for sending replies to the command, and testmode multicast messages (on a testmode multicast group). I've also updated mac80211 to be able to pass through the command to the driver, since it itself doesn't implement the testmode command. Additionally, to give people an idea of how to use the command, I've added a little code to hwsim that makes use of the new command to set the powersave mode, this is currently done via debugfs and should remain there, and the testmode command only serves as an example of how to use this best -- with nested netlink attributes in the TESTDATA attribute. A hwsim testmode tool can be found at http://git.sipsolutions.net/hwsim.git/. This tool is BSD licensed so people can easily use it as a basis for their own internal fabrication and validation tools. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5121ea0481f9cea1dfd958f18d7b4ac78778cd40 Author: Johannes Berg Date: Wed Jul 1 21:26:50 2009 +0200 wext: constify extra argument to wireless_send_event This is never changed by the function, so can be marked const. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0575606b086ad216b7b1976ca9b9a6e711db92f0 Author: Johannes Berg Date: Wed Jul 1 21:26:49 2009 +0200 mac80211: tell SME about real auth state When the auth algorithm is rejected, but we don't have another one to try, we will eventually retry but that isn't useful -- we'll then do it again and again until we eventually give up. Instead, we should let the SME know and go into disabled state. The same applies for situations where the AP rejects with any other status code. Additionally, when trying the next auth algorithm, we should reset the auth_tries so that just a single lost frame doesn't lead to us giving up on the third auth algorithm. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7ebbe6bd51a259e16608b3fd7b578f5dd1292a45 Author: Johannes Berg Date: Wed Jul 1 21:26:48 2009 +0200 cfg80211: remove wireless_dev->bssid This variable isn't necessary -- the wext code keeps track of the BSSID itself, and otherwise we have current_bss. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e6d6e3420d511cd7552a95d1f04bd4c80a9ddb34 Author: Johannes Berg Date: Wed Jul 1 21:26:47 2009 +0200 cfg80211: use proper allocation flags Instead of hardcoding GFP_ATOMIC everywhere, add a new function parameter that gets the flags from the caller. Obviously then I need to update all callers (all of them in mac80211), and it turns out that now it's ok to use GFP_KERNEL in almost all places. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit dad823302135a2d99efd40e35d94a6ff14961c93 Author: Johannes Berg Date: Wed Jul 1 21:26:46 2009 +0200 nl80211: clean up function definitions I don't like the 'extern' keyword much when it's not necessary, it makes lines rather long. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2a783c136b4f280d9863170bd6703d25bdb4746c Author: Johannes Berg Date: Wed Jul 1 21:26:45 2009 +0200 cfg80211: move break statement to correct place Move a break statement to the correct place _after_ the #endif, otherwise w/o WIRELESS_EXT things break badly. Also, while touching this code, do a cleanup and assign dev->ieee80211_ptr to a new variable. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 898324025fc12132d3ed98f8baf4fb3fa45327e0 Author: Johannes Berg Date: Wed Jul 1 21:26:44 2009 +0200 wext: default to y The way I initially thought we could do wireless extensions is by making all the compat code in cfg80211 be independent of CONFIG_WIRELESS_EXT, but this is turning out to not be feasible. Therefore, fix the Kconfig help text and make the option default to yes, so people won't get a nasty surprise when mac80211 will get rid of its 'select WIRELESS_EXT' any time now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d3cebbdcedf8d1519913f6e9bf88dbac7fbaa760 Author: Johannes Berg Date: Wed Jul 1 21:26:43 2009 +0200 mac80211: fix todo lock The key todo lock can be taken from different locks that require it to be _bh to avoid lock inversion due to (soft)irqs. This should fix the two problems reported by Bob and Gabor: http://mid.gmane.org/20090619113049.GB18956@hash.localnet http://mid.gmane.org/4A3FA376.8020307@openwrt.org Signed-off-by: Johannes Berg Cc: Bob Copeland Cc: Gabor Juhos Signed-off-by: John W. Linville commit df2b35b65b7142bac2c7add3a1dedde3a373aff3 Author: Johannes Berg Date: Wed Jul 1 21:26:42 2009 +0200 wext: allow returning NULL stats Currently, wext drivers cannot return NULL for stats even though that would make the ioctl return -EOPNOTSUPP because that would mean they are no longer listed in /proc/net/wireless. This patch changes the wext core's behaviour to list them if they have any wireless_handlers, but only show their stats when available, so that drivers can start returning NULL if stats are currently not available, reducing confusion for e.g. IBSS. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c0acf38e0ba42f93d8d56a6db2e2116ea1b23961 Author: John W. Linville Date: Tue Jun 30 16:55:52 2009 -0400 mac80211_hwsim: fix-up build damage from removal of skb->dst Signed-off-by: John W. Linville commit 293dc5dfdbcc16cde06e40a688394cc8ab083e48 Author: Gabor Juhos Date: Fri Jun 19 12:17:48 2009 +0200 ath9k: remove ath_rx_ps_back_to_sleep helper This helper only clears the SC_OP_WAIT_FOR_{BEACON,CAB} flags. Remove it and clear these flags directly in the approptiate places instead. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit b7351a003ca29ac4372393040ffb06dc04309e2e Author: Gabor Juhos Date: Fri Jun 19 12:17:47 2009 +0200 ath9k: remove unnecessary clearing of SC_OP_WAIT_{BEACON,CAB} flags All SC_OP_WAIT_* flags will be cleared in 'ath9k_conf' when PS mode is disabled, so we don't have to clear it here. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit f58d4ed98bfe7b2febcd6f0d62744b623e4b8371 Author: Johannes Berg Date: Fri Jun 19 02:45:21 2009 +0200 cfg80211: send wext MLME-MICHAELMICFAILURE.indication Instead of having mac80211 do it itself. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b5c469108935bacfe6f45005867256801832fdce Author: David Kilroy Date: Thu Jun 18 23:21:35 2009 +0100 orinoco: remove WE nickname support Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 934fd51a94572bcdeea5150ba6a0148971ea9980 Author: David Kilroy Date: Thu Jun 18 23:21:34 2009 +0100 orinoco: convert giwrange to cfg80211 Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit c63cdbe8f80487c372fe0dfe460ed30467029f01 Author: David Kilroy Date: Thu Jun 18 23:21:33 2009 +0100 orinoco: convert scanning to cfg80211 This removes the custom scan cache used by orinoco. We also have to avoid calling cfg80211_scan_done from the hard interrupt, so we offload the entirety of scan processing to a workqueue. This may behave strangely if you start scanning just prior to suspending... Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 5217c571c898371c540e49671600d54346b2e123 Author: David Kilroy Date: Thu Jun 18 23:21:32 2009 +0100 orinoco: convert mode setting to cfg80211 Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 721aa2f75b00399074eb443fdf16d797b4504a36 Author: David Kilroy Date: Thu Jun 18 23:21:31 2009 +0100 orinoco: provide generic commit function This allows changes to be commited from cfg80211 functions. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 6415f7df10573bf1ec42644f42bef565127114a1 Author: David Kilroy Date: Thu Jun 18 23:21:30 2009 +0100 orinoco: Handle suspend/restore in core driver Each device does almost exactly the same things on suspend and resume when upping and downing the interface. So move this logic into a common routine. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit ef96b5c9ed6ba4b45fd4cf45810c34978bb8d8bb Author: David Kilroy Date: Thu Jun 18 23:21:29 2009 +0100 airport: store irq in card private structure ... instead of relying on the net_device fields. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 5381956b780e82805247c2ec8e32c4c665309394 Author: David Kilroy Date: Thu Jun 18 23:21:28 2009 +0100 orinoco: move netdev interface creation to main driver With the move to cfg80211 it's nice to keep the hardware operations distinct from the interface, even though we can only support a single interface. This also means the driver resembles other cfg80211 drivers. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 35832c50d1d1552618f55aa5457a251df9e63b26 Author: David Kilroy Date: Thu Jun 18 23:21:27 2009 +0100 orinoco: make firmware download less verbose The firmware download code has been in a couple of releases, without any significant issues reported in this code. Convert to use pr_debug, so the messages can be recoverred by defining DEBUG. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit ea60a6aaf55984a13a7150568cc103d006e86ab2 Author: David Kilroy Date: Thu Jun 18 23:21:26 2009 +0100 orinoco: initiate cfg80211 conversion Initialise and register a wiphy. Store the orinoco_private structure in the new wiphy, and use the net_device private area to store the wireless_dev. This results in a change to the way we navigate from a net_device to the driver private orinoco_private, which we encapsulate in the inline function ndev_priv. Most of the remaining calls to netdev_priv are thus replaced by ndev_priv. We can immediately rely on cfg80211 to handle SIOCGIWNAME, so orinoco_ioctl_getname is removed. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 98e5f404485d5d11b15e8351535a0e064a37647c Author: David Kilroy Date: Thu Jun 18 23:21:25 2009 +0100 orinoco: Change set_tkip to use orinoco_private instead of hermes_t hw.h does not include hermes.h, and none of the other functions requires types from that file. Also hermes_t is a (discouraged) typedef so we can't add a forward declaration. Therefore change this function to use orinoco_private. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 8e638267a896e171e49fb9013f5baf96a4ede754 Author: David Kilroy Date: Thu Jun 18 23:21:24 2009 +0100 orinoco: initialise independently of netdev Initialise the orinoco driver before registerring with netdev, which will help when we get to cfg80211... Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit a2608362b22ade22ef5472a8c9b82687d86f976f Author: David Kilroy Date: Thu Jun 18 23:21:23 2009 +0100 orinoco: Replace net_device with orinoco_private in driver interfaces Move away from using net_device as the main structure in orinoco function calls. Use orinoco_private instead. This makes more sense when we move to cfg80211, and we get wiphys as well. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 44d8dade8f12ffe5c9b7eddd0512c1548c027a4c Author: David Kilroy Date: Thu Jun 18 23:21:22 2009 +0100 orinoco: firmware helpers should use dev_err and friends We should be able to call these routines before we register with netdev, so avoid printks using the netdev name. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit a3f47b9c2ada45ffacc8f2b54507221a1ba8eb10 Author: David Kilroy Date: Thu Jun 18 23:21:21 2009 +0100 orinoco: use dev_err in early initialisation routines This allows us to use determine_fw_capabilities, orinoco_hw_read_card_setting and orinoco_hw_allocate_fid prior to netdev registration. Since dev_dbg only prints if DEBUG is defined (or dynamic debug is enabled), move a couple of the more useful prints up to info. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 42a51b933034bbed93fa54009c96a482044e5b43 Author: David Kilroy Date: Thu Jun 18 23:21:20 2009 +0100 orinoco: Move FID allocation to hw.c This is part of refactorring the initialisation code so that we can load the firmware before registerring with netdev. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit e9e3d0100eae5f254024bd59229ef1be2b719b84 Author: David Kilroy Date: Thu Jun 18 23:21:19 2009 +0100 orinoco: Move card reading code into hw.c This is part of refactorring the initialisation code so that we can load the firmware before registerring with netdev. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit a2d1a42a4b44c97fb83c5bf53af8cd6ab4c6c110 Author: David Kilroy Date: Thu Jun 18 23:21:18 2009 +0100 orinoco: Move firmware capability determination into hw.c This is part of refactorring the initialisation code so that we can load the firmware before registerring with netdev. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 27bea66c22582853ad2e1de93d26c3016493818b Author: David Kilroy Date: Thu Jun 18 23:21:17 2009 +0100 cfg80211: infer WPA and WPA2 support from TKIP and CCMP Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 2ab658f9ce218ae93b3d2db2b3fe68bfefb81196 Author: David Kilroy Date: Thu Jun 18 23:21:16 2009 +0100 cfg80211: set WE encoding size based on available ciphers Only set the sizes for WEP40 and WEP104. Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 51cd4aabd082144881644c308647ca501690b68c Author: David Kilroy Date: Thu Jun 18 23:21:15 2009 +0100 cfg80211: allow drivers that can't scan for specific ssids Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3daf097594d398b2ddd2dca6caeaa92cb9148e23 Author: David Kilroy Date: Thu Jun 18 23:21:14 2009 +0100 cfg80211: Advertise ciphers via WE according to driver capability Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit f1f74825fe01ac77204ca34e3240dec50a8207c2 Author: David Kilroy Date: Thu Jun 18 23:21:13 2009 +0100 cfg80211: add wrapper function to get wiphy from priv pointer Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 90e3012e94be0755a516f60f5339a2a08f4a7d0a Author: Johannes Berg Date: Thu Jun 18 14:51:12 2009 +0200 mac80211_hwsim: clean up the skb before passing it back We need to clean up the skb before we can copy it, this is required for proper operation since the socket it is still attached to could potentially live in a different network namespace or so. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3bfbe80e4462c22e5dc42a00b2b394e347f4aa09 Author: Hin-Tak Leung Date: Thu Jun 18 03:53:26 2009 +0100 zd1211rw: sort vid/pid pairs by numerical value In the past ids were inserted in no particular order and it has become hard to see what ids are already included or not. This patch sorts the ids by numerical value and has no functional effect. Signed-off-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 83f5e2cf79390f7ca909b7035dd415230257cc4d Author: Johannes Berg Date: Wed Jun 17 17:41:49 2009 +0200 cfg80211: prohibit scanning the same channel more than once It isn't very useful to scan the same channel more than once during a given scan, and some hardware (notably iwlwifi) can only scan a limited number of channels at a time. To prevent any overflows, simply disallow scanning any channel multiple times in a given scan command. This is a small change in the userspace ABI, but the only user, wpa_supplicant, never asks for a scan with the same frequency listed twice. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 386aa23dd5f94b810210b9f849807946a5100b57 Author: Johannes Berg Date: Wed Jun 17 17:28:45 2009 +0200 mac80211: improve per-sta debugfs We had code for a number of files, that we didn't publish in debugfs, fix that. Also make the agg_status file layout more readable and add more information to it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f1d58c2521eb160178b2151d6326d8dc5d7c8560 Author: Johannes Berg Date: Wed Jun 17 13:13:00 2009 +0200 mac80211: push rx status into skb->cb Within mac80211, we often need to copy the rx status into skb->cb. This is wasteful, as drivers could be building it in there to start with. This patch changes the API so that drivers are expected to pass the RX status in skb->cb, now accessible as IEEE80211_SKB_RXCB(skb). It also updates all drivers to pass the rx status in there, but only by making them memcpy() it into place before the call to the receive function (ieee80211_rx(_irqsafe)). Each driver can now be optimised on its own schedule. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 18ad01c43918751cc22f8ee28f6b38b8954a55b2 Author: Johannes Berg Date: Tue Jun 16 20:46:45 2009 +0200 rt2x00: remove skb->do_not_encrypt usage Johannes is trying to get rid of the master netdev and in the process will remove skb->do_not_encrypt field. This removes the do_not_encrypt usage from rt2x00 to make the change easier. Signed-off-by: Johannes Berg Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a538e2d5a30f577e9c8f6ccfe72b29a258e0fe86 Author: Johannes Berg Date: Tue Jun 16 19:56:42 2009 +0200 cfg80211: issue netlink notification when scan starts To ease multiple apps working together smoothly, send a notification when a scan is started. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 222ec50a0a5d20e75522aacf4c767df6585e8548 Author: Jussi Kivilinna Date: Tue Jun 16 17:17:32 2009 +0300 rndis_wlan: convert set/get txpower to cfg80211 Convert set/get txpower to cfg80211 and add stop netdev handler to turn off radio for rfkill. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit a33e9e7f35ef6dcab528e0327f29188475f60691 Author: Jussi Kivilinna Date: Tue Jun 16 17:17:27 2009 +0300 usbnet: Add stop function pointer to 'struct rndis_data'. Allow minidriver to know that netdev has stopped. This is to let wireless turn off radio when usbnet dev is stopped. Signed-off-by: Jussi Kivilinna Acked-by: David Brownell Acked-by: David S. Miller Signed-off-by: John W. Linville commit d75ec2b7ec27fd6cdba78492fbd63bee4d091a87 Author: Jussi Kivilinna Date: Tue Jun 16 17:17:21 2009 +0300 rndis_wlan: convert get/set frag/rts to cfg80211 Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 257862f3faef397f1a677ae6a5a1828fa00a97b1 Author: Zhu Yi Date: Mon Jun 15 21:59:56 2009 +0200 iwmc3200wifi: rfkill cleanup The patch cleans up the unused rfkill related structures and flags. It also adds wext and cfg80211 handlers for txpower auto and off so that software rfkill could be issued by user space. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 3549716484a95fd16f7fcf8b68699bd4c803b382 Author: Samuel Ortiz Date: Mon Jun 15 21:59:54 2009 +0200 iwmc3200wifi: cache keys when interface is down When the interface is down and one sets a WEP key from userspace, we should be able to simply cache it. Since that implies setting part of the profile's security settings, we now alloc/free the umac_profile at probe/remove time, and no longer at interface bring up/down time. Simply resetting it during the latter is enough. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 191506ecbce03f09f6afa76f1af069574bf99bec Author: Zhu Yi Date: Mon Jun 15 21:59:53 2009 +0200 iwmc3200wifi: change coexist periodic calibration flag The patch changes coexist periodic calibration priority flag. It also set wireless mode to UMAC and set PM control flag to 0x1. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 13e0fe70960e95cdea89b71aa3d046ec71efac8c Author: Samuel Ortiz Date: Mon Jun 15 21:59:52 2009 +0200 iwmc3200wifi: cfg80211 key hooks implemetation This patch implements the new cfg80211 privacy related hooks: add/get/set_key and the set_default_key one. With this implementation we can now call the wext-compat *encode* routines and reduce our own wext code. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit a70742f167424bab794ca74b9e99b598b358bb7d Author: Samuel Ortiz Date: Mon Jun 15 21:59:51 2009 +0200 iwmc3200wifi: handling wifi_if_ntfy responses When we're calling iwm_send_wifi_if_cmd() with the resp flag set, we're currently waiting on the mlme queue, waiting for some flags here and there to show up. This patch adds a wifi_ntfy bitmap, and when we're sending a wifi_if command expecting an answers, we wait synchronously for it to show up, on a dedicated queue. The wifi_ntfy bit is set when we receive the corresponding answer. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 0c5553b1392dea5ba5ad678790367c1275ed1172 Author: Samuel Ortiz Date: Mon Jun 15 21:59:50 2009 +0200 iwmc3200wifi: invalidate keys when changing the BSSID While associated, we have to invalidate our key cache if we clear our BSSID through siwap. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 030b865520c3e26f4a316852aa022a22c4948907 Author: Wey-Yi Guy Date: Fri Jun 12 13:22:55 2009 -0700 iwlwifi: remove disable_tx_power for device > 4965 After 4965, tx_power_calibration moved from driver to uCode. remove "disable_tx_power" from debugfs to minimize the confusion. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fe6efb4b423c923fb491a9ca4fa419e843548740 Author: Wey-Yi Guy Date: Fri Jun 12 13:22:54 2009 -0700 iwlwifi: no need to refer to max_nrg_cck range value max_nrg_cck value inside the sensitivity range structure is not needed for sensitivity calibration. Keep the parameter in sensitivity structure but set the value to "0" in case needed in the future implementation. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9d67187dbd93df98011f7229f76de25d142b57cc Author: Wey-Yi Guy Date: Fri Jun 12 13:22:53 2009 -0700 iwlwifi: modify sensitivity value for 5150 In 5150 there is a long delay between the AGC(Automatic Gain Control) command till the RF is stabilized causing us to miss detections when there was adjacent channel noise, so we need to adjusted the Sensitivity calibration for 5150 differently. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 47af3fe36dc478f7eddc8bec104ff1876d71f37c Author: Luciano Coelho Date: Fri Jun 12 14:17:53 2009 +0300 wl1251: change psm enabled/disabled info to debug With shorter CAM timeouts, the logs get flooded with "psm enabled" and "psm disabled traces. This patch changes it from wl1251_info to wl1251_debug, so they are only shown if DEBUF_PSM is enabled. Signed-off-by: Luciano Coelho Reviewed-by: Janne Ylalehto Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 05fac682c2ca0c572d1bd8e6a38025838ddf0e68 Author: Kalle Valo Date: Fri Jun 12 14:17:47 2009 +0300 wl1251: fix a checkpatch warning drivers/net/wireless/wl12xx/wl1251_main.c:158: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 80301cdcfe44e3533175be23d7d52a9fc8c3fdb0 Author: Kalle Valo Date: Fri Jun 12 14:17:39 2009 +0300 wl1251: use wl1251 prefix everywhere Last we can change all code prefixes from wl12xx/WL12XX to wl1251/WL1251. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit 1e6f172fccbf1194bad4b2aeae437ec3189a3f08 Author: Kalle Valo Date: Fri Jun 12 14:17:33 2009 +0300 wl12xx: remove unused wl12xx_hw_init_mem_config() The function declaration is a leftover from some earlier, already removed, code. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit 1367411858d5fc60b632a3f488f2b4adc73d12d7 Author: Kalle Valo Date: Fri Jun 12 14:17:25 2009 +0300 wl1251: rename wl12xx.h to wl1251.h wl12xx.h is now only used by 1251 code, so we can rename it. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit ef2f8d45771490de5b8373c25e983ee1e3aee9ea Author: Kalle Valo Date: Fri Jun 12 14:17:19 2009 +0300 wl1251: add wl1251 prefix to all 1251 files Now that all 1271 files are split, we can add wl1251_ prefix to the files. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit c731837855a9dcc2ec0c5367b0e16ad975aaed16 Author: Kalle Valo Date: Fri Jun 12 14:17:12 2009 +0300 wl1251: remove wl1271_setup() We don't want to have any 1271 code in wl1251. Signed-off-by: Kalle Valo Reviewed-by: Luciano Coelho Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit c5ce901b3fdb2312f896f138ac864a7ef363c02d Author: Kalle Valo Date: Fri Jun 12 14:17:06 2009 +0300 wl12xx: rename driver to wl1251 Rename driver to wl1251.ko in preparation for wl1271 driver. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit e6f0b5c2993609c576a0c45e86f7e5b6dd0ae421 Author: Kalle Valo Date: Fri Jun 12 14:16:58 2009 +0300 wl12xx: rename wl1251.c wl1251_ops.c In preparation to split wl12xx to wl1251 and wl1271. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit 77cc9e43cee58303893f3a4fb8eaa2a3288c9c17 Author: Juuso Oikarinen Date: Fri Jun 12 14:16:52 2009 +0300 wl12xx: Use chipset specific join commands Add implementation to use chipset specific join commands. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit ce650b5cde686a282aed860bb5cd7368e00eac07 Author: Vidhya Govindan Date: Fri Jun 12 14:16:45 2009 +0300 wl12xx: Assign value to rx msdu lifetime variable The patch "wl12xx: cmd and acx interface rework" failed to assign MSDU lifetime value in wl12xx_acx_rx_msdu_life_time() and breaks the functionality. This patch fixes the regression by assigning the correct value. Signed-off-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0182f8d56c1836629f8331a19bd71e3833b81769 Author: Kalle Valo Date: Fri Jun 12 14:16:39 2009 +0300 wl12xx: enable ELP mode ELP mode is working now, let's enable it so that the firmware can sleep and reduce power consumption. Signed-off-by: Kalle Valo Reviewed-by: Luciano Coelho Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c5483b71936333ba9474f57d0f3a7a7abf9b87a0 Author: Kalle Valo Date: Fri Jun 12 14:16:32 2009 +0300 wl12xx: check if elp wakeup failed Check the return call from wl12xx_ps_elp_wakeup() and bail out if it fails. This shouldn't happen, but if does there's a fundamental low level issue. Signed-off-by: Kalle Valo Reviewed-by: Luciano Coelho Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 01d9cfbdaadc64a46b57437c989bbad241074135 Author: Kalle Valo Date: Fri Jun 12 14:16:26 2009 +0300 wl12xx: optimise elp wakeup and sleep calls The wakeup call was done too deep in code path, it's better to wakeup chip from higher levels. This will also reduce wakeup calls significantly. Signed-off-by: Kalle Valo Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit cee4fd2712a3db21f432bdff14e59aed160453b2 Author: Kalle Valo Date: Fri Jun 12 14:16:20 2009 +0300 wl12xx: protect wl12xx_op_set_rts_threshold() The function doesn't lock the mutex before sending the acx. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 6021b2895891b161f73ede9938c101234c63218e Author: Ari Kauppi Date: Fri Jun 12 14:16:13 2009 +0300 wl12xx: Fix CMD_TEST regression via netlink. CMD_TEST via netlink API has been broken since e29c3f59cfbc38c3b481a2694b08962da19c4664: cmd and acx interface rework. The user of the interface sends the request in a buffer without the wl12xx_command header but expects the response to have the wl12xx_command header (with id and status). This patch reverts the e29c3f5 commit for cmd.c:wl12xx_cmd_test and implements the needed wrapper functionality in netlink.c. Now the API of wl12xx_cmd_test and rest of wl12xx_cmd_* commands in cmd.c are similar. Signed-off-by: Ari Kauppi Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit c518a73e537a2c7b83e490335ddedb6465fa5f73 Author: Ari Kauppi Date: Fri Jun 12 14:16:07 2009 +0300 wl12xx: Fix incorrect warning message. A warning message in wl12xx_acx_event_mbox_mask has a copy/paste error. Fix it to print the correct acx command. Signed-off-by: Ari Kauppi Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 8ec8beb28361864c82153fec5ddb82c9d636430f Author: Juuso Oikarinen Date: Fri Jun 12 14:16:00 2009 +0300 wl12xx: Add support for block reading from a fixed register address Add support for block reading (multiple bytes) from a fixed chipset register address. This is required for the wl1271 TX data path. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 9f2ad4fb52916e58a1b75e9a30f42638655932d3 Author: Juuso Oikarinen Date: Fri Jun 12 14:15:54 2009 +0300 wl12xx: Moved wl1251 TX path implementation into chip specific files Moved wl1251 TX path implementation into chip specific files to enable parallel implementation for the wl1271 TX path. Signed-off-by: Juuso Oikarinen Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 9f483dc3d1b0b1695c8177c1dea2e721954b10fb Author: Luciano Coelho Date: Fri Jun 12 14:15:46 2009 +0300 wl12xx: pass the wake up condition when configuring the wake up event Changed the function wl12xx_acx_wake_up_conditions() so that it receives an argument with the actual wake up condition, instead of having WAKE_UP_EVENT_DTIM_BITMAP hardcoded. This is needed because we have to use different conditions in 1271. Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 052a625a859ceba68022862eeee70511f56483a5 Author: Luciano Coelho Date: Fri Jun 12 14:15:41 2009 +0300 wl12xx: add support for fixed address in wl12xx_spi_read In the wl1271 implementation, we need to read memory from the register partition using fixed addresses. This change adds the possibility to request fixed address when calling wl12xx_spi_read() or wl12xx_spi_reg_read(). Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 27797d68f70b28e77e6d183910dc7b3d7505105d Author: Luciano Coelho Date: Fri Jun 12 14:15:33 2009 +0300 wl12xx: add support for new WL1271 chip revision This patch adds the code that recognizes the new WL1271 chip revision (PG 2.0). Full support for this chip is not yet implemented and support for WL1271 PG 1.0 is not guaranteed anymore. Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0d1c38398fa8cd478a229b4428fb511f813376e8 Author: Luciano Coelho Date: Fri Jun 12 14:15:27 2009 +0300 wl12xx: moved firmware version reading routine to chip-specific functions With WL1271, the firmware version can only be read right after booting the chip. To keep WL1251 aligned with this procedure, the code that reads the firmware version initially has been moved to a common place where it can be read from both chipsets. Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit a336e266640cd9f7be96b14ff09bbb37dfa646de Author: Luciano Coelho Date: Fri Jun 12 14:15:22 2009 +0300 wl12xx: add wl12xx_spi_reg_read() and wl12xx_spi_reg_write() functions In some cases we need to read more than 32 bits from the register area. These functions were added to support that, like the existing wl12xx_spi_mem_read() and wl12xx_spi_mem_write() already do for large blocks in the memory area. Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0628817accc305201fc0e1b7f020dec618c868cc Author: Juuso Oikarinen Date: Fri Jun 12 14:15:13 2009 +0300 wl12xx: removed chipset interrupt source configuration from fw wakeup The chipset source interrupt source configuration during fw wakeup was blocking interrupts on the wl1271. The configuration is effectively unused here as it is used to trigger an interrupt for the chipset wake-up event, which is not handled, or waited for, in the fw wakeup anyway on either wl1251 or wl1271. Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 4721213fdde4456a36a5e63f02e5c2556a4df398 Author: Kalle Valo Date: Fri Jun 12 14:15:08 2009 +0300 wl12xx: fix rx descriptor use Rx descriptor was incorrectly allocated from stack, use struct wl12xx instead. Needed for DMA transfers. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 53d65423ba1bc3c38d53b27656395c632b073590 Author: Kalle Valo Date: Fri Jun 12 14:15:00 2009 +0300 wl12xx: use wl12xx_mem_read32() to read the rx counter As a side effect the transfer is now DMA safe. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 5262c12d16334a37354c93d606bdb96499f7e5fc Author: Kalle Valo Date: Fri Jun 12 14:14:55 2009 +0300 wl12xx: allocate buffer the spi busy word from struct wl12xx Needed for DMA transfers. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 56343a3cfdea4d341c7c13d26013024037eae602 Author: Kalle Valo Date: Fri Jun 12 14:14:47 2009 +0300 wl12xx: allocate buffer spi read/write command buffer kzalloc() Needed for DMA safe transfers. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 8d47cdb617e0e76e05ea0f92fc164e53bf874b30 Author: Kalle Valo Date: Fri Jun 12 14:14:41 2009 +0300 wl12xx: reserve buffer for partition command in struct wl12xx This is now DMA safe. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit c4f5c8521868789caaf704c9c2d523b40ccfcb02 Author: Kalle Valo Date: Fri Jun 12 14:14:34 2009 +0300 wl12xx: fix error handling in wl12xx_probe() Resources were not freed properly in some cases. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 1d3b8130611bbe50168ad0a12841735c9c235410 Author: Kalle Valo Date: Fri Jun 12 14:14:28 2009 +0300 wl12xx: reserver buffer for read32()/write32() in struct wl12xx The buffer is needed for DMA safe transfers. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit ff25839bf0c99e828c26864a24417a36a6b6a31e Author: Kalle Valo Date: Fri Jun 12 14:14:19 2009 +0300 wl12xx: cmd and acx interface rework Rework cmd and acx interfaces, it was just too confusing earlier. Now all commands need to contain all the needed headers, either just cmd headers or both cmd and acx headers. This accomplish to remove the extra copy done for each command. The interfaces are now properly documented as well. Also try to make all commands safe for DMA transfers. I might have missed some, but most of them should be fixed now. And this is not all! As a free bonus you will also get some cosmetic cleanups and code reorganisation. Order today! Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit c4f9f16b309b65f9f578ec4ba78b3efa106cf65d Author: Vasanthakumar Thiagarajan Date: Fri Jun 12 10:55:55 2009 +0530 ath9k: Make sure we configure a non-zero beacon interval This patch moves the sanity check on beacon interval which was done only for mesh mode to all operating modes just to be safe. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit e0d6133cba88759bc760b254c27975330fff6519 Author: Andrey Yurovsky Date: Tue Jun 16 13:20:01 2009 -0700 libertas: remove ps_supported flag, use fwcapinfo Power save support depends on the firmware capabilities rather than the card's hardware interface. Use the FW_CAPINFO_PS bit in the firmware capabilities mask throughout the driver in place of the redundant ps_supported flag and don't make decisions about PS support in the interface drivers (with the exception of a special case in the USB driver). V2: put the USB special case in the right place. Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit f0f3d388baabdbc613548d6ad8e5da7616b1cbd1 Author: Bob Copeland Date: Wed Jun 10 22:22:21 2009 -0400 ath5k: enable hardware LEDs Cardbus and some PCI cards use hardware LEDs rather than software GPIOs. Program them with the proper blink patterns when idle, scanning or associated. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13288. Tested-by: Frans Pop Tested-by: Mark Hindley Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 46026e8f487c075f9ec4d671348e351eb5e46d3e Author: Bob Copeland Date: Wed Jun 10 22:22:20 2009 -0400 ath5k: cleanup ath5k_hw struct ah_gpios array isn't used, and ah_current_channel can be a pointer instead of an embedded struct. Removing these and some other write-only variables, and moving some things around for better packing and cache utilization saves 116 bytes. text data bss dec hex filename 121762 472 64 122298 1ddba ath5k_before.ko 121646 472 64 122182 1dd46 ath5k.ko Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 8a46097a6c60dc9d2f09bf01734f3308142614b3 Author: Vasanthakumar Thiagarajan Date: Wed Jun 10 17:50:09 2009 +0530 ath9k: downgrade ASSERT() in ath_clone_txbuf() We can easily run out of tx buf if there is any stuck in transmission, so downgrade it to WARN_ON(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c3d8f02ed9699252d69a9a14276980d9df7c5fe1 Author: Vasanthakumar Thiagarajan Date: Wed Jun 10 17:50:08 2009 +0530 ath9k: Remove unnecessary count for addba attempt mac80211 already has one to keep track of number of failure addba attempts. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 089e698d235162324142063c96780aeacd546d36 Author: Vasanthakumar Thiagarajan Date: Wed Jun 10 17:50:07 2009 +0530 ath9k: Nuke unneccesary helper function to see if aggr is active IEEE80211_TX_CTL_AMPDU in tx control flags should be enough to confirm BA is negotiated for that tid. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit e36d56b64808aec54b68b4e9976180c1da0933b2 Author: Johannes Berg Date: Tue Jun 9 21:04:43 2009 +0200 cfg80211: pass netdev to change_virtual_intf If there was a reason I'm passing the ifidx I cannot remember it any more and don't see one now, so let's just pass the pointer itself. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1aaad49e856ce41adc07d8ae0c8ef35fc4483245 Author: Frans Pop Date: Mon Jul 6 13:31:48 2009 +0200 printk: Restore previous console_loglevel when re-enabling logging When logging to console is disabled from userspace using klogctl() and later re-enabled, console_loglevel gets set to the default log level instead to the previous value. This means that if the kernel was booted with 'quiet', the boot is suddenly no longer quiet after logging to console gets re-enabled. Save the current console_loglevel when logging is disabled and restore to that value. If the log level is set to a specific value while disabled, this is interpreted as an implicit re-enabling of the logging. The problem that prompted this patch is described in: http://lkml.org/lkml/2009/6/28/234 There are two variations possible on the patch below: 1) If klogctl(7) is called while logging is not disabled, then set level to default (partially preserving current functionality): case 7: /* Enable logging to console */ - console_loglevel = default_console_loglevel; + if (saved_console_loglevel == -1) + console_loglevel = default_console_loglevel; + else { + console_loglevel = saved_console_loglevel; + saved_console_loglevel = -1; + } 2) If klogctl(8) is called while logging is disabled, then don't enable logging, but remember the requested value for when logging does get enabled again: case 8: /* Set level of messages printed to console */ [...] - console_loglevel = len; + if (saved_console_loglevel == -1) + console_loglevel = len; + else + saved_console_loglevel = len; Yet another option would be to ignore the request. Signed-off-by: Frans Pop Cc: cryptsetup@packages.debian.org Cc: Andrew Morton Cc: Linus Torvalds LKML-Reference: <200907061331.49930.elendil@planet.nl> Signed-off-by: Ingo Molnar commit a1b4f1a5b7f57be2593a9f1fca465a529c95fc07 Author: Cyrill Gorcunov Date: Sun Jul 5 20:01:54 2009 +0400 x86, ipi: Clean up safe_smp_processor_id() by using the cpu_has_apic() macro helper We already use a lot of cpu_has_ helpers. Lets do here the same for consistency. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090705160154.GB4791@lenovo> Signed-off-by: Ingo Molnar commit 9ff80942992cd5abd0779c815f310f65b7b83860 Author: Cyrill Gorcunov Date: Wed Jul 8 22:03:53 2009 +0400 x86: Clean up idt_descr and idt_tableby using NR_VECTORS instead of hardcoded number Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090708180353.GH5301@lenovo> Signed-off-by: Ingo Molnar commit e202687927c132b1e1ff36b526b5e78ac33de840 Merge: a357800 8b2c70d Author: Ingo Molnar Date: Fri Jul 10 13:30:06 2009 +0200 Merge branch 'tip/tracing/ring-buffer-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/core commit 3c6aae4489e7c05f3685e9eaa538249be7c79ebe Author: Takashi Iwai Date: Fri Jul 10 12:52:27 2009 +0200 ALSA: hda - Check codec errors in snd_hda_get_connections() The codec read errors in snd_hda_get_connections() are ignored so far, and it causes a problem like the bug in the commit 9d30937accf2c01e8b0bd59787409a7348cbbcb7 ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking Better to check errors in the function and returns a proper error code rather than passing bogus NID values. Signed-off-by: Takashi Iwai commit 31909b83ea5b4035ce129bb0df622ec2d2fb3e96 Author: Takashi Iwai Date: Fri Jul 10 12:33:48 2009 +0200 ALSA: hda - Fix the merge error Fix the merge error at the commit 305355aad89f1b7eb27cb210fad2f9d3c67b2572, an addition of the missing alc880_gpio3_init_verbs to ALC882_TARGA model. Signed-off-by: Takashi Iwai commit 8259cf4342029aad37660e524178c8858f48b0ab Author: Robin Getz Date: Thu Jul 9 13:08:37 2009 -0400 printk: Ensure that "console enabled" messages are printed on the console Today, when a console is registered without CON_PRINTBUFFER, end users never see the announcement of it being added, and never know if they missed something, if the console is really at the start or not, and just leads to general confusion. This re-orders existing code, to make sure the console is added, before the "console [%s%d] enabled" is printed out - ensuring that this message is _always_ seen. This has the desired/intended side effect of making sure that "console enabled:" messages are printed on the bootconsole, and the real console. This does cause the same line is printed twice if the bootconsole and real console are the same device, but if they are on different devices, the message is printed to both consoles. Signed-off-by : Robin Getz Cc: "Andrew Morton" Cc: "Linus Torvalds" LKML-Reference: <200907091308.37370.rgetz@blackfin.uclinux.org> Signed-off-by: Ingo Molnar commit a35780005eb256eb5ec83ffcc802967295887a45 Author: Lai Jiangshan Date: Mon Jul 6 16:10:23 2009 +0800 tracing/workqueues: Add refcnt to struct cpu_workqueue_stats The stat entries can be freed when the stat file is being read. The worse is, the ptr can be freed immediately after it's returned from workqueue_stat_start/next(). Add a refcnt to struct cpu_workqueue_stats to avoid use-after-free. Signed-off-by: Lai Jiangshan Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <4A51B16F.6010608@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit d8ea37d5de58d35a39d0b4e7d209751aaa1b8174 Author: Lai Jiangshan Date: Mon Jul 6 16:10:18 2009 +0800 tracing/stat: Add stat_release() callback Add stat_release() callback to struct tracer_stat, so a stat tracer can release it's entries after the stat file has been read out. Signed-off-by: Lai Jiangshan Signed-off-by: Li Zefan Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A51B16A.6020708@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 80098c200e2ee3b4c86a9d1e156dbcd05380e08f Author: Li Zefan Date: Mon Jul 6 16:15:04 2009 +0800 kmemtrace: Rename some functions So we have: - kmemtrace_print_alloc/free() for kmemtrace default output - kmemtrace_print_alloc/free_user() for binary output used by kmemtrace-user. Suggested-by: Eduard - Gabriel Munteanu Signed-off-by: Li Zefan Acked-by: Pekka Enberg Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A51B288.70505@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 6a167c655858cbec4175532fd00417661c87f149 Author: Frederic Weisbecker Date: Thu Jul 9 04:46:30 2009 +0200 tracing/kmemtrace: Use the %pf format Remove the obsolete seq_print_ip_sym() usage and replace it by the %pf format in order to print function symbols. Signed-off-by: Frederic Weisbecker Reviewed-by: Li Zefan Cc: Steven Rostedt Cc: Lai Jiangshan Cc: Pekka Enberg Cc: Eduard - Gabriel Munteanu LKML-Reference: <1247107590-6428-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 68baafcfc46074c4bb4e4c3115c2c76a8a85f37d Author: Frederic Weisbecker Date: Thu Jul 9 04:46:29 2009 +0200 tracing/function-graph-tracer: Use the %pf format Remove the obsolete seq_print_ip_sym() usage and replace it by the %pf format in order to print function symbols. Signed-off-by: Frederic Weisbecker Reviewed-by: Li Zefan Cc: Steven Rostedt Cc: Lai Jiangshan LKML-Reference: <1247107590-6428-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit dc82ec98a4727fd51b77e92d05fe7d2db3dcc11c Author: Xiao Guangrong Date: Thu Jul 9 16:22:22 2009 +0800 tracing/filter: Remove empty subsystem and its directory Remove empty subsystem and its directory when module unload. Before patch: # rmmod trace-events-sample.ko # ls sample enable filter After patch: # rmmod trace-events-sample.ko # ls sample ls: cannot access sample: No such file or directory Signed-off-by: Xiao Guangrong Acked-by: Tom Zanussi Reviewed-by: Li Zefan Cc: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <4A55A8BE.9010707@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c5cb183608167c744cb28bbd85884be5a4ce875d Author: Xiao Guangrong Date: Thu Jul 9 16:20:12 2009 +0800 tracing/filter: Remove preds from struct event_subsystem No need to save preds to event_subsystem, because it's not used. Signed-off-by: Xiao Guangrong Acked-by: Tom Zanussi Reviewed-by: Li Zefan Cc: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <4A55A83C.1030005@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e5a8a896f5180f2950695d2d0b79db348d200ca4 Merge: bff3877 e594e96 Author: David S. Miller Date: Thu Jul 9 20:18:24 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 65c3f0a2d0f72d210c879e4974c2d222b7951321 Author: Thomas Liu Date: Thu Jul 9 10:00:31 2009 -0400 security: Wrap SMACK and SELINUX audit data structs in ifdefs Wrapped the smack_audit_data and selinux_audit_data structs in include/linux/lsm_audit.h in ifdefs so that the union will always be the correct size. Signed-off-by: Thomas Liu Acked-by: Eric Paris Signed-off-by: James Morris commit d4131ded4d4c1a5c1363ddd93ca104ed97dd0458 Author: Thomas Liu Date: Thu Jul 9 10:00:30 2009 -0400 security: Make lsm_priv union in lsm_audit.h anonymous Made the lsm_priv union in include/linux/lsm_audit.h anonymous. Signed-off-by: Thomas Liu Acked-by: Eric Paris Signed-off-by: James Morris commit ed5215a21460f63d6bdc118cb55a9e6d1b433f35 Author: Thomas Liu Date: Thu Jul 9 10:00:29 2009 -0400 Move variable function in lsm_audit.h into SMACK private space Moved variable function in include/linux/lsm_audit.h into the smack_audit_data struct since it is never used outside of it. Also removed setting of function in the COMMON_AUDIT_DATA_INIT macro because that variable is now private to SMACK. Signed-off-by: Thomas Liu Acked-by: Eric Paris I-dont-see-any-problems-with-it: Casey Schaufler Signed-off-by: James Morris commit 305355aad89f1b7eb27cb210fad2f9d3c67b2572 Merge: b1e4422 005b107 Author: Takashi Iwai Date: Thu Jul 9 18:48:38 2009 +0200 Merge branch 'fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_realtek.c Signed-off-by: Takashi Iwai commit cc369cf504c51d36765e18b0c28a09a92d28ed79 Author: Mark Brown Date: Thu Jul 9 11:28:07 2009 +0100 ASoC: WM8510 has a single frame clock so needs symmetric rates Signed-off-by: Mark Brown commit 63b2413b2ff446e30286c2bd775fd10b12d188c6 Author: Takashi Iwai Date: Thu Jul 9 11:45:59 2009 +0200 ALSA: hda - don't build digital output controls if not exist Signed-off-by: Takashi Iwai commit 7ede5a5ba55a696a6e1d8456526e44635e966a81 Author: Herbert Xu Date: Thu Jul 9 11:34:06 2009 +0800 crypto: api - Fix crypto_drop_spawn crash on blank spawns This patch allows crypto_drop_spawn to be called on spawns that have not been initialised or have failed initialisation. This fixes potential crashes during initialisation without adding special case code. Signed-off-by: Herbert Xu commit ef5d590c9b9a00b017683006fe4cf959b9532336 Author: Herbert Xu Date: Thu Jul 9 11:32:55 2009 +0800 crypto: shash - Add shash_instance_ctx This patch adds the helper shash_instance_ctx which is the shash analogue of crypto_instance_ctx. Signed-off-by: Herbert Xu commit bff38771e1065c7fc3de87e47ba366151eea573c Author: Anton Vorontsov Date: Wed Jul 8 11:10:56 2009 -0700 netpoll: Introduce netpoll_carrier_timeout kernel option Some PHYs require longer timeouts for carrier detection, and auto-negotiation process may take indefinite amount of time. It may be inconvenient to force longer timeouts for sane PHYs, so let's introduce a kernel command line option. Since we're using module_param(), the option also can be changed in runtime. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit cb507e7e79f3c0e45ecaefad9220c34fcfbe74e8 Author: Mark Brown Date: Wed Jul 8 18:54:57 2009 +0100 ASoC: Add pop delay debug at end of DAPM sequencing Provide an interval after the end of DAPM sequencing so that we can distinguish between a pop in the final step of the sequence and a pop generated from some other source outside DAPM. Signed-off-by: Mark Brown commit 34701fde8f4bf207ca96d10b8700a8667157854c Author: Divy Le Ray Date: Tue Jul 7 19:48:32 2009 +0000 cxgb3: Drain Mac Tx fifo when the port goes down. Drain the MAC TX fifos when a port goes down. Back pressure might otherwise occur, leading to both ports of the same adapter to hang. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 88045b3cf0f8981129cb489c7b6bc36c21dd33a7 Author: Divy Le Ray Date: Tue Jul 7 19:49:04 2009 +0000 cxgb3: fix mac index mapping Override the mac index computation for the gen2 adapter, as each port is expected to use index 0. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit dce7d1d031aeaa8c65bd37ff2480dc450a68185e Author: Divy Le Ray Date: Tue Jul 7 19:48:59 2009 +0000 cxgb3: Fix mss table initialization Fix the HW SMT table initialization to avoid random mss miscomputations for offload connections. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 2e8c07c35b3ffee7689406be61fd1448ee45d3cd Author: Divy Le Ray Date: Tue Jul 7 19:49:09 2009 +0000 cxgb3: use request_firmware() for the EDC registers setup use request_firmware() to load the phy's EDC programmation Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 5e659515569220701bfe3c8936dcab67554cc286 Author: Divy Le Ray Date: Tue Jul 7 19:48:43 2009 +0000 cxgb3: AEL2020 phy support update We don't always see the link status update interrupt when we come out of reset and the peer is up. Check and report the link status right before enabling interrupts. Also fix LED settings, to get a consistent link status. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit cfe2462c6af309ee70e4aeefa55cae976071b9e2 Author: Divy Le Ray Date: Tue Jul 7 19:48:38 2009 +0000 cxgb3: Fix T3C MAC max packet size access Max packet size is not the only field in T3C's High Water Mark register. Mask the register to access this field. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 619f05cf690149bef1f15cd0cec6a31b40d96951 Author: Divy Le Ray Date: Tue Jul 7 19:48:53 2009 +0000 cxgb3: fix phy power down 2 phys are were not getting the Global Tx disable bit set when powered down, leading to an inconsistent link state on peer. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 2c3d50f7db6c4aa85b099613aba8660da6de75d4 Author: Divy Le Ray Date: Tue Jul 7 19:48:48 2009 +0000 cxgb3: AQ100X phy support update Add missing SUPPORTED_TP flag. Update FW version checking. Do the full initialization even if the FW version is unknown, it might help catching further issues. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 96fd6d471b2c953df5379a356be04f8c8f8b4bdf Author: Mark Brown Date: Wed Jul 8 18:26:16 2009 +0100 ASoC: Configure WM8731 SYSCLK at startup on AT91SAM9G20-EK The system clock is currently fixed by the driver and this avoids the need for us to handle errors with enabling and disabling MCLK (which was incorrect previously so this fixes bugs in error handling). Signed-off-by: Mark Brown commit 22df8eb4fe293d67c98732e02a2dbef0d9c6cd96 Author: Mark Brown Date: Wed Jul 8 18:18:19 2009 +0100 ASoC: Disable microphone input for AT91SAM9G20-EK by default As shipped the board does not have inputs but it is relatively straightforward to modify the board to hook them up so support is provided in the driver. When these modifications have not been made enabling the microphone stage can cause problems. Add an ifdef to disable this by default. Don't put it into Kconfig since users will have to get their soldering irons out to change things. Signed-off-by: Mark Brown commit 2a01e5f3587be459c934d711bffddc14d66386f3 Author: Mark Brown Date: Wed Jul 8 18:05:51 2009 +0100 ASoC: Use CODEC as clock master on AT91SAM9G20-EK This simplifies the driver by removing the need to manually configure dividers within the CPU and improve audio performance by ensuring that the optimal phase relationships between the clocks in the system are maintained. Note that currently this means that for playback to work the Output Mixer HiFi switch must be enabled since otherwise CODEC will not generate the DAC clock. Signed-off-by: Mark Brown commit 4934482d93ca42d57180e08bf3ee6b77124f5f8e Author: Mark Brown Date: Wed Jul 8 17:48:12 2009 +0100 ASoC: Limit WM8731 to symmetric rates While the hardware is capable of some limited asynmmetric modes the driver does not currently support those modes so tell applications that only symmetric rates are available. Signed-off-by: Mark Brown commit 942c435ba79fd263a922bb114d56eccab6250662 Author: Mark Brown Date: Fri Jun 5 16:32:59 2009 +0100 ASoC: Add WM8993 CODEC driver The WM8993 is a highly integrated ultra-low power hi-fi CODEC designed for portable devices such as multimedia phones. Signed-off-by: Mark Brown commit ff7d04b130d76ab3a7b79120070346ccf3a72b3f Author: Mark Brown Date: Wed Jul 8 16:54:51 2009 +0100 ASoC: DaVinci I2S needs mach/asp.h Reported-by: Troy Kisky Signed-off-by: Mark Brown commit ef38ed888eee33af93a006db6e337d71320dfa2b Author: Mark Brown Date: Wed Jul 8 17:05:43 2009 +0100 ASoC: Correct WM8731 Mic Capture Switch control name Signed-off-by: Mark Brown commit d00efa648d3c78ba212f08facf0defdff385dc28 Author: Mark Brown Date: Wed Jul 8 16:53:12 2009 +0100 ASoC: Add TLV information for WM8731 Signed-off-by: Mark Brown commit deee2289b932d512035f579b8f8e178796564ba1 Author: Herbert Xu Date: Wed Jul 8 23:39:01 2009 +0800 crypto: shash - Propagate reinit return value This patch fixes crypto_shash_import to propagate the value returned by reinit. Signed-off-by: Herbert Xu commit f88ad8de282a9c4afd79fb0b4b536025f24a2005 Author: Herbert Xu Date: Wed Jul 8 23:32:08 2009 +0800 crypto: shash - Use finup in default digest This patch simplifies the default digest function by using finup. Signed-off-by: Herbert Xu commit 6e5414750af8a521c3ba7805d6ad460ba21df1a1 Author: Troy Kisky Date: Tue Jul 7 17:36:06 2009 -0700 ASoC: DaVinci: pcm, don't play 1st sound period twice Update the dma link with correct data as soon as the master channel has copied it. Otherwise, the 1st period will play twice. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 0390e6aecf571ddac934e6c0644bb4038167b698 Author: Herbert Xu Date: Wed Jul 8 22:36:36 2009 +0800 crypto: shash - Add __crypto_shash_cast This patch adds __crypto_shash_cast which turns a crypto_tfm into crypto_shash. It's analogous to the other __crypto_*_cast functions. It hasn't been needed until now since no existing shash algorithms have had an init function. Signed-off-by: Herbert Xu commit cde6263fa954dfc03ebe169aa3f7f71176d7901b Author: Herbert Xu Date: Wed Jul 8 22:32:07 2009 +0800 crypto: shash - Add crypto_shash_ctx_aligned This patch adds crypto_shash_ctx_aligned which will be needed by hmac after its conversion to shash. Signed-off-by: Herbert Xu commit cc6a8acdeee932f6911d8b236d2c7d6bcc4616f6 Author: Takashi Iwai Date: Tue Jun 17 16:39:06 2008 +0200 ALSA: Fix SG-buffer DMA with non-coherent architectures Using SG-buffers with dma_alloc_coherent() is often very inefficient on non-coherent architectures because a tracking record could be allocated in addition for each dma_alloc_coherent() call. Instead, simply disable SG-buffers but just allocate normal continuous buffers on non-supported (currently all but x86) architectures. Signed-off-by: Takashi Iwai commit b1e4422f96a9b4830ffd8119b05211abb830ef4a Author: William Weston Date: Wed Jul 8 01:10:05 2009 -0700 ALSA: hda - Add quirks for RTL888 & RV630/M76 based MSI GX710 Signed-off-by: William Weston Signed-off-by: Takashi Iwai commit 619a6ebd2547f3a8ec2fbc5245daaa1f2056eb32 Author: Herbert Xu Date: Wed Jul 8 18:46:23 2009 +0800 crypto: shash - Add shash_register_instance This patch adds shash_register_instance so that shash instances can be registered without bypassing the shash checks applied to normal algorithms. Signed-off-by: Herbert Xu commit 7d6f56400a695af497a8b7c23ea0ff9c3d9d99f4 Author: Herbert Xu Date: Wed Jul 8 17:56:28 2009 +0800 crypto: shash - Add shash_attr_alg2 helper This patch adds the helper shash_attr_alg2 which locates a shash algorithm based on the information in the given attribute. Signed-off-by: Herbert Xu commit d06854f0243d91badabaab14503f7f3bb770061d Author: Herbert Xu Date: Wed Jul 8 17:53:16 2009 +0800 crypto: api - Add crypto_attr_alg2 helper This patch adds the helper crypto_attr_alg2 which is similar to crypto_attr_alg but takes an extra frontend argument. This is intended to be used by new style algorithm types such as shash. Signed-off-by: Herbert Xu commit 942969992d86330c9700e2cd9afe8a6bea42df78 Author: Herbert Xu Date: Wed Jul 8 17:21:37 2009 +0800 crypto: shash - Add spawn support This patch adds the functions needed to create and use shash spawns, i.e., to use shash algorithms in a template. Signed-off-by: Herbert Xu commit 97eedce1a64a57648ac5e39f03825528c47ba72e Author: Herbert Xu Date: Wed Jul 8 15:55:52 2009 +0800 crypto: api - Add new style spawn support This patch modifies the spawn infrastructure to support new style algorithms like shash. In particular, this means storing the frontend type in the spawn and using crypto_create_tfm to allocate the tfm. Signed-off-by: Herbert Xu commit 2e4fddd8e420e8f531a34e7a97f9cdb851a6ad13 Author: Herbert Xu Date: Tue Jul 7 15:17:12 2009 +0800 crypto: shash - Add shash_instance This patch adds shash_instance and the associated alloc/free functions. This is meant to be an instance that with a shash algorithm under it. Note that the instance itself doesn't have to be shash. Signed-off-by: Herbert Xu commit 277a57c710ff73af1213f5d4b42bf6458c1ebca3 Author: Takashi Iwai Date: Wed Jul 8 12:42:08 2009 +0200 ALSA: hda - Fix compile warnings in patch_cirrus.c Signed-off-by: Takashi Iwai commit 09bb9aa0ed22bea814b0f137390f911af33ddd1b Author: Maxime Bizon Date: Wed Jul 1 01:29:36 2009 +0000 MIPS: BCM63XX: Add integrated ethernet PHY support for phylib. Signed-off-by: Maxime Bizon Signed-off-by: Ralf Baechle drivers/net/phy/Kconfig | 6 ++ drivers/net/phy/Makefile | 1 drivers/net/phy/bcm63xx.c | 132 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 139 insertions(+) create mode 100644 drivers/net/phy/bcm63xx.c Signed-off-by: David S. Miller commit 460deefae62db4472e8bd16b21c7d70f3c7fd785 Author: Paul Moore Date: Tue Jul 7 08:11:33 2009 +0000 tun: Remove a dead line of code Remove an unnecessary assignment. Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit 50f238fdf38e37f0350be17c36e3ec0fd298cc40 Author: Anton Vorontsov Date: Tue Jul 7 08:38:42 2009 +0000 ucc_geth: Add support for skb recycling We can reclaim transmitted skbs to use in the receive path, so-called skb recycling support. Also reorder ucc_geth_poll() steps, so that we'll clean tx ring firstly, thus maybe reclaim some skbs for rx. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 8b2c70d1e43074cc06afe99b0de12b686d9c9d02 Author: Steven Rostedt Date: Wed Jun 10 15:45:41 2009 -0400 ring-buffer: add design document This adds the design document for the ring buffer and also explains how it is designed to have lockless writes. Signed-off-by: Steven Rostedt commit 77ae365eca895061c8bf2b2e3ae1d9ea62869739 Author: Steven Rostedt Date: Fri Mar 27 11:00:29 2009 -0400 ring-buffer: make lockless This patch converts the ring buffers into a completely lockless buffer recording system. The read side still takes locks since we still serialize readers. But the writers are the ones that must be lockless (those can happen in NMIs). The main change is to the "head_page" pointer. We write to the tail, and read from the head. The "head_page" pointer in the cpu buffer is now just a reference to where to look. The real head page is now kept in the head_page->list->prev->next pointer. That is, in the list head of the previous page we set flags. The list pages are allocated to be aligned such that the lowest significant bits are always zero pointing to the list. This gives us play to put in flags to their pointers. bit 0: set when the page is a head page bit 1: set when the writer is moving the page (for overwrite mode) cmpxchg is used to update the pointer. When the writer wraps the buffer and the tail meets the head, in overwrite mode, the writer must move the head page forward. It first uses cmpxchg to change the pointer flag from 1 to 2. Once this is done, the reader on another CPU will not take the page from the buffer. The writers need to protect against interrupts (we don't bother with disabling interrupts because NMIs are allowed to write too). After the writer sets the pointer flag to 2, it takes care to manage interrupts coming in. This is discribed in detail within the comments of the code. Changes in version 2: - Let reader reset entries value of header page. - Fix tail page passing commit page on reader page test. - Always increment entries and write counter in rb_tail_page_update - Add safety check in rb_set_commit_to_write to break out of infinite loop - add mask in rb_is_reader_page [ Impact: lock free writing to the ring buffer ] Signed-off-by: Steven Rostedt commit 3adc54fa82a68be1cd1ac82ad786ee362796e50a Author: Steven Rostedt Date: Mon Mar 30 15:32:01 2009 -0400 ring-buffer: make the buffer a true circular link list This patch changes the ring buffer data pages from using a link list head pointer, to making each buffer page point to another buffer page and never back to a "head". This makes the handling of the ring buffer less complex, since the traversing of the ring buffer pages no longer needs to account for the head pointer. This change also is needed to make the ring buffer lockless. [ Changes in version 2: - Added change that Lai Jiangshan mentioned. From: Lai Jiangshan Date: Thu, 11 Jun 2009 11:25:48 +0800 LKML-Reference: <4A30793C.6090208@cn.fujitsu.com> I'm not sure whether these 4 lines: bpage = list_entry(pages.next, struct buffer_page, list); list_del_init(&bpage->list); cpu_buffer->pages = &bpage->list; list_splice(&pages, cpu_buffer->pages); equal to these 2 lines: cpu_buffer->pages = pages.next; list_del(&pages); If there are equivalent, I think the second one are simpler. It may be not a really necessarily cleanup. What I asked is: if there are equivalent, could you use these two line: cpu_buffer->pages = pages.next; list_del(&pages); ] [ Impact: simplify the ring buffer to help make it lockless ] Signed-off-by: Steven Rostedt commit 3f405b46a91c0c4cdfa6077b4e1853f35a94e8ef Merge: 4ec5c96 efd13be Author: Mark Brown Date: Tue Jul 7 19:18:46 2009 +0100 Merge branch 'davinci' into for-2.6.32 Conflicts: sound/soc/davinci/davinci-i2s.c commit 72b43cf1402169e8bc088838a6db91d613c35627 Author: Ondrej Zary Date: Tue Jul 7 18:09:48 2009 +0200 ALSA: cmi8330: Allow MPU-401-less operation Adding MPU-401 support to cmi8330 driver could cause a regression (non-working sound) on a system where there is no free IRQ for the MPU-401 device (which is not very uncommon as this card requires two separate IRQs plus a third one for MPU-401). When MPU-401 PnP configuration fails (mostly because of unavailable IRQ), just ignore MPU-401 and continue without it. Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit 70ec7bb91ad0d6cce84c8e17f8cbb608dda7b18c Author: Herbert Xu Date: Tue Jul 7 14:07:37 2009 +0800 crypto: api - Add crypto_alloc_instance2 This patch adds a new argument to crypto_alloc_instance which sets aside some space before the instance for use by algorithms such as shash that place type-specific data before crypto_alg. For compatibility the function has been renamed so that existing users aren't affected. Signed-off-by: Herbert Xu commit b4dabfc452a1011882983db9e464f8ee1e3c01e6 Author: Takashi Iwai Date: Tue Jul 7 09:05:07 2009 +0200 ALSA: hda - Fix the speaker volume control name Increase the name string buffer size so that "Surround Speaker Playback Volume" won't be truncated. Signed-off-by: Takashi Iwai commit ed208255e700073c34b0ef8d2045ac030ac28971 Author: Takashi Iwai Date: Tue Jul 7 09:04:26 2009 +0200 ALSA: hda - Add GPIO setup for MacBook pro 5,5 with CS420x GPIO3 seems corresponding to EAPD that is required for the speaker output. Signed-off-by: Takashi Iwai commit 0b959167237208bc1a811e30bf866cd29bff1652 Author: Ondrej Zary Date: Mon Jul 6 22:08:04 2009 +0200 ALSA: cmi8330: find OPL3 port automatically My CMI8329 had OPL3 port specified in SB16 resources. But now I found out that it was my modification of the card's PnP EEPROM a couple of years ago (can be done using C9SETROM.EXE utility). I did it because the OPL3 port was completely missing from PnP data. It seems to be hardwired to 0x388 on CMI8329. Find OPL3 port automatically by searching in WSS and SB16 resources. If not found, assume that it's hardwired to 0x388. Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit f2ac72e8268d9559c3114d5a22679f91f80a2238 Author: Herbert Xu Date: Tue Jul 7 12:30:33 2009 +0800 crypto: api - Add new template create function This patch introduces the template->create function intended to replace the existing alloc function. The intention is for create to handle the registration directly, whereas currently the caller of alloc has to handle the registration. This allows type-specific code to be run prior to registration. Signed-off-by: Herbert Xu commit ef0657c49e0f93dcebc9b4719e4fe0b478411f60 Author: Julia Lawall Date: Mon Jul 6 19:09:50 2009 -0700 drivers/net/cs89x0.c: Avoid using magic number in set_dma_mode The constant DMA_RX_MODE is defined to be 0x14 in the local include file cs89x0.h. Since a constant with the same name is used elsewhere with set_dma_mode, it seems likely that this constant could be used here. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E1; identifier I; constant int C; @@ ( set_dma_mode(E1,I,...) | *set_dma_mode(E1,C,...) ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 5dcc60b71886795965fd5029b5d9a9ba7b5a2c17 Author: Yeasah Pell Date: Mon Jul 6 18:12:33 2009 -0700 dm9000: add checksum offload support Add checksum offload support for DM9000A and DM9000B chips. v2 changes: added a local copy of ip_summed to save IO cycles in dm9000_send_packet v3 changes: trans_start updating is removed. Signed-off-by: Yeasah Pell Signed-off-by: Mike Rapoport Signed-off-by: David S. Miller commit 482d804cb4b520b6e3134c959c968712ebcdea02 Author: Mark Smith Date: Mon Jul 6 11:05:58 2009 +0000 econet: use NET_RX_SUCCESS instead of magic number 0 for econet_rcv successful return Signed-off-by: Mark Smith Signed-off-by: David S. Miller commit 5c91face51d29f553a444d16db4ac2c6162a3cd0 Author: Mark Smith Date: Mon Jul 6 11:26:24 2009 +0000 ipv6: correct return on ipv6_rcv() packet drop The routine ipv6_rcv() uses magic number 0 for a return when it drops a packet. This corresponds to NET_RX_SUCCESS, which is obviously incorrect. Correct this by using NET_RX_DROP instead. ps. It isn't exactly clear who the IPv6 maintainers are, apologies if I've missed any. Signed-off-by: Mark Smith Signed-off-by: David S. Miller commit b7cb8c2c8275ab081b97610b13a83c80904571a6 Author: Jesse Brandeburg Date: Mon Jul 6 10:45:01 2009 +0000 e1000: fix flow control thresholds when testing the jumbo frames with pages patch, the stats would show rx_missed errors (dropped packets) even when connected to a link partner with flow control enabled. this indicates that for this MTU (9000) the flow control thresholds are not adjusting correctly. In fact, before this change, the FCRTH (xoff threshold) is 36864 when the fifo size is only 40000, with 9000 byte MTU. fix it so that we at least have room for one frame after we send the xoff. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit edbbb3ca107715067b27a71e6ea7f58750912aa2 Author: Jesse Brandeburg Date: Mon Jul 6 10:44:39 2009 +0000 e1000: implement jumbo receive with partial descriptors This is code extremely similar to what is committed in e1000e already. e1000 will no longer request 32kB slab buffers to support jumbo frames on PCI/PCI-X adapters. This will significantly reduce the likelyhood of order:3 allocation failures. This new code adds support for using pages as receive buffers, and the driver will chain multiple pages together to build a jumbo frame for OS consumption. The hardware takes a power of two buffer size and will dump as much data as it can receive into 1 or more buffers. The benefits of applying this are 1) stop akpm's dissing :-) of this lame e1000 behavior [1] 2) more efficient memory allocation (half) when using jumbo frames, which will also allow for much better socket utilization with jumbos since the socket is charged for the full allocation of each receive buffer, regardless of how much is used. 3) this was a feature request by a customer 4) copybreak for small packets < 256 bytes still applies [1] http://lkml.org/lkml/2008/7/10/68 http://article.gmane.org/gmane.linux.network/130986 Signed-off-by: Jesse Brandeburg CC: Andrew Morton Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 94c9e5a89349a1f1ebabe0876c059dc387b8b2a0 Author: Jesse Brandeburg Date: Mon Jul 6 10:44:20 2009 +0000 e1000: allow ethtool coalesece to adjust interrupts per second This patch allows on-the-fly adjustment of the interrupts per second generated by e1000 devices 82545/82546 (hardware support of ITR register is a requirement) adjust using this command: ethtool -C eth0 rx-usecs 10 where 10 is 10 microseconds per interrupt interval, so 10 = 100,000 interrupts per second, and 125 = 8000 interrupts per second. changes should be immediate. 1,3 are special values and indicate the automatic tuning mode to the driver, where 1 is 4000-90000 interrupts per second and 3 is 4000-20000 interrupts per second and is the driver default. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4ec5c9693b46ab34976511cd43bf75c3a0fc704d Merge: 1e30a58 637a935 Author: Mark Brown Date: Mon Jul 6 21:49:35 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit f77139c07a0e1dd164e039320ada50111f899223 Author: Guo-Fu Tseng Date: Mon Jul 6 04:45:58 2009 +0000 jme: Advance driver version number Advance driver version number after modifications. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit ce7d70af2c8b9c74e8afb2c0d69e304d141ce4aa Author: Guo-Fu Tseng Date: Mon Jul 6 04:41:22 2009 +0000 jme: Tuning rxsum function 1. Use more efficient way to determine flag status. 2. Hardware dose not mark fragment bit against IPv6 packets, print TCP/UDP checksum warning message for IPv4 packets only. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit d1dfa1d1de855e8db58ec4e403af5939d273f8fe Author: Guo-Fu Tseng Date: Mon Jul 6 04:40:38 2009 +0000 jme: Remove shadow register support The hardware failed to update the shadow register in several cases. It's known to be failed at 64bit box with more than 4G RAM. In order to make the device working stable, give up using the shadow register feature. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 47bd10d14b3341004266395014007c120a359c9d Author: Guo-Fu Tseng Date: Mon Jul 6 04:39:46 2009 +0000 jme: Change bufinf memory location Instead of using a large chunk of memory space preserved for for modules, using kmalloc to obtain the needed memory. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 44d8d2e9f0dfa52bb1aebdbaa510669bff61c9dc Author: Guo-Fu Tseng Date: Mon Jul 6 04:38:35 2009 +0000 jme: Fix typo Fix enum typo in jme.h Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 38ed0c2107dea55347504042ed4e1d0cbc3e9100 Author: Guo-Fu Tseng Date: Mon Jul 6 04:37:52 2009 +0000 jme: Fix unmatched tasklet_{enable|disable} pair Fix faulty tasklet function usage. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit eacf69a156dd068b3dfaa0aeb4874cda8633de87 Author: Guo-Fu Tseng Date: Mon Jul 6 04:36:30 2009 +0000 jme: Some minor coding style consistency modifications Making coding style more consistent. Signed-off-by: Guo-Fu Tseng Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit a6bae20559bb0371e89ebc46689e9cf4e7816813 Author: Takashi Iwai Date: Mon Jul 6 15:15:22 2009 +0200 ALSA: hda - Add quirk for MacBook Pro 5,5 with CS4206 Add the default pin configs for MBP55. Signed-off-by: Takashi Iwai commit 60e53882ace216cf58fc847a94d839f32b8eb7bf Author: Takashi Iwai Date: Mon Jul 6 15:01:09 2009 +0200 ALSA: hda - Fix double creation of SPDIF input controls Signed-off-by: Takashi Iwai commit 9983aa62c321a22774e47cf701b6d8b16d92a822 Author: Takashi Iwai Date: Mon Jul 6 14:31:59 2009 +0200 ALSA: info - Use krealloc() Use krealloc() to resize the buffer in sound/core/info.c. Signed-off-by: Takashi Iwai commit 40c20fa05a29766565f56ede17d0ffa539e1c9a9 Author: Takashi Iwai Date: Mon Jul 6 13:00:57 2009 +0200 ALSA: hda - Add CS420x-specific coef setup Signed-off-by: Takashi Iwai commit ea35929b886975a240660b3ba6c61826761731ad Author: Takashi Iwai Date: Mon Jul 6 12:58:59 2009 +0200 ALSA: hda - Force to initialize input mixer setup for CS420x Signed-off-by: Takashi Iwai commit 21a4dc43acdd547335f59ad52efeef5160247736 Author: Takashi Iwai Date: Mon Jul 6 12:55:46 2009 +0200 ALSA: hda - Fix cirrus codec parsing The parser wasn't called in the proper order. Split now the parser to be called in patch_cirrus(), and the rest are just for building PCMs and controls. Signed-off-by: Takashi Iwai commit dfbf9511155d3584b8747c935216077f46eb9a4f Author: Andreas Mohr Date: Sun Jul 5 13:55:46 2009 +0200 ALSA: azt3328: large codec cleanup, add I2S port etc. - fully separate codec I/O port handling, enabling the use of a single function each for all codecs (playback, capture, I2S out) - add a new separate pcm for I2S out port (UNTESTED, no I2S DAC available yet) - switch gameport to low frequency while idle, to try to reduce noise/power - improve snd_azf3328_codec_setdmaa() calculation - minor variable type cleanup (u16, bool etc.) - add some doc updates (help those lost Windows users, debug help, ...) Note that due to the large cleanup aspect of the codec I/O change, I was able to fit everything including all improvements into the same binary size!! (a measly 10 bytes more or so) This should now be the almost last patch to this driver (minus some possible kernel clocksource patch and x86_64 fixes or so). I just felt like taking a break from the usual stuff and wanted to get this driver's structure finished, and it's rather clean now... Tested, working and checkpatch.pl:ed on 2.6.30-rc5, applies cleanly to 2.6.30 proper. Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai commit 3eff8958308ed875a4e845d59a498288f8bbad77 Author: Andreas Mohr Date: Sun Jul 5 13:28:48 2009 +0200 ALSA: azt3328: fix Kconfig entry This driver is about as far from being experimental as it can ever get for an undocumented card, thus create this patch (interestingly it was the only EXPERIMENTAL remaining in the entire Kconfig file). Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai commit ec634fe328182a1a098585bfc7b69e5042bdb08d Author: Patrick McHardy Date: Sun Jul 5 19:23:38 2009 -0700 net: convert remaining non-symbolic return values in ndo_start_xmit() functions This patch converts the remaining occurences of raw return values to their symbolic counterparts in ndo_start_xmit() functions that were missed by the previous automatic conversion. Additionally code that assumed the symbolic value of NETDEV_TX_OK to be zero is changed to explicitly use NETDEV_TX_OK. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a73e76e23c20c05cb8c0b7ba8bc9daa04b05c80f Author: Sreenivasa Honnur Date: Wed Jul 1 21:18:43 2009 +0000 vxge: Version update - Version update Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 0a25bdc69634fb343c4b23e3422a37e5819448f1 Author: Sreenivasa Honnur Date: Wed Jul 1 21:18:06 2009 +0000 vxge: Printing the function's configured mode of operation - Printing the function's configured mode of operation. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 22fa125ee24f8db497fa447c145a4a1293fab098 Author: Sreenivasa Honnur Date: Wed Jul 1 21:17:24 2009 +0000 vxge: Disable fcs stripping. - Disable fcs stripping. The minimum frame size that can be received by the hardware is 57 Bytes. A 64 Byte Ethernet frame with the vlan tag and fcs stripped will result in a 56 Byte frame which will lock up the receive engine. The work around is to disable fcs stripping in the hardware which is done with a firmware upgrade. The fixes are - 1. Ensure that the correct firmware version is used. 2. Decrement the indicated packet length of the receive packet by 4 bytes (FCS length). Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit a5d165b571fcf347e82af6292074d2f0c07de3a6 Author: Sreenivasa Honnur Date: Wed Jul 1 21:16:37 2009 +0000 vxge: Fixes in isr routine - Fixes in isr routine Fixed crash with INTA mode during driver unload. Pass hldev to request_irq instead of vdev. Fixed Traffic failure with GRO in INTA mode. Pass the correct napi context to gro functions. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 6052ae1676b705c67133542e663ec3380f032e2c Author: Sreenivasa Honnur Date: Wed Jul 1 21:15:41 2009 +0000 vxge: Removed the code to bounds check the mss value - Removed the code to bounds check the mss value. The hardware does bounds checking and will not allow an oversized mss to lockup the transmit path. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 3255da416de6da8b3bac6d30b8eed61b54953480 Author: Sreenivasa Honnur Date: Wed Jul 1 21:14:57 2009 +0000 vxge: Corrected Register map entry for xmac_link registers - Corrected Register map entry for xmac_link registers. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit bd9ee6808b6c9106fd8046693c544d081746184b Author: Sreenivasa Honnur Date: Wed Jul 1 21:14:03 2009 +0000 vxge: check for card status before continuing in device close - Fixed the crash in rmmod after vpath open failed when trying to change mtu. We should check for card status before continuing in device close. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 914d0d714fa472d7f99ef899a8180628ecdcd23c Author: Sreenivasa Honnur Date: Wed Jul 1 21:13:12 2009 +0000 vxge: Fixed memory leak by freeing memory allocated for device_config - Fixed memory leak by freeing memory allocated for device_config. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 7975d1eed732c9d50b41f5847453e324f544bd30 Author: Sreenivasa Honnur Date: Wed Jul 1 21:12:23 2009 +0000 vxge: Removed ioremap of unused bar addresses and their references - Removed ioremap of bar1 address Driver needs only bar0 address for register access - Removed references to bar1 and bar2 addresses Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit e04af024b2e74249990587e76ec98220028c01c3 Author: Cyrill Gorcunov Date: Fri Jul 3 20:11:58 2009 +0000 net, netns_xt: shrink netns_xt members In case if kernel was compiled without ebtables support there is no need to keep ebt_table pointers in netns_xt structure. Make it config dependent. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit 1490fd89474dab9c560d3cca1a4aefbdb89be247 Author: Cyrill Gorcunov Date: Fri Jul 3 20:11:57 2009 +0000 net, bridge: align br_nf_ops assignment No functional change -- just for easier reading. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit 6650613d3387dcc30685e2781818ea7d0f840027 Author: oscar.medina@motorola.com Date: Tue Jun 30 03:25:39 2009 +0000 tipc: Add socket options to get number of queued messages This patch allows a TIPC application to determine the number of messages currently waiting in a socket's receive queue (TIPC_SOCK_RECVQ_DEPTH) or in all TIPC socket receive queues (TIPC_NODE_RECVQ_DEPTH). Signed-off-by: Oscar Medina Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit af794c74240d8d788058bdfee339512e7ac029b2 Author: Rami Rosen Date: Thu Jun 25 04:42:19 2009 +0000 cleanup: remove unused member in scm_cookie. This patch removes an unused member (seq) scm_cookie; besides initialized to 0 in the header file, it is not used. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 6f5bec195839dba3ca0ab8a7a53861e679109c0b Author: Michael Opdenacker Date: Wed Jun 24 21:05:09 2009 +0000 Minor code cleanup in drivers/net/r6040.c Replaced '0' by 'bar' in the probe function. The 'bar' variable was already set to '0' and is already used in pci_iomap(). This is cleaner and improves code consistency. Signed-off-by: Michael Opdenacker Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 6ed106549d17474ca17a16057f4c0ed4eba5a7ca Author: Patrick McHardy Date: Tue Jun 23 06:03:08 2009 +0000 net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions This patch is the result of an automatic spatch transformation to convert all ndo_start_xmit() return values of 0 to NETDEV_TX_OK. Some occurences are missed by the automatic conversion, those will be handled in a seperate patch. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0e8635a8e1f2d4a9e1bfc6c3b21419a5921e674f Author: Florian Westphal Date: Sat Jun 20 00:53:25 2009 +0000 net: remove NET_RX_BAD and NET_RX_CN* defines almost no users in the tree; and the few that use them treat them like NET_RX_DROP. Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 6b1344724e10c166d9e3c17011ed879ddf302e94 Merge: 8e4a718 1ded3f5 Author: David S. Miller Date: Sun Jul 5 19:06:45 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit f6f1eb1033959f3633eafbe06dcac92b9c503c41 Author: Mark Brown Date: Sun Jul 5 17:57:57 2009 +0100 ASoC: Factor out WM8580 register cache code Note the slightly tricky cache usage in the volume update function due to the requirement for a separate write for the VU bit. Signed-off-by: Mark Brown commit 5f345346dd715d53fb2ed168a4fd432e1bdcb14d Author: Mark Brown Date: Sun Jul 5 17:35:28 2009 +0100 ASoC: Remove use of hw_read from TLV320AIC3x driver The TLV320AIC3x driver is currently the only user of the CODEC hw_read operation and is jumping through some hoops in order to do so. In order to support future refactoring to make the hw_read operation more usable unwrap the usage in this driver to avoid its use. Signed-off-by: Mark Brown commit 1e30a5828e4e9e49fcc6e471bf0d99d4fd273ba4 Author: Mark Brown Date: Sun Jul 5 17:28:41 2009 +0100 ASoC: Remove unused AK4535 hardware read functionality Nothing uses it and the existing hw_read operation needs to be refectored so it's easier to remove it rather than work with it. Support can be re-added if the code requires volatile registers. Signed-off-by: Mark Brown commit 17a52fd60a0a0e617ed94aadb1b19751a8fa219e Author: Mark Brown Date: Sun Jul 5 17:24:50 2009 +0100 ASoC: Begin to factor out register cache I/O functions A lot of CODECs share the same register data formats and therefore replicate the code to manage access to and caching of the register map. In order to reduce code duplication centralised versions of this code will be introduced with drivers able to configure the use of the common code by calling the new snd_soc_codec_set_cache_io() API call during startup. As an initial user the 7 bit address/9 bit data format used by many Wolfson devices is supported for write only CODECs and the drivers with straightforward register cache implementations are converted to use it. Signed-off-by: Mark Brown commit 5420f30723122012c7bb868a55ff21c7d383b68e Author: Mark Brown Date: Sun Jul 5 16:29:39 2009 +0100 ASoC: Fix leaks in WM8988 registration error handling Signed-off-by: Mark Brown commit 1a01417e85846e42e939a345a294e8ae2287cc1f Author: Mark Brown Date: Sun Jul 5 15:47:03 2009 +0100 ASoC: Fix WM8960 leaks on probe failure Signed-off-by: Mark Brown commit fe5422fc4ac221910083e603eb2a873280a9bd37 Author: Mark Brown Date: Sun Jul 5 15:18:01 2009 +0100 ASoC: Fix leaks in WM8731 probe error handling Signed-off-by: Mark Brown commit 096e49d5e6f7bd93395e7ddf7e0239e1644d0505 Author: Mark Brown Date: Sun Jul 5 15:12:22 2009 +0100 ASoC: Add CODEC volatile register operation Add a volatile_register() operation to the CODEC structure providing a standard operation to query if a register is volatile. This will be used to factor out the register cache I/O operations for the CODECs. Signed-off-by: Mark Brown commit af0adf3e81dbcf782388b8a7d0d7094ef5e70f50 Author: Troy Kisky Date: Sat Jul 4 19:29:59 2009 -0700 ASoC: DaVinci: i2s, add davinci_i2s_prepare and shutdown If the codec is master then prepare should call mcbsp_start, not trigger. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit f5cfa954e6812c09e3a4b89e8009b22285b860a3 Author: Troy Kisky Date: Sat Jul 4 19:29:57 2009 -0700 ASoC: DaVinci: i2s, fix mcbsp_word_length update Code previously just "ors" in this field without clearing first. Fix, by never reading this register. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 9333b594a08f2b2d8b7d96260164817acdbc5cab Author: Troy Kisky Date: Sat Jul 4 19:29:56 2009 -0700 ASoC: DaVinci: i2s, minor cleanup of davinci_i2s_startup Save a few lines of code. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 1bef449989d0866a7db366a8153135cfa3d5cad9 Author: Troy Kisky Date: Sat Jul 4 19:29:55 2009 -0700 ASoC: DaVinci: i2s, only start sample generator if needed Only start sample generator if needed, and more cleanup on davinci_mcbsp_start. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit eba575c30b93755dc0ee5e9adbb5b06d3289b62a Author: Troy Kisky Date: Sat Jul 4 19:29:54 2009 -0700 ASoC: DaVinci: i2s cleanup Move variable declaration closer to use. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit f9af37cc632b59c39768329797443308ad6b4137 Author: Troy Kisky Date: Sat Jul 4 19:29:53 2009 -0700 ASoc: DaVinci: i2s, minor cleanup Add davinci_mcbsp_dev as argument to davinci_mcbsp_start and davinci_mcbsp_stop. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit c392bec716431d77e503345117a3e7ad3face677 Author: Troy Kisky Date: Sat Jul 4 19:29:52 2009 -0700 ASoC: DaVinci: i2s toggle clock to complete reset Add toggle_clock function to complete i2s reset earlier. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 35cf63583d8d81d8ac261e944db9eeb44a60692d Author: Troy Kisky Date: Sat Jul 4 19:29:51 2009 -0700 ASoC: DaVinci: i2s, remove MOD_REG_BIT macro No functional changes. Rename variable w to something more meaningful. Remove code obfuscating macro MOD_REG_BIT. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit c71320d0c445e01555a86fa6523609db47eeaef6 Author: Rafael J. Wysocki Date: Sun Jul 5 00:22:34 2009 +0200 genirq: Fix comment describing suspend_device_irqs() The kerneldoc comment describing suspend_device_irqs() is currently misleading, because generally the function doesn't really disable interrupt lines at the chip level. Replace it with a more accurate one. Signed-off-by: Rafael J. Wysocki LKML-Reference: <200907050022.35117.rjw@sisk.pl> Signed-off-by: Thomas Gleixner commit 96ccd4a43a4d80c80be636cd025a69959cf47424 Author: Thomas Gleixner Date: Sun Jul 5 12:47:52 2009 +0200 genirq: Remove obsolete defines and typedefs The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. The last users are gone, remove them. Signed-off-by: Thomas Gleixner commit 69eb88825a7a562ee3564bdae20c35b0238307b0 Author: Ondrej Zary Date: Sat Jul 4 22:25:44 2009 +0200 cmi8330: Add basic CMI8329 support Add basic support for CMI8329 cards. Makes PCM and OPL3 work. Does not break CMI8330 (tested). Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit e3d0e69268dffb9676bf0800a60fb3573a723480 Author: Ingo Molnar Date: Sun Jul 5 09:44:11 2009 +0200 x86: Further clean up of mtrr/generic.c Yinghai noticed that i defined BIOS_BUG_MSG but added no usage for it. The usage is to clean up this turd in generic.c: printk(KERN_WARNING "WARNING: BIOS bug: VAR MTRR %d " "contains strange UC entry under 1M, check " "with your system vendor!\n", i); Breaking printk lines in the middle looks ugly, is hard to read and breaks 'git grep'. Use the BIOS_BUG_MSG instead. Also complete the moving of structure definitions and variables to the top of the file. Reported-by: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> Signed-off-by: Ingo Molnar commit 1475ef0f0367766417f10f82880178ca42922748 Merge: b0bb3aa 02358fc Author: Takashi Iwai Date: Sat Jul 4 12:20:25 2009 +0200 Merge branch 'fix/hda' into topic/hda commit dbd51be026eaf84088fdee7fab9f38fa92eef26d Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:56:28 2009 +0530 x86: Clean up mtrr/main.c Fix following trivial style problems: ERROR: trailing whitespace X 25 WARNING: Use #include instead of WARNING: Use #include instead of ERROR: do not initialise externals to 0 or NULL X 2 ERROR: "foo * bar" should be "foo *bar" X 5 ERROR: do not use assignment in if condition X 2 WARNING: line over 80 characters X 8 ERROR: return is not a function, parentheses are not required WARNING: braces {} are not necessary for any arm of this statement ERROR: space required before the open parenthesis '(' X 2 ERROR: open brace '{' following function declarations go on the next line ERROR: space required after that ',' (ctx:VxV) X 8 ERROR: space required before the open parenthesis '(' X 3 ERROR: else should follow close brace '}' WARNING: space prohibited between function name and open parenthesis '(' WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable X 2 Also use pr_debug and pr_warning where possible. total: 50 errors, 14 warnings arch/x86/kernel/cpu/mtrr/main.o: text data bss dec hex filename 3668 116 4156 7940 1f04 main.o.before 3668 116 4156 7940 1f04 main.o.after md5: e01af2fd28deef77c8d01e71acfbd365 main.o.before.asm e01af2fd28deef77c8d01e71acfbd365 main.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> Cc: Avi Kivity # Avi, please have a look at the kvm_para.h bit [ More cleanups ] Signed-off-by: Ingo Molnar commit 09b22c85d59dd935fdfa71655a443785e3f99c18 Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:54:53 2009 +0530 x86: Clean up mtrr/state.c Fix: WARNING: Use #include instead of WARNING: line over 80 characters X 4 arch/x86/kernel/cpu/mtrr/state.o: text data bss dec hex filename 864 0 0 864 360 state.o.before 864 0 0 864 360 state.o.after md5: c5c4364b9aeac74d70111e1e49667a2c state.o.before.asm c5c4364b9aeac74d70111e1e49667a2c state.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ More cleanups ] Signed-off-by: Ingo Molnar commit 3ec8dbcb09bb6df83993ca03e88cb85e3aaa8edb Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:54:16 2009 +0530 x86: Clean up mtrr/mtrr.h Fix: ERROR: do not use C99 // comments ERROR: "foo * bar" should be "foo *bar" X 2 Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ More tidyups ] Signed-off-by: Ingo Molnar commit 26dc67eda19beafb7e5ef2770cec5b3ee5995a8e Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:53:40 2009 +0530 x86: Clean up mtrr/if.c Fix: WARNING: Use #include instead of ERROR: trailing whitespace X 7 ERROR: trailing statements should be on next line X 3 WARNING: line over 80 characters X 5 ERROR: space required before the open parenthesis '(' arch/x86/kernel/cpu/mtrr/if.o: text data bss dec hex filename 2239 4 0 2243 8c3 if.o.before 2239 4 0 2243 8c3 if.o.after md5: 78d1f2aa4843ec6509c18e2dee54bc7f if.o.before.asm 78d1f2aa4843ec6509c18e2dee54bc7f if.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ More cleanups to make the code more consistent. ] Signed-off-by: Ingo Molnar commit a1a499a39911fcfecbebaba1f38588088909f918 Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:53:00 2009 +0530 x86: Clean up mtrr/generic.c Fix following trivial style problems: ERROR: trailing whitespace X 4 WARNING: Use #include instead of WARNING: braces {} are not necessary for single statement blocks X 3 ERROR: "foo * bar" should be "foo *bar" WARNING: line over 80 characters X 6 ERROR: "foo * bar" should be "foo *bar" ERROR: spaces required around that '=' (ctx:VxO) ERROR: space required before that '-' (ctx:OxV) WARNING: suspect code indent for conditional statements (8, 12) ERROR: spaces required around that '=' (ctx:VxV) ERROR: do not initialise statics to 0 or NULL ERROR: space prohibited after that open parenthesis '(' X 2 ERROR: space prohibited before that close parenthesis ')' X 2 ERROR: trailing statements should be on next line ERROR: return is not a function, parentheses are not required Also use pr_debug and pr_warning where possible. arch/x86/kernel/cpu/mtrr/generic.o: text data bss dec hex filename 5652 77 4224 9953 26e1 generic.o.before 5652 77 4220 9949 26dd generic.o.after The md5 changed: b34d6c045f06daa4ed092b90cc760e8f generic.o.before.asm a490c6251cfd8442fbffecc0e09a573d generic.o.after.asm Because mtrr_state moved from data to bss, changing its offsets - and also because __LINE__ numbers changed. Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ Further cleanups to make the code more consistent ] Signed-off-by: Ingo Molnar commit 2311037708c170977506fbcbe0a2ba0c6d221940 Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:52:08 2009 +0530 x86: Clean up mtrr/cyrix.c Fix trivial style problems: WARNING: Use #include instead of WARNING: line over 80 characters ERROR: do not initialise statics to 0 or NULL ERROR: space prohibited after that open parenthesis '(' X 2 ERROR: space prohibited before that close parenthesis ')' X 2 ERROR: trailing whitespace X 2 ERROR: trailing statements should be on next line ERROR: do not use C99 // comments X 2 arch/x86/kernel/cpu/mtrr/cyrix.o: text data bss dec hex filename 1637 32 8 1677 68d cyrix.o.before 1637 32 8 1677 68d cyrix.o.after md5: 6f52abd06905be3f4cabb5239f9b0ff0 cyrix.o.before.asm 6f52abd06905be3f4cabb5239f9b0ff0 cyrix.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ Made the code more consistent ] Signed-off-by: Ingo Molnar commit 63f9600fadb10ea739108ae93e3e842d9843c58b Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:51:32 2009 +0530 x86: Clean up mtrr/cleanup.c Fix trivial style problems: WARNING: Use #include instead of WARNING: Use #include instead of Also, nr_mtrr_spare_reg should be unsigned long. arch/x86/kernel/cpu/mtrr/cleanup.o: text data bss dec hex filename 6241 8992 2056 17289 4389 cleanup.o.before 6241 8992 2056 17289 4389 cleanup.o.after The md5 has changed: 1a7a27513aef1825236daf29110fe657 cleanup.o.before.asm bcea358efa2532b6020e338e158447af cleanup.o.after.asm Because a WARN_ON()'s __LINE__ value changed by 3 lines. Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ Did lots of other cleanups to make the code look more consistent. ] Signed-off-by: Ingo Molnar commit 6c4caa1ab737502190e416b76e6c10d2bf24276a Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:50:44 2009 +0530 x86: Clean up mtrr/centaur.c Remove dead code and fix trivial style problems: ERROR: trailing whitespace X 2 WARNING: line over 80 characters X 3 ROR: trailing whitespace ERROR: do not use C99 // comments X 2 arch/x86/kernel/cpu/mtrr/centaur.o: text data bss dec hex filename 605 32 68 705 2c1 centaur.o.before 605 32 68 705 2c1 centaur.o.after md5: a4865ea98ce3c163bb1d376a3949b3e3 centaur.o.before.asm a4865ea98ce3c163bb1d376a3949b3e3 centaur.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ Standardized comments, DocBook, curly braces, newlines. ] Signed-off-by: Ingo Molnar commit 42204455f160dab0c47f19e1be23f5c927af2d17 Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:50:00 2009 +0530 x86: Clean up mtrr/amd.c: Fix trivial style problems : ERROR: trailing whitespace WARNING: line over 80 characters ERROR: do not use C99 // comments arch/x86/kernel/cpu/mtrr/amd.o: text data bss dec hex filename 501 32 0 533 215 amd.o.before 501 32 0 533 215 amd.o.after md5: 62f795eb840ee2d17b03df89e789e76c amd.o.before.asm 62f795eb840ee2d17b03df89e789e76c amd.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ Also restructured comments to be standard, removed stray return, converted function description to DocBook style, etc. ] Signed-off-by: Ingo Molnar commit d7e57676e3ed7ab9b2c7c4bcb7873e51eacbdb84 Merge: feaa045 746a99a Author: Ingo Molnar Date: Sat Jul 4 11:00:38 2009 +0200 Merge branch 'linus' into x86/cleanups Merge reason: We were on an older pre-rc1 base, move to almost-rc2. Signed-off-by: Ingo Molnar commit b0bb3aa6233dccfccd040793d0d9ce838e4890e1 Author: Takashi Iwai Date: Fri Jul 3 23:25:37 2009 +0200 ALSA: hda - Don't override maxbps for FLOAT sharing with linear formats When FLOAT PCM format is available but together with other linear PCM formats, don't override maxbps value. For FLOAT format, it's always 32, thus it can be better checked in snd_hda_calc_stream_format(). Otherwise the maxbps 32 might be used wrongly even if the linear PCM doesn't support it. Signed-off-by: Takashi Iwai commit e488fca79fd0e864e993745ebda99e93dffebda8 Merge: 8ab9e0a aa20245 Author: Takashi Iwai Date: Fri Jul 3 15:03:35 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 6814044324e745e7c55aaf4bd47bdfd9a51d842a Author: Lopez Cruz, Misael Date: Fri Jul 3 02:21:39 2009 -0500 ASoC: TWL4030: Add tristate callbacks for HiFi and Voice Add "set_tristate" callbacks for HiFi and Voice DAIs. Machine drivers can enable and disable tristate for each DAI with "snd_soc_dai_set_tristate" function. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 1b6ebdd7bbdb3fdcab82c8056dbae0c23dbaaf4d Author: Candelaria Villareal, Jorge Date: Thu Jul 2 19:04:07 2009 -0500 ASoC: Zoom2: Update twl4030_setup_data parameters Add support for EXTMUTE in Zoom2 machine driver. This is necessary to further reduce pop noise problem. Signal EXTMUTE is connected to signal GPIO 153 in Zoom2 board. In addition, change ramp delay value to 3 (218/161/109 ms). With previous ramp delay value, pop noise was louder. With a longer value the beep tone can be observed. Signed-off-by: Jorge Eduardo Candelaria Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit ddc1637af217dbd8bc51f30e6d24e84476a869a6 Author: Li Zefan Date: Fri Jul 3 17:34:24 2009 +0800 kmemtrace: Print binary output only if 'bin' option is set Currently by default the output of kmemtrace is binary format instead of human-readable output. This patch makes the following changes: - We'll see human-readable output by default - We'll see binary output if 'bin' option is set Note: you may probably need to explicitly disable context-info binary output: # echo 0 > options/context-info # echo 1 > options/bin # cat trace_pipe v2: - use %pF to print call_site Signed-off-by: Li Zefan Acked-by: Pekka Enberg Acked-by: Eduard - Gabriel Munteanu Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A4DD0A0.5060500@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 8ab9e0af6d7709a781b60a51711ddf1d43bd22bb Author: Takashi Iwai Date: Fri Jul 3 10:58:12 2009 +0200 ALSA: hda - Manually expand alc882_init_verbs Instead of expanding alc882_init_verbs to two elements via a macro, manually expand to each entry. This makes clear that some have already the full slot for init_verbs array (currently 5). Signed-off-by: Takashi Iwai commit cb6381225a8064b0911dced3eb10f00bd5520c85 Author: Takashi Iwai Date: Fri Jul 3 10:56:10 2009 +0200 ALSA: hda - Add missing mixer amp initialization for ALC882 After merting patch_alc882() and patch_alc883(), the initialization of mixer amp 0x0b was missing in alc882_base_init_verbs[]. This is usually no critical problem, but it can disable the power-saving as the default state, so better to put to mute these channels. Signed-off-by: Takashi Iwai commit 4d09161196c9a836eacea4b36e2f217bc34894cf Author: Robin Getz Date: Wed Jul 1 21:08:37 2009 -0400 printk: Enable the use of more than one CON_BOOT (early console) Today, register_console() assumes the following usage: - The first console to register with a flag set to CON_BOOT is the one and only bootconsole. - If another register_console() is called with an additional CON_BOOT, it is silently rejected. - As soon as a console without the CON_BOOT set calls registers the bootconsole is automatically unregistered. - Once there is a "real" console - register_console() will silently reject any consoles with it's CON_BOOT flag set. In many systems (alpha, blackfin, microblaze, mips, powerpc, sh, & x86), there are early_printk implementations, which use the CON_BOOT which come out serial ports, vga, usb, & memory buffers. In many embedded systems, it would be nice to have two bootconsoles - in case the primary fails, you always have access to a backup memory buffer - but this requires at least two CON_BOOT consoles... This patch enables that functionality. With the change applied, on boot you get (if you try to re-enable a boot console after the "real" console has been registered): root:/> dmesg | grep console bootconsole [early_shadow0] enabled bootconsole [early_BFuart0] enabled Kernel command line: root=/dev/mtdblock0 rw earlyprintk=serial,uart0,57600 console=ttyBF0,57600 nmi_debug=regs console handover:boot [early_BFuart0] boot [early_shadow0] -> real [ttyBF0] Too late to register bootconsole early_shadow0 or: root:/> dmesg | grep console Kernel command line: root=/dev/mtdblock0 rw console=ttyBF0,57600 console [ttyBF0] enabled Signed-off-by: Robin Getz Cc: "Linus Torvalds" Cc: "Andrew Morton" Cc: "Mike Frysinger" Cc: "Paul Mundt" LKML-Reference: <200907012108.38030.rgetz@blackfin.uclinux.org> Signed-off-by: Ingo Molnar commit 240ebbf81f149b11a31e060ebe5ee51a3c775360 Author: Paul E. McKenney Date: Thu Jun 25 09:08:18 2009 -0700 rcu: Add synchronize_sched_expedited() rcutorture doc + updates This patch updates the rcutorture documentation to include updated output format. It also brings the RCU documentation up to date. Signed-off-by: Paul E. McKenney Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Cc: davem@davemloft.net Cc: dada1@cosmosbay.com Cc: zbr@ioremap.net Cc: jeff.chua.linux@gmail.com Cc: paulus@samba.org Cc: laijs@cn.fujitsu.com Cc: jengelh@medozas.de Cc: r000n@r000n.net Cc: benh@kernel.crashing.org Cc: mathieu.desnoyers@polymtl.ca LKML-Reference: <12459460983193-git-send-email-> Signed-off-by: Ingo Molnar commit 0acc512cb1a29636df5e982c7d845edafe77c2d0 Author: Paul E. McKenney Date: Thu Jun 25 09:08:17 2009 -0700 rcu: Add synchronize_sched_expedited() torture tests This patch adds rcutorture tests for the new synchronize_sched_expedited() primitive, and also does some whitespace cleanups in kernel/rcutorture.c as well. Signed-off-by: Paul E. McKenney Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Cc: davem@davemloft.net Cc: dada1@cosmosbay.com Cc: zbr@ioremap.net Cc: jeff.chua.linux@gmail.com Cc: paulus@samba.org Cc: laijs@cn.fujitsu.com Cc: jengelh@medozas.de Cc: r000n@r000n.net Cc: benh@kernel.crashing.org Cc: mathieu.desnoyers@polymtl.ca LKML-Reference: <12459460981342-git-send-email-> Signed-off-by: Ingo Molnar commit 03b042bf1dc14a268a3d65d38b4ec2a4261e8477 Author: Paul E. McKenney Date: Thu Jun 25 09:08:16 2009 -0700 rcu: Add synchronize_sched_expedited() primitive This adds the synchronize_sched_expedited() primitive that implements the "big hammer" expedited RCU grace periods. This primitive is placed in kernel/sched.c rather than kernel/rcupdate.c due to its need to interact closely with the migration_thread() kthread. The idea is to wake up this kthread with req->task set to NULL, in response to which the kthread reports the quiescent state resulting from the kthread having been scheduled. Because this patch needs to fallback to the slow versions of the primitives in response to some races with CPU onlining and offlining, a new synchronize_rcu_bh() primitive is added as well. Signed-off-by: Paul E. McKenney Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Cc: davem@davemloft.net Cc: dada1@cosmosbay.com Cc: zbr@ioremap.net Cc: jeff.chua.linux@gmail.com Cc: paulus@samba.org Cc: laijs@cn.fujitsu.com Cc: jengelh@medozas.de Cc: r000n@r000n.net Cc: benh@kernel.crashing.org Cc: mathieu.desnoyers@polymtl.ca LKML-Reference: <12459460982947-git-send-email-> Signed-off-by: Ingo Molnar commit fd09d7facb7cf3a884979eb5f843338ce1ce9b43 Author: Sebastian Andrzej Siewior Date: Fri Jul 3 12:10:47 2009 +0800 crypto: ansi_prng - alloc cipher just in init As reported by Eric Sesterhenn the re-allocation of the cipher in reset leads to: |BUG: sleeping function called from invalid context at kernel/rwsem.c:21 |in_atomic(): 1, irqs_disabled(): 0, pid: 4926, name: modprobe |INFO: lockdep is turned off. |Pid: 4926, comm: modprobe Tainted: G M 2.6.31-rc1-22297-g5298976 #24 |Call Trace: | [] __might_sleep+0xf9/0x101 | [] down_read+0x16/0x68 | [] crypto_alg_lookup+0x16/0x34 | [] crypto_larval_lookup+0x30/0xf9 | [] crypto_alg_mod_lookup+0x1d/0x62 | [] crypto_alloc_base+0x1e/0x64 | [] reset_prng_context+0xab/0x13f | [] ? __spin_lock_init+0x27/0x51 | [] cprng_init+0x2a/0x42 | [] __crypto_alloc_tfm+0xfa/0x128 | [] crypto_alloc_base+0x33/0x64 | [] alg_test_cprng+0x30/0x1f4 | [] alg_test+0x12f/0x19f | [] ? __alloc_pages_nodemask+0x14d/0x481 | [] do_test+0xf9d/0x163f [tcrypt] | [] do_test+0x3a1/0x163f [tcrypt] | [] tcrypt_mod_init+0x35/0x7c [tcrypt] | [] _stext+0x54/0x12c | [] ? tcrypt_mod_init+0x0/0x7c [tcrypt] | [] ? up_read+0x16/0x2b | [] ? __blocking_notifier_call_chain+0x40/0x4c | [] sys_init_module+0xa9/0x1bf | [] sysenter_do_call+0x12/0x32 because a spin lock is held and crypto_alloc_base() may sleep. There is no reason to re-allocate the cipher, the state is resetted in ->setkey(). This patches makes the cipher allocation a one time thing and moves it to init. Reported-by: Eric Sesterhenn Signed-off-by: Sebastian Andrzej Siewior Acked-by: Neil Horman Signed-off-by: Herbert Xu commit ed94070058033a3c99fe62c90d00c39dc443c679 Author: Sebastian Andrzej Siewior Date: Fri Jul 3 12:09:41 2009 +0800 crypto: ansi_prng - Use just a BH lock The current code uses a mix of sping_lock() & spin_lock_irqsave(). This can lead to deadlock with the correct timming & cprng_get_random() + cprng_reset() sequence. I've converted them to bottom half locks since all three user grab just a BH lock so this runs probably in softirq :) Signed-off-by: Sebastian Andrzej Siewior Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 4e49ffd10f01950bd81e8ef368a1ffb484a7d759 Author: Candelaria Villareal, Jorge Date: Wed Jul 1 19:17:43 2009 -0500 ASoC: TWL4030: Add EXTMUTE to reduce pop-noise effect According to TRM, an external FET controlled by a 1.8V output signal can be used to reduce the pop-noise heard when the audio amplifier is switched on. It is suggested that GPIO6 of TWL4030 be used, but any other gpio can be used instead. This is indicated in machine driver with the following twl4030_setup_data members: -hs_extmute. Set to 1 if board has support for EXTMUTE. -set_hs_extmute. Set to a callback funcion to control an external gpio line. Set to NULL if MUTE[GPIO6] pin is used. Codec driver takes care of enabling and disabling this output during the headset pop attenuation sequence. Also add a delay to let VMID settle in ramp up sequence. Signed-off-by: Jorge Eduardo Candelaria Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit a68f6610d4f1ebe61818f5926fa8fa9e75d06a95 Author: Herbert Xu Date: Thu Jul 2 16:32:12 2009 +0800 crypto: testmgr - Allow implementation-specific tests This patch adds the support for testing specific implementations. This should only be used in very specific situations. Right now this means specific implementations of random number generators. Signed-off-by: Herbert Xu commit cd775387244e379ef9b284f9b6aff6ee069f4d12 Author: Takashi Iwai Date: Thu Jul 2 10:28:56 2009 +0200 ALSA: ice1724 - Fix section mismatch Now snd_vt1724_chip_reset() is used in the resume callback, thus it cannot be __devinit. Signed-off-by: Takashi Iwai commit 2115d2c17369df4b70fd161623a40ce98c261989 Merge: 1dcf98f da9ff1f Author: Mark Brown Date: Wed Jul 1 21:45:47 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit 1dcf98ff8e2a4571a2accb852686023b47ca629a Author: Mark Brown Date: Wed Jul 1 18:28:54 2009 +0100 ASoC: Add WM8523 CODEC driver The WM8523 is a high performance stereo DAC with integral charge pump providing 2Vrms line driver outputs using a single 3.3V power supply rail. Signed-off-by: Mark Brown commit e5f1424807f4fa7aeddc376575e3b413c71c6fe1 Author: Takashi Iwai Date: Wed Jul 1 18:11:44 2009 +0200 ALSA: hda - Add Cirrus Logic CS420x support Signed-off-by: Takashi Iwai commit c78578693376e68ecdfcb64a3cc3a95a31b49295 Merge: b5025c5 ff84847 Author: Takashi Iwai Date: Wed Jul 1 18:09:15 2009 +0200 Merge branch 'fix/hda' into topic/hda commit b5025c50b5e817b3e509ad7e569f131b80d7c223 Author: Takashi Iwai Date: Wed Jul 1 18:05:27 2009 +0200 ALSA: hda - Allow FLOAT PCM format So far, the FLOAT PCM format is used only exclusivley set. But this can be a combination with other formats. This patch changes the parser to allow the FLOAT format in addition to other PCM formats. Signed-off-by: Takashi Iwai commit 020e5f85cb087a40572c8b8b2dd06292a14fa212 Author: Li Zefan Date: Wed Jul 1 10:47:05 2009 +0800 tracing/events: Add trace_event boot option We already have ftrace= boot option, and this adds a similar boot option for trace events, so allow trace events to be enabled at boot, for boot debugging purpose. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A4ACE29.3010407@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c5cb5a2d8d7dc872cf1504091ad0e59fe5ff7cb5 Author: Masami Hiramatsu Date: Tue Jun 30 17:08:14 2009 -0400 kprobes: Clean up insn_pages by using list instead of hlist Use struct list instead of struct hlist for managing insn_pages, because insn_pages doesn't use hash table. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli LKML-Reference: <20090630210814.17851.64651.stgit@localhost.localdomain> Signed-off-by: Ingo Molnar commit 8a123ee2a46daa5c1b6f24eb3b004a5156244889 Author: Mark Brown Date: Tue Jun 30 21:10:34 2009 +0100 ASoC: WM8974 DAPM cleanups Also implement AUX mode control. Signed-off-by: Mark Brown commit 8b83a19367dc3bdfef07634646bbad90f6cba898 Author: Mark Brown Date: Tue Jun 30 19:37:02 2009 +0100 ASoC: WM8974 cosmetic cleanups Signed-off-by: Mark Brown commit cb11d39ead79e5bc8ca42de86b9df8dec8b88681 Author: Mark Brown Date: Tue Jun 30 19:36:39 2009 +0100 ASoC: Use symmetric rates for WM8974 The chip has a single LRCLK. Signed-off-by: Mark Brown commit a5f8d2f1b83d47b09ff7b587b9402c449e1e18d5 Author: Mark Brown Date: Tue Jun 30 19:30:33 2009 +0100 ASoC: Add WM8974 TLV information Signed-off-by: Mark Brown commit 91d0c3ecbaf6616c0723d7aad9b6dadad2dea43f Author: Mark Brown Date: Tue Jun 30 19:02:32 2009 +0100 ASoC: Refresh WM8974 PLL configuration Move away from a fixed table to runtime calculation. Signed-off-by: Mark Brown commit 33d81af4d12fc8863247abba1c1d706b462e89d0 Author: Mark Brown Date: Tue Jun 30 19:01:52 2009 +0100 ASoC: Declare 2 channels for WM8974 The device is a mono device but it can read two channel data and many I2S controllers only understand 2 channels. Signed-off-by: Mark Brown commit df1ef7a38db21a92239c775a28f0c69124c9b454 Author: Mark Brown Date: Tue Jun 30 19:01:09 2009 +0100 ASoC: Refresh WM8974 bias configuration Signed-off-by: Mark Brown commit 416356fcfad46bdebcf8e2afdb94919401ff99d3 Author: Mark Brown Date: Tue Jun 30 19:05:15 2009 +0100 ASoC: Convert to dev_pm_ops Signed-off-by: Mark Brown commit 0d971c9fcf06d22663040570c3cfe08b137c4b2f Author: Takashi Iwai Date: Tue Jun 30 16:11:11 2009 +0200 ALSA: hda - Fix input pinctl for ALC882 auto mode alc882_auto_init_analog_input() sets the input pins to VREF-80 regardless of the input pin types although it shouldn't be for line-in pins. This patch fixes the behavior to follow other codecs. Signed-off-by: Takashi Iwai commit 4953550a6ca399b644ef057626617465d8be9a7b Author: Takashi Iwai Date: Tue Jun 30 15:28:30 2009 +0200 ALSA: hda - Merge patch_alc882() and patch_alc883() Merge patch_alc882() and patch_alc883() to the former one since both codecs have fairly similar connections but just a slight difference. Signed-off-by: Takashi Iwai commit b9791ca013cfe344052455e9c8336e39d133c654 Merge: 546861f 1e7b8c8 Author: Takashi Iwai Date: Tue Jun 30 15:29:38 2009 +0200 Merge branch 'topic/hda-patch' into topic/hda commit 546861f1d3372d69d22e6624f51227d7d10c83f4 Merge: a983b9e 1d955eb Author: Takashi Iwai Date: Tue Jun 30 15:12:11 2009 +0200 Merge branch 'fix/hda' into topic/hda commit ac7242142b03421c96b0a2f8d99f146d075614c2 Merge: 89c8657 2bfdd79 Author: James Morris Date: Tue Jun 30 09:10:35 2009 +1000 Merge branch 'master' into next commit 9ea21ebca1a1c4caf3bdaecb0879034107cac1e9 Author: Mark Brown Date: Mon Jun 29 16:29:06 2009 +0100 ASoC: Fix WM8961 suspend function type Signed-off-by: Mark Brown commit 372a14a4a4db18751cd092aa3fe2a58216a8fc2f Author: Mark Brown Date: Mon Jun 29 14:56:01 2009 +0100 ASoC: Remove unreferenced wm8974_add_controls() Signed-off-by: Mark Brown commit 54d35f29f49224d86b994acb6e5969b9ba09022d Author: Hitoshi Mitake Date: Mon Jun 29 14:44:57 2009 +0900 sched: Hide runqueues from direct reference at source code level for __raw_get_cpu_var() Hide __raw_get_cpu_var() as well - thus all the direct references to runqueues will abstracted out. Signed-off-by: Hitoshi Mitake LKML-Reference: <20090629.144457.886429910353660979.mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 348b346b238d9c0e5694c8d0b835a099cb383835 Merge: 6c697bd 5298976 Author: Ingo Molnar Date: Mon Jun 29 09:16:13 2009 +0200 Merge branch 'linus' into sched/core Merge reason: we will merge a dependent patch. Signed-off-by: Ingo Molnar commit a983b9e5000e4b54b1f05297046dbb7375e9de5f Merge: b7b5114 c912e7a Author: Takashi Iwai Date: Mon Jun 29 08:51:09 2009 +0200 Merge branch 'fix/hda-samsung-p50' into topic/hda commit b7b51141b4fb6f9059a20c03dd2a5bf77c466c7e Author: Takashi Iwai Date: Mon Jun 29 08:34:06 2009 +0200 ALSA: hda - Check "beep" hint Check the hint "beep" in snd_hda_attach_beep_device() to avoid the beep device creation if user doesn't want. Signed-off-by: Takashi Iwai commit 74a0094cd9d030d7a684e6ce1cbd1658eb63bd7d Author: Ondrej Zary Date: Sat Jun 27 16:26:35 2009 +0200 ALSA: cmi8330: revert comments about AD1848 back In ALSA 1.0.20, the comments were changed to say CMI8330 instead of AD1848. The CMI8330 chip includes two codecs - AD1848 and SB16, so the comments were correct and are misleading now. Revert them back. Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit 565b0c1f100408ccbcb04ba458a14da454cb271d Author: Figo.zhang Date: Mon Jun 29 12:02:55 2009 +0800 x86, highmem_32.c: Clean up comment Signed-off-by: Figo.zhang Cc: Andrew Morton LKML-Reference: <1246248175.5759.12.camel@myhost> Signed-off-by: Ingo Molnar commit ce0c0f9eec2f377055e8b23c6fa192202381e022 Author: Figo.zhang Date: Sun Jun 28 18:07:39 2009 +0800 x86, pgtable.h: Clean up types Use "unsigned long" consistently, not "unsigned". Signed-off-by: Figo.zhang LKML-Reference: <1246183659.2530.4.camel@myhost> Signed-off-by: Ingo Molnar commit 087975b06b00af9bf888fab6f94ae113c5cd80bd Author: Akinobu Mita Date: Sat Jun 27 15:35:15 2009 +0900 x86: Clean up dump_pagetable() Use pgtable access helpers for 32-bit version dump_pagetable() and get rid of __typeof__() operators. This needs to make pmd_pfn() available for 2-level pgtable. Also, remove some casts for 64-bit version dump_pagetable(). Signed-off-by: Akinobu Mita LKML-Reference: <20090627063514.GA2834@localhost.localdomain> Signed-off-by: Ingo Molnar commit 2495fbf7effa6868f5d74124ae9b22a57980755b Author: H. Peter Anvin Date: Fri Jun 26 10:53:57 2009 -0700 x86, setup: remove obsolete pre-Kconfig CONFIG_VIDEO_ variables There were a set of pre-Kconfig configuration variables defined in the video code. There is absolutely no evidence that they have been tweaked by anybody in modern history, so just get rid of them and hope nobody notices. If someone does complain, these should be made real Kconfig variables. Reported-by: Robert P. J. Day Signed-off-by: H. Peter Anvin commit c2caa4da46a41899b29f90ec30ef3ba86665b334 Author: Mark Brown Date: Fri Jun 26 15:36:56 2009 +0100 ASoC: Fix widget powerdown on shutdown We need to set the widget power state we want to implement. Signed-off-by: Mark Brown commit e3c7dbb07cde886ba97f183c4cc98a2a99b46eaa Author: Lopez Cruz, Misael Date: Thu Jun 25 12:36:14 2009 -0500 ASoC: Remove word "Switch" from Handsfree switch name SoC dapm adds the suffix "Switch" to SND_SOC_DAPM_SWITCH controls, removing word "Switch" from HandsfreeL/HandsfreeR widget name for avoiding to duplicate it. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 647613e97fa46f6c25cf38b0f2fa81eba5f278d4 Author: Atsushi Nemoto Date: Thu Jun 25 22:36:58 2009 +0900 ASoC: txx9aclc: dynamically allocate dmaengine devname Use kasprintf to allocate temporary devname string instead of a fixed size string. This fixes "FIXME" introduced on removal of BUS_ID_SIZE. Signed-off-by: Atsushi Nemoto Signed-off-by: Mark Brown commit 62b1653e29d8f359c4c7e045b965dc963459473d Merge: 10121a1 d5fc3b5 Author: Takashi Iwai Date: Thu Jun 25 15:28:39 2009 +0200 Merge branch 'for-2.6.32' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc commit d5fc3b5fe374f24b6773c22e90ef4bdda718b845 Merge: e2f551d dd5e8e6 Author: Mark Brown Date: Thu Jun 25 13:58:37 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit e2f551dacbdff8e40365a989ab66104b03316f4d Author: Mark Brown Date: Thu Jun 25 13:57:59 2009 +0100 ASoC: Add core suspend and resume callbacks to WM8961 Signed-off-by: Mark Brown commit 0b67fb65d1b2ba1396de69112b8b9bc95d8d5feb Author: Herbert Xu Date: Thu Jun 25 18:43:48 2009 +0800 crypto: skcipher - Change default sync geniv on SMP to eseqiv As it stands we use chainiv for sync algorithms and eseqiv for async algorithms. However, when there is more than one CPU chainiv forces all processing to be serialised which is usually not what you want. Also, the added overhead of eseqiv isn't that great. Therefore this patch changes the default sync geniv on SMP machines to eseqiv. For the odd situation where the overhead is unacceptable then chainiv is still available as an option. Note that on UP machines chainiv is still preferred over eseqiv for sync algorithms. Signed-off-by: Herbert Xu commit b40e9538124fc9b9333e3eea0fc514da4a185dae Author: Igor Chernyshev Date: Thu Jun 25 09:31:07 2009 +0200 ALSA: ice1724 - Patch for suspend/resume for Audiotrak Prodigy HD2 I've built a small HTPC and had to add suspend/resume support in ice1724 driver. There seem to be 3 existing bugs related to that: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4413 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3748 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2314 Due to hardware (un)availability, I only enabled the fix for Audiotrak Prodigy HD2 card, which is installed in my HTPC. However, most of my code should be reusable in the future on other ice1724-based cards as well (as long as people add card-specific peices of code). The fix is currently based on ALSA 1.0.20 and works on my MythBuntu 9.04 HTPC (using 2.6.28-11 kernel). Signed-off-by: Igor Chernyshev Signed-off-by: Takashi Iwai commit 435578aeaad5859dda8657e3ed2c1a5bc1e524ec Author: Herbert Xu Date: Thu Jun 25 14:46:31 2009 +0800 crypto: skcipher - Fix request for sync algorithms When a sync givcipher algorithm is requested, if an async version of the same algorithm already exists, then we will loop forever without ever constructing the sync version based on a blkcipher. This is because we did not include the requested type/mask when getting a larval for the geniv algorithm that is to be constructed. Signed-off-by: Herbert Xu commit 409a736336b560798f84d71ad6477c8fad20b523 Author: Joe Perches Date: Thu Jun 25 13:50:53 2009 +0800 hwrng: Use PCI_VDEVICE Signed-off-by: Joe Perches Acked-by: Matt Mackall Signed-off-by: Herbert Xu commit 89c86576ecde504da1eeb4f4882b2189ac2f9c4a Author: Thomas Liu Date: Wed Jun 24 17:58:05 2009 -0400 selinux: clean up avc node cache when disabling selinux Added a call to free the avc_node_cache when inside selinux_disable because it should not waste resources allocated during avc_init if SELinux is disabled and the cache will never be used. Signed-off-by: Thomas Liu Acked-by: Eric Paris Signed-off-by: James Morris commit a893a84e8799270fbec5c3708d001650aab47138 Author: Oleg Nesterov Date: Tue Jun 23 21:25:32 2009 +0200 mm_for_maps: simplify, use ptrace_may_access() It would be nice to kill __ptrace_may_access(). It requires task_lock(), but this lock is only needed to read mm->flags in the middle. Convert mm_for_maps() to use ptrace_may_access(), this also simplifies the code a little bit. Also, we do not need to take ->mmap_sem in advance. In fact I think mm_for_maps() should not play with ->mmap_sem at all, the caller should take this lock. With or without this patch, without ->cred_guard_mutex held we can race with exec() and get the new ->mm but check old creds. Signed-off-by: Oleg Nesterov Reviewed-by: Serge Hallyn Signed-off-by: James Morris commit 9e48858f7d36a6a3849f1d1b40c3bf5624b4ee7c Author: Ingo Molnar Date: Thu May 7 19:26:19 2009 +1000 security: rename ptrace_may_access => ptrace_access_check The ->ptrace_may_access() methods are named confusingly - the real ptrace_may_access() returns a bool, while these security checks have a retval convention. Rename it to ptrace_access_check, to reduce the confusion factor. [ Impact: cleanup, no code changed ] Signed-off-by: Ingo Molnar Signed-off-by: James Morris commit 86abcf9cebf7b5ceb33facde297face5ec4d2260 Author: James Morris Date: Thu Jun 18 22:00:05 2009 +1000 keys: annotate seqfile ops with __releases and __acquires Annotate seqfile ops with __releases and __acquires to stop sparse complaining about unbalanced locking. Signed-off-by: James Morris Reviewed-by: Serge Hallyn commit c17ef45342cc033fdf7bdd5b28615e0090f8d2e7 Author: Paul E. McKenney Date: Tue Jun 23 17:12:47 2009 -0700 rcu: Remove Classic RCU Remove Classic RCU, given that the combination of Tree RCU and the proposed Bloatwatch RCU do everything that Classic RCU can with fewer bugs. Tree RCU has been default in x86 builds for almost six months, and seems to be quite reliable, so there does not seem to be much justification for keeping the Classic RCU code and config complexity around anymore. Signed-off-by: Paul E. McKenney Cc: akpm@linux-foundation.org Cc: niv@us.ibm.com Cc: dvhltc@us.ibm.com Cc: dipankar@in.ibm.com Cc: dhowells@redhat.com Cc: lethal@linux-sh.org Cc: kernel@wantstofly.org Signed-off-by: Ingo Molnar commit 1e7b8c87cb53d9a14f1a9ef35eed739f68851f5c Author: Takashi Iwai Date: Wed Jun 17 17:30:54 2009 +0200 ALSA: hda - More description about patch module option Signed-off-by: Takashi Iwai commit 768248256339da88d65088c8beffe1a3dcd9f1ca Author: Takashi Iwai Date: Wed Jun 17 17:17:18 2009 +0200 ALSA: hda - Add description about patch loading Signed-off-by: Takashi Iwai commit 4ea6fbc8eb23c3ae5fd2fb55a340ab85c8649bce Author: Takashi Iwai Date: Wed Jun 17 09:52:54 2009 +0200 ALSA: hda - Add patch module option Added the patch module option to apply a "patch" as a firmware to modify pin configurations or give additional hints to the driver before actually initializing and configuring the codec. This can be used as a workaround when the BIOS doesn't give sufficient information or give wrong information that doesn't match with the real hardware setup, until it's fixed statically in the driver via a quirk. Signed-off-by: Takashi Iwai commit a1e21c9078fb8005e5accb921696ec9e2f38176e Author: Takashi Iwai Date: Wed Jun 17 09:33:52 2009 +0200 ALSA: hda - Don't call snd_hda_codec_configure in snd_hda_codec_new() The codec setup call via snd_hda_codec_configure() isn't necessarily called in snd_hda_codec_new(). For the later added feature, it's better to change the code flow like: - create all codec instances - configure each codec Signed-off-by: Takashi Iwai commit 259c5e05c13daaaea039b5bf29a2674701cfd68e Author: Herbert Xu Date: Wed Jun 24 13:48:13 2009 +0800 crypto: testmgr - Remove hash size check Until hash test vectors grow longer than 256 bytes, the only purpose of the check is to generate a gcc warning. Signed-off-by: Herbert Xu commit c9944881acf02b6f25fa62a0441a98b7dc0d7ae6 Author: Roland Dreier Date: Wed Jun 24 13:42:40 2009 +0800 crypto: aes-ni - Don't print message with KERN_ERR on old system When the aes-intel module is loaded on a system that does not have the AES instructions, it prints Intel AES-NI instructions are not detected. at level KERN_ERR. Since aes-intel is aliased to "aes" it will be tried whenever anything uses AES and spam the console. This doesn't match existing practice for how to handle "no hardware" when initializing a module, so downgrade the message to KERN_INFO. Signed-off-by: Roland Dreier Signed-off-by: Herbert Xu commit 517374704da44c1ba77c1600714fe214524af286 Author: Mark Brown Date: Mon Jun 22 13:16:51 2009 +0100 ASoC: Add a shutdown callback Ensure that the audio subsystem is powered down cleanly when the system shuts down by providing a shutdown operation. This ensures that all the components have been returned to an off state cleanly which should avoid audio issues from partially charged capacitors or noise on digital inputs if the system is restarted quickly. Signed-off-by: Mark Brown Tested-by: Ben Dooks commit 30808ca751c3b8d81e948efb8fed7451a8321010 Author: Lopez Cruz, Misael Date: Mon Jun 22 19:34:07 2009 -0500 ASoC: TWL4030: Correct bypass event for voice sidetone Event for voice sidetone was being interpreted as an analog HiFi bypass event because VSTPGA register offset is less than ARXR2_APGA_CTL offset. Reordering the register checks allows to handle voice digital bypass event properly. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 328d0a138e3d7761f4db53fabf82279b90ea66dd Author: Lopez Cruz, Misael Date: Mon Jun 22 10:51:52 2009 -0500 ASoC: TWL4030: Add AVADC Clock Priority AVDAC clk priority allows to determine the path ADC must be connected when the codec is in option2 and both HiFi and Voice paths are enabled. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 20dda18be9035c487c2e9534e4d18d2a1e1deade Author: Stephen Smalley Date: Mon Jun 22 14:54:53 2009 -0400 selinux: restore optimization to selinux_file_permission Restore the optimization to skip revalidation in selinux_file_permission if nothing has changed since the dentry_open checks, accidentally removed by 389fb800. Also remove redundant test from selinux_revalidate_file_permission. Signed-off-by: Stephen Smalley Reviewed-by: Paul Moore Acked-by: Eric Paris Signed-off-by: James Morris commit c264301c777840b2df130e042b7f5a0c1041646f Author: Lopez Cruz, Misael Date: Fri Jun 19 03:23:42 2009 -0500 ASoC: TWL4030: Fix voice interface clock masters Voice interface of twl4030 codec supports: CBM_CFM and CBS_CFS. It doesn't support CBS_CFM. Signed-off-by: Misael Lopez Cruz Acked-By: Peter Ujfalusi Signed-off-by: Mark Brown commit e370f45aeb76634d81a59b3b8f45b0f2faebef9b Merge: f274143 74dc55e Author: Mark Brown Date: Mon Jun 22 11:08:26 2009 +0100 Merge branch 'wm8961' into for-2.6.32 commit 215ccd6f55a2144bd553e0a3d12e1386f02309fd Author: Neil Horman Date: Sun Jun 21 21:38:03 2009 +0800 crypto: fips - Select CPRNG The ANSI CPRNG has no dependence on FIPS support. FIPS support however, requires the use of the CPRNG. Adjust that depedency relationship in Kconfig. Signed-off-by: Neil Horman Signed-off-by: Herbert Xu commit f274143f127dd9420e6def7dc47340b55f29c885 Author: Barry Song Date: Sat Jun 20 11:29:56 2009 -0400 ASoC: Blackfin: convert internal names from bf52x to bf5xx These drivers aren't BF52x specific, so don't use bf52x in the names. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit feaa0457ec8351cae855edc9a3052ac49322538e Author: Jaswinder Singh Rajput Date: Sat Jun 20 16:15:40 2009 +0530 x86: ds.c fix invalid assignment Fixes the type mixups that cause the following sparse warnings: CHECK arch/x86/kernel/ds.c arch/x86/kernel/ds.c:549:19: warning: incorrect type in argument 2 (invalid types) arch/x86/kernel/ds.c:549:19: expected bad type enum bts_field field arch/x86/kernel/ds.c:549:19: got int arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:520:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:520:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:520:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:520:7: error: invalid assignment arch/x86/kernel/ds.c:520:35: error: incompatible types for operation (*) Signed-off-by: Jaswinder Singh Rajput Cc: Markus Metzger LKML-Reference: <1245494740.8613.12.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit 423c238d7185a0a8f1b28ddb0be44e0286927909 Author: Mark Brown Date: Sat Jun 20 13:54:02 2009 +0100 ASoC: Staticise put_twl4030_opmode_enum_double() It's an operation for a control and doesn't need to be exported. Signed-off-by: Mark Brown commit b53109db5e016425b767e8e33669a5f41257e6e5 Author: Mark Brown Date: Sat Jun 20 13:53:20 2009 +0100 ASoC: Fix shadowed variables in twl4030 No need to define second copies of mode and format, they're declared with exactly the same type at the head of the function and there's no conflict in their use. Signed-off-by: Mark Brown commit ea4006576945195ed35824acfb4007ca7cb78b70 Author: Herbert Xu Date: Fri Jun 19 20:37:00 2009 +0800 crypto: tcrypt - Fix module return code when testing by name We should return 0/-ENOENT instead of 1/0 when testing by name. Signed-off-by: Herbert Xu commit 27300176d75e4723e2125e745a98a77bf0133f72 Author: Herbert Xu Date: Fri Jun 19 20:32:58 2009 +0800 crypto: ansi_cprng - Do not select FIPS The RNG should work with FIPS disabled. Signed-off-by: Herbert Xu commit a873a5f1c4eda125f506c059a4f8ea48b9f42eff Author: Steffen Klassert Date: Fri Jun 19 19:46:53 2009 +0800 crypto: tcrypt - Test algorithms by name This adds the 'alg' module parameter to be able to test an algorithm by name. If the algorithm type is not ad-hoc clear for a algorithm (e.g. pcrypt, cryptd) it is possilbe to set the algorithm type with the 'type' module parameter. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 56f8c9bc410deb55f21698e6a0d59f559ae1d794 Author: Tetsuo Handa Date: Fri Jun 19 14:13:27 2009 +0900 TOMOYO: Remove next_domain from tomoyo_find_next_domain(). We can update bprm->cred->security inside tomoyo_find_next_domain(). Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit ccf135f509abdbf607e9a68f08ddeee2c66dc36e Author: Tetsuo Handa Date: Fri Jun 19 10:29:34 2009 +0900 TOMOYO: Move tomoyo_delete_domain(). We can mark tomoyo_delete_domain() as a "static" function by moving it from domain.c to common.c . Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit d905163c5b23f6d8511971e06081a1b525e8a0bd Merge: 44c2d9b 0732f87 Author: James Morris Date: Fri Jun 19 08:20:55 2009 +1000 Merge branch 'master' into next commit 73a2d096fdf23aa841f7595d114a11ec85a85e4d Author: Arnd Bergmann Date: Thu Jun 18 21:48:20 2009 +0200 x86: remove all now-duplicate header files All files that have been made identical to the asm-generic version in the previous patches can now be removed, guaranteeing that this does not introduce semantic changes. Signed-off-by: Arnd Bergmann LKML-Reference: Signed-off-by: H. Peter Anvin commit 69d5ffdaad7b77b97229b55c36afb20e5bebd29e Author: Arnd Bergmann Date: Thu Jun 18 21:48:19 2009 +0200 x86: convert termios.h to the asm-generic version This patch turned out more controversial than expected and may get dropped in the future. I'm including it for reference anyway. The user_termio_to_kernel_termios and kernel_termios_to_user_termio functions on x86 are lacking error checking from get_user and are not portable to big-endian systems, so the asm-generic header has to differ in this regard. Signed-off-by: Arnd Bergmann LKML-Reference: Signed-off-by: H. Peter Anvin commit 06f5013aa8eb5895ced2c71d13f5114103605555 Author: Arnd Bergmann Date: Thu Jun 18 21:48:18 2009 +0200 x86: convert almost generic headers to asm-generic version In x86, mman.h, module.h, scatterlist.h, types.h and ucontext.h can use the asm-generic version by just defining the x86 specific parts locally and falling back on the generic code for the common bits. This patch illustrates the differences between the x86 and asm-generic versions by changing a file that is initially identical to the x86 version to one that is identical to the asm-generic version. Signed-off-by: Arnd Bergmann LKML-Reference: Signed-off-by: H. Peter Anvin commit 7bfd124d6dae7d394e73753300594a81a022fe7d Author: Arnd Bergmann Date: Thu Jun 18 21:48:17 2009 +0200 x86: convert trivial headers to asm-generic version For these nine header files, the asm-generic version should be semantically identical to what is in x86. Change the contents to be binary identical, for better review. Signed-off-by: Arnd Bergmann LKML-Reference: Signed-off-by: H. Peter Anvin commit 4adc667593f83a18a8e54ce94f250fd166a272ac Author: Arnd Bergmann Date: Thu Jun 18 21:48:16 2009 +0200 x86: add copies of some headers to convert to asm-generic Just an intermediate step to make reviewing easier. These files are identical copies of the existing headers. Signed-off-by: Arnd Bergmann LKML-Reference: Signed-off-by: H. Peter Anvin commit 21e70878215f620fe99ea7d7c74bc641aeec932f Author: Jaswinder Singh Rajput Date: Thu Jun 18 17:09:27 2009 +0530 x86: oprofile/op_model_amd.c set return values for op_amd_handle_ibs() op_amd_handle_ibs() should return 0 when IBS is not present or not defined. Fix compilation warning: CC [M] arch/x86/oprofile/op_model_amd.o arch/x86/oprofile/op_model_amd.c: In function ‘op_amd_handle_ibs’: arch/x86/oprofile/op_model_amd.c:217: warning: no return statement in function returning non-void Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Robert Richter commit 44c2d9bdd7022ca7d240d5adc009296fc1c6ce08 Author: KaiGai Kohei Date: Thu Jun 18 17:26:13 2009 +0900 Add audit messages on type boundary violations The attached patch adds support to generate audit messages on two cases. The first one is a case when a multi-thread process tries to switch its performing security context using setcon(3), but new security context is not bounded by the old one. type=SELINUX_ERR msg=audit(1245311998.599:17): \ op=security_bounded_transition result=denied \ oldcontext=system_u:system_r:httpd_t:s0 \ newcontext=system_u:system_r:guest_webapp_t:s0 The other one is a case when security_compute_av() masked any permissions due to the type boundary violation. type=SELINUX_ERR msg=audit(1245312836.035:32): \ op=security_compute_av reason=bounds \ scontext=system_u:object_r:user_webapp_t:s0 \ tcontext=system_u:object_r:shadow_t:s0:c0 \ tclass=file perms=getattr,open Signed-off-by: KaiGai Kohei Acked-by: Stephen Smalley Signed-off-by: James Morris commit caabbdc07df4249f2ed516b2c3e2d6b0973bcbb3 Author: KaiGai Kohei Date: Thu Jun 18 17:30:07 2009 +0900 cleanup in ss/services.c It is a cleanup patch to cut down a line within 80 columns. Signed-off-by: KaiGai Kohei -- security/selinux/ss/services.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Signed-off-by: James Morris commit 03b56ce54143a3a69d4fea6ff8130b1c903a47ce Author: Jarod Wilson Date: Thu Jun 18 19:52:59 2009 +0800 crypto: des_s390 - Permit weak keys unless REQ_WEAK_KEY set Just started running fips cavs test vectors through an s390x system for giggles, and discovered that I missed patching s390's arch-specific des3 implementation w/an earlier des3 patch to permit weak keys. This change adds the same flag tweaks as ad79cdd77fc1466e45cf923890f66bcfe7c43f12 (crypto: des3_ede - permit weak keys unless REQ_WEAK_KEY set) for s390's des3 implementation, yields expected test results now. Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit 5b739ef8a4e8cf5201d21abff897e292c232477b Author: Neil Horman Date: Thu Jun 18 19:50:21 2009 +0800 random: Add optional continuous repetition test to entropy store based rngs FIPS-140 requires that all random number generators implement continuous self tests in which each extracted block of data is compared against the last block for repetition. The ansi_cprng implements such a test, but it would be nice if the hw rng's did the same thing. Obviously its not something thats always needed, but it seems like it would be a nice feature to have on occasion. I've written the below patch which allows individual entropy stores to be flagged as desiring a continuous test to be run on them as is extracted. By default this option is off, but is enabled in the event that fips mode is selected during bootup. Signed-off-by: Neil Horman Acked-by: Matt Mackall Signed-off-by: Herbert Xu commit 17950c5b243f99cbabef173415ee988c52104d7e Author: Jeremy Fitzhardinge Date: Fri Apr 24 01:01:01 2009 -0700 x86-64: move clts into batch cpu state updates when preloading fpu When a task is likely to be using the fpu, we preload its state during the context switch, rather than waiting for it to run an fpu instruction. Make sure the clts() happens while we're doing batched fpu state updates to optimise paravirtualized context switches. [ Impact: optimise paravirtual FPU context switch ] Signed-off-by: Jeremy Fitzhardinge Cc: Alok Kataria Cc: Rusty Russell commit 16d9dbf0c2bd167fdd942b83592d59696c7b73bd Author: Jeremy Fitzhardinge Date: Fri Apr 24 00:50:27 2009 -0700 x86-64: move unlazy_fpu() into lazy cpu state part of context switch Make sure that unlazy_fpu()'s stts gets batched along with the other cpu state changes during context switch. (32-bit already does this.) This makes sure it gets batched when running paravirtualized. [ Impact: optimise paravirtual FPU context switch ] Signed-off-by: Jeremy Fitzhardinge Cc: Alok Kataria Cc: Rusty Russell commit 2fcddce10f6771cfa0c56fd1e826d50d67d100b7 Author: Jeremy Fitzhardinge Date: Fri Apr 24 00:45:26 2009 -0700 x86-32: make sure clts is batched during context switch If we're preloading the fpu state during context switch, make sure the clts happens while we're batching the cpu context update, then do the actual __math_state_restore once the updates are flushed. This allows more efficient context switches when running paravirtualized, as all the hypercalls can be folded together into one. [ Impact: optimise paravirtual FPU context switch ] Signed-off-by: Jeremy Fitzhardinge Cc: Alok Kataria Cc: Rusty Russell commit e6e9cac8c3417b43498b243c1f8f11780e157168 Author: Jeremy Fitzhardinge Date: Fri Apr 24 00:40:59 2009 -0700 x86: split out core __math_state_restore Split the core fpu state restoration out into __math_state_restore, which assumes that cr0.TS is clear and that the fpu context has been initialized. This will be used during context switch. There are two reasons this is desireable: - There's a small clarification. When __switch_to() calls math_state_restore, it relies on the fact that tsk_used_math() returns true, and so will never do a blocking init_fpu(). __math_state_restore() does not have (or need) that logic, so the question never arises. - It allows the clts() to be moved earler in __switch_to() so it can be performed while cpu context updates are batched (will be done in a later patch). [ Impact: refactor code to make reuse cleaner; no functional change ] Signed-off-by: Jeremy Fitzhardinge Cc: Alok Kataria Cc: Rusty Russell commit ac5672f82c39ff2f8dce81bf3e68b1dfc41f366f Author: Jeremy Fitzhardinge Date: Tue Apr 14 14:29:44 2009 -0700 x86/paravirt: split paravirt definitions into paravirt_types.h Split the monolithic asm/paravirt.h into separate paravirt.h (inlines and other "active" definitions), and paravirt_types.h (types, constants and other "passive" definitions). This makes it easier to use the type/constant definitions without pulling in everything else and causing circular dependency problems. [ Impact: cleanup ] Signed-off-by: Jeremy Fitzhardinge commit 4f6e1fe1d8ba3d9f4fb52dd006da9714d75243cf Merge: 65795ef b72f7fa Author: Ingo Molnar Date: Wed Jun 17 19:10:28 2009 +0200 Merge branch 'auto' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile into oprofile commit 6c697bdf08a09ce461e305a22362973036e95db3 Author: Mike Galbraith Date: Wed Jun 17 10:48:02 2009 +0200 sched: Add SCHED_RESET_ON_FORK functionality for nice < 0 tasks Signed-off-by: Mike Galbraith Acked-by: Lennart Poettering Cc: Peter Zijlstra LKML-Reference: <1245228482.27326.1.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit b9dc29e72fd3dc2a739ce8eafd958220d0745734 Author: Mike Galbraith Date: Wed Jun 17 10:46:01 2009 +0200 sched: Clean up SCHED_RESET_ON_FORK Make SCHED_RESET_ON_FORK sched_fork() bits a self-contained unlikely code path. Signed-off-by: Mike Galbraith Acked-by: Lennart Poettering Cc: Peter Zijlstra LKML-Reference: <1245228361.18329.6.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit a583cd53478f0c55b92f084bdbe3b66d2b4496df Author: Mark Brown Date: Wed Jun 17 17:30:14 2009 +0100 ASoC: Regulator support for WM8580 Add basic support for integration with the regulator API to WM8580. Since the core cannot yet disable biases when the CODEC is idle we simply request and enable the regulators for the entire time the driver is active. Signed-off-by: Mark Brown commit eedbdf03a25ab3b2c332ad7fa205aa8ffbe477ba Author: Takashi Iwai Date: Tue Jun 16 14:27:35 2009 +0200 ALSA: usb-audio - Correct bogus volume dB information Some USB devices give bogus dB information and it screws up PA. It's better to detect a broken value and correct it in the driver before exposing the value to the outside. Signed-off-by: Takashi Iwai commit b8e1c73f4608b8b9ca1e8f1a09f9fd8684e78071 Author: Takashi Iwai Date: Tue Jun 16 14:04:37 2009 +0200 ALSA: usb-audio - Use the new TLV_DB_MINMAX type Use the new TLV_DB_MINMAX type instead of TLV_DB_SCALE. Signed-off-by: Takashi Iwai commit 085f30654175a91c28d2b66b9ea6cceab627fed0 Author: Takashi Iwai Date: Tue Jun 16 13:57:07 2009 +0200 ALSA: Add new TLV types for dBwith min/max Add new types for TLV dB scale specified with min/max values instead of min/step since the resolution can't match always with the one a device provides. For example, usb audio devices give 1/256 dB resolution while ALSA TLV is based on 1/100 dB resolution. The new min/max types have less problems because the possible rounding error happens only at min/max. Signed-off-by: Takashi Iwai commit 1abd91849990ed61d6468ffa8b7fc1ae61db4b1a Author: Philipp Zabel Date: Mon Jun 15 22:18:23 2009 +0200 ASoC: UDA1380: refactor device registration This patch mostly follows commit 5998102b9095fdb7c67755812038612afea315c5 "ASoC: Refactor WM8731 device registration" to make UDA1380 use standard device instantiation. Similarly, the I2C device registration temporarily moves into the magician machine driver before it will find its final resting place in the board file. At the same time, platform specific configuration is moved to platform data and common power/reset GPIO handling moves into the codec driver. Signed-off-by: Philipp Zabel Signed-off-by: Mark Brown commit ca94c442535a44d508c99a77e54f21a59f4fc462 Author: Lennart Poettering Date: Mon Jun 15 17:17:47 2009 +0200 sched: Introduce SCHED_RESET_ON_FORK scheduling policy flag This patch introduces a new flag SCHED_RESET_ON_FORK which can be passed to the kernel via sched_setscheduler(), ORed in the policy parameter. If set this will make sure that when the process forks a) the scheduling priority is reset to DEFAULT_PRIO if it was higher and b) the scheduling policy is reset to SCHED_NORMAL if it was either SCHED_FIFO or SCHED_RR. Why have this? Currently, if a process is real-time scheduled this will 'leak' to all its child processes. For security reasons it is often (always?) a good idea to make sure that if a process acquires RT scheduling this is confined to this process and only this process. More specifically this makes the per-process resource limit RLIMIT_RTTIME useful for security purposes, because it makes it impossible to use a fork bomb to circumvent the per-process RLIMIT_RTTIME accounting. This feature is also useful for tools like 'renice' which can then change the nice level of a process without having this spill to all its child processes. Why expose this via sched_setscheduler() and not other syscalls such as prctl() or sched_setparam()? prctl() does not take a pid parameter. Due to that it would be impossible to modify this flag for other processes than the current one. The struct passed to sched_setparam() can unfortunately not be extended without breaking compatibility, since sched_setparam() lacks a size parameter. How to use this from userspace? In your RT program simply replace this: sched_setscheduler(pid, SCHED_FIFO, ¶m); by this: sched_setscheduler(pid, SCHED_FIFO|SCHED_RESET_ON_FORK, ¶m); Signed-off-by: Lennart Poettering Acked-by: Peter Zijlstra LKML-Reference: <20090615152714.GA29092@tango.0pointer.de> Signed-off-by: Ingo Molnar commit b3b50b3f31775be5d2e441618bbc1c5cbee4d9f1 Author: Mark Brown Date: Sat Jun 13 22:30:18 2009 +0100 ASoC: Add suspend and resume callbacks to Wolfson CODEC drivers Signed-off-by: Mark Brown commit c64b04fe6e0cb7c78e01751a44ef56cf20344e87 Author: Jaswinder Singh Rajput Date: Sun Jun 14 00:59:50 2009 +0530 x86, cpu: cpu/proc.c display cache alignment and address sizes for 32 bit 32 bits can also access x86_cache_alignment, x86_phys_bits and x86_virt_bits, make them available to user space just as on 64 bits. Signed-off-by: Jaswinder Singh Rajput LKML-Reference: <1244921390.11733.30.camel@ht.satnam> Signed-off-by: H. Peter Anvin commit 831dc0f10f7b2a4856094ff160c018bf19f77527 Author: Mark Brown Date: Sat Jun 13 19:55:02 2009 +0100 ASoC: Add stub suspend and resume calls for ASoC subdevices Now that ASoC subdevices can be regular devices they can have normal suspend and resume calls from their buses. However, suspending them individually is not desirable since this can lead to problems such as pops and clicks from devices being suspended with their signals being amplified or clocks being stopped suddenly. This will be resolved by having the normal device model suspend and resume calls call into ASoC which will suspend the entire card while any of its components are suspended. At present this is not yet implemented but in order to aid the transition of drivers to the standard device model this patch adds API calls for the notifications. Signed-off-by: Mark Brown commit 619439998ac32953d737fbe2dc82eb67024547d0 Author: Mark Brown Date: Fri Jun 12 22:56:59 2009 +0100 ASoC: Automatically manage WM8350 sloping stopband filter For best performance the DAC sloping stopband filter should be enabled below 24kHz and not enabled above that so remove the user visible control for this and do it autonomously in the driver. Signed-off-by: Mark Brown commit 21002e20767292d85701154cdf12a591b45f0979 Author: Mark Brown Date: Fri Jun 12 17:27:52 2009 +0100 ASoC: Automatically manage WM8900 sloping stopband filter For best performance the DAC sloping stopband filter should be enabled below 24kHz and not enabled above that so remove the user visible control for this and do it autonomously in the driver. Signed-off-by: Mark Brown commit 9e79261f302083cbc6aa95e0f778e3583b1ab36e Author: Mark Brown Date: Fri Jun 12 17:27:07 2009 +0100 ASoC: Automatically control WM8903 sloping stopband filter For best performance the DAC sloping stopband filter should be enabled below 24kHz and not enabled above that so remove the user visible control for this and do it autonomously in the driver. Signed-off-by: Mark Brown commit df205936d5d1dfec9a52c90af77bb54a2c9c9728 Author: Lopez Cruz, Misael Date: Thu Jun 11 17:35:27 2009 -0500 ASoC: Zoom2: Add machine driver for Zoom2 board Add support for Zoom2 board. Zoom2 machine driver connects both codec DAIs (audio and voice) to omap3 McBSP ports in the following way: HiFi <-> McBSP2 Voice <-> McBSP3 The zoom2 driver has the following DAPM widgets: * Ext Mic: MAINMIC, SUBMIC (with bias) * Ext Spk: HFL, HFR * Headset Stereophone: HSOL, HSOR * Headset Mic: HSMIC (with bias) * Aux In: AUXL, AUXR Signed-off-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit b72f7fa9788c85866da10d7b2091077397018b7a Merge: 802070f 1cc4ce6 Author: Robert Richter Date: Fri Jun 12 18:46:35 2009 +0200 Merge branches 'oprofile/fixes', 'oprofile/next' and 'oprofile/master' into oprofile/auto commit 802070f5474af1a49435a9528aede47bb18abd47 Author: Robert Richter Date: Fri Jun 12 18:32:07 2009 +0200 x86/oprofile: fix initialization of arch_perfmon for core_i7 Commit: e419294 x86/oprofile: moving arch_perfmon counter setup to op_x86_model_spec.init introduced a bug in the initialization of core_i7 leading to the incorrect model setup to &op_ppro_spec. This patch fixes this. Signed-off-by: Robert Richter commit 74dc55ed5b709e4a2a538252f98ea62358df82ce Author: Mark Brown Date: Tue Jun 9 09:55:51 2009 +0100 ASoC: Add WM8961 driver The WM8961 is a low power, high quality stereo CODEC designed for portable digital applications with headphone and stereo class D speaker drivers. Signed-off-by: Mark Brown commit 1241eb8f136bf3ea409f61590e7663465906d158 Merge: 51563a0 940010c Author: Robert Richter Date: Fri Jun 12 17:58:48 2009 +0200 Merge commit 'tip/perfcounters-for-linus' into oprofile/master Conflicts: arch/x86/oprofile/op_model_ppro.c Signed-off-by: Robert Richter commit 1cc4ce6f5f89cdc355013aa43f06a14a015766d1 Author: Maynard Johnson Date: Wed May 27 10:15:08 2009 -0500 oprofile: reset bt_lost_no_mapping with other stats The bt_lost_no_mapping is not getting reset at the start of a profiling run, thus the oprofiled.log shows erroneous values for this statistic. The attached patch fixes this problem. Signed-off-by: Maynard Johnson Signed-off-by: Robert Richter commit 0e09b67e5886bf549ab14ef73de35d64ac867e2b Merge: fa44c07 291f3bb Author: Mark Brown Date: Thu Jun 11 21:04:04 2009 +0100 Merge branch 'dapm' into for-2.6.32 commit fa44c077eb2a17aa6913feceb493d13f45f3fa25 Author: Daniel Ribeiro Date: Wed Jun 10 15:23:24 2009 -0300 ASoC: remove duplicated code on pxa-ssp.c * We don't need to write the registers twice, remove the first write. * DAIFMT_INV switch is duplicated inside DAIFMT_FORMAT switch, move it out. (This patch is for Mark's for-2.6.32 branch, I have not checked if the code is duplicated on current 2.6.30) Signed-off-by: Daniel Ribeiro Signed-off-by: Mark Brown commit 51563a0e5650d0d76539625388d72d62b34c726e Author: Robert Richter Date: Wed Jun 3 20:54:56 2009 +0200 x86/oprofile: introduce oprofile_add_data64() The IBS implemention writes 64 bit register values to the cpu buffer by writing two 32 values using oprofile_add_data(). This patch introduces oprofile_add_data64() to write a single 64 bit value to the buffer. Signed-off-by: Robert Richter commit c572ae4efd1b0a5cc76c5e6aae05c1b182b6a69c Author: Robert Richter Date: Wed Jun 3 20:10:39 2009 +0200 x86/oprofile: use 64 bit values in IBS functions The IBS code internally uses 32 bit values (a low and a high value) to represent a 64 bit value. This patch changes this and now 64 bit values are used instead. 64 bit MSR functions can be used now. No functional changes. Signed-off-by: Robert Richter commit 1a245c45343651a87ff63afc5ddeb8e24d731835 Author: Robert Richter Date: Fri Jun 5 15:54:24 2009 +0200 x86/oprofile: remove some local variables in MSR save/restore functions The patch removes some local variables in these functions. Signed-off-by: Robert Richter commit 95e74e62c1540b1115fe8cec5b592f22960f2bb2 Author: Robert Richter Date: Wed Jun 3 19:09:27 2009 +0200 x86/oprofile: use 64 bit values to save MSR states This patch removes struct op_saved_msr and replaces it by an u64 variable. This makes code easier and it is possible to use 64 bit MSR functions. Signed-off-by: Robert Richter commit bbc5986d2db427fdd61b6116ff8b9ed988e663a8 Author: Robert Richter Date: Mon May 25 17:38:19 2009 +0200 x86/oprofile: use 64 bit wrmsr functions This patch replaces some wrmsr() functions with wrmsrl(). Signed-off-by: Robert Richter commit 217d3cfb959756cb493fc03106c0253baa420ce8 Author: Robert Richter Date: Thu Jun 4 02:36:44 2009 +0200 x86/oprofile: replace CTR*_IS_RESERVED macros The patch replaces all CTR*_IS_RESERVED macros. Signed-off-by: Robert Richter commit dea3766ca052a4f572b16a23a322553c064d75af Author: Robert Richter Date: Mon May 25 18:11:52 2009 +0200 x86/oprofile: replace CTRL_SET_*ACTIVE macros The patch replaces all CTRL_SET_*ACTIVE macros. 64 bit MSR functions and 64 bit counter values are used now. The code uses bit masks from . Signed-off-by: Robert Richter commit 42399adb239d4f1413899cc618ecf640779e79df Author: Robert Richter Date: Mon May 25 17:59:06 2009 +0200 x86/oprofile: replace CTR_OVERFLOWED macros The patch replaces all CTR_OVERFLOWED macros. 64 bit MSR functions and 64 bit counter values are used now. Thus, it will be easier to later extend the models to use more than 32 bit width counters. Signed-off-by: Robert Richter commit 3370d358569755625aba4d9a846a040ce691d9ed Author: Robert Richter Date: Mon May 25 15:10:32 2009 +0200 x86/oprofile: replace macros to calculate control register This patch introduces op_x86_get_ctrl() to calculate the value of the performance control register. This is generic code usable for all models. The event and reserved masks are model specific and stored in struct op_x86_model_spec. 64 bit MSR functions are used now. The patch removes many hard to read macros used for ctrl calculation. The function op_x86_get_ctrl() is common code and the first step to further merge performance counter implementations for x86 models. Signed-off-by: Robert Richter commit ef8828ddf828174785421af67c281144d4b8e796 Author: Robert Richter Date: Mon May 25 19:31:44 2009 +0200 x86/oprofile: pass the model to setup_ctrs() functions In follow-on patches the setup_ctrs() functions will need data that describes the model. This patch extends the function argument list to pass a pointer of the model to these function. Signed-off-by: Robert Richter commit 9c59354b48ce9cf28048b02fea73dd0236f876ea Author: Robert Richter Date: Mon May 25 18:16:43 2009 +0200 x86/oprofile: remove unused macros for AMD virtualization profiling The use of the macros has no effect. The oprofilefs has to be extended first to support these features. Signed-off-by: Robert Richter commit ec064c093e254f4433afb17dcef7f964c76436af Author: Robert Richter Date: Mon May 25 15:05:50 2009 +0200 x86/oprofile: fix and cleanup CTRL_SET_* macros This patch fixes missing braces around macro parameters. Macro definitions from intel_arch_perfmon.h are used where possible. Signed-off-by: Robert Richter commit 1131a478245b00664ae2dbc0f68db987b51fa806 Author: Robert Richter Date: Mon May 25 20:23:23 2009 +0200 x86/oprofile: remove MSR macros for p4 cpus The macros CTRL_READ() and CTRL_WRITE() make the code hard to read and maintain. This patch replaces them by rdmsr()/wrmsr() functions and simplifies the code. Signed-off-by: Robert Richter commit 74c9a5c341bb1f6cbb5095b07c77230f19682ce8 Author: Robert Richter Date: Fri May 22 19:47:38 2009 +0200 x86/oprofile: remove MSR macros for ppro cpus The macros CTRL_READ() and CTRL_WRITE() make the code hard to read and maintain. This patch replaces them by rdmsr()/wrmsr() functions and simplifies the code. Signed-off-by: Robert Richter commit d2731a4387ad6c6bca07abfe9ed41d450fb6d665 Author: Robert Richter Date: Fri May 22 19:47:38 2009 +0200 x86/oprofile: remove MSR macros for AMD cpus The macros CTRL_READ() and CTRL_WRITE() make the code hard to read and maintain. This patch replaces them by rdmsr()/wrmsr() functions and simplifies the code. Signed-off-by: Robert Richter commit ff9faa8b676e195476b86f03fe58db0f01bda8f3 Author: Robert Richter Date: Fri May 22 15:36:29 2009 +0200 x86/oprofile: move common macros to op_x86_model.h There are duplicate macro implementations in model specific code. This patch moves all common macros to op_x86_model.h. Signed-off-by: Robert Richter commit d20f24c66011f8a397bca6c5d1a6a7c7e612d2d7 Author: Robert Richter Date: Sun Jan 11 13:01:16 2009 +0100 x86/oprofile: simplify AMD cpu init code Signed-off-by: Robert Richter commit 9063759540daac40cc1f402f83a3be6b489f8583 Author: Robert Richter Date: Tue Mar 10 19:15:57 2009 +0100 x86/oprofile: remove #ifdefs in ibs functions IBS code is moved to separate functions. This allows the removal of #ifdefs in functions. Signed-off-by: Robert Richter commit fecfe6320ba71eed6d16849683298f0894aa60de Author: Robert Richter Date: Thu May 7 16:07:41 2009 +0200 oprofile: remove obselete include headers This became obsolete with this commit: 6dad828 oprofile: port to the new ring_buffer Signed-off-by: Robert Richter commit 0dc8335aa3e59f1adbb0fce7c9c0b342146cd036 Author: Robert Richter Date: Thu May 7 15:09:33 2009 +0200 oprofile: remove irq_flags in struct op_entry This became obsolete with this commit: 304cc6a ring_buffer: remove unused flags parameter, fix Signed-off-by: Robert Richter commit 06552ccc36abeb12e37efc16c384dc7f30794f85 Author: Robert Richter Date: Thu May 28 02:12:36 2009 +0200 x86/oprofile: minor style changes in struct op_x86_model_spec Some vertical alignments. Variables are now located in the beginning of the struct. Signed-off-by: Robert Richter commit e419294ed3c98cccc145202e4fe165bfd8099d63 Author: Robert Richter Date: Sun Oct 12 15:12:34 2008 -0400 x86/oprofile: moving arch_perfmon counter setup to op_x86_model_spec.init The function arch_perfmon_init() in nmi_int.c is model specific. This patch moves it to op_model_ppro.c by using the init function pointer in struct op_x86_model_spec. Cc: Andi Kleen Signed-off-by: Robert Richter commit 849620fab413355eff48232eac5a8c53c57615c5 Author: Robert Richter Date: Thu May 14 17:10:52 2009 +0200 Revert "oprofile: discover counters for op ppro too" This reverts commit 59512900baab03c5629f2ff5efad1d5d4e682ece. arch_perfmon_setup_counters() is actually never called for ppro, so there is no code that changes the numbers in op_ppro_spec. The patch as it is has no effect. Cc: Andi Kleen Signed-off-by: Robert Richter commit 0886751c5d8b19fcee2e65d34ae21c9111e652a9 Merge: 7e4e0bd 07a2039 Author: Robert Richter Date: Wed Jun 10 21:47:10 2009 +0200 Merge commit 'v2.6.30' into oprofile/master commit efd13be09e2db4ac4efa2c6101c4f50ee1ead4b0 Author: Chaithrika U S Date: Mon Jun 8 06:49:41 2009 -0400 ASoC: Minor fixes to DaVinci I2S probe function Assign proper errors when platform resource claims fail. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 291f3bbcacf278726911c713e14cedb71c486b16 Author: Mark Brown Date: Sun Jun 7 13:57:17 2009 +0100 ASoC: Make DAPM power sequence lists local variables They are now only accessed within dapm_power_widgets() so can be local to that function. Signed-off-by: Mark Brown commit 4f1c1923851f9734c972812121e80a3b04ab3af4 Author: Mark Brown Date: Sun Jun 7 13:37:44 2009 +0100 ASoC: Coalesce power updates for PGAs Handle gain ramping for PGAs so we can coalesce their power updates too. This is not ideal since we can't cope properly with gain ramping for stereo paths but that was the case without coalescing and gain ramping is relatively infrequently used so the effects are limited. Signed-off-by: Mark Brown commit 81628103dd8527d99ea39b054a3f002d5859d7c3 Author: Mark Brown Date: Sun Jun 7 13:21:24 2009 +0100 ASoC: Coalesce power updates for DAPM widgets with events Signed-off-by: Mark Brown commit e3d4dabd2d9b74778f6f15a830eb3a0027bb3799 Author: Mark Brown Date: Sun Jun 7 13:08:45 2009 +0100 ASoC: Sort specialised mixers and muxes together The more flexible value muxes and named mixers don't need to be sorted differently from a power management point of view, they are different only in terms of the control interface and not in terms of seqencing behaviour. Signed-off-by: Mark Brown commit b22ead2a510fdb30440753f90237e86fdac70fae Author: Mark Brown Date: Sun Jun 7 12:51:26 2009 +0100 ASoC: Coalesce register writes for DAPM sequences Reduce the number of register writes we need to set the power state for a CODEC by coalescing updates to widgets with the same sequence order and same register into a single write. This can be a noticable performance improvement with slow or heavily contended control buses, such as I2C controllers with a low clock frequency, and is particularly noticable when resuming. It can also reduce the noticability of and pops and clicks by ensuring that left and right channels are powered simultaneously if they are in the same register. Currently widgets that have events are not coalesced, including PGAs which may use the volume ramping control. Signed-off-by: Mark Brown commit 46f5822f7841697d4aedaf4672661d7a765172cd Author: Daniel Ribeiro Date: Sun Jun 7 02:49:11 2009 -0300 ASoC: Allow 32 bit registers for DAPM Replace the remaining unsigned shorts with unsigned ints. Tested with pcap2 codec (25 bits registers). Signed-off-by: Daniel Ribeiro Signed-off-by: Mark Brown commit 04f80f5c486b39446af44e218dba90ec210d61ca Author: Chaithrika U S Date: Fri Jun 5 06:28:49 2009 -0400 ASoC: Add machine driver support for DM646x This patch does the following: (1) Add support for the DM646x machine (2) Modifications required to introduce the platform driver model to get platform data for all the machines including dm355 and dm644x. Signed-off-by: Steve Chen Signed-off-by: Pavel Kiryukhin Signed-off-by: Naresh Medisetty Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit b67f4487295560599f6cca55fb7e8773ff27f00a Author: Chaithrika U S Date: Fri Jun 5 06:28:40 2009 -0400 ASoC: Add mcasp support for DM646x Adds driver support for the two instances of McASP on TI's DM646x. The multichannel audio serial port (McASP) functions as a general-purpose audio serial port optimized for the needs of multichannel audio application. (http://www.ti.com/litv/pdf/spruer1b). There are two instances of McASP on DM646x. The McASP0 module includes up to 4 serializers that can be individually enabled to either transmit or receive in different modes. The McASP1 module is limited with only 1 pinned-out serializer that can be enabled to only transmit in DIT mode (neither receiving in any mode nor transmitting in either Burst or TDM mode is supported). McASP0 consists of transmit and receive sections that may operate synchronized, or completely independently with separate master clocks, bit clocks, and frame syncs, and using different transmit modes with different bit-stream formats. Signed-off-by: Steve Chen Signed-off-by: Pavel Kiryukhin Signed-off-by: Naresh Medisetty Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 5204d49676dae3ae1f9dff5b60bf567d24680872 Author: Chaithrika U S Date: Fri Jun 5 06:28:23 2009 -0400 ASoC: Introduce platform driver model for dm644x, dm355 Introduce the platform driver model to get platform data for dm355 and dm644x. Register platform driver and acquire the resources in the probe function Since the platform specific code had been moved from machine driver to dm.c Signed-off-by: Naresh Medisetty Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 163cac061c97394d4ef9c89efe5921dac937ddb8 Author: Mark Brown Date: Sun Jun 7 10:12:52 2009 +0100 ASoC: Factor out DAPM sequence execution Lump the list walk into a single function, and pull in the power application too so we can do some further refactoring. Pure code motion. Signed-off-by: Mark Brown commit 38357ab2c83631728afa37a783c9b1bd474a0739 Author: Mark Brown Date: Sat Jun 6 19:03:23 2009 +0100 ASoC: Sort DAPM power sequences while building lists In the past the DAPM power sequencing was done by iterating over the list of widgets once for each widget type and powering widgets of that type. Instead of doing that do the sorting at the time we insert the widgets into the lists of widgets to apply power changes to. This reduces the amount of computation required for seqencing still further, though the costs are generally dwarfed by the costs of the register writes implementing them. Signed-off-by: Mark Brown commit 4fcbbb67a3cdc7129190a76763480f5ef63e5772 Author: Mark Brown Date: Sat May 23 12:27:03 2009 +0100 ASoC: Update WM8974 to use standard I2C device probe methods Signed-off-by: Mark Brown commit 1a55b3f6ed1d917dd26271dae19dda088d820540 Author: Mark Brown Date: Sat May 23 11:31:40 2009 +0100 ASoC: WM8974 checkpatch cleanups Signed-off-by: Mark Brown commit 0a1bf553359013621c8c5cf745354212c6ef51d3 Author: Mark Brown Date: Sat May 23 11:18:41 2009 +0100 ASoC: Add WM8974 CODEC driver The WM8974 is a low power, high quality mono CODEC designed for portable applications such as digital still cameras or digital voice recorders. This driver was originally written by Graeme Gregory and Liam Girdwood and has since been maintained by myself with some updates contributed by Brett Saunders and Javier Martin. Signed-off-by: Mark Brown commit 606689e9f8c52b537c85fd4bc1ba5ce7b3ee2678 Author: Mark Brown Date: Sat Feb 28 17:33:52 2009 +0000 ASoC: Add Openmoko Neo FreeRunner (GTA02) audio driver This driver supports the audio subsystem on the Openmoko Neo FreeRunner smartphone, often known by its codename GTA02. The system has a WM8753 connected to a Samsung S3C2442 with an external GPIO controlled speaker amplifier. The driver was originally written by Graeme Gregory and has recieved contributions from Openmoko, myself and members of the Openmoko community. For much of this time the primary Openmoko kernel maintainer was Andy Green. Signed-off-by: Graeme Gregory Signed-off-by: Andy Green Signed-off-by: Mark Brown