commit 71a8638480eb8fb6cfabe2ee9ca3fbc6e3453a14 Merge: 1723800 8aa4d96 Author: Linus Torvalds Date: Sun May 22 12:39:58 2011 -0700 Merge branch 'viafb-next' of git://github.com/schandinat/linux-2.6 * 'viafb-next' of git://github.com/schandinat/linux-2.6: (24 commits) viafb: Automatic OLPC XO-1.5 configuration viafb: remove unused CEA mode viafb: try to map less memory in case of failure viafb: use write combining for video ram viafb: add X server compatibility mode viafb: reduce OLPC refresh a bit viafb: fix OLPC XO 1.5 device connection viafb: fix OLPC DCON refresh rate viafb: delete clock and PLL initialization viafb: replace custom return values viafb: some small cleanup for global variables viafb: gather common good, old VGA initialization in one place viafb: add engine clock support viafb: add VIA slapping capability viafb: split clock and PLL code to an extra file viafb: add primary/secondary clock on/off switches viafb: add clock source selection and PLL power management support viafb: prepare for PLL separation viafb: call viafb_get_clk_value only in viafb_set_vclock viafb: remove unused max_hres/vres ... commit 17238005f377888b9d4583835205c77e3d781bb8 Merge: 34ea646 7fe2ac6 Author: Linus Torvalds Date: Sun May 22 12:38:40 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6: [PARISC] wire up syncfs syscall [PARISC] wire up the fhandle syscalls [PARISC] wire up clock_adjtime syscall [PARISC] wire up fanotify syscalls [PARISC] prevent speculative re-read on cache flush [PARISC] only make executable areas executable [PARISC] fix pacache .size with new binutils commit 34ea646c9f8c18fd2e4332ff3b2b509f878c56f1 Author: Heiko Carstens Date: Sun May 22 18:55:10 2011 +0200 net: add missing prefetch.h include Fixes build errors on s390 and probably other archs as well: In file included from net/ipv4/ip_forward.c:32:0: include/net/udp.h: In function 'udp_csum_outgoing': include/net/udp.h:141:2: error: implicit declaration of function 'prefetch' Signed-off-by: Heiko Carstens Signed-off-by: Linus Torvalds commit 9ce6e0be0626a5de2aca8b769a4aa57086257156 Author: Heiko Carstens Date: Sun May 22 18:54:21 2011 +0200 fs: add missing prefetch.h include Fixes this build error on s390 and probably other archs as well: fs/inode.c: In function 'new_inode': fs/inode.c:894:2: error: implicit declaration of function 'spin_lock_prefetch' Signed-off-by: Heiko Carstens [ Happens on architectures that don't define their own prefetch functions in , and instead rely on the default ones in - Linus] Signed-off-by: Linus Torvalds commit 7fe2ac6882f74e8bd5b3891f63c09cb10aee9d03 Merge: 2e7bad5 b7d4581 Author: James Bottomley Date: Sun May 22 11:04:55 2011 +0400 Merge branch 'flushing' into for-linus commit dcb4a1f0e0367efb813907e5083998bbb98b0456 Merge: c21fd1a 105e53f Author: Linus Torvalds Date: Sat May 21 12:25:07 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: sbp2: parallelize login, reconnect, logout firewire: sbp2: octlet AT payloads can be stack-allocated firewire: sbp2: omit Scsi_Host lock from queuecommand firewire: core: use non-reentrant workqueue with rescuer firewire: optimize iso queueing by setting wake only after the last packet firewire: octlet AT payloads can be stack-allocated firewire: ohci: optimize find_branch_descriptor() firewire: ohci: avoid separate DMA mapping for small AT payloads firewire: ohci: do not start DMA contexts before link is enabled commit c21fd1a8c68ce3f49b00caf10337169262cfb8ad Merge: 1a4022f 5d41452 Author: Linus Torvalds Date: Sat May 21 00:13:03 2011 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: sctp: Fix build failure. garp: use kfree_rcu() ipv6: copy prefsrc setting when copying route entry commit 1a4022f88d40e1255920b017556092ab926d7f66 Author: Erez Zadok Date: Sat May 21 01:19:59 2011 -0400 VFS: move BUG_ON test for symlink nd->depth after current->link_count test This solves a serious VFS-level bug in nested_symlink (which was rewritten from do_follow_link), and follows the order of depth tests that existed before. The bug triggers a BUG_ON in fs/namei.c:1381, when running racer with symlink and rename ops. Signed-off-by: Erez Zadok Acked-by: Miklos Szeredi Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 5d414521663295ce25c90164f4d41a07ac846468 Author: David S. Miller Date: Sat May 21 02:10:23 2011 -0400 sctp: Fix build failure. Commit c182f90bc1f22ce5039b8722e45621d5f96862c2 ("SCTP: fix race between sctp_bind_addr_free() and sctp_bind_addr_conflict()") and commit 1231f0baa547a541a7481119323b7f964dda4788 ("net,rcu: convert call_rcu(sctp_local_addr_free) to kfree_rcu()"), happening in different trees, introduced a build failure. Simply make the SCTP race fix use kfree_rcu() too. Signed-off-by: David S. Miller commit 0a384b226f61b310586701669b573b49cfcbf436 Author: Eric Dumazet Date: Fri May 20 18:31:30 2011 +0000 garp: use kfree_rcu() Use kfree_rcu() instead of call_rcu(), remove garp_cleanup_module() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0f6c6392dca9c4825c98322a1bf74991e4f0f54d Author: Florian Westphal Date: Fri May 20 11:27:24 2011 +0000 ipv6: copy prefsrc setting when copying route entry commit c3968a857a6b6c3d2ef4ead35776b055fb664d74 ('ipv6: RTA_PREFSRC support for ipv6 route source address selection') added support for ipv6 prefsrc as an alternative to ipv6 addrlabels, but it did not work because the prefsrc entry was not copied. Cc: Daniel Walter Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 052497553e5dedc04c43800820c1d5788201cc71 Merge: cae13fe 4427b1b Author: Linus Torvalds Date: Fri May 20 17:24:14 2011 -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: (45 commits) crypto: caam - add support for sha512 variants of existing AEAD algorithms crypto: caam - remove unused authkeylen from caam_ctx crypto: caam - fix decryption shared vs. non-shared key setting crypto: caam - platform_bus_type migration crypto: aesni-intel - fix aesni build on i386 crypto: aesni-intel - Merge with fpu.ko crypto: mv_cesa - make count_sgs() null-pointer proof crypto: mv_cesa - copy remaining bytes to SRAM only when needed crypto: mv_cesa - move digest state initialisation to a better place crypto: mv_cesa - fill inner/outer IV fields only in HMAC case crypto: mv_cesa - refactor copy_src_to_buf() crypto: mv_cesa - no need to save digest state after the last chunk crypto: mv_cesa - print a warning when registration of AES algos fail crypto: mv_cesa - drop this call to mv_hash_final from mv_hash_finup crypto: mv_cesa - the descriptor pointer register needs to be set just once crypto: mv_cesa - use ablkcipher_request_cast instead of the manual container_of crypto: caam - fix printk recursion for long error texts crypto: caam - remove unused keylen from session context hwrng: amd - enable AMD hw rnd driver for Maple PPC boards hwrng: amd - manage resource allocation ... commit cae13fe4cc3f24820ffb990c09110626837e85d4 Author: Timo Warns Date: Thu May 19 09:24:17 2011 +0200 Fix for buffer overflow in ldm_frag_add not sufficient As Ben Hutchings discovered [1], the patch for CVE-2011-1017 (buffer overflow in ldm_frag_add) is not sufficient. The original patch in commit c340b1d64000 ("fs/partitions/ldm.c: fix oops caused by corrupted partition table") does not consider that, for subsequent fragments, previously allocated memory is used. [1] http://lkml.org/lkml/2011/5/6/407 Reported-by: Ben Hutchings Signed-off-by: Timo Warns Signed-off-by: Linus Torvalds commit e6c9366b2adb52cba64b359b3050200743c7568c Author: Hugh Dickins Date: Fri May 20 15:47:33 2011 -0700 tmpfs: fix highmem swapoff crash regression Commit 778dd893ae78 ("tmpfs: fix race between umount and swapoff") forgot the new rules for strict atomic kmap nesting, causing WARNING: at arch/x86/mm/highmem_32.c:81 from __kunmap_atomic(), then BUG: unable to handle kernel paging request at fffb9000 from shmem_swp_set() when shmem_unuse_inode() is handling swapoff with highmem in use. My disgrace again. See https://bugzilla.kernel.org/show_bug.cgi?id=35352 Reported-by: Witold Baryluk Signed-off-by: Hugh Dickins Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 6de06f313a65d0ecabf055e708d082002b568866 Author: Josh Boyer Date: Fri May 20 16:22:25 2011 -0400 powerpc: Fix 32-bit SMP build Commit 69e3cea8d5fd526 ("powerpc/smp: Make start_secondary_resume available to all CPU variants") introduced start_secondary_resume to misc_32.S, however it uses a 64-bit instruction which is not valid on 32-bit platforms. Use 'stw' instead. Reported-by: Richard Cochran Tested-by: Richard Cochran Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit 557eed603159b4e007c57d97fad1333ecebd3c2e Merge: be84bfc 8a745f1 Author: Linus Torvalds Date: Fri May 20 14:31:27 2011 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: Power off empty ports libata-pmp: add support for Thermaltake BlackX Duet esata drive dock ATA: Don't powerdown Compaq Triflex IDE device on suspend libata: Use Maximum Write Same Length to report discard size limit drivers/ata/acard-ahci.c: fix enum warning pata_at91: SMC settings calculation bugfixes, support for t6z and IORDY libata-sff: prevent irq descriptions for dummy ports pata_cm64x: fix boot crash on parisc commit be84bfcc3ed8f824751ab79349779e50cc98aa01 Author: Kevin Cernekee Date: Tue May 17 10:39:58 2011 -0700 ipc: Add missing sys_ni entries for ipc/compat.c functions When building with: CONFIG_64BIT=y CONFIG_MIPS32_COMPAT=y CONFIG_COMPAT=y CONFIG_MIPS32_O32=y CONFIG_MIPS32_N32=y CONFIG_SYSVIPC is not set (and implicitly: CONFIG_SYSVIPC_COMPAT is not set) the final link fails with unresolved symbols for: compat_sys_semctl, compat_sys_msgsnd, compat_sys_msgrcv, compat_sys_shmctl, compat_sys_msgctl, compat_sys_semtimedop The fix is to add cond_syscall declarations for all syscalls in ipc/compat.c Signed-off-by: Kevin Cernekee Acked-by: Ralf Baechle Acked-by: Arnd Bergmann Cc: Andrew Morton Cc: Al Viro Cc: Stephen Rothwell Signed-off-by: Linus Torvalds commit 06f4e926d256d902dd9a53dcb400fd74974ce087 Merge: 8e7bfcb d935156 Author: Linus Torvalds Date: Fri May 20 13:43:21 2011 -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: (1446 commits) macvlan: fix panic if lowerdev in a bond tg3: Add braces around 5906 workaround. tg3: Fix NETIF_F_LOOPBACK error macvlan: remove one synchronize_rcu() call networking: NET_CLS_ROUTE4 depends on INET irda: Fix error propagation in ircomm_lmp_connect_response() irda: Kill set but unused variable 'bytes' in irlan_check_command_param() irda: Kill set but unused variable 'clen' in ircomm_connect_indication() rxrpc: Fix set but unused variable 'usage' in rxrpc_get_transport() be2net: Kill set but unused variable 'req' in lancer_fw_download() irda: Kill set but unused vars 'saddr' and 'daddr' in irlan_provider_connect_indication() atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined. rxrpc: Fix set but unused variable 'usage' in rxrpc_get_peer(). rxrpc: Kill set but unused variable 'local' in rxrpc_UDP_error_handler() rxrpc: Kill set but unused variable 'sp' in rxrpc_process_connection() rxrpc: Kill set but unused variable 'sp' in rxrpc_rotate_tx_window() pkt_sched: Kill set but unused variable 'protocol' in tc_classify() isdn: capi: Use pr_debug() instead of ifdefs. tg3: Update version to 3.119 tg3: Apply rx_discards fix to 5719/5720 ... Fix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c as per Davem. commit 8e7bfcbab3825d1b404d615cb1b54f44ff81f981 Merge: 102dc1b 30f7276 Author: Linus Torvalds Date: Fri May 20 13:39:00 2011 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] define "_sdata" symbol pstore: Fix Kconfig dependencies for apei->pstore pstore: fix potential logic issue in pstore read interface pstore: fix pstore filesystem mount/remount issue pstore: fix one type of return value in pstore [IA64] fix build warning in arch/ia64/oprofile/backtrace.c commit 102dc1bae12a20214c9ee2d33a7402dc5175e30d Merge: 91444f4 bbe7b8b Author: Linus Torvalds Date: Fri May 20 13:38:28 2011 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: MAINTAINERS: Add drivers/clocksource to TIMEKEEPING clockevents/source: Use u64 to make 32bit happy commit 91444f47b2a0e50a15849f49db8c15382cd8de1b Merge: bc091c9 156ecb2 Author: Linus Torvalds Date: Fri May 20 13:37:49 2011 -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: (32 commits) [CIFS] Fix to problem with getattr caused by invalidate simplification patch [CIFS] Remove sparse warning [CIFS] Update cifs to version 1.72 cifs: Change key name to cifs.idmap, misc. clean-up cifs: Unconditionally copy mount options to superblock info cifs: Use kstrndup for cifs_sb->mountdata cifs: Simplify handling of submount options in cifs_mount. cifs: cifs_parse_mount_options: do not tokenize mount options in-place cifs: Add support for mounting Windows 2008 DFS shares cifs: Extract DFS referral expansion logic to separate function cifs: turn BCC into a static inlined function cifs: keep BCC in little-endian format cifs: fix some unused variable warnings in id_rb_search CIFS: Simplify invalidate part (try #5) CIFS: directio read/write cleanups consistently use smb_buf_length as be32 for cifs (try 3) cifs: Invoke id mapping functions (try #17 repost) cifs: Add idmap key and related data structures and functions (try #17 repost) CIFS: Add launder_page operation (try #3) Introduce smb2 mounts as vers=2 ... commit bc091c93a0f60717aa99e25c406892cd8c0187dc Merge: 3ed4c05 a2d063a Author: Linus Torvalds Date: Fri May 20 13:37:22 2011 -0700 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: extable, core_kernel_data(): Make sure all archs define _sdata core_kernel_data(): Fix architectures that do not define _sdata commit 3ed4c0583daa34dedb568b26ff99e5a7b58db612 Merge: ad94717 bd715d9 Author: Linus Torvalds Date: Fri May 20 13:33:21 2011 -0700 Merge branch 'ptrace' of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc * 'ptrace' of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc: (41 commits) signal: trivial, fix the "timespec declared inside parameter list" warning job control: reorganize wait_task_stopped() ptrace: fix signal->wait_chldexit usage in task_clear_group_stop_trapping() signal: sys_sigprocmask() needs retarget_shared_pending() signal: cleanup sys_sigprocmask() signal: rename signandsets() to sigandnsets() signal: do_sigtimedwait() needs retarget_shared_pending() signal: introduce do_sigtimedwait() to factor out compat/native code signal: sys_rt_sigtimedwait: simplify the timeout logic signal: cleanup sys_rt_sigprocmask() x86: signal: sys_rt_sigreturn() should use set_current_blocked() x86: signal: handle_signal() should use set_current_blocked() signal: sigprocmask() should do retarget_shared_pending() signal: sigprocmask: narrow the scope of ->siglock signal: retarget_shared_pending: optimize while_each_thread() loop signal: retarget_shared_pending: consider shared/unblocked signals only signal: introduce retarget_shared_pending() ptrace: ptrace_check_attach() should not do s/STOPPED/TRACED/ signal: Turn SIGNAL_STOP_DEQUEUED into GROUP_STOP_DEQUEUED signal: do_signal_stop: Remove the unneeded task_clear_group_stop_pending() ... commit ad9471752ebae25daa133b4e5d9299809c35e155 Merge: 6c1b8d9 6ad11ea Author: Linus Torvalds Date: Fri May 20 13:29:52 2011 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (110 commits) [SCSI] qla2xxx: Refactor call to qla2xxx_read_sfp for thermal temperature. [SCSI] qla2xxx: Unify the read/write sfp mailbox command routines. [SCSI] qla2xxx: Clear complete initialization control block. [SCSI] qla2xxx: Allow an override of the registered maximum LUN. [SCSI] qla2xxx: Add host number in reset and quiescent message logs. [SCSI] qla2xxx: Correctly read sfp single byte mailbox register. [SCSI] qla2xxx: Add qla82xx_rom_unlock() function. [SCSI] qla2xxx: Log if qla82xx firmware fails to load from flash. [SCSI] qla2xxx: Use passed in host to initialize local scsi_qla_host in queuecommand function [SCSI] qla2xxx: Correct buffer start in edc sysfs debug print. [SCSI] qla2xxx: Update firmware version after flash update for ISP82xx. [SCSI] qla2xxx: Fix hang during driver unload when vport is active. [SCSI] qla2xxx: Properly set the dsd_list_len for dsd_chaining in cmd type 6. [SCSI] qla2xxx: Fix virtual port failing to login after chip reset. [SCSI] qla2xxx: Fix vport delete hang when logins are outstanding. [SCSI] hpsa: Change memset using sizeof(ptr) to sizeof(*ptr) [SCSI] ipr: Rate limit DMA mapping errors [SCSI] hpsa: add P2000 to list of shared SAS devices [SCSI] hpsa: do not attempt PCI power management reset method if we know it won't work. [SCSI] hpsa: remove superfluous sleeps around reset code ... commit 6c1b8d94bcc1882e451d0e7a28a4a5253f4970ab Merge: 82aff10 f2741d9 Author: Linus Torvalds Date: Fri May 20 13:28:45 2011 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (32 commits) GFS2: Move all locking inside the inode creation function GFS2: Clean up symlink creation GFS2: Clean up mkdir GFS2: Use UUID field in generic superblock GFS2: Rename ops_inode.c to inode.c GFS2: Inode.c is empty now, remove it GFS2: Move final part of inode.c into super.c GFS2: Move most of the remaining inode.c into ops_inode.c GFS2: Move gfs2_refresh_inode() and friends into glops.c GFS2: Remove gfs2_dinode_print() function GFS2: When adding a new dir entry, inc link count if it is a subdir GFS2: Make gfs2_dir_del update link count when required GFS2: Don't use gfs2_change_nlink in link syscall GFS2: Don't use a try lock when promoting to a higher mode GFS2: Double check link count under glock GFS2: Improve bug trap code in ->releasepage() GFS2: Fix ail list traversal GFS2: make sure fallocate bytes is a multiple of blksize GFS2: Add an AIL writeback tracepoint GFS2: Make writeback more responsive to system conditions ... commit 82aff107f8c9194586f68e86412246629d05670a Merge: d974d90 208b3a4 Author: Linus Torvalds Date: Fri May 20 13:28:01 2011 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (152 commits) powerpc: Fix hard CPU IDs detection powerpc/pmac: Update via-pmu to new syscore_ops powerpc/kvm: Fix the build for 32-bit Book 3S (classic) processors powerpc/kvm: Fix kvmppc_core_pending_dec powerpc: Remove last piece of GEMINI powerpc: Fix for Pegasos keyboard and mouse powerpc: Make early memory scan more resilient to out of order nodes powerpc/pseries/iommu: Cleanup ddw naming powerpc/pseries/iommu: Find windows after kexec during boot powerpc/pseries/iommu: Remove ddw property when destroying window powerpc/pseries/iommu: Add additional checks when changing iommu mask powerpc/pseries/iommu: Use correct return type in dupe_ddw_if_already_created powerpc: Remove unused/obsolete CONFIG_XICS misc: Add CARMA DATA-FPGA Programmer support misc: Add CARMA DATA-FPGA Access Driver powerpc: Make IRQ_NOREQUEST last to clear, first to set powerpc: Integrated Flash controller device tree bindings powerpc/85xx: Create dts of each core in CAMP mode for P1020RDB powerpc/85xx: Fix PCIe IDSEL for Px020RDB powerpc/85xx: P2020 DTS: re-organize dts files ... commit d974d905cbfc1039a73ba0c7eea3f4d4e13c0624 Author: Stephen Rothwell Date: Fri May 20 15:48:17 2011 +1000 spinlock_up.h: include asm/processor.h in for cpu_relax Commit e66eed651fd1 ("list: remove prefetching from regular list iterators") removed the include of prefetch.h from list.h and this was a path to including asm/processor.h. We need to include it excplicitly now. Fixes this build error on sparc32 (at least): In file included from include/linux/seqlock.h:29, from include/linux/time.h:8, from include/linux/timex.h:56, from include/linux/sched.h:57, from arch/sparc/kernel/asm-offsets.c:13: include/linux/spinlock.h: In function 'spin_unlock_wait': include/linux/spinlock.h:360: error: implicit declaration of function 'cpu_relax Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit 268bb0ce3e87872cb9290c322b0d35bce230d88f Author: Linus Torvalds Date: Fri May 20 12:50:29 2011 -0700 sanitize usage Commit e66eed651fd1 ("list: remove prefetching from regular list iterators") removed the include of prefetch.h from list.h, which uncovered several cases that had apparently relied on that rather obscure header file dependency. So this fixes things up a bit, using grep -L linux/prefetch.h $(git grep -l '[^a-z_]prefetchw*(' -- '*.[ch]') grep -L 'prefetchw*(' $(git grep -l 'linux/prefetch.h' -- '*.[ch]') to guide us in finding files that either need inclusion, or have it despite not needing it. There are more of them around (mostly network drivers), but this gets many core ones. Reported-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit d93515611bbc70c2fe4db232e5feb448ed8e4cc9 Author: Eric Dumazet Date: Fri May 20 14:59:23 2011 -0400 macvlan: fix panic if lowerdev in a bond commit a35e2c1b6d905 (macvlan: use rx_handler_data pointer to store macvlan_port pointer V2) added a bug in macvlan_port_create() Steps to reproduce the bug: # ifenslave bond0 eth0 eth1 # ip link add link eth0 up name eth0#1 type macvlan ->error EBUSY # ip link add link eth0 up name eth0#1 type macvlan ->panic Fix: Dont set IFF_MACVLAN_PORT in error case. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 30f7276cb35a22743d709a460ae3639aad50366a Author: Tony Luck Date: Fri May 20 10:38:53 2011 -0700 [IA64] define "_sdata" symbol core_kernel_data() wants to know if an address looks like kernel data. IA64 has had _edata forever, but never needed _sdata until now. Signed-off-by: Tony Luck commit 5e4de22bec1d78c009409200162da6a54631e9e4 Merge: 3935bb9 ff00c2a Author: Tony Luck Date: Fri May 20 10:35:03 2011 -0700 Pull misc-2.6.40 into release branch commit 3935bb949f360b5c8fbf7da268deb81d225d7b93 Merge: 61c4f2c 5d2a834 Author: Tony Luck Date: Fri May 20 10:34:50 2011 -0700 Pull pstore into release branch commit 5d2a8342f64e93c217fcbf3206ec9ae770b1413d Author: Luck, Tony Date: Wed Apr 13 10:48:12 2011 -0700 pstore: Fix Kconfig dependencies for apei->pstore Geert Uytterhoeven ran a dependency checker which kicked out this warning: + warning: (ACPI_APEI) selects PSTORE which has unmet direct dependencies (MISC_FILESYSTEMS): => N/A Randy confirmed that the fix was to "select MISC_FILESYSTEMS" too. Tested-by: Randy Dunlap Signed-off-by: Tony Luck commit 156ecb2d8b06589098f6ce3012e6a10fef07c416 Author: Steve French Date: Fri May 20 17:00:01 2011 +0000 [CIFS] Fix to problem with getattr caused by invalidate simplification patch Fix to earlier "Simplify invalidate part (try #6)" patch That patch caused problems with connectathon test 5. Reviewed-by: Jeff Layton Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit bbe7b8bef48c567f5ff3f6041c1fb011292e8f12 Author: Thomas Gleixner Date: Fri May 20 11:38:24 2011 +0200 MAINTAINERS: Add drivers/clocksource to TIMEKEEPING It's not a random dump ground and we care about it. Signed-off-by: Thomas Gleixner Cc: Ralf Baechle commit c0e299b1a91cbdb21ae08e382a4176200398bc36 Author: Thomas Gleixner Date: Fri May 20 10:50:52 2011 +0200 clockevents/source: Use u64 to make 32bit happy unsigned long is not 64bit on 32bit machine. Signed-off-by: Thomas Gleixner commit 208b3a4c196e733b9cec006dc132cfc149b2810a Author: Benjamin Herrenschmidt Date: Fri May 20 17:50:18 2011 +1000 powerpc: Fix hard CPU IDs detection commit 9d07bc841c9779b4d7902e417f4e509996ce805d "powerpc: Properly handshake CPUs going out of boot spin loop" Would cause a miscalculation of the hard CPU ID. It removes breaking out of the loop when finding a match with a processor, thus the "i" used as an index in the intserv array is always incorrect This broke interrupt on my PowerMac laptop. Signed-off-by: Benjamin Herrenschmidt commit a2d063ac216c1618bfc2b4d40b7176adffa63511 Author: Steven Rostedt Date: Thu May 19 21:34:58 2011 -0400 extable, core_kernel_data(): Make sure all archs define _sdata A new utility function (core_kernel_data()) is used to determine if a passed in address is part of core kernel data or not. It may or may not return true for RO data, but this utility must work for RW data. Thus both _sdata and _edata must be defined and continuous, without .init sections that may later be freed and replaced by volatile memory (memory that can be freed). This utility function is used to determine if data is safe from ever being freed. Thus it should return true for all RW global data that is not in a module or has been allocated, or false otherwise. Also change core_kernel_data() back to the more precise _sdata condition and document the function. Signed-off-by: Steven Rostedt Acked-by: Ralf Baechle Acked-by: Hirokazu Takata Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Matt Turner Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: linux-m68k@lists.linux-m68k.org Cc: Kyle McMartin Cc: Helge Deller Cc: JamesE.J.Bottomley Link: http://lkml.kernel.org/r/1305855298.1465.19.camel@gandalf.stny.rr.com Signed-off-by: Ingo Molnar ---- arch/alpha/kernel/vmlinux.lds.S | 1 + arch/m32r/kernel/vmlinux.lds.S | 1 + arch/m68k/kernel/vmlinux-std.lds | 2 ++ arch/m68k/kernel/vmlinux-sun3.lds | 1 + arch/mips/kernel/vmlinux.lds.S | 1 + arch/parisc/kernel/vmlinux.lds.S | 3 +++ kernel/extable.c | 12 +++++++++++- 7 files changed, 20 insertions(+), 1 deletion(-) commit c16dbd54a3fe126b539a0ef149d80221c667bbd5 Merge: 257313b c5fc472 Author: Ingo Molnar Date: Fri May 20 08:54:05 2011 +0200 Merge branch 'perf/core' into perf/urgent Merge reason: One pending commit was left in perf/core after Linus merged perf/core - continue v2.6.40 work in the perf/urgent reason. Signed-off-by: Ingo Molnar commit e83b906c99eb87a11cd731f6726e60cd8ac9ec4b Author: Benjamin Herrenschmidt Date: Fri May 20 15:37:22 2011 +1000 powerpc/pmac: Update via-pmu to new syscore_ops This was left as a sysdev, breaking the build Signed-off-by: Benjamin Herrenschmidt commit 880102e78547c1db158a17e36cf0cdd98e7ad710 Merge: 3d07f0e 39ab05c Author: Benjamin Herrenschmidt Date: Fri May 20 15:36:52 2011 +1000 Merge remote branch 'origin/master' into merge Manual merge of arch/powerpc/kernel/smp.c and add missing scheduler_ipi() call to arch/powerpc/platforms/cell/interrupt.c Signed-off-by: Benjamin Herrenschmidt commit 7196cd6c3d4863000ef88b09f34d6dd75610ec3e Author: Matt Carlson Date: Thu May 19 16:02:44 2011 +0000 tg3: Add braces around 5906 workaround. Commit dabc5c670d3f86d15ee4f42ab38ec5bd2682487d, entitled "tg3: Move TSO_CAPABLE assignment", moved some TSO flagging code around. In the process it failed to add braces around an exceptional 5906 condition. This patch fixes the problem. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit d542fe27c86ecf932f40c898881208ccdaef9dc5 Author: Matt Carlson Date: Thu May 19 16:02:43 2011 +0000 tg3: Fix NETIF_F_LOOPBACK error Mahesh Bandewar noticed that the features cleanup in commit 0da0606f493c5cdab74bdcc96b12f4305ad94085, entitled "tg3: Consolidate all netdev feature assignments", mistakenly sets NETIF_F_LOOPBACK by default. This patch corrects the error. Signed-off-by: Matt Carlson Signed-off-by: Mahesh Bandewar Signed-off-by: David S. Miller commit 449f4544267e73d5db372971da63634707c32299 Author: Eric Dumazet Date: Thu May 19 12:24:16 2011 +0000 macvlan: remove one synchronize_rcu() call When one macvlan device is dismantled, we can avoid one synchronize_rcu() call done after deletion from hash list, since caller will perform a synchronize_net() call after its ndo_stop() call. Add a new netdev->dismantle field to signal this dismantle intent. Reduces RTNL hold time. Signed-off-by: Eric Dumazet CC: Patrick McHardy CC: Ben Greear Signed-off-by: David S. Miller commit 257313b2a87795e07a0bdf58d0fffbdba8b31051 Author: Linus Torvalds Date: Thu May 19 21:22:53 2011 -0700 selinux: avoid unnecessary avc cache stat hit count There is no point in counting hits - we can calculate it from the number of lookups and misses. This makes the avc statistics a bit smaller, and makes the code generation better too. Signed-off-by: Linus Torvalds commit 3d07f0e83d4323d2cd45cc583f7cf1957aca3cac Merge: 593adf3 bbfff72 Author: Benjamin Herrenschmidt Date: Fri May 20 13:43:47 2011 +1000 Merge remote branch 'kumar/next' into next commit 593adf317cf165f7c66facf2285db9d4befbd1c0 Author: Paul Mackerras Date: Wed May 11 00:39:50 2011 +0000 powerpc/kvm: Fix the build for 32-bit Book 3S (classic) processors Commits a5d4f3ad3a ("powerpc: Base support for exceptions using HSRR0/1") and 673b189a2e ("powerpc: Always use SPRN_SPRG_HSCRATCH0 when running in HV mode") cause compile and link errors for 32-bit classic Book 3S processors when KVM is enabled. This fixes these errors. Signed-off-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 44075d95e2567ce7b454bc1a4cf264ff6afebe65 Author: Paul Mackerras Date: Wed May 11 00:38:50 2011 +0000 powerpc/kvm: Fix kvmppc_core_pending_dec The vcpu->arch.pending_exceptions field is a bitfield indexed by interrupt priority number as returned by kvmppc_book3s_vec2irqprio. However, kvmppc_core_pending_dec was using an interrupt vector shifted by 7 as the bit index. Fix it to use the irqprio value for the decrementer interrupt instead. This problem was found by code inspection. Signed-off-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 044aea9b83614948c98564000db07d1d32b2d29b Author: Linus Torvalds Date: Thu May 19 18:59:47 2011 -0700 selinux: de-crapify avc cache stat code generation You can turn off the avc cache stats, but distributions seem to not do that (perhaps because several performance tuning how-to's talk about the avc cache statistics). Which is sad, because the code it generates is truly horrendous, with the statistics update being sandwitched between get_cpu/put_cpu which in turn causes preemption disables etc. We're talking ten+ instructions just to increment a per-cpu variable in some pretty hot code. Fix the craziness by just using 'this_cpu_inc()' instead. Suddenly we only need a single 'inc' instruction to increment the statistics. This is quite noticeable in the incredibly hot avc_has_perm_noaudit() function (which triggers all the statistics by virtue of doing an avc_lookup() call). Signed-off-by: Linus Torvalds commit 39ab05c8e0b519ff0a04a869f065746e6e8c3d95 Merge: 1477fcc c42d223 Author: Linus Torvalds Date: Thu May 19 18:24:11 2011 -0700 Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (44 commits) debugfs: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning sysfs: remove "last sysfs file:" line from the oops messages drivers/base/memory.c: fix warning due to "memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION" memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION SYSFS: Fix erroneous comments for sysfs_update_group(). driver core: remove the driver-model structures from the documentation driver core: Add the device driver-model structures to kerneldoc Translated Documentation/email-clients.txt RAW driver: Remove call to kobject_put(). reboot: disable usermodehelper to prevent fs access efivars: prevent oops on unload when efi is not enabled Allow setting of number of raw devices as a module parameter Introduce CONFIG_GOOGLE_FIRMWARE driver: Google Memory Console driver: Google EFI SMI x86: Better comments for get_bios_ebda() x86: get_bios_ebda_length() misc: fix ti-st build issues params.c: Use new strtobool function to process boolean inputs debugfs: move to new strtobool ... Fix up trivial conflicts in fs/debugfs/file.c due to the same patch being applied twice, and an unrelated cleanup nearby. commit 1477fcc290b3d5c2614bde98bf3b1154c538860d Author: Stephen Rothwell Date: Fri May 20 11:11:53 2011 +1000 signal.h need a definition of struct task_struct This fixes these build errors on powerpc: In file included from arch/powerpc/mm/fault.c:18: include/linux/signal.h:239: error: 'struct task_struct' declared inside parameter list include/linux/signal.h:239: error: its scope is only this definition or declaration, which is probably not what you want include/linux/signal.h:240: error: 'struct task_struct' declared inside parameter list .. Exposed by commit e66eed651fd1 ("list: remove prefetching from regular list iterators"), which removed the include of from . Without that, linux/signal.h no longer accidentally got the declaration of 'struct task_struct'. Fix by properly declaring the struct, rather than introducing any new header file dependency. Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit eb04f2f04ed1227c266b3219c0aaeda525639718 Merge: 5765040 80d0208 Author: Linus Torvalds Date: Thu May 19 18:14:34 2011 -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: (78 commits) Revert "rcu: Decrease memory-barrier usage based on semi-formal proof" net,rcu: convert call_rcu(prl_entry_destroy_rcu) to kfree batman,rcu: convert call_rcu(softif_neigh_free_rcu) to kfree_rcu batman,rcu: convert call_rcu(neigh_node_free_rcu) to kfree() batman,rcu: convert call_rcu(gw_node_free_rcu) to kfree_rcu net,rcu: convert call_rcu(kfree_tid_tx) to kfree_rcu() net,rcu: convert call_rcu(xt_osf_finger_free_rcu) to kfree_rcu() net/mac80211,rcu: convert call_rcu(work_free_rcu) to kfree_rcu() net,rcu: convert call_rcu(wq_free_rcu) to kfree_rcu() net,rcu: convert call_rcu(phonet_device_rcu_free) to kfree_rcu() perf,rcu: convert call_rcu(swevent_hlist_release_rcu) to kfree_rcu() perf,rcu: convert call_rcu(free_ctx) to kfree_rcu() net,rcu: convert call_rcu(__nf_ct_ext_free_rcu) to kfree_rcu() net,rcu: convert call_rcu(net_generic_release) to kfree_rcu() net,rcu: convert call_rcu(netlbl_unlhsh_free_addr6) to kfree_rcu() net,rcu: convert call_rcu(netlbl_unlhsh_free_addr4) to kfree_rcu() security,rcu: convert call_rcu(sel_netif_free) to kfree_rcu() net,rcu: convert call_rcu(xps_dev_maps_release) to kfree_rcu() net,rcu: convert call_rcu(xps_map_release) to kfree_rcu() net,rcu: convert call_rcu(rps_map_release) to kfree_rcu() ... commit 5765040ebfc9a28d9dcfaaaaf3d25840d922de96 Merge: 08839ff de5397a Author: Linus Torvalds Date: Thu May 19 18:10:17 2011 -0700 Merge branch 'x86-smep-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-smep-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, cpu: Enable/disable Supervisor Mode Execution Protection x86, cpu: Add SMEP CPU feature in CR4 x86, cpufeature: Add cpufeature flag for SMEP commit 08839ff8276bd1ba0ce8b2d595f9fe62a5b07210 Merge: 08b5d06 660e34c 0c61227 Author: Linus Torvalds Date: Thu May 19 18:09:45 2011 -0700 Merge branches 'x86-reboot-for-linus' and 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-reboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Reorder reboot method preferences * 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, setup: Fix EDD3.0 data verification. commit 08b5d06ec6cff1d952f13cfcffcbf41ff0ce2c86 Merge: 1358820 5d94e81 Author: Linus Torvalds Date: Thu May 19 18:08:06 2011 -0700 Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Introduce pci_map_biosrom() x86, olpc: Use device tree for platform identification commit 13588209aa90d9c8e502750fc86160314555612f Merge: ac2941f dc382fd Author: Linus Torvalds Date: Thu May 19 18:07:31 2011 -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: (50 commits) x86, mm: Allow ZONE_DMA to be configurable x86, NUMA: Trim numa meminfo with max_pfn in a separate loop x86, NUMA: Rename setup_node_bootmem() to setup_node_data() x86, NUMA: Enable emulation on 32bit too x86, NUMA: Enable CONFIG_AMD_NUMA on 32bit too x86, NUMA: Rename amdtopology_64.c to amdtopology.c x86, NUMA: Make numa_init_array() static x86, NUMA: Make 32bit use common NUMA init path x86, NUMA: Initialize and use remap allocator from setup_node_bootmem() x86-32, NUMA: Add @start and @end to init_alloc_remap() x86, NUMA: Remove long 64bit assumption from numa.c x86, NUMA: Enable build of generic NUMA init code on 32bit x86, NUMA: Move NUMA init logic from numa_64.c to numa.c x86-32, NUMA: Update numaq to use new NUMA init protocol x86-32, NUMA: Replace srat_32.c with srat.c x86-32, NUMA: implement temporary NUMA init shims x86, NUMA: Move numa_nodes_parsed to numa.[hc] x86-32, NUMA: Move get_memcfg_numa() into numa_32.c x86, NUMA: make srat.c 32bit safe x86, NUMA: rename srat_64.c to srat.c ... commit ac2941f59a38eeb535e1f227a8f90d7fe6b7828b Merge: 0162818 935a638 c387aa3 983bbf1 dffa4b2 Author: Linus Torvalds Date: Thu May 19 18:03:56 2011 -0700 Merge branches 'x86-efi-for-linus', 'x86-gart-for-linus', 'x86-irq-for-linus' and 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, efi: Ensure that the entirity of a region is mapped x86, efi: Pass a minimal map to SetVirtualAddressMap() x86, efi: Merge contiguous memory regions of the same type and attribute x86, efi: Consolidate EFI nx control x86, efi: Remove virtual-mode SetVirtualAddressMap call * 'x86-gart-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, gart: Don't enforce GART aperture lower-bound by alignment * 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Don't unmask disabled irqs when migrating them x86: Skip migrating IRQF_PER_CPU irqs in fixup_irqs() * 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, mce: Drop the default decoding notifier x86, MCE: Do not taint when handling correctable errors commit 016281880439a8665ecf37514865742da58131d4 Merge: 17b1418 865be7a Author: Linus Torvalds Date: Thu May 19 17:55:12 2011 -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: x86, cpu: Fix detection of Celeron Covington stepping A1 and B0 Documentation, ABI: Update L3 cache index disable text x86, AMD, cacheinfo: Fix L3 cache index disable checks x86, AMD, cacheinfo: Fix fallout caused by max3 conversion x86, cpu: Change NOP selection for certain Intel CPUs x86, cpu: Clean up and unify the NOP selection infrastructure x86, percpu: Use ASM_NOP4 instead of hardcoding P6_NOP4 x86, cpu: Move AMD Elan Kconfig under "Processor family" Fix up trivial conflicts in alternative handling (commit dc326fca2b64 "x86, cpu: Clean up and unify the NOP selection infrastructure" removed some hacky 5-byte instruction stuff, while commit d430d3d7e646 "jump label: Introduce static_branch() interface" renamed HAVE_JUMP_LABEL to CONFIG_JUMP_LABEL in the code that went away) commit 8a745f1f39b7a20047a362b67ce9151c07d14440 Author: Kristen Carlson Accardi Date: Fri Mar 4 10:24:11 2011 -0800 libata: Power off empty ports Give users the option of completely powering off unoccupied SATA ports using the existing min_power link_power_management_policy option. When the use selects this option on an empty port, we will power the port off by setting DET to off. For occupied ports, behavior is unchanged. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jeff Garzik commit 17b141803c6c6e27fbade3f97c1c9d8d66c72866 Merge: 78c4def 2b398bd 15d6aba 8fab6af Author: Linus Torvalds Date: Thu May 19 17:49:35 2011 -0700 Merge branches 'x86-apic-for-linus', 'x86-asm-for-linus' and 'x86-cleanups-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: x86, apic: Print verbose error interrupt reason on apic=debug * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Demacro CONFIG_PARAVIRT cpu accessors * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Fix mrst sparse complaints x86: Fix spelling error in the memcpy() source code comment x86, mpparse: Remove unnecessary variable commit 0afc6f5ba95419fd505e60637f7645425f16e407 Author: Pavel Herrmann Date: Thu Apr 28 22:32:54 2011 +0200 libata-pmp: add support for Thermaltake BlackX Duet esata drive dock Some errors still show up, but the dock works, both drives can be accessed at the same time The chip maker and designation is unknown - possibly jmicron JMB350? Signed-off-by: Pavel Herrmann Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit bfeec8ca15c9c06c1978a25248e2bd11c4a26d72 Author: Mikulas Patocka Date: Sun May 15 22:33:19 2011 +0200 ATA: Don't powerdown Compaq Triflex IDE device on suspend Don't powerdown Compaq Triflex IDE device on suspend This fixes APM suspend on Compaq Armada 7400. APM BIOS doesn't suspend if IDE is powered down when suspending. The Triflex controller is found only on old Compaq boards, so this patch will hopefully have no side effects. Signed-off-by: Mikulas Patocka Signed-off-by: Jeff Garzik commit 5f4e206666f834340b69ddb43f86de3851c8675a Author: Martin K. Petersen Date: Tue May 17 22:13:23 2011 -0400 libata: Use Maximum Write Same Length to report discard size limit Previously we used Maximum Unmap LBA Count in the Block Limits VPD to signal the maximum number of sectors we could handle in a single Write Same command. Starting with SBC3r26 the Block Limits VPD has an explicit limit on the number of blocks in a Write Same. This means we can stop abusing a field related to the Unmap command and let our SAT use the proper value in the VPD (Maximum Write Same Length). Signed-off-by: Martin K. Petersen Signed-off-by: Jeff Garzik Cc: stable@kernel.org commit f68b3afe45051d43e9f9277c6f1404670e1b99d2 Author: Jeff Garzik Date: Thu May 19 20:45:15 2011 -0400 drivers/ata/acard-ahci.c: fix enum warning Signed-off-by: Jeff Garzik commit 78c4def67e8eebe602655a3dec9aa08f0e2f7c4b Merge: 7e6628e 942c3c5 Author: Linus Torvalds Date: Thu May 19 17:45:08 2011 -0700 Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: hrtimer: Make lookup table const RTC: Disable CONFIG_RTC_CLASS from being built as a module timers: Fix alarmtimer build issues when CONFIG_RTC_CLASS=n timers: Remove delayed irqwork from alarmtimers implementation timers: Improve alarmtimer comments and minor fixes timers: Posix interface for alarm-timers timers: Introduce in-kernel alarm-timer interface timers: Add rb_init_node() to allow for stack allocated rb nodes time: Add timekeeping_inject_sleeptime commit 7e6628e4bcb3b3546c625ec63ca724f28ab14f0c Merge: 0f1bdc1 ab0e08f Author: Linus Torvalds Date: Thu May 19 17:44:40 2011 -0700 Merge branch 'timers-clockevents-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-clockevents-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: hpet: Cleanup the clockevents init and register code x86: Convert PIT to clockevents_config_and_register() clockevents: Provide interface to reconfigure an active clock event device clockevents: Provide combined configure and register function clockevents: Restructure clock_event_device members clocksource: Get rid of the hardcoded 5 seconds sleep time limit clocksource: Restructure clocksource struct members commit 0f1bdc1815c4cb29b3cd71a7091b478e426faa0b Merge: 80fe02b a18f22a Author: Linus Torvalds Date: Thu May 19 17:44:13 2011 -0700 Merge branch 'timers-clocksource-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-clocksource-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: clocksource: convert mips to generic i8253 clocksource clocksource: convert x86 to generic i8253 clocksource clocksource: convert footbridge to generic i8253 clocksource clocksource: add common i8253 PIT clocksource blackfin: convert to clocksource_register_hz mips: convert to clocksource_register_hz/khz sparc: convert to clocksource_register_hz/khz alpha: convert to clocksource_register_hz microblaze: convert to clocksource_register_hz/khz ia64: convert to clocksource_register_hz/khz x86: Convert remaining x86 clocksources to clocksource_register_hz/khz Make clocksource name const commit 80fe02b5daf176f99d3afc8f6c9dc9dece019836 Merge: df48d87 db670da ec514c4 Author: Linus Torvalds Date: Thu May 19 17:41:22 2011 -0700 Merge branches 'sched-core-for-linus' and 'sched-urgent-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: (60 commits) sched: Fix and optimise calculation of the weight-inverse sched: Avoid going ahead if ->cpus_allowed is not changed sched, rt: Update rq clock when unthrottling of an otherwise idle CPU sched: Remove unused parameters from sched_fork() and wake_up_new_task() sched: Shorten the construction of the span cpu mask of sched domain sched: Wrap the 'cfs_rq->nr_spread_over' field with CONFIG_SCHED_DEBUG sched: Remove unused 'this_best_prio arg' from balance_tasks() sched: Remove noop in alloc_rt_sched_group() sched: Get rid of lock_depth sched: Remove obsolete comment from scheduler_tick() sched: Fix sched_domain iterations vs. RCU sched: Next buddy hint on sleep and preempt path sched: Make set_*_buddy() work on non-task entities sched: Remove need_migrate_task() sched: Move the second half of ttwu() to the remote cpu sched: Restructure ttwu() some more sched: Rename ttwu_post_activation() to ttwu_do_wakeup() sched: Remove rq argument from ttwu_stat() sched: Remove rq->lock from the first half of ttwu() sched: Drop rq->lock from sched_exec() ... * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Fix rt_rq runtime leakage bug commit df48d8716eab9608fe93924e4ae06ff110e8674f Merge: acd3025 29510ec Author: Linus Torvalds Date: Thu May 19 17:36:08 2011 -0700 Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (107 commits) perf stat: Add more cache-miss percentage printouts perf stat: Add -d -d and -d -d -d options to show more CPU events ftrace/kbuild: Add recordmcount files to force full build ftrace: Add self-tests for multiple function trace users ftrace: Modify ftrace_set_filter/notrace to take ops ftrace: Allow dynamically allocated function tracers ftrace: Implement separate user function filtering ftrace: Free hash with call_rcu_sched() ftrace: Have global_ops store the functions that are to be traced ftrace: Add ops parameter to ftrace_startup/shutdown functions ftrace: Add enabled_functions file ftrace: Use counters to enable functions to trace ftrace: Separate hash allocation and assignment ftrace: Create a global_ops to hold the filter and notrace hashes ftrace: Use hash instead for FTRACE_FL_FILTER ftrace: Replace FTRACE_FL_NOTRACE flag with a hash of ignored functions perf bench, x86: Add alternatives-asm.h wrapper x86, 64-bit: Fix copy_[to/from]_user() checks for the userspace address limit x86, mem: memset_64.S: Optimize memset by enhanced REP MOVSB/STOSB x86, mem: memmove_64.S: Optimize memmove by enhanced REP MOVSB/STOSB ... commit acd30250d7d0f495685d1c7c6184636a22fcdf7f Merge: 6595b4a edf76f8 Author: Linus Torvalds Date: Thu May 19 17:30:15 2011 -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: irq: Export functions to allow modular irq drivers genirq: Uninline and sanity check generic_handle_irq() genirq: Remove pointless ifdefs genirq: Make generic irq chip depend on CONFIG_GENERIC_IRQ_CHIP genirq: Add chip suspend and resume callbacks genirq: Implement a generic interrupt chip genirq: Support per-IRQ thread disabling. genirq: irq_desc: Document preflow_handler and affinity_hint genirq: Update DocBook comments genirq: Forgotten updates/deletions after removal of compat code commit 6595b4a940c4c447b619ab5268378ed03e632694 Merge: cbdad8d 5db1256 Author: Linus Torvalds Date: Thu May 19 17:29:29 2011 -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: seqlock: Don't smp_rmb in seqlock reader spin loop watchdog, hung_task_timeout: Add Kconfig configurable default lockdep: Remove cmpxchg to update nr_chain_hlocks lockdep: Print a nicer description for simple irq lock inversions lockdep: Replace "Bad BFS generated tree" message with something less cryptic lockdep: Print a nicer description for irq inversion bugs lockdep: Print a nicer description for simple deadlocks lockdep: Print a nicer description for normal deadlocks lockdep: Print a nicer description for irq lock inversions commit cbdad8dc18b8ddd6c8b48c4ef26d46f00b5af923 Merge: 51509a2 86b9523 Author: Linus Torvalds Date: Thu May 19 17:28:58 2011 -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: x86, gart: Rename pci-gart_64.c to amd_gart_64.c x86/amd-iommu: Use threaded interupt handler arch/x86/kernel/pci-iommu_table.c: Convert sprintf_symbol to %pS x86/amd-iommu: Add support for invalidate_all command x86/amd-iommu: Add extended feature detection x86/amd-iommu: Add ATS enable/disable code x86/amd-iommu: Add flag to indicate IOTLB support x86/amd-iommu: Flush device IOTLB if ATS is enabled x86/amd-iommu: Select PCI_IOV with AMD IOMMU driver PCI: Move ATS declarations in seperate header file dma-debug: print information about leaked entry x86/amd-iommu: Flush all internal TLBs when IOMMUs are enabled x86/amd-iommu: Rename iommu_flush_device x86/amd-iommu: Improve handling of full command buffer x86/amd-iommu: Rename iommu_flush* to domain_flush* x86/amd-iommu: Remove command buffer resetting logic x86/amd-iommu: Cleanup completion-wait handling x86/amd-iommu: Cleanup inv_pages command handling x86/amd-iommu: Move inv-dte command building to own function x86/amd-iommu: Move compl-wait command building to own function commit 51509a283a908d73b20371addc67ee3ae7189934 Merge: 75f5076 6538df8 Author: Linus Torvalds Date: Thu May 19 16:46:07 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (34 commits) PM: Introduce generic prepare and complete callbacks for subsystems PM: Allow drivers to allocate memory from .prepare() callbacks safely PM: Remove CONFIG_PM_VERBOSE Revert "PM / Hibernate: Reduce autotuned default image size" PM / Hibernate: Add sysfs knob to control size of memory for drivers PM / Wakeup: Remove useless synchronize_rcu() call kmod: always provide usermodehelper_disable() PM / ACPI: Remove acpi_sleep=s4_nonvs PM / Wakeup: Fix build warning related to the "wakeup" sysfs file PM: Print a warning if firmware is requested when tasks are frozen PM / Runtime: Rework runtime PM handling during driver removal Freezer: Use SMP barriers PM / Suspend: Do not ignore error codes returned by suspend_enter() PM: Fix build issue in clock_ops.c for CONFIG_PM_RUNTIME unset PM: Revert "driver core: platform_bus: allow runtime override of dev_pm_ops" OMAP1 / PM: Use generic clock manipulation routines for runtime PM PM: Remove sysdev suspend, resume and shutdown operations PM / PowerPC: Use struct syscore_ops instead of sysdevs for PM PM / UNICORE32: Use struct syscore_ops instead of sysdevs for PM PM / AVR32: Use struct syscore_ops instead of sysdevs for PM ... commit 75f5076b12924f53340209d2cde73b98ed3b3095 Merge: 83d7e94 1df9fad Author: Linus Torvalds Date: Thu May 19 16:44:34 2011 -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: IB/qib: Use pci_dev->revision RDMA/iwcm: Get rid of enum iw_cm_event_status IB/ipath: Use pci_dev->revision, again IB/qib: Prevent driver hang with unprogrammed boards RDMA/cxgb4: EEH errors can hang the driver RDMA/cxgb4: Reset wait condition atomically RDMA/cxgb4: Fix missing parentheses RDMA/cxgb4: Initialization errors can cause crash RDMA/cxgb4: Don't change QP state outside EP lock RDMA/cma: Add an ID_REUSEADDR option RDMA/cma: Fix handling of IPv6 addressing in cma_use_port commit 83d7e948754cf021ed7343b122940fcc27c1bd88 Merge: fce4a1d 9b090f2 Author: Linus Torvalds Date: Thu May 19 16:44:13 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-2.6-cm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-2.6-cm: kmemleak: Initialise kmemleak after debug_objects_mem_init() kmemleak: Select DEBUG_FS unconditionally in DEBUG_KMEMLEAK kmemleak: Do not return a pointer to an object that kmemleak did not get commit fce4a1dda2f1a9a25b3e5b7cd951070e0b42a818 Merge: e1f2084 6f6c3c3 Author: Linus Torvalds Date: Thu May 19 16:40:47 2011 -0700 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus: (48 commits) MIPS: Move arch_get_unmapped_area and gang to new file. MIPS: Cleanup arch_get_unmapped_area MIPS: Octeon: Don't request interrupts for unused IPI mailbox bits. Octeon: Fix interrupt irq settings for performance counters. MIPS: Fix build warnings on defconfigs MIPS: Lemote 2F, Malta: Fix build warning MIPS: Set ELF AT_PLATFORM string for Loongson2 processors MIPS: Set ELF AT_PLATFORM string for BMIPS processors MIPS: Introduce set_elf_platform() helper function MIPS: JZ4740: setup: Autodetect physical memory. MIPS: BCM47xx: Fix MAC address parsing. MIPS: BCM47xx: Extend the filling of SPROM from NVRAM MIPS: BCM47xx: Register SSB fallback sprom callback MIPS: BCM47xx: Extend bcm47xx_fill_sprom with prefix. SSB: Change fallback sprom to callback mechanism. MIPS: Alchemy: Clean up GPIO registers and accessors MIPS: Alchemy: Cleanup DMA addresses MIPS: Alchemy: Rewrite ethernet platform setup MIPS: Alchemy: Rewrite UART setup and constants. MIPS: Alchemy: Convert dbdma.c to syscore_ops ... commit e1f2084ed200eb31f2c9d1efe70569c76889c980 Merge: e33ab8f 659e6ed Author: Linus Torvalds Date: Thu May 19 16:27:21 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: input/atari: Fix mouse movement and button mapping input/atari: Fix atarimouse init input/atari: Use the correct mouse interrupt hook m68k/atari: Do not use "/" in interrupt names m68k: unistd - Comment out definitions for unimplemented syscalls m68k: Really wire up sys_pselect6 and sys_ppoll m68k: Merge mmu and non-mmu versions of sys_call_table MAINTAINERS: Roman Zippel has been MIA for several years. m68k: bitops - Never step beyond the end of the bitmap m68k: bitops - offset == ((long)p - (long)vaddr) * 8 commit c5fc472171ec4f96d06d1ac039d88f9b89bb95db Author: Ingo Molnar Date: Fri May 20 01:22:14 2011 +0200 core_kernel_data(): Fix architectures that do not define _sdata Some architectures such as Alpha do not define _sdata but _data: kernel/built-in.o: In function `core_kernel_data': kernel/extable.c:77: undefined reference to `_sdata' So expand the scope of the data range to the text addresses too, this might be more correct anyway because this way we can cover readonly variables as well. Cc: Paul E. McKenney Cc: Steven Rostedt Link: http://lkml.kernel.org/n/tip-i878c8a0e0g0ep4v7i6vxnhz@git.kernel.org Signed-off-by: Ingo Molnar commit 034cfe48d0efc248ba4b725e3a94b95e76fbc5d3 Author: Randy Dunlap Date: Thu May 19 19:23:28 2011 -0400 networking: NET_CLS_ROUTE4 depends on INET IP_ROUTE_CLASSID depends on INET and NET_CLS_ROUTE4 selects IP_ROUTE_CLASSID, but when INET is not enabled, this kconfig warning is produced, so fix it by making NET_CLS_ROUTE4 depend on INET. warning: (NET_CLS_ROUTE4) selects IP_ROUTE_CLASSID which has unmet direct dependencies (NET && INET) Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit e33ab8f275cf6e0e0bf6c9c44149de46222b36cc Merge: 3bfccb7 7e186bd 8c59508 0f16d0d 7899891 Author: Linus Torvalds Date: Thu May 19 16:14:58 2011 -0700 Merge branches 'stable/irq', 'stable/p2m.bugfixes', 'stable/e820.bugfixes' and 'stable/mmu.bugfixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen * 'stable/irq' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen: do not clear and mask evtchns in __xen_evtchn_do_upcall * 'stable/p2m.bugfixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen/p2m: Create entries in the P2M_MFN trees's to track 1-1 mappings * 'stable/e820.bugfixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen/setup: Fix for incorrect xen_extra_mem_start initialization under 32-bit xen/setup: Ignore E820_UNUSABLE when setting 1-1 mappings. * 'stable/mmu.bugfixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen mmu: fix a race window causing leave_mm BUG() commit 3bfccb74973db10a03d3d4c1d10fc00e77145699 Merge: 5318991 09ca132 887cb45 Author: Linus Torvalds Date: Thu May 19 16:14:35 2011 -0700 Merge branches 'stable/balloon.cleanup' and 'stable/general.cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen * 'stable/balloon.cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen/balloon: Move dec_totalhigh_pages() from __balloon_append() to balloon_append() xen/balloon: Clarify credit calculation xen/balloon: Simplify HVM integration xen/balloon: Use PageHighMem() for high memory page detection * 'stable/general.cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: drivers/xen/sys-hypervisor: Cleanup code/data sections definitions arch/x86/xen/smp: Cleanup code/data sections definitions arch/x86/xen/time: Cleanup code/data sections definitions arch/x86/xen/xen-ops: Cleanup code/data sections definitions arch/x86/xen/mmu: Cleanup code/data sections definitions arch/x86/xen/setup: Cleanup code/data sections definitions arch/x86/xen/enlighten: Cleanup code/data sections definitions arch/x86/xen/irq: Cleanup code/data sections definitions xen: tidy up whitespace in drivers/xen/Makefile commit 5318991645d78c83dde7a7bb1cba24695cc152c4 Merge: dc93275 7c1bfd6 d79647a Author: Linus Torvalds Date: Thu May 19 16:14:25 2011 -0700 Merge branches 'stable/backend.base.v3' and 'stable/gntalloc.v7' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen * 'stable/backend.base.v3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen/pci: Fix compiler error when CONFIG_XEN_PRIVILEGED_GUEST is not set. xen/p2m: Add EXPORT_SYMBOL_GPL to the M2P override functions. xen/p2m/m2p/gnttab: Support GNTMAP_host_map in the M2P override. xen/irq: The Xen hypervisor cleans up the PIRQs if the other domain forgot. xen/irq: Export 'xen_pirq_from_irq' function. xen/irq: Add support to check if IRQ line is shared with other domains. xen/irq: Check if the PCI device is owned by a domain different than DOMID_SELF. xen/pci: Add xen_[find|register|unregister]_device_domain_owner functions. * 'stable/gntalloc.v7' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen/gntdev,gntalloc: Remove unneeded VM flags commit dc93275150da9542f500fbd3d0515eecfefba7f6 Merge: 6b55b90 1403635 Author: Linus Torvalds Date: Thu May 19 16:14:02 2011 -0700 Merge branch 'stable/broadcom.ibft' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft-2.6 * 'stable/broadcom.ibft' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft-2.6: iscsi_ibft: search for broadcom specific ibft sign (v2) commit 6b55b908458120a5f469aa87d11821be67fbd8e2 Merge: f8223b1 bb0a56e Author: Linus Torvalds Date: Thu May 19 15:59:24 2011 -0700 Merge branch 'move-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'move-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Move x86 drivers to drivers/cpufreq/ commit 8ce6eb1a4a4bc46820f23e927377d386d3ec5404 Author: David S. Miller Date: Thu May 19 18:58:39 2011 -0400 irda: Fix error propagation in ircomm_lmp_connect_response() The variable 'ret' is set but unused, and this pointed out that errors from irlmp_connect_response() are not propagated to the caller. Note that this is currently academic since irlmp_connect_response() always returns 0. :-) Signed-off-by: David S. Miller commit f8223b17550c427ac249124ff7f25722221f4591 Merge: 98a38a5 1a8e146 Author: Linus Torvalds Date: Thu May 19 15:57:29 2011 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] remove redundant sprintf from request_module call. [CPUFREQ] cpufreq_stats.c: Fixed brace coding style issue [CPUFREQ] Fix memory leak in cpufreq_stat [CPUFREQ] cpufreq.h: Fix some checkpatch.pl coding style issues. [CPUFREQ] use dynamic debug instead of custom infrastructure [CPUFREQ] CPU hotplug, re-create sysfs directory and symlinks [CPUFREQ] Fix _OSC UUID in pcc-cpufreq commit ad6376434c945495ea8c4082ad8a392cc58c3406 Author: David S. Miller Date: Thu May 19 18:53:58 2011 -0400 irda: Kill set but unused variable 'bytes' in irlan_check_command_param() Signed-off-by: David S. Miller commit bfad6ef6d29e776472b3ead1f5bc920c5410ed2c Author: David S. Miller Date: Thu May 19 18:52:59 2011 -0400 irda: Kill set but unused variable 'clen' in ircomm_connect_indication() Signed-off-by: David S. Miller commit ed84cadb21e15a3e59a2154158c58579774f0851 Author: David S. Miller Date: Thu May 19 18:51:50 2011 -0400 rxrpc: Fix set but unused variable 'usage' in rxrpc_get_transport() This is identical to the case I fixed in rxrpc_get_peer() Signed-off-by: David S. Miller commit bb0a56ecc4ba2a3db1b6ea6949c309886e3447d3 Author: Dave Jones Date: Thu May 19 18:51:07 2011 -0400 [CPUFREQ] Move x86 drivers to drivers/cpufreq/ Signed-off-by: Dave Jones commit 63722966d703aeb8071d52172de87e377006cd28 Author: David S. Miller Date: Thu May 19 18:49:54 2011 -0400 be2net: Kill set but unused variable 'req' in lancer_fw_download() Signed-off-by: David S. Miller commit fa7479cf48103ee9261398034528495966bd7d2d Author: David S. Miller Date: Thu May 19 18:46:41 2011 -0400 irda: Kill set but unused vars 'saddr' and 'daddr' in irlan_provider_connect_indication() Signed-off-by: David S. Miller commit d187c1aab8d30771bb781c745b150f6159467d6f Author: David S. Miller Date: Thu May 19 18:44:41 2011 -0400 atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined. Signed-off-by: David S. Miller commit 2a64255019e13dd975f1487cec32b873bcb76da6 Author: David S. Miller Date: Thu May 19 18:41:03 2011 -0400 rxrpc: Fix set but unused variable 'usage' in rxrpc_get_peer(). I backed off from trying to just eliminate this variable, since transforming atomic_inc_return() into atomic_inc() takes away the memory barriers. Signed-off-by: David S. Miller commit c9d10c497c3728a5c798c11486dccdc01b2092a8 Author: David S. Miller Date: Thu May 19 18:37:11 2011 -0400 rxrpc: Kill set but unused variable 'local' in rxrpc_UDP_error_handler() Signed-off-by: David S. Miller commit 9e5e10a22507b8d372bcf0e88875d4a3f6ede297 Author: David S. Miller Date: Thu May 19 18:35:58 2011 -0400 rxrpc: Kill set but unused variable 'sp' in rxrpc_process_connection() Signed-off-by: David S. Miller commit 504f284a713c46c6ecf975fbd20af00f4e205f5b Author: David S. Miller Date: Thu May 19 18:34:37 2011 -0400 rxrpc: Kill set but unused variable 'sp' in rxrpc_rotate_tx_window() Signed-off-by: David S. Miller commit f06cd54f555a4ceca4de39160c68c7e3da657e89 Author: David S. Miller Date: Thu May 19 18:32:55 2011 -0400 pkt_sched: Kill set but unused variable 'protocol' in tc_classify() I checked the history and this has been like this since the beginning of time. Signed-off-by: David S. Miller commit 8fb53b959bd9e503b646a3d68c7b1759667b6a19 Author: David S. Miller Date: Thu May 19 18:20:29 2011 -0400 isdn: capi: Use pr_debug() instead of ifdefs. I was investigating some warnings that spew because of the _DEBUG_FOO ifdef'ery in here. Instead of adding more ifdefs to fix that warning, let's use pr_debug() and get rid of these CPP checks altogether. Signed-off-by: David S. Miller commit 43a5f002afc6f24891e57d31275f34e19a1a07d0 Author: Matt Carlson Date: Thu May 19 12:12:56 2011 +0000 tg3: Update version to 3.119 This patch updates the tg3 version to 3.119. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 310050fad8962a2ebc70011353a549614e118152 Author: Matt Carlson Date: Thu May 19 12:12:55 2011 +0000 tg3: Apply rx_discards fix to 5719/5720 Commit 4d95847381228639844c7197deb8b2211274ef22, entitled "tg3: Workaround rx_discards stat bug", was intended to be applied to the 5717, 5718, 5719_A0, and 5720 A0 chip revisions. The implementation missed the latter two when applying the fix in a critical area. This patch fixes the problem. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 6ff6f81dd4ec08945e10147dbfe611569ef4cc09 Author: Matt Carlson Date: Thu May 19 12:12:54 2011 +0000 tg3: Remove excessive parenthesis This patch removes some excessive parenthesizing. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 0da0606f493c5cdab74bdcc96b12f4305ad94085 Author: Matt Carlson Date: Thu May 19 12:12:53 2011 +0000 tg3: Consolidate all netdev feature assignments This patch consolidates all the netdev feature bit assignments to one location. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit dabc5c670d3f86d15ee4f42ab38ec5bd2682487d Author: Matt Carlson Date: Thu May 19 12:12:52 2011 +0000 tg3: Move TSO_CAPABLE assignment This patch moves the code that asserts the TSO_CAPABLE flag closer to where the TSO capabilities flags are set. There isn't a good enough reason for the code to be separated. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 4452d0999906e3e26b718566362e943fcaa3d694 Author: Matt Carlson Date: Thu May 19 12:12:51 2011 +0000 tg3: Fix stats for 5704 and later devices Commit 4d95847381228639844c7197deb8b2211274ef22, entitled "tg3: Workaround rx_discards stat bug" modified the hardware statistics data structure. The modification shifted the statistics so that the labels no longer corresponded to the counter values. This patch fixes the problem by utilizing reserved space for the new counters. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 54e0a67f446fae290f99781691eba46c5cda66e7 Author: Matt Carlson Date: Thu May 19 12:12:50 2011 +0000 tg3: Fix TSO loopback test Commit bb158d696489244f79fd4c3abd47968a06b48c79, entitled "tg3: Add TSO loopback test", mistakenly inverted the checksum field test from the receive BD. This patch corrects the problem. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 42b64a450b81ec9e8cdd5b3fb13613ab9bb25048 Author: Matt Carlson Date: Thu May 19 12:12:49 2011 +0000 tg3: Consolidate autoneg advertisement setup code Autonegotiation setup has gotten a little more complicated since the tg3 driver was created. This patch consolidates autoneg setup into one routine and modifies the call sites accordingly. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit b0c5943f1ca4df6c1c451ef6be5287a161d29a9d Author: Matt Carlson Date: Thu May 19 12:12:48 2011 +0000 tg3: Fix EEE interoperability workaround Commit 21a00ab270f95d32e502d92f166dd75c518d3c5f, entitled "tg3: Fix EEE interoperability issue", added an EEE interoperability fix. We found that the fix doesn't work if applied too early though. This patch delays the fix until right before allowing LPI assertion. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 108a6c1655f184c9abb7b5917838a8fb204361f5 Author: Matt Carlson Date: Thu May 19 12:12:47 2011 +0000 tg3: Fix IPv6 TCP problems for 5719 Commit 4d163b75e979833979cc401ae433cb1d7743d57e, entitled "tg3: Fix 5719 A0 tx completion bug" turned off TSO to fix a hardware bug. In doing so, it accidentally turned off all IPv6 TCP checksum offloading too. This patch fixes the problem by reenabling the hardware bit that control both features. The TSO capability is still not exposed to the kernel. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 1ff30a59f6d0c754e99442501a5145bdbbcfa6ea Author: Matt Carlson Date: Thu May 19 12:12:46 2011 +0000 tg3: Fix 57765 B0 data corruption The PCIe max FTS limit is too aggressive on these chips. This patch loosens the limit a little to eliminate data corruption issues. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 432aa7ed75b3adaef6040d2cbe745fdd1c899415 Author: Matt Carlson Date: Thu May 19 12:12:45 2011 +0000 tg3: Cleanup transmit error path This patch consolidates the skb cleanup code into a function named tg3_skb_error_unmap(). The modification addresses a long-standing bug where pci_unmap_single() was incorrectly being called instead of pci_unmap_page() in tigon3_dma_hwbug_workaround(). Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 2ffcc981d823a0518c627ca22d51ef72d0b7ca9a Author: Matt Carlson Date: Thu May 19 12:12:44 2011 +0000 tg3: Set tx bug flags for more devices It has been recently discovered that all tg3 devices have a 4Gb boundary DMA problem, and that all 5755 and newer devices can't handle fragments less than or equal to 8 bytes in size. This patch adjusts the flags and removes tg3_start_xmit(). tg3_start_xmit_dma_bug() has been renamed to tg3_start_xmit(). Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 98a38a5d60a6e79eaad7f4a9b68cc1bd306ac5c0 Merge: 7663164 f721a46 Author: Linus Torvalds Date: Thu May 19 14:56:13 2011 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: params.c: Use new strtobool function to process boolean inputs debugfs: move to new strtobool Add a strtobool function matching semantics of existing in kernel equivalents modpost: Update 64k section support for binutils 2.18.50 module: Use binary search in lookup_symbol() module: Use the binary search for symbols resolution lib: Add generic binary search function to the kernel. module: Sort exported symbols module: each_symbol_section instead of each_symbol module: split unset_section_ro_nx function. module: undo module RONX protection correctly. module: zero mod->init_ro_size after init is freed. minor ANSI prototype sparse fix module: reorder kparam_array to remove alignment padding on 64 bit builds module: remove 64 bit alignment padding from struct module with CONFIG_TRACE* module: do not hide __modver_version_show declaration behind ifdef module: deal with alignment issues in built-in module versions commit 7663164f2619e37a1dcad59383e2fcf8c5194107 Merge: e66eed6 6151658 Author: Linus Torvalds Date: Thu May 19 14:55:34 2011 -0700 Merge branch 'docs-move' of git://git.kernel.org/pub/scm/linux/kernel/git/rdunlap/linux-docs * 'docs-move' of git://git.kernel.org/pub/scm/linux/kernel/git/rdunlap/linux-docs: Correct occurrences of - Documentation/kvm/ to Documentation/virtual/kvm - Documentation/uml/ to Documentation/virtual/uml - Documentation/lguest/ to Documentation/virtual/lguest throughout the kernel source tree. Add a 00-INDEX file to Documentation/virtual Remove uml from the top level 00-INDEX file. Move kvm, uml, and lguest subdirectories under a common "virtual" directory, I.E: commit 5b5ed8afe48ca6916daabf9822e7a19fc19fdab4 Author: David S. Miller Date: Thu May 19 17:45:29 2011 -0400 9p: Kill unused variable 'ret' in trans_rdma.c:parse_opts() Probably just cut and pasted from the other parse_opts() implementations in the 9p sources. Signed-off-by: David S. Miller commit 99517e3d7930f8cc064f7e9443b1b441e00e83d7 Author: David S. Miller Date: Thu May 19 17:38:57 2011 -0400 9p: Kill set but not used variable 'ret' in parse_opts() Signed-off-by: David S. Miller commit 80d02085d99039b3b7f3a73c8896226b0cb1ba07 Author: Paul E. McKenney Date: Thu May 12 01:08:07 2011 -0700 Revert "rcu: Decrease memory-barrier usage based on semi-formal proof" This reverts commit e59fb3120becfb36b22ddb8bd27d065d3cdca499. This reversion was due to (extreme) boot-time slowdowns on SPARC seen by Yinghai Lu and on x86 by Ingo . This is a non-trivial reversion due to intervening commits. Conflicts: Documentation/RCU/trace.txt kernel/rcutree.c Signed-off-by: Ingo Molnar commit e66eed651fd18a961f11cda62f3b5286c8cc4f9f Author: Linus Torvalds Date: Thu May 19 14:15:29 2011 -0700 list: remove prefetching from regular list iterators This is removes the use of software prefetching from the regular list iterators. We don't want it. If you do want to prefetch in some iterator of yours, go right ahead. Just don't expect the iterator to do it, since normally the downsides are bigger than the upsides. It also replaces with , because the use of LIST_POISON ends up needing it. is sadly not self-contained, and including prefetch.h just happened to hide that. Suggested by David Miller (networking has a lot of regular lists that are often empty or a single entry, and prefetching is not going to do anything but add useless instructions). Acked-by: Ingo Molnar Acked-by: David S. Miller Cc: linux-arch@vger.kernel.org Signed-off-by: Linus Torvalds commit 3fb72f1e6e6165c5f495e8dc11c5bbd14c73385c Author: Micha Nelissen Date: Thu May 19 10:14:06 2011 +0000 ipconfig wait for carrier v3 -> v4: fix return boolean false instead of 0 for ic_is_init_dev Currently the ip auto configuration has a hardcoded delay of 1 second. When (ethernet) link takes longer to come up (e.g. more than 3 seconds), nfs root may not be found. Remove the hardcoded delay, and wait for carrier on at least one network device. Signed-off-by: Micha Nelissen Cc: David Miller Signed-off-by: David S. Miller commit c182f90bc1f22ce5039b8722e45621d5f96862c2 Author: Jacek Luczak Date: Thu May 19 09:55:13 2011 +0000 SCTP: fix race between sctp_bind_addr_free() and sctp_bind_addr_conflict() During the sctp_close() call, we do not use rcu primitives to destroy the address list attached to the endpoint. At the same time, we do the removal of addresses from this list before attempting to remove the socket from the port hash As a result, it is possible for another process to find the socket in the port hash that is in the process of being closed. It then proceeds to traverse the address list to find the conflict, only to have that address list suddenly disappear without rcu() critical section. Fix issue by closing address list removal inside RCU critical section. Race can result in a kernel crash with general protection fault or kernel NULL pointer dereference: kernel: general protection fault: 0000 [#1] SMP kernel: RIP: 0010:[] [] sctp_bind_addr_conflict+0x64/0x82 [sctp] kernel: Call Trace: kernel: [] ? sctp_get_port_local+0x17b/0x2a3 [sctp] kernel: [] ? sctp_bind_addr_match+0x33/0x68 [sctp] kernel: [] ? sctp_do_bind+0xd3/0x141 [sctp] kernel: [] ? sctp_bindx_add+0x4d/0x8e [sctp] kernel: [] ? sctp_setsockopt_bindx+0x112/0x4a4 [sctp] kernel: [] ? generic_file_aio_write+0x7f/0x9b kernel: [] ? sctp_setsockopt+0x14f/0xfee [sctp] kernel: [] ? do_sync_write+0xab/0xeb kernel: [] ? fsnotify+0x239/0x282 kernel: [] ? alloc_file+0x18/0xb1 kernel: [] ? compat_sys_setsockopt+0x1a5/0x1d9 kernel: [] ? compat_sys_socketcall+0x143/0x1a4 kernel: [] ? sysenter_dispatch+0x7/0x32 Signed-off-by: Jacek Luczak Acked-by: Vlad Yasevich CC: Eric Dumazet Reviewed-by: Eric Dumazet Signed-off-by: David S. Miller commit 75d65a425c0163d3ec476ddc12b51087217a070c Author: Linus Torvalds Date: Thu May 19 13:50:07 2011 -0700 hlist: remove software prefetching in hlist iterators They not only increase the code footprint, they actually make things slower rather than faster. On internationally acclaimed benchmarks ("make -j16" on an already fully built kernel source tree) the hlist prefetching slows down the build by up to 1%. (Almost all of it comes from hlist_for_each_entry_rcu() as used by avc_has_perm_noaudit(), which is very hot due to all the pathname lookups to see if there is anything to do). The cause seems to be two-fold: - on at least some Intel cores, prefetch(NULL) ends up with some microarchitectural stall due to the TLB miss that it incurs. The hlist case triggers this very commonly, since the NULL pointer is the last entry in the list. - the prefetch appears to cause more D$ activity, probably because it prefetches hash list entries that are never actually used (because we ended the search early due to a hit). Regardless, the numbers clearly say that the implicit prefetching is simply a bad idea. If some _particular_ user of the hlist iterators wants to prefetch the next list entry, they can do so themselves explicitly, rather than depend on all list iterators doing so implicitly. Acked-by: Ingo Molnar Acked-by: David S. Miller Cc: linux-arch@vger.kernel.org Signed-off-by: Linus Torvalds commit be281e554e2a4cf2478df7a8b8926c89454bccfa Author: Eric Dumazet Date: Thu May 19 01:14:23 2011 +0000 ipv6: reduce per device ICMP mib sizes ipv6 has per device ICMP SNMP counters, taking too much space because they use percpu storage. needed size per device is : (512+4)*sizeof(long)*number_of_possible_cpus*2 On a 32bit kernel, 16 possible cpus, this wastes more than 64kbytes of memory per ipv6 enabled network device, taken in vmalloc pool. Since ICMP messages are rare, just use shared counters (atomic_long_t) Per network space ICMP counters are still using percpu memory, we might also convert them to shared counters in a future patch. Signed-off-by: Eric Dumazet CC: Denys Fedoryshchenko Signed-off-by: David S. Miller commit 75e308c894c4a5e47c005b8e821ae5f539ad2ef3 Author: Changli Gao Date: Wed May 18 21:16:01 2011 +0000 net: ping: fix the coding style The characters in a line should be no more than 80. Signed-off-by: Changli Gao Signed-off-by: David S. Miller commit bb0cd2fb539c4e454ed32e32194acc03b75753f3 Author: Changli Gao Date: Wed May 18 21:16:00 2011 +0000 net: ping: make local functions static As these functions are only used in this file. Signed-off-by: Changli Gao Signed-off-by: David S. Miller commit 6b60d7b9df727726dfb7e59ca0a7caf14e81e0a2 Merge: a48eff1 abb57ea Author: David S. Miller Date: Thu May 19 15:55:45 2011 -0400 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 29510ec3b626c86de9707bb8904ff940d430289b Merge: 398995c 95950c2 Author: Ingo Molnar Date: Thu May 19 19:48:03 2011 +0200 Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core commit 398995ce7980b03b5803f8f31073b45d87746bc1 Merge: c330525 d697182 Author: Ingo Molnar Date: Thu May 19 19:25:55 2011 +0200 Merge branch 'tip/perf/core-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core commit 9b090f2da85bd0df5e1a1ecfe4120b7b50358f48 Author: Catalin Marinas Date: Thu May 19 16:25:30 2011 +0100 kmemleak: Initialise kmemleak after debug_objects_mem_init() Kmemleak frees objects via RCU and when CONFIG_DEBUG_OBJECTS_RCU_HEAD is enabled, the RCU callback triggers a call to free_object() in lib/debugobjects.c. Since kmemleak is initialised before debug objects initialisation, it may result in a kernel panic during booting. This patch moves the kmemleak_init() call after debug_objects_mem_init(). Reported-by: Marcin Slusarz Tested-by: Tejun Heo Signed-off-by: Catalin Marinas Cc: commit 79e0d9bd262bdd36009e8092e57e34dc5e22a1c7 Author: Catalin Marinas Date: Wed Apr 27 17:06:19 2011 +0100 kmemleak: Select DEBUG_FS unconditionally in DEBUG_KMEMLEAK In the past DEBUG_FS used to depend on SYSFS and DEBUG_KMEMLEAK selected it conditionally. This is no longer the case, so always select DEBUG_FS via DEBUG_KMEMLEAK. Signed-off-by: Catalin Marinas commit 52c3ce4ec5601ee383a14f1485f6bac7b278896e Author: Catalin Marinas Date: Wed Apr 27 16:44:26 2011 +0100 kmemleak: Do not return a pointer to an object that kmemleak did not get The kmemleak_seq_next() function tries to get an object (and increment its use count) before returning it. If it could not get the last object during list traversal (because it may have been freed), the function should return NULL rather than a pointer to such object that it did not get. Signed-off-by: Catalin Marinas Reported-by: Phil Carmody Acked-by: Phil Carmody Cc: commit 659e6ed55ff8d617c895c10288644e3e6107834e Author: Geert Uytterhoeven Date: Mon Jan 31 20:15:04 2011 +0100 input/atari: Fix mouse movement and button mapping Up and down movements were reversed, left and right buttons were swapped. Signed-off-by: Geert Uytterhoeven commit 186f200a95cbd13c291cdd3ddeb07aad0a3782cc Author: Michael Schmitz Date: Sun Dec 28 23:00:45 2008 +0100 input/atari: Fix atarimouse init Atarimouse fails to load as a module (with ENODEV), due to a brown paper bag bug, misinterpreting the semantics of atari_keyb_init(). [geert] Propagate the return value of atari_keyb_init() everywhere Signed-off-by: Michael Schmitz Signed-off-by: Geert Uytterhoeven commit 7786908c3c1bb38dcc5cd2c037251c05507eef16 Author: Michael Schmitz Date: Tue Dec 16 21:26:03 2008 +0100 input/atari: Use the correct mouse interrupt hook The Atari keyboard driver calls atari_mouse_interrupt_hook if it's set, not atari_input_mouse_interrupt_hook. Fix below. [geert] Killed off atari_mouse_interrupt_hook completely, after fixing another incorrect assignment in atarimouse.c. Signed-off-by: Michael Schmitz Signed-off-by: Geert Uytterhoeven commit 79abeed6ee93231d494c191a9251c0845bd71fdd Author: Geert Uytterhoeven Date: Wed May 4 14:55:41 2011 +0200 m68k/atari: Do not use "/" in interrupt names It may trigger a warning in fs/proc/generic.c:__xlate_proc_name() when trying to add an entry for the interrupt handler to sysfs. Signed-off-by: Geert Uytterhoeven commit 1fc74ac61229edfe053fb87e8939ae9ca3794389 Author: Geert Uytterhoeven Date: Thu May 5 20:33:02 2011 +0200 m68k: unistd - Comment out definitions for unimplemented syscalls Suggested-by: Arnd Bergmann Signed-off-by: Geert Uytterhoeven commit d6d42bb2f85d875dc0c421699de5a1401b2af6a6 Author: Geert Uytterhoeven Date: Fri May 6 20:57:11 2011 +0200 m68k: Really wire up sys_pselect6 and sys_ppoll We reserved the numbers a long time ago, but never wired them up in the syscall table as they need TIF_RESTORE_SIGMASK, which we only got last year in commit cb6831d5d3099e772a510eb3e1ed0760ccffb45e ("m68k: Switch to saner sigsuspend()") Signed-off-by: Geert Uytterhoeven Acked-by: Greg Ungerer Cc: stable@kernel.org commit c4245c9d6535f3d02fda7f6eb9adcec9f09e8fe3 Author: Geert Uytterhoeven Date: Wed Apr 6 22:12:53 2011 +0200 m68k: Merge mmu and non-mmu versions of sys_call_table Impact for nommu: - Store table in .rodata instead of .text, - Let kernel/sys_ni.c handle the stubbing of MMU-only syscalls, - Implement sys_mremap and sys_nfsservct, - Remove unused padding at the end of the table. Impact for mmu: - Store table in .rodata instead of .data. Signed-off-by: Geert Uytterhoeven Acked-by: Greg Ungerer commit 6cf515e113fc1938b3cc9812bd8519a4c6155ef9 Author: Geert Uytterhoeven Date: Sun Apr 24 10:32:49 2011 +0200 MAINTAINERS: Roman Zippel has been MIA for several years. Hence make AFFS and HFS orphans, and remove him as an m68k maintainer. Signed-off-by: Geert Uytterhoeven commit f82a519f1262963d6ab30fa238721463fad2e0c8 Author: Geert Uytterhoeven Date: Sun Apr 3 14:00:10 2011 +0200 m68k: bitops - Never step beyond the end of the bitmap find_next bitops on m68k (find_next_zero_bit, find_next_bit, and find_next_bit_le) may cause out of bounds memory access when the bitmap size in bits % 32 != 0 and offset (the bitnumber to start searching at) is very close to the bitmap size. For example, unsigned long bitmap[2] = { 0, 0 }; find_next_bit(bitmap, 63, 62); 1. find_next_bit() tries to find any set bits in bitmap[1], but no bits set. 2. Then find_first_bit(bimap + 2, -1) 3. Unfortunately find_first_bit() takes unsigned int as the size argument. 4. find_first_bit will access bitmap[2~] until it find any set bits. Add missing tests for stepping beyond the end of the bitmap to all find_{first,next}_*() functions, and make sure they never return a value larger than the bitmap size. Reported-by: Akinobu Mita Cc: Andreas Schwab Signed-off-by: Geert Uytterhoeven commit 359c47ea71be21c1105ae474e8c90ec3e988bbdf Author: Geert Uytterhoeven Date: Sun Apr 3 13:32:00 2011 +0200 m68k: bitops - offset == ((long)p - (long)vaddr) * 8 Hence use "offset" in find_next_{,zero_}bit(), like is already done for find_next_{,zero_}bit_le() Signed-off-by: Geert Uytterhoeven Cc: Akinobu Mita Cc: Andreas Schwab Signed-off-by: Geert Uytterhoeven commit 887cb45694f77d59de19674cb73146fec72fadbb Author: Daniel Kiper Date: Wed May 4 20:19:49 2011 +0200 drivers/xen/sys-hypervisor: Cleanup code/data sections definitions Cleanup code/data sections definitions accordingly to include/linux/init.h. Signed-off-by: Daniel Kiper Signed-off-by: Konrad Rzeszutek Wilk commit b53cedebd74918237176520f9157deb7ae066b71 Author: Daniel Kiper Date: Wed May 4 20:18:05 2011 +0200 arch/x86/xen/smp: Cleanup code/data sections definitions Cleanup code/data sections definitions accordingly to include/linux/init.h. Signed-off-by: Daniel Kiper Signed-off-by: Konrad Rzeszutek Wilk commit fb6ce5dea4bb704bfcd9fda7e6b1354da66f4d2f Author: Daniel Kiper Date: Wed May 4 20:18:45 2011 +0200 arch/x86/xen/time: Cleanup code/data sections definitions Cleanup code/data sections definitions accordingly to include/linux/init.h. Signed-off-by: Daniel Kiper Signed-off-by: Konrad Rzeszutek Wilk commit ad7ba09e658f8e890797ed168dfb3f84be934b09 Author: Daniel Kiper Date: Wed May 4 20:19:15 2011 +0200 arch/x86/xen/xen-ops: Cleanup code/data sections definitions Cleanup code/data sections definitions accordingly to include/linux/init.h. Signed-off-by: Daniel Kiper Signed-off-by: Konrad Rzeszutek Wilk commit 3f508953dd2ebcbcd32d28d0b6aad4d76980e722 Author: Daniel Kiper Date: Thu May 12 17:19:53 2011 -0400 arch/x86/xen/mmu: Cleanup code/data sections definitions Cleanup code/data sections definitions accordingly to include/linux/init.h. Signed-off-by: Daniel Kiper [v1: Rebased on top of latest linus's to include fixes in mmu.c] Signed-off-by: Konrad Rzeszutek Wilk commit ceec1e0fae6eecac876ec28cfb97786f87dfb1c6 Author: Steve French Date: Mon Mar 14 19:01:59 2011 +0000 [CIFS] Remove sparse warning Move extern for cifsConvertToUCS to different header to prevent following warning: CHECK fs/cifs/cifs_unicode.c fs/cifs/cifs_unicode.c:267:1: warning: symbol 'cifsConvertToUCS' was not declared. Should it be static? Signed-off-by: Steve French Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit 4e64fb33dea9c4cad0106760c49c7629d4c699a5 Author: Steve French Date: Wed May 18 18:08:28 2011 +0000 [CIFS] Update cifs to version 1.72 Signed-off-by: Steve French commit c4aca0c09f80ca40dbcecb2370af9594fbe9051d Author: Shirish Pargaonkar Date: Fri May 6 02:35:00 2011 -0500 cifs: Change key name to cifs.idmap, misc. clean-up Change idmap key name from cifs.cifs_idmap to cifs.idmap. Removed unused structure wksidarr and function match_sid(). Handle errors correctly in function init_cifs(). Signed-off-by: Shirish Pargaonkar Reviewed-by: Jeff Layton Signed-off-by: Steve French commit f14bcf71d1b802f6042b6c70a0c37120e47a0876 Author: Sean Finney Date: Mon Apr 11 13:19:35 2011 +0000 cifs: Unconditionally copy mount options to superblock info Previously mount options were copied and updated in the cifs_sb_info struct only when CONFIG_CIFS_DFS_UPCALL was enabled. Making this information generally available allows us to remove a number of ifdefs, extra function params, and temporary variables. Reviewed-by: Jeff Layton Signed-off-by: Sean Finney Signed-off-by: Steve French commit 5167f11ec962690ecf926fab00f1d0524cd78664 Author: Sean Finney Date: Mon Apr 11 13:19:34 2011 +0000 cifs: Use kstrndup for cifs_sb->mountdata A relatively minor nit, but also clarified the "consensus" from the preceding comments that it is in fact better to try for the kstrdup early and cleanup while cleaning up is still a simple thing to do. Reviewed-By: Steve French Signed-off-by: Sean Finney Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit 046462abca2576cc1c71f501c148798fac4ea314 Author: Sean Finney Date: Mon Apr 11 13:19:33 2011 +0000 cifs: Simplify handling of submount options in cifs_mount. With CONFIG_DFS_UPCALL enabled, maintain the submount options in cifs_sb->mountdata, simplifying the code just a bit as well as making corner-case allocation problems less likely. Reviewed-by: Jeff Layton Signed-off-by: Sean Finney Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit b946845a9dc523c759cae2b6a0f6827486c3221a Author: Sean Finney Date: Mon Apr 11 13:19:32 2011 +0000 cifs: cifs_parse_mount_options: do not tokenize mount options in-place To keep strings passed to cifs_parse_mount_options re-usable (which is needed to clean up the DFS referral handling), tokenize a copy of the mount options instead. If values are needed from this tokenized string, they too must be duplicated (previously, some options were copied and others duplicated). Since we are not on the critical path and any cleanup is relatively easy, the extra memory usage shouldn't be a problem (and it is a bit simpler than trying to implement something smarter). Reviewed-by: Jeff Layton Signed-off-by: Sean Finney Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit c1508ca23653245266e2e3ab69a8dad464f7a569 Author: Sean Finney Date: Mon Apr 11 13:19:31 2011 +0000 cifs: Add support for mounting Windows 2008 DFS shares Windows 2008 CIFS servers do not always return PATH_NOT_COVERED when attempting to access a DFS share. Therefore, when checking for remote shares, unconditionally ask for a DFS referral for the UNC (w/out prepath) before continuing with previous behavior of attempting to access the UNC + prepath and checking for PATH_NOT_COVERED. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=31092 Reviewed-by: Jeff Layton Signed-off-by: Sean Finney Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit dd61394586dbd9387fe53b325c6807f61734cf89 Author: Sean Finney Date: Mon Apr 11 13:19:30 2011 +0000 cifs: Extract DFS referral expansion logic to separate function The logic behind the expansion of DFS referrals is now extracted from cifs_mount into a new static function, expand_dfs_referral. This will reduce duplicate code in upcoming commits. Reviewed-by: Jeff Layton Signed-off-by: Sean Finney Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit 460458ce8ec195a1902f0c742b76880fbd01dd96 Author: Jeff Layton Date: Thu Mar 31 21:18:15 2011 -0400 cifs: turn BCC into a static inlined function It's a bad idea to have macro functions that reference variables more than once, as the arguments could have side effects. Turn BCC() into a static inlined function instead. While we're at it, make it return a void * to discourage anyone from dereferencing it as-is. Reported-and-acked-by: David Howells Signed-off-by: Jeff Layton Signed-off-by: Steve French Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit 820a803ffac3ef591e597bc107f8e289a823a29c Author: Jeff Layton Date: Wed May 4 08:05:26 2011 -0400 cifs: keep BCC in little-endian format This is the same patch as originally posted, just with some merge conflicts fixed up... Currently, the ByteCount is usually converted to host-endian on receive. This is confusing however, as we need to keep two sets of routines for accessing it, and keep track of when to use each routine. Munging received packets like this also limits when the signature can be calulated. Simplify the code by keeping the received ByteCount in little-endian format. This allows us to eliminate a set of routines for accessing it and we can now drop the *_le suffixes from the accessor functions since that's now implied. While we're at it, switch all of the places that read the ByteCount directly to use the get_bcc inline which should also clean up some unaligned accesses. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 0e6e37a7a81f370d9aafafdf88aca13977f6fb5f Author: Jeff Layton Date: Wed May 4 08:08:19 2011 -0400 cifs: fix some unused variable warnings in id_rb_search fs/cifs/cifsacl.c: In function ‘id_rb_search’: fs/cifs/cifsacl.c:215:19: warning: variable ‘linkto’ set but not used [-Wunused-but-set-variable] fs/cifs/cifsacl.c:214:18: warning: variable ‘parent’ set but not used [-Wunused-but-set-variable] Reviewed-by: Shirish Pargaonkar Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 6feb9891da4f8b04ffca69c00eb56bb7c1b64dc4 Author: Pavel Shilovsky Date: Thu Apr 7 18:18:11 2011 +0400 CIFS: Simplify invalidate part (try #5) Simplify many places when we call cifs_revalidate/invalidate to make it do what it exactly needs. Reviewed-by: Jeff Layton Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit 0b81c1c405c063f3ecea66c2f5e9c3aefc5359c8 Author: Pavel Shilovsky Date: Thu Mar 10 10:11:05 2011 +0300 CIFS: directio read/write cleanups Recently introduced strictcache mode brought a new code that can be efficiently used by directio part. That's let us add vectored operations and break unnecessary cifs_user_read and cifs_user_write. Signed-off-by: Pavel Shilovsky Reviewed-by: Jeff Layton Signed-off-by: Steve French commit be8e3b0044a68e1f1002c432f6b40d290cf0701d Author: Steve French Date: Fri Apr 29 05:40:20 2011 +0000 consistently use smb_buf_length as be32 for cifs (try 3) There is one big endian field in the cifs protocol, the RFC1001 length, which cifs code (unlike in the smb2 code) had been handling as u32 until the last possible moment, when it was converted to be32 (its native form) before sending on the wire. To remove the last sparse endian warning, and to make this consistent with the smb2 implementation (which always treats the fields in their native size and endianness), convert all uses of smb_buf_length to be32. This version incorporates Christoph's comment about using be32_add_cpu, and fixes a typo in the second version of the patch. Signed-off-by: Steve French Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit 9409ae58e0759d010b347e7b19ebc90ab5d4b98f Author: Shirish Pargaonkar Date: Fri Apr 22 12:09:36 2011 -0500 cifs: Invoke id mapping functions (try #17 repost) rb tree search and insertion routines. A SID which needs to be mapped, is looked up in one of the rb trees depending on whether SID is either owner or group SID. If found in the tree, a (mapped) id from that node is assigned to uid or gid as appropriate. If unmapped, an upcall is attempted to map the SID to an id. If upcall is successful, node is marked as mapped. If upcall fails, node stays marked as unmapped and a mapping is attempted again only after an arbitrary time period has passed. To map a SID, which can be either a Owner SID or a Group SID, key description starts with the string "os" or "gs" followed by SID converted to a string. Without "os" or "gs", cifs.upcall does not know whether SID needs to be mapped to either an uid or a gid. Nodes in rb tree have fields to prevent multiple upcalls for a SID. Searching, adding, and removing nodes is done within global locks. Whenever a node is either found or inserted in a tree, a reference is taken on that node. Shrinker routine prunes a node if it has expired but does not prune an expired node if its refcount is not zero (i.e. sid/id of that node is_being/will_be accessed). Thus a node, if its SID needs to be mapped by making an upcall, can safely stay and its fields accessed without shrinker pruning it. A reference (refcount) is put on the node without holding the spinlock but a reference is get on the node by holding the spinlock. Every time an existing mapped node is accessed or mapping is attempted, its timestamp is updated to prevent it from getting erased or a to prevent multiple unnecessary repeat mapping retries respectively. For now, cifs.upcall is only used to map a SID to an id (uid or gid) but it would be used to obtain an SID for an id. Signed-off-by: Shirish Pargaonkar Reviewed-by: Jeff Layton Signed-off-by: Steve French commit 4d79dba0e00749fa40de8ef13a9b85ce57a1603b Author: Shirish Pargaonkar Date: Wed Apr 27 23:34:35 2011 -0500 cifs: Add idmap key and related data structures and functions (try #17 repost) Define (global) data structures to store ids, uids and gids, to which a SID maps. There are two separate trees, one for SID/uid and another one for SID/gid. A new type of key, cifs_idmap_key_type, is used. Keys are instantiated and searched using credential of the root by overriding and restoring the credentials of the caller requesting the key. Id mapping functions are invoked under config option of cifs acl. Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit 9ad1506b42c828dff0b9d8f3914e1f837734e91c Author: Pavel Shilovsky Date: Fri Apr 8 05:29:10 2011 +0400 CIFS: Add launder_page operation (try #3) Add this let us drop filemap_write_and_wait from cifs_invalidate_mapping and simplify the code to properly process invalidate logic. Reviewed-by: Jeff Layton Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit 1cb06d0b50536af177b2f2f7cab25546f3731d3e Author: Steve French Date: Thu Feb 24 18:07:19 2011 +0000 Introduce smb2 mounts as vers=2 As with Linux nfs client, which uses "nfsvers=" or "vers=" to indicate which protocol to use for mount, specifying "vers=smb2" or "vers=2" will force an smb2 mount. When vers is not specified cifs is used ie "vers=cifs" or "vers=1" We can eventually autonegotiate down from smb2 to cifs when smb2 is stable enough to make it the default, but this is for the future. At that time we could also implement a "maxprotocol" mount option as smbclient and Samba have today, but that would be premature until smb2 is stable. Intially the smb2 Kconfig option will depend on "BROKEN" until the merge is complete, and then be "EXPERIMENTAL" When it is no longer experimental we can consider changing the default protocol to attempt first. Reviewed-by: Jeff Layton Reviewed-by: Pavel Shilovsky Signed-off-by: Steve French commit 257fb1f15d72f89dad2d72fa467c189f2d7fdd71 Author: Pavel Shilovsky Date: Wed Mar 16 01:55:32 2011 +0300 CIFS: Use invalidate_inode_pages2 instead of invalidate_remote_inode (try #4) Use invalidate_inode_pages2 that don't leave pages even if shrink_page_list() has a temp ref on them. It prevents a data coherency problem when cifs_invalidate_mapping didn't invalidate pages but the client thinks that a data from the cache is uptodate according to an oplock level (exclusive or II). Signed-off-by: Pavel Shilovsky Signed-off-by: Steve French commit fd5707e1b44560d18b47d552c1871ea0bfc46688 Author: Jeff Layton Date: Thu Mar 31 17:22:07 2011 -0400 cifs: fix comment in validate_t2 The comment about checking the bcc is in the wrong place. Also make it match kernel coding style. Reported-and-acked-by: David Howells Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 4358b5678b27ffe81391d84ce150df8e81010f6a Author: Jeff Layton Date: Tue Mar 29 09:33:31 2011 -0400 VFS: trivial: fix comment on s_maxbytes value warning check I originally intended to remove this warning in 2.6.34, but it's not in a high performance codepath and might help us to catch bugs later. Let's keep it, but fix the comment to allay confusion about its removal. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit b73b9a4ba753dfd7d304ee6ee4685b827524c533 Author: Steve French Date: Tue Apr 19 18:27:10 2011 +0000 [CIFS] Allow to set extended attribute cifs_acl (try #2) Allow setting cifs_acl on the server. Pass on to the server the ACL blob generated by an application. cifs is just a pass-through, it does not monitor or inspect the contents of the blob, server decides whether to enforce/apply the ACL blob composed by an application. If setting of ACL is succeessful, mark the inode for revalidation. Signed-off-by: Shirish Pargaonkar Acked-by: Jeff Layton Signed-off-by: Steve French commit 43988d76851077d2945080665e3c4e2e636d700a Author: Steve French Date: Tue Apr 19 18:23:31 2011 +0000 [CIFS] Use ecb des kernel crypto APIs instead of local cifs functions (repost) Using kernel crypto APIs for DES encryption during LM and NT hash generation instead of local functions within cifs. Source file smbdes.c is deleted sans four functions, one of which uses ecb des functionality provided by kernel crypto APIs. Remove function SMBOWFencrypt. Add return codes to various functions such as calc_lanman_hash, SMBencrypt, and SMBNTencrypt. Includes fix noticed by Dan Carpenter. Signed-off-by: Shirish Pargaonkar CC: Dan Carpenter Acked-by: Jeff Layton Signed-off-by: Steve French commit 257208736acc694def83627fa0de2892490a5d42 Author: Shirish Pargaonkar Date: Fri Feb 25 10:48:55 2011 -0600 cifs: cleanup: Rename and remove config flags Remove config flag CIFS_EXPERIMENTAL. Do export operations under new config flag CIFS_NFSD_EXPORT Signed-off-by: Shirish Pargaonkar Reviewed-by: Jeff Layton Signed-off-by: Steve French commit b34cb85cc2d84c487afe2baa2d3c04d8b677bbd0 Author: Steve French Date: Thu Feb 24 17:58:00 2011 +0000 Introduce SMB2 Kconfig option SMB2 is the followon to the CIFS (and SMB) protocols and the default for Windows since Windows Vista, and also now implemented by various non-Windows servers. SMB2 is more secure, has various performance advantages, including larger i/o sizes, flow control, better caching model and more. SMB2 also resolves some scalability limits in the cifs protocol and adds many new features while being much simpler (only a few dozen commands instead of hundreds) and since the protocol is clearer it is also more consistently implemented across servers and thus easier to optimize. After much discussion with Jeff Layton, Jeremy Allison and others at Connectathon, we decided to move the smb2 code from a distinct .ko and fstype into distinct C files that optionally build in cifs.ko. As a result the Kconfig gets simpler. To avoid destabilizing cifs, the smb2 code is going to be moved into its own experimental CONFIG_CIFS_SMB2 ifdef as it is merged and rereviewed. The changes to stable cifs (builds with the smb2 ifdef off) are expected to be fairly small. Reviewed-by: Jeff Layton Signed-off-by: Steve French commit 34c87901e113799a45423fdac29c7478c889a95d Author: Steve French Date: Tue Mar 1 05:02:57 2011 +0000 Shrink stack space usage in cifs_construct_tcon We were reserving MAX_USERNAME (now 256) on stack for something which only needs to fit about 24 bytes ie string krb50x + printf version of uid Signed-off-by: Steve French commit fd62cb7e7411f1f5ca774145665316d3612fed9a Author: Justin P. Mattock Date: Thu Feb 24 22:15:02 2011 -0800 fs:cifs:connect.c remove one to many l's in the word. The patch below removes an extra "l" in the word. Signed-off-by: Justin P. Mattock Signed-off-by: Steve French commit c52a95545c7f8060aa4e83deca16e3414ce73000 Author: Steve French Date: Thu Feb 24 06:16:22 2011 +0000 Don't compile in unused reparse point symlink code Recent Windows versions now create symlinks more frequently and they do use this "reparse point" symlink mechanism. We can of course do symlinks nicely to Samba and other servers which support the CIFS Unix Extensions and we can also do SFU symlinks and "client only" "MF" symlinks optionally, but for recent Windows we currently can not handle the common "reparse point" symlinks fully, removing the caller for this. We will need to extend and reenable this "reparse point" worker code in cifs and fix cifs_symlink to call this. In the interim this code has been moved to its own config option so it is not compiled in by default until cifs_symlink fixed up (and tested) to use this. CC: Jeff Layton Signed-off-by: Steve French commit 0eff0e26777430bcfee1ef47bd90250858ada431 Author: Steve French Date: Thu Feb 24 05:39:23 2011 +0000 Remove unused CIFSSMBNotify worker function The CIFSSMBNotify worker is unused, pending changes to allow it to be called via inotify, so move it into its own experimental config option so it does not get built in, until the necessary VFS support is fixed. It used to be used in dnotify, but according to Jeff, inotify needs minor changes before we can reenable this. CC: Jeff Layton Signed-off-by: Steve French commit 9b6763e0aacf245b58687a372816a0a4aabf2b1e Author: Shirish Pargaonkar Date: Mon Feb 21 23:56:59 2011 -0600 cifs: Remove unused inode number while fetching root inode ino is unused in function cifs_root_iget(). Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit 983bbf1af0664b78689612b247acb514300f62c7 Author: Tian, Kevin Date: Fri May 6 14:43:56 2011 +0800 x86: Don't unmask disabled irqs when migrating them It doesn't make sense to unconditionally unmask a disabled irq when migrating it from offlined cpu to another. If the irq triggers then it will be disabled in the interrupt handler anyway. So we can just avoid unmasking it. [ tglx: Made masking unconditional again and fixed the changelog ] Signed-off-by: Fengzhe Zhang Signed-off-by: Kevin Tian Cc: Ian Campbell Cc: Jan Beulich Cc: "xen-devel@lists.xensource.com" Link: http://lkml.kernel.org/r/%3C625BA99ED14B2D499DC4E29D8138F1505C8ED7F7E3%40shsmsx502.ccr.corp.intel.com%3E Signed-off-by: Thomas Gleixner commit b87ba87ca26e226b2277a2d5613ed596f408e96d Author: Tian, Kevin Date: Fri May 6 14:43:36 2011 +0800 x86: Skip migrating IRQF_PER_CPU irqs in fixup_irqs() IRQF_PER_CPU means that the irq cannot be moved away from a given cpu. So it must not be migrated when the cpu goes offline. [ tglx: massaged changelog ] Signed-off-by: Fengzhe Zhang Signed-off-by: Kevin Tian Cc: Ian Campbell Cc: Jan Beulich Cc: "xen-devel@lists.xensource.com" Link: http://lkml.kernel.org/r/%3C625BA99ED14B2D499DC4E29D8138F1505C8ED7F7E2%40shsmsx502.ccr.corp.intel.com%3E Signed-off-by: Thomas Gleixner commit c3305257cd4df63e03e21e331a0140ae9c0faccc Author: Ingo Molnar Date: Thu May 19 14:01:42 2011 +0200 perf stat: Add more cache-miss percentage printouts Print out the cache-miss percentage as well if the cache refs were collected, for all the generic cache event types. Before: 11,103,723,230 dTLB-loads # 622.471 M/sec ( +- 0.30% ) 87,065,337 dTLB-load-misses # 4.881 M/sec ( +- 0.90% ) After: 11,353,713,242 dTLB-loads # 626.020 M/sec ( +- 0.35% ) 113,393,472 dTLB-load-misses # 1.00% of all dTLB cache hits ( +- 0.49% ) Also ASCII color highlight too high percentages, them when it's executed on the console. Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Steven Rostedt Link: http://lkml.kernel.org/n/tip-lkhwxsevdbd9a8nymx0vxc3y@git.kernel.org Signed-off-by: Ingo Molnar commit 2cba3ffb9a9db3874304a1739002d053d53c738b Author: Ingo Molnar Date: Thu May 19 13:30:56 2011 +0200 perf stat: Add -d -d and -d -d -d options to show more CPU events Print even more detailed statistics if requested via perf stat -d: -d: detailed events, L1 and LLC data cache -d -d: more detailed events, dTLB and iTLB events -d -d -d: very detailed events, adding prefetch events Full output looks like this now: Performance counter stats for '/home/mingo/hackbench 10' (5 runs): 1703.674707 task-clock # 8.709 CPUs utilized ( +- 4.19% ) 49,068 context-switches # 0.029 M/sec ( +- 16.66% ) 8,303 CPU-migrations # 0.005 M/sec ( +- 24.90% ) 17,397 page-faults # 0.010 M/sec ( +- 0.46% ) 2,345,389,239 cycles # 1.377 GHz ( +- 4.61% ) [55.90%] 1,884,503,527 stalled-cycles-frontend # 80.35% frontend cycles idle ( +- 5.67% ) [50.39%] 743,919,737 stalled-cycles-backend # 31.72% backend cycles idle ( +- 8.75% ) [49.91%] 1,314,416,379 instructions # 0.56 insns per cycle # 1.43 stalled cycles per insn ( +- 2.53% ) [60.87%] 272,592,567 branches # 160.003 M/sec ( +- 1.74% ) [56.56%] 3,794,846 branch-misses # 1.39% of all branches ( +- 6.59% ) [58.50%] 449,982,778 L1-dcache-loads # 264.125 M/sec ( +- 2.47% ) [49.88%] 22,404,961 L1-dcache-load-misses # 4.98% of all L1-dcache hits ( +- 6.08% ) [55.05%] 6,204,750 LLC-loads # 3.642 M/sec ( +- 8.91% ) [43.75%] 1,837,411 LLC-load-misses # 1.078 M/sec ( +- 7.27% ) [12.07%] 411,440,421 L1-icache-loads # 241.502 M/sec ( +- 5.60% ) [36.52%] 27,556,832 L1-icache-load-misses # 16.175 M/sec ( +- 7.46% ) [46.72%] 464,067,627 dTLB-loads # 272.392 M/sec ( +- 4.46% ) [54.17%] 10,765,648 dTLB-load-misses # 6.319 M/sec ( +- 3.18% ) [48.68%] 1,273,080,386 iTLB-loads # 747.256 M/sec ( +- 3.38% ) [47.53%] 117,481 iTLB-load-misses # 0.069 M/sec ( +- 14.99% ) [47.01%] 4,590,653 L1-dcache-prefetches # 2.695 M/sec ( +- 4.49% ) [46.19%] 1,712,660 L1-dcache-prefetch-misses # 1.005 M/sec ( +- 3.75% ) [44.82%] 0.195622057 seconds time elapsed ( +- 6.84% ) Also clean up the attribute construction code to be appending, and factor it out into add_default_attributes(). Tweak the coverage percentage printout a bit, so that it's easier to view it alongside the +- sttddev colum. Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Steven Rostedt Link: http://lkml.kernel.org/n/tip-to3kgu04449s64062val8b62@git.kernel.org Signed-off-by: Ingo Molnar commit ab0e08f15d23628dd8d50bf6ce1a935a8840c7dc Author: Thomas Gleixner Date: Wed May 18 21:33:43 2011 +0000 x86: hpet: Cleanup the clockevents init and register code No need to recalculate the frequency and the conversion factors over and over. Calculate the frequency once and use the new config/register interface and let the core code do the math. Signed-off-by: Thomas Gleixner Cc: John Stultz Reviewed-by: Ingo Molnar Link: http://lkml.kernel.org/r/%3C20110518210136.646482357%40linutronix.de%3E commit 61ee9a4ba05f0a4163d43a33dee7a0651e080b98 Author: Thomas Gleixner Date: Wed May 18 21:33:42 2011 +0000 x86: Convert PIT to clockevents_config_and_register() Let the core do the work. Signed-off-by: Thomas Gleixner Cc: John Stultz Reviewed-by: Ingo Molnar Link: http://lkml.kernel.org/r/%3C20110518210136.545615675%40linutronix.de%3E commit 80b816b736cfa5b9582279127099b20a479ab7d9 Author: Thomas Gleixner Date: Wed May 18 21:33:42 2011 +0000 clockevents: Provide interface to reconfigure an active clock event device Some ARM SoCs have clock event devices which have their frequency modified due to frequency scaling. Provide an interface which allows to reconfigure an active device. After reconfiguration reprogram the current pending event. Signed-off-by: Thomas Gleixner Cc: LAK Cc: John Stultz Acked-by: Linus Walleij Reviewed-by: Ingo Molnar Link: http://lkml.kernel.org/r/%3C20110518210136.437459958%40linutronix.de%3E commit 57f0fcbe1dea8a36c9d1673086326059991c5f81 Author: Thomas Gleixner Date: Wed May 18 21:33:41 2011 +0000 clockevents: Provide combined configure and register function All clockevent devices have the same open coded initialization functions. Provide an interface which does all necessary initialization in the core code. Signed-off-by: Thomas Gleixner Cc: John Stultz Reviewed-by: Ingo Molnar Link: http://lkml.kernel.org/r/%3C20110518210136.331975870%40linutronix.de%3E commit 847b2f42be203f3cff7f243fdd3ee50c1e06c882 Author: Thomas Gleixner Date: Wed May 18 21:33:41 2011 +0000 clockevents: Restructure clock_event_device members Group the hot path members of struct clock_event_device together so we have a better cache line footprint. Make it cacheline aligned. Signed-off-by: Thomas Gleixner Cc: John Stultz Reviewed-by: Ingo Molnar Link: http://lkml.kernel.org/r/%3C20110518210136.223607682%40linutronix.de%3E commit 724ed53e8ac2c5278af8955673049714c1073464 Author: Thomas Gleixner Date: Wed May 18 21:33:40 2011 +0000 clocksource: Get rid of the hardcoded 5 seconds sleep time limit Slow clocksources can have a way longer sleep time than 5 seconds and even fast ones can easily cope with 600 seconds and still maintain proper accuracy. Signed-off-by: Thomas Gleixner Cc: John Stultz Reviewed-by: Ingo Molnar Link: http://lkml.kernel.org/r/%3C20110518210136.109811585%40linutronix.de%3E commit 369db4c9524b7487faf1ff89646eee396c1363e1 Author: Thomas Gleixner Date: Wed May 18 21:33:40 2011 +0000 clocksource: Restructure clocksource struct members Group the hot path members of struct clocksource together so we have a better cache line footprint. Make it cacheline aligned. Signed-off-by: Thomas Gleixner Cc: John Stultz Cc: Eric Dumazet Reviewed-by: Ingo Molnar Link: http://lkml.kernel.org/r/%3C20110518210136.003081882%40linutronix.de%3E commit d6971822c288ce5547190c6f812cc978d6520777 Author: Michal Marek Date: Tue May 17 15:36:46 2011 +0200 ftrace/kbuild: Add recordmcount files to force full build Modifications to recordmcount must be performed on all object files to stay consistent with what the kernel code may expect. Add the recordmcount files to the main dependencies to make sure any change to them causes a full recompile. Signed-off-by: Michal Marek Link: http://lkml.kernel.org/r/20110517133646.GP13293@sepie.suse.cz Signed-off-by: Steven Rostedt commit 6f6c3c33c027f2c83d53e8562cd9daa73fe8108b Author: Ralf Baechle Date: Thu May 19 09:21:33 2011 +0100 MIPS: Move arch_get_unmapped_area and gang to new file. It never really belonged into syscall.c and it's about to become well more complex. Signed-off-by: Ralf Baechle commit 9c1e8a9138ff92a4ff816ea8a1884ad2461a993a Author: Ralf Baechle Date: Tue May 17 16:18:09 2011 +0100 MIPS: Cleanup arch_get_unmapped_area As noticed by Kevin Cernekee in http://www.linux-mips.org/cgi-bin/extract-mesg.cgi?a=linux-mips&m=2011-05&i=BANLkTikq04wuK%3Dbz%2BLieavmm3oDtoYWKxg%40mail.gmail.com Patchwork: https://patchwork.linux-mips.org/patch/2387/ Signed-off-by: Ralf Baechle commit e650ce0f083ff9354a10ad66e6bf8c193e8a2755 Author: David Daney Date: Thu Feb 17 14:47:52 2011 -0800 MIPS: Octeon: Don't request interrupts for unused IPI mailbox bits. We only use the three low-order mailbox bits. Leave the upper bits alone for possible use by drivers and other software. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2090/ Signed-off-by: Ralf Baechle commit 7716e6548abed1582a7759666e79d5c612a906c7 Author: Chandrakala Chavva Date: Thu Feb 17 13:57:52 2011 -0800 Octeon: Fix interrupt irq settings for performance counters. Octeon uses different interrupt irq for timer and performance counters. Set CvmCtl[IPPCI] to correct irq value very early. Signed-off-by: Chandrakala Chavva Signed-off-by: David Daney To: linux-mips@linux-mips.org Cc: Chandrakala Chavva Patchwork: https://patchwork.linux-mips.org/patch/2085/ Signed-off-by: Ralf Baechle commit b32ee693eb106172f89639acff88dc8fee8ba3e2 Author: Wanlong Gao Date: Sun Apr 10 03:04:18 2011 +0800 MIPS: Fix build warnings on defconfigs Since d45dcef77019012fc6769e657fc2f1a5d681bbbb ["Bluetooth: Fix BT_L2CAP and BT_SCO in Kconfig"] BT_L2CAP=m and BT_SCO=m are no longer valid so change the settings from m to y. [ralf@linux-mips.org: Merging only the MIPS parts of this patch.] Signed-off-by: Wanlong Gao To: akpm@linux-foundation.org To: manuel.lauss@googlemail.com Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-mips@linux-mips.org Cc: linuxppc-dev@lists.ozlabs.org Patchwork: https://patchwork.linux-mips.org/patch/2277/ Signed-off-by: Ralf Baechle commit 1c8da7a1107a46c94b21cc176aaf95c819aab3db Author: Wanlong Gao Date: Sun Apr 10 01:42:17 2011 +0800 MIPS: Lemote 2F, Malta: Fix build warning Since 5ada28bf76752e33dce3d807bf0dfbe6d1b943ad ["led-class: always implement blinking"] LEDS_CLASS=m is no longer valid so change the setting from m to y. Signed-off-by: Wanlong Gao To: david.woodhouse@intel.com To: akpm@linux-foundation.org To: mingo@elte.hu Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/2276/ Signed-off-by: Ralf Baechle commit 5aac1e8a381d52a977b5050369a82a547c446ee2 Author: Robert Millan Date: Sat Apr 16 11:29:29 2011 -0700 MIPS: Set ELF AT_PLATFORM string for Loongson2 processors Signed-off-by: Robert Millan Acked-by: David Daney Signed-off-by: Kevin Cernekee Cc: David Daney Cc: wu zhangjin Cc: Aurelien Jarno Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/2302/ Signed-off-by: Ralf Baechle commit 06785df09b18e9127d16893039b64ae118c53cb4 Author: Kevin Cernekee Date: Sat Apr 16 11:29:28 2011 -0700 MIPS: Set ELF AT_PLATFORM string for BMIPS processors Signed-off-by: Kevin Cernekee Cc: Robert Millan Cc: David Daney Cc: wu zhangjin Cc: Aurelien Jarno Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/2300/ Signed-off-by: Ralf Baechle commit c094c99e659efedcbb05a0f75b8f77145d8ec539 Author: Robert Millan Date: Mon Apr 18 11:37:55 2011 -0700 MIPS: Introduce set_elf_platform() helper function Replace these sequences: if (cpu == 0) __elf_platform = "foo"; with a trivial inline function. Signed-off-by: Robert Millan Signed-off-by: Kevin Cernekee Signed-off-by: David Daney Cc: wu zhangjin Cc: Aurelien Jarno Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/2304/ Patchwork: https://patchwork.linux-mips.org/patch/2374/ Signed-off-by: Ralf Baechle commit 6edde0247644db475f68f25dcb1bf72260600081 Author: Maarten ter Huurne Date: Mon May 2 11:47:00 2011 +0200 MIPS: JZ4740: setup: Autodetect physical memory. Assume that the boot loader knows the physical memory of the system and deduce that information from the contents of the SDRAM control register. It is still possible to override with with the "mem=" parameter, but we have a sensible default now. Signed-off-by: Maarten ter Huurne Acked-by: Lars-Peter Clausen Cc: linux-kernel@vger.kernel.org Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2319/ Signed-off-by: Ralf Baechle commit 9cbda726bb283d60cd4f34a3a9da8b5b48a46b0f Author: Hauke Mehrtens Date: Tue May 10 23:31:34 2011 +0200 MIPS: BCM47xx: Fix MAC address parsing. Some devices like the Netgear WGT634u are using minuses between the blocks of the MAC address and other devices are using colons to separate them. Signed-off-by: Hauke Mehrtens Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2366/ Signed-off-by: Ralf Baechle commit 41790fd51f71f3744a5d142cc5369eebab8817a0 Author: Hauke Mehrtens Date: Tue May 10 23:31:33 2011 +0200 MIPS: BCM47xx: Extend the filling of SPROM from NVRAM Some members of the struct ssb_sprom where not filled with data available in the NVRAM. Some attribute names in the NVRAM changed from SPROM version 3 to version 4. This patch was done by analyzing the the pci sprom parser in the ssb code and some open source parts of the braodcom wireless driver used on embedded devices. Signed-off-by: Hauke Mehrtens Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2365/ Signed-off-by: Ralf Baechle commit fe6f3642ac70d21004ddbe7242bd4548c35f1c10 Author: Hauke Mehrtens Date: Tue May 10 23:31:32 2011 +0200 MIPS: BCM47xx: Register SSB fallback sprom callback We are generating the prefix based on the PCI bus address the device is on. This is done like Broadcom does it in their code expect that the the bus number is increased by one. In the SB bus implementation used by Broadcom the SB bus emulates a PCI bus so the kernel sees one PCI bus more then in our implementation. We do not handle prefixes like sb/1/ yet as they are only used on the new bus which is not implemented yet. Signed-off-by: Hauke Mehrtens Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2364/ Signed-off-by: Ralf Baechle commit a7c62f8564357532872e106f0fa383728cf886cc Author: Hauke Mehrtens Date: Tue May 10 23:31:31 2011 +0200 MIPS: BCM47xx: Extend bcm47xx_fill_sprom with prefix. When an other SSB based device without an own SPROM is attached, using the PCI bus to the main SSB based device, the data normally found in the SPROM will be stored in the NVRAM on modern devices. The keys, to load the data from the NVRAM, are all using some sort of prefix like pci/1/1/, pci/1/3/ or sb/1/ before the actual key. This patch extends bcm47xx_fill_sprom() to make it possible to read out these values when some prefix was used. The keys for the SPROM data used on the main chip does not have a prefix. Signed-off-by: Hauke Mehrtens Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2363/ Signed-off-by: Ralf Baechle commit b3ae52b6b0335eba547221aad2cb3c50902e3d2d Author: Hauke Mehrtens Date: Tue May 10 23:31:30 2011 +0200 SSB: Change fallback sprom to callback mechanism. Some embedded devices like the Netgear WNDR3300 have two SSB based cards without an own sprom on the pci bus. We have to provide two different fallback sproms for these and this was not possible with the old solution. In the bcm47xx architecture the sprom data is stored in the nvram in the main flash storage. The architecture code will be able to fill the sprom with the stored data based on the bus where the device was found. The bcm63xx code should do the same thing as before, just using the new API. Acked-by: Michael Buesch Cc: netdev@vger.kernel.org Cc: linux-wireless@vger.kernel.org Cc: Florian Fainelli Signed-off-by: Hauke Mehrtens Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2362/ Signed-off-by: Ralf Baechle commit b7f720d68c0042cc8ce496e31a61df79a77f1b48 Author: Manuel Lauss Date: Sun May 8 10:42:20 2011 +0200 MIPS: Alchemy: Clean up GPIO registers and accessors remove au_readl/au_writel, remove the predefined GPIO1/2 KSEG1 register addresses and fix the fallout in all boards and drivers. This also fixes a bug in the mtx-1_wdt driver which was introduced by commit 6ea8115bb6f359df4f45152f2b40e1d4d1891392 ("Convert mtx1 wdt to be a platform device and use generic GPIO API") before this patch mtx-1_wdt only modified GPIO215, the patch then used the gpio resource information as bit index into the GPIO2 register but the conversion to the GPIO API didn't realize that. With this patch the drivers original behaviour is restored and GPIO15 is left alone. Signed-off-by: Manuel Lauss Cc: Florian Fainelli To: Linux-MIPS Cc: linux-watchdog@vger.kernel.org Cc: Wim Van Sebroeck Patchwork: https://patchwork.linux-mips.org/patch/2381/ Signed-off-by: Ralf Baechle Date: Sun May 8 10:42:19 2011 +0200 MIPS: Alchemy: Cleanup DMA addresses According to the databooks, the Au1000 DMA engine must be programmed with the physical FIFO addresses. This patch does that; furthermore this opened the possibility to get rid of a lot of now unnecessary address defines. Signed-off-by: Manuel Lauss To: Linux-MIPS Cc: Florian Fainelli Cc: Wolfgang Grandegger Patchwork: https://patchwork.linux-mips.org/patch/2348/ Signed-off-by: Ralf Baechle Date: Sun May 8 10:42:18 2011 +0200 MIPS: Alchemy: Rewrite ethernet platform setup Rewrite ethernet setup to use runtime cpu detection, and also clean up the ethernet base address mess as far as possible. Signed-off-by: Manuel Lauss To: Linux-MIPS Cc: Florian Fainelli Cc: Wolfgang Grandegger Patchwork: https://patchwork.linux-mips.org/patch/2353/ Signed-off-by: Ralf Baechle Date: Sun May 8 10:42:17 2011 +0200 MIPS: Alchemy: Rewrite UART setup and constants. Detect CPU type at runtime and setup uarts accordingly; also clean up the uart base address mess in the process as far as possible. Signed-off-by: Manuel Lauss To: Linux-MIPS Cc: Florian Fainelli Cc: Wolfgang Grandegger Patchwork: https://patchwork.linux-mips.org/patch/2352/ Signed-off-by: Ralf Baechle Date: Sun May 8 10:42:16 2011 +0200 MIPS: Alchemy: Convert dbdma.c to syscore_ops Convert the PM sysdev to syscore_ops and clean up the ddma addresses a bit. Signed-off-by: Manuel Lauss To: Linux-MIPS Cc: Florian Fainelli Cc: Wolfgang Grandegger Patchwork: https://patchwork.linux-mips.org/patch/2351/ Signed-off-by: Ralf Baechle commit 4b5c82b5e57ac6cb919e7e74984e28b312bdf10c Author: Manuel Lauss Date: Sun May 8 10:42:15 2011 +0200 MIPS: Alchemy: Convert irq.c to syscore_ops. Convert the PM sysdev to use syscore_ops instead. Signed-off-by: Manuel Lauss To: Linux-MIPS Cc: Florian Fainelli Cc: Wolfgang Grandegger Patchwork: https://patchwork.linux-mips.org/patch/2350/ Signed-off-by: Ralf Baechle commit dca7587185b3a499a09a9e2755316eee31c49c7f Author: Manuel Lauss Date: Sun May 8 10:42:14 2011 +0200 MIPS: Alchemy: irq code and constant cleanup replace au_readl/au_writel with __raw_readl/__raw_writel, and clean up IC-related stuff from the headers. Signed-off-by: Manuel Lauss To: Linux-MIPS Cc: Florian Fainelli Cc: Wolfgang Grandegger Patchwork: https://patchwork.linux-mips.org/patch/2354/ Signed-off-by: Ralf Baechle commit c1e58a3129bc327f7e0eb06fd4fe5ebf2af5d8ef Author: Manuel Lauss Date: Sun May 8 10:42:13 2011 +0200 MIPS: Alchemy: update inlinable GPIO API This fixes a build failure with gpio_keys and CONFIG_GPIOLIB=n (mtx1): CC drivers/input/keyboard/gpio_keys.o gpio_keys.c: In function 'gpio_keys_report_event': gpio_keys.c:325:2: error: implicit declaration of function 'gpio_get_value_cansleep' gpio_keys.c: In function 'gpio_keys_setup_key': gpio_keys.c:390:3: error: implicit declaration of function 'gpio_set_debounce' Also add stubs for the other new functions. Signed-off-by: Manuel Lauss To: Linux-MIPS Cc: Florian Fainelli Cc: Wolfgang Grandegger Patchwork: https://patchwork.linux-mips.org/patch/2346/ Signed-off-by: Ralf Baechle commit 0591128066bdfe07e0ef0ab7f877f794d8ba071d Author: Manuel Lauss Date: Sun May 8 10:42:12 2011 +0200 MIPS: DB1200: Set Config[OD] for improved stability. Setting Config[OD] gets rid of a _LOT_ of spurious CPLD interrupts, but also decreases overall performance a bit. Signed-off-by: Manuel Lauss To: Linux-MIPS Cc: Florian Fainelli Cc: Wolfgang Grandegger Patchwork: https://patchwork.linux-mips.org/patch/2347/ Signed-off-by: Ralf Baechle commit 8b659a393171aed3dafa1d7455ac9eec1f3ed315 Author: Ralf Baechle Date: Thu May 19 09:21:29 2011 +0100 MIPS: Split do_syscall_trace into two functions. Signed-off-by: Ralf Baechle commit c19c20ac6338435469a2c222ef5dc55e0469a6dc Author: Ralf Baechle Date: Thu May 19 09:21:28 2011 +0100 MIPS: Use single define for pending work on syscall exit Signed-off-by: Ralf Baechle commit 4f0ad950880a33df792b1e63649e29f8784b0163 Author: Ralf Baechle Date: Thu May 19 09:21:28 2011 +0100 MIPS: IP27: Remove pointless switch statement. Signed-off-by: Ralf Baechle commit 2f58b8d04e680ec13157ba6eee44455438c56d5f Author: John Crispin Date: Thu May 5 23:00:23 2011 +0200 MIPS: Lantiq: Add watchdog support This patch adds the driver for the watchdog found inside the Lantiq SoC family. Signed-off-by: John Crispin Signed-off-by: Ralph Hempel Cc: Wim Van Sebroeck Cc: linux-mips@linux-mips.org Cc: linux-watchdog@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/2327/ Signed-off-by: Ralf Baechle commit f1f0ceaada9d040a41023017c87abb1d651b44af Author: John Crispin Date: Fri May 6 00:10:02 2011 +0200 MIPS: Lantiq: Add etop board support Register the etop platform device inside the machtype specific init code. Signed-off-by: John Crispin Signed-off-by: Ralph Hempel Signed-off-by: David Daney Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2356/ Patchwork: https://patchwork.linux-mips.org/patch/2370/ Signed-off-by: Ralf Baechle commit 504d4721ee8e432af4b5f196a08af38bc4dac5fe Author: John Crispin Date: Fri May 6 00:10:01 2011 +0200 MIPS: Lantiq: Add ethernet driver This patch adds the driver for the ETOP Packet Processing Engine (PPE32) found inside the XWAY family of Lantiq MIPS SoCs. This driver makes 100MBit ethernet work. Support for all 8 dma channels, gbit and the embedded switch found on the ar9/vr9 still needs to be implemented. Signed-off-by: John Crispin Signed-off-by: Ralph Hempel Cc: linux-mips@linux-mips.org Cc: netdev@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/2357/ Acked-by: David S. Miller Signed-off-by: Ralf Baechle commit dfec1a827d2bdc35d0990afd100f79a685ec0985 Author: John Crispin Date: Fri May 6 00:10:00 2011 +0200 MIPS: Lantiq: Add DMA support This patch adds support for the DMA engine found inside the XWAY family of SoCs. The engine has 5 ports and 20 channels. Signed-off-by: John Crispin Signed-off-by: Ralph Hempel Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2355/ Signed-off-by: Ralf Baechle commit 2f0fc4159a6abc20b13569522c545150b99485cf Author: John Crispin Date: Tue Apr 5 14:10:57 2011 +0200 SERIAL: Lantiq: Add driver for MIPS Lantiq SOCs. Signed-off-by: John Crispin Signed-off-by: Ralph Hempel Signed-off-by: Felix Fietkau Cc: alan@lxorguk.ukuu.org.uk Cc: linux-mips@linux-mips.org Cc: linux-serial@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/2269/ Acked-by: Alan Cox Signed-off-by: Ralf Baechle commit 935c500c377d8e414bbe08e0e169f6c85d2a4273 Author: John Crispin Date: Wed Mar 30 09:27:56 2011 +0200 MIPS: Lantiq: Add more gpio drivers The XWAY family allows to extend the number of gpios by using shift registers or latches. This patch adds the 2 drivers needed for this. The extended gpios are output only. [ralf@linux-mips.org: Fixed ltq_stp_probe section() attributes.] Signed-off-by: John Crispin Signed-off-by: Ralph Hempel Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2258/ Signed-off-by: Ralf Baechle commit 973c32eb7f2d5c45d0e68b0083ead9ee763d9a6f Author: John Crispin Date: Wed Mar 30 09:27:55 2011 +0200 MIPS: Lantiq: Add machtypes for lantiq eval kits This patch adds mach specific code for the Lantiq EASY50712/50601 evaluation boards Signed-off-by: John Crispin Signed-off-by: Ralph Hempel Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2255/ Patchwork: https://patchwork.linux-mips.org/patch/2361/ Signed-off-by: Ralf Baechle commit a053ac17024561f3a2fd02424b5f92823282b5ad Author: John Crispin Date: Wed Mar 30 09:27:54 2011 +0200 MIPS: Lantiq: Add mips_machine support This patch adds support for Gabor's mips_machine patch. Signed-off-by: John Crispin Signed-off-by: Ralph Hempel Cc: Gabor Juhos Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2251/ Patchwork: https://patchwork.linux-mips.org/patch/2358/ Signed-off-by: Ralf Baechle commit 24aff71fa8df0d6a73dab17f3f2285a24b8f658f Author: John Crispin Date: Wed Mar 30 09:27:53 2011 +0200 MIPS: Lantiq: Add platform device support This patch adds the wrappers for registering our platform devices. Signed-off-by: John Crispin Signed-off-by: Ralph Hempel Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2254/ Patchwork: https://patchwork.linux-mips.org/patch/2360/ Patchwork: https://patchwork.linux-mips.org/patch/2359/ Signed-off-by: Ralf Baechle commit 3c5447390c3e1a462913e327a016a55cae501580 Author: John Crispin Date: Tue Apr 12 18:10:01 2011 +0200 MIPS: Lantiq: Add NOR flash support This patch adds the driver/map for NOR devices attached to the SoC via the External Bus Unit (EBU). Signed-off-by: John Crispin Signed-off-by: Ralph Hempel Cc: David Woodhouse Cc: Daniel Schwierzeck Cc: linux-mips@linux-mips.org Cc: linux-mtd@lists.infradead.org Acked-by: Artem Bityutskiy Patchwork: https://patchwork.linux-mips.org/patch/2285/ Signed-off-by: Ralf Baechle commit e47d488935ed0b2dd3d59d3ba4e13956ff6849c0 Author: John Crispin Date: Wed Mar 30 09:27:49 2011 +0200 MIPS: Lantiq: Add PCI controller support. The Lantiq family of SoCs have a EBU (External Bus Unit). This patch adds the driver that allows us to use the EBU as a PCI controller. In order for PCI to work the EBU is set to endianess swap all the data. In addition we need to make use of SWAP_IO_SPACE for device->host DMA to work. The clock of the PCI works in several modes (internal/external). If this is not configured correctly the SoC will hang. Signed-off-by: John Crispin Signed-off-by: Ralph Hempel Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2250/ Signed-off-by: Ralf Baechle commit 8ec6d93508f705dacafd5fcd058c69ef405002f9 Author: John Crispin Date: Wed Mar 30 09:27:48 2011 +0200 MIPS: Lantiq: add SoC specific code for XWAY family Add support for the Lantiq XWAY family of Mips24KEc SoCs. * Danube (PSB50702) * Twinpass (PSB4000) * AR9 (PSB50802) * Amazon SE (PSB5061) The Amazon SE is a lightweight SoC and has no PCI as well as a different clock. We split the code out into seperate files to handle this. The GPIO pins on the SoCs are multi function and there are several bits we can use to configure the pins. To be as compatible as possible to GPIOLIB we add a function int lq_gpio_request(unsigned int pin, unsigned int alt0, unsigned int alt1, unsigned int dir, const char *name); which lets you configure the 2 "alternate function" bits. This way drivers like PCI can make use of GPIOLIB without a cubersome wrapper. The PLL code inside arch/mips/lantiq/xway/clk-xway.c is voodoo to me. It was taken from a 2.4.20 source tree and was never really changed by me since then. Signed-off-by: John Crispin Signed-off-by: Ralph Hempel Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2249/ Signed-off-by: Ralf Baechle commit 171bb2f19ed6f3627f4f783f658f2f475b2fbd50 Author: John Crispin Date: Wed Mar 30 09:27:47 2011 +0200 MIPS: Lantiq: Add initial support for Lantiq SoCs Add initial support for Mips based SoCs made by Lantiq. This series will add support for the XWAY family. The series allows booting a minimal system using a initramfs or NOR. Missing drivers and support for Amazon and GPON family will be provided in a later series. [Ralf: Remove some cargo cult programming and fixed formatting.] Signed-off-by: John Crispin Signed-off-by: Ralph Hempel Signed-off-by: David Daney Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2252/ Patchwork: https://patchwork.linux-mips.org/patch/2371/ Signed-off-by: Ralf Baechle commit c0a5afb9bcf6b5aa5685e4fcf1282cad5fab3d91 Author: Maxin John Date: Tue Mar 29 00:15:55 2011 +0300 MIPS: Enable kmemleak for MIPS Signed-off-by: Maxin B. John To: Catalin Marinas Cc: Daniel Baluta Cc: naveen yadav Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org Patchwork: https://patchwork.linux-mips.org/patch/2244/ Signed-off-by: Ralf Baechle commit 9b130f8004e51c65b20b0f0e17cdee073a719047 Author: Jayachandran C Date: Sat May 7 01:37:31 2011 +0530 MIPS: XLR, XLS: Add PCI support. Adds pci/pci-xlr.c to support for XLR PCI/PCI-X interface and XLS PCIe interface. Update irq.c to ack PCI interrupts, use irq handler data to do the PCI/PCIe bus ack. Signed-off-by: Jayachandran C Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2337/ Signed-off-by: Ralf Baechle commit f9cab74fd9b0cf19f52a989694e7a1d8213af3a1 Author: Jayachandran C Date: Sat May 7 01:37:14 2011 +0530 MIPS: Add default configuration for XLR/XLS processors Enable XLR CPU support, SMP, initramfs based root filesystem etc. [ralf@linux-mips.org: shrink the defconfig file through make savedefconfig.] Signed-off-by: Jayachandran C To: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2338/ Signed-off-by: Ralf Baechle commit 7f058e852b229ec77b37676b2b78baf2e78ffee8 Author: Jayachandran C Date: Sat May 7 01:36:57 2011 +0530 MIPS: Kconfig and Makefile update for Netlogic XLR/XLS Add NLM_XLR_BOARD, CPU_XLR and other config options Makefile updates, mostly based on r4k Signed-off-by: Jayachandran C To: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2334/ Signed-off-by: Ralf Baechle commit 5c642506740ecbf20fb7a9e482287e4e5c639e5c Author: Jayachandran C Date: Sat May 7 01:36:40 2011 +0530 MIPS: Platform files for XLR/XLS processor support * include/asm/netlogic added with files common for all Netlogic processors (common with XLP which will be added later) * include/asm/netlogic/xlr for XLR/XLS chip specific files * netlogic/xlr for XLR/XLS platform files Signed-off-by: Jayachandran C To: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2334/ Signed-off-by: Ralf Baechle commit efa0f81c11021c95b1e72c65868115b6fb4ecc6a Author: Jayachandran C Date: Sat May 7 01:36:21 2011 +0530 MIPS: Netlogic: Cache, TLB support and feature overrides for XLR CPU_XLR case added to mm/tlbex.c CPU_XLR case added to mm/c-r4k.c for PINDEX attribute Feature overrides for XLR cpu. Signed-off-by: Jayachandran C To: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2333/ Signed-off-by: Ralf Baechle commit 3c595a515dbb61ae96e8f5607d895820aa06e870 Author: Jayachandran C Date: Sat May 7 01:36:05 2011 +0530 MIPS: Netlogic: mach-netlogic include files Add war.h and irq.h with XLR/XLS definitions. Signed-off-by: Jayachandran C To: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2331/ Signed-off-by: Ralf Baechle commit a7117c6bddcbfff2fa237a14a853b32cb94bf59a Author: Jayachandran C Date: Wed May 11 12:04:58 2011 +0530 MIPS: Netlogic XLR/XLS processor IDs. Add Netlogic Microsystems company ID and processor IDs for XLR and XLS processors for CPU probe. Add CPU_XLR to cpu_type_enum. Signed-off-by: Jayachandran C Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2367/ Signed-off-by: Ralf Baechle commit f38aa708776aefd9e3ba7ec1211c07efe9fa3227 Author: Sebastian Siewior Date: Mon May 16 08:58:13 2011 +0000 powerpc: Remove last piece of GEMINI It seems that Adrian is getting old. He removed almost everything of GEMINI in commit c53653130 ("[POWERPC] Remove the broken Gemini support") except this piece. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Benjamin Herrenschmidt commit 2c78027a62ea38585da1ff944afdc6146335cb7c Author: Gabriel Paubert Date: Fri May 13 01:03:13 2011 +0000 powerpc: Fix for Pegasos keyboard and mouse [See http://lists.ozlabs.org/pipermail/linuxppc-dev/2010-October/086424.html and followups. Part of the commit message is directly copied from that.] Commit 540c6c392f01887dcc96bef0a41e63e6c1334f01 tries to find i8042 IRQs in the device-tree but doesn't fall back to the old hardcoded 1 and 12 in all failure cases. Specifically, the case where the device-tree contains nothing matching pnpPNP,303 or pnpPNP,f03 doesn't seem to be handled well. It sort of falls through to the old code, but leaves the IRQs set to 0. Signed-off-by: Gabriel Paubert Signed-off-by: Benjamin Herrenschmidt commit 03bf469add176afd8a1a4c493d9f4e0e520db12b Author: Benjamin Herrenschmidt Date: Wed May 11 20:58:18 2011 +0000 powerpc: Make early memory scan more resilient to out of order nodes We keep track of the size of the lowest block of memory and call setup_initial_memory_limit() only after we've parsed them all Signed-off-by: Benjamin Herrenschmidt Acked-by: Milton Miller commit f721a465cddbe7f03e6cd2272008da558cf93818 Author: Jonathan Cameron Date: Tue Apr 19 12:43:47 2011 +0100 params.c: Use new strtobool function to process boolean inputs Signed-off-by: Jonathan Cameron Signed-off-by: Rusty Russell commit b73a635f348610304eee543d733a6277f67ba178 Author: Milton Miller Date: Wed May 11 12:25:00 2011 +0000 powerpc/pseries/iommu: Cleanup ddw naming When using a property refering to the availibily of dynamic dma windows call it ddw_avail not ddr_avail. dupe_ddw_if_already_created does not dupilcate anything, it only finds and reuses the windows we already created, so rename it to find_existing_ddw. Also, it does not need the pci device node, so remove that argument. Signed-off-by: Milton Miller Signed-off-by: Nishanth Aravamudan Signed-off-by: Benjamin Herrenschmidt commit a0374396375d06398c419ebb6857fb5809cff81f Author: Jonathan Cameron Date: Tue Apr 19 12:43:46 2011 +0100 debugfs: move to new strtobool No functional changes requires that we eat errors from strtobool. If people want to not do this, then it should be fixed at a later date. V2: Simplification suggested by Rusty Russell removes the need for additional variable ret. Signed-off-by: Jonathan Cameron Signed-off-by: Rusty Russell commit c85667802bb5093c4054f8a887a90dd0acf82d3e Author: Milton Miller Date: Wed May 11 12:24:59 2011 +0000 powerpc/pseries/iommu: Find windows after kexec during boot Move the discovery of windows previously setup from when the pci driver calls set_dma_mask to an arch_initcall. When kexecing into a kernel with dynamic dma windows allocated, we need to find the windows early so that memory hot remove will be able to delete the tces mapping the to be removed memory and memory hotplug add will map the new memory into the window. We should not wait for the driver to be loaded and the device to be probed. The iommu init hooks are before kmalloc is setup, so defer to arch_initcall. Signed-off-by: Milton Miller Signed-off-by: Nishanth Aravamudan Signed-off-by: Benjamin Herrenschmidt commit d0f1fed29e6e73d9d17f4c91a5896a4ce3938d45 Author: Jonathan Cameron Date: Tue Apr 19 12:43:45 2011 +0100 Add a strtobool function matching semantics of existing in kernel equivalents This is a rename of the usr_strtobool proposal, which was a renamed, relocated and fixed version of previous kstrtobool RFC Signed-off-by: Jonathan Cameron Signed-off-by: Rusty Russell commit 6845756b29e4c4e7db41e2d75cafa9d091bc1c07 Author: Anders Kaseorg Date: Thu May 19 16:55:27 2011 -0600 modpost: Update 64k section support for binutils 2.18.50 Binutils 2.18.50 made a backwards-incompatible change in the way it writes ELF objects with over 65280 sections, to improve conformance with the ELF specification and interoperability with other ELF tools. Specifically, it no longer adds 256 to section indices SHN_LORESERVE and higher to skip over the reserved range SHN_LORESERVE through SHN_HIRESERVE; those values are only considered special in the st_shndx field, and not in other places where section indices are stored. See: http://sourceware.org/bugzilla/show_bug.cgi?id=5900 http://groups.google.com/group/generic-abi/browse_thread/thread/e8bb63714b072e67/6c63738f12cc8a17 Signed-off-by: Anders Kaseorg Signed-off-by: Rusty Russell commit 2573f6842201a00f139237e4b42ab16711b582af Author: Milton Miller Date: Wed May 11 12:24:58 2011 +0000 powerpc/pseries/iommu: Remove ddw property when destroying window If we destroy the window, we need to remove the property recording that we setup the window. Otherwise the next kernel we kexec will be confused. Also we should remove the property if even if we don't find the ibm,ddw-applicable window or if one of the property sizes is unexpected; presumably these came from a prior kernel via kexec, and we will not be maintaining the window with respect to memory hotplug. Signed-off-by: Milton Miller Signed-off-by: Nishanth Aravamudan Signed-off-by: Benjamin Herrenschmidt commit 9d63487f86115b1d3ef69670043bcf2b83c4d227 Author: Alessio Igor Bogani Date: Wed May 18 22:35:59 2011 +0200 module: Use binary search in lookup_symbol() The function is_exported() with its helper function lookup_symbol() are used to verify if a provided symbol is effectively exported by the kernel or by the modules. Now that both have their symbols sorted we can replace a linear search with a binary search which provide a considerably speed-up. This work was supported by a hardware donation from the CE Linux Forum. Signed-off-by: Alessio Igor Bogani Acked-by: Greg Kroah-Hartman Signed-off-by: Rusty Russell commit 64ac822fb4554fb516bce123a38b35e04e41fff5 Author: Milton Miller Date: Wed May 11 12:24:57 2011 +0000 powerpc/pseries/iommu: Add additional checks when changing iommu mask Do not check dma supported until we have chosen the right dma ops. Check that the device is pci before treating it as such. Check the mask is supported by the selected dma ops before committing it. We only need to set iommu ops if it is not the current ops; this avoids searching the tree for the iommu table unnecessarily. Signed-off-by: Milton Miller Signed-off-by: Nishanth Aravamudan Signed-off-by: Benjamin Herrenschmidt commit 403ed27846aa126ecf0b842b5b179c506b9d989c Author: Alessio Igor Bogani Date: Wed Apr 20 11:10:52 2011 +0200 module: Use the binary search for symbols resolution Takes advantage of the order and locates symbols using binary search. This work was supported by a hardware donation from the CE Linux Forum. Signed-off-by: Alessio Igor Bogani Signed-off-by: Rusty Russell Tested-by: Dirk Behme commit 23a6c484047bb8ac50e6d5bb718f8d178a4bf32e Author: Nishanth Aravamudan Date: Wed May 11 11:07:51 2011 +0000 powerpc/pseries/iommu: Use correct return type in dupe_ddw_if_already_created Otherwise we get silent truncations. Signed-off-by: Nishanth Aravamudan Cc: Anton Blanchard Cc: Milton Miller Cc: linuxppc-dev@ozlabs.org Signed-off-by: Benjamin Herrenschmidt commit 1a94dc35bc5c166d89913dc01a49d27a3c21a455 Author: Tim Abbott Date: Thu Apr 14 20:00:19 2011 +0200 lib: Add generic binary search function to the kernel. There a large number hand-coded binary searches in the kernel (run "git grep search | grep binary" to find many of them). Since in my experience, hand-coding binary searches can be error-prone, it seems worth cleaning this up by providing a generic binary search function. This generic binary search implementation comes from Ksplice. It has the same basic API as the C library bsearch() function. Ksplice uses it in half a dozen places with 4 different comparison functions, and I think our code is substantially cleaner because of this. Signed-off-by: Tim Abbott Extra-bikeshedding-by: Alan Jenkins Extra-bikeshedding-by: André Goddard Rosa Extra-bikeshedding-by: Rusty Russell Signed-off-by: Rusty Russell Signed-off-by: Alessio Igor Bogani Signed-off-by: Rusty Russell commit f02e8a6596b7dc9b2171f7ff5654039ef0950cdc Author: Alessio Igor Bogani Date: Thu Apr 14 14:59:39 2011 +0200 module: Sort exported symbols This patch places every exported symbol in its own section (i.e. "___ksymtab+printk"). Thus the linker will use its SORT() directive to sort and finally merge all symbol in the right and final section (i.e. "__ksymtab"). The symbol prefixed archs use an underscore as prefix for symbols. To avoid collision we use a different character to create the temporary section names. This work was supported by a hardware donation from the CE Linux Forum. Signed-off-by: Alessio Igor Bogani Signed-off-by: Rusty Russell (folded in '+' fixup) Tested-by: Dirk Behme commit de4d8d53465483168d6a627d409ee2d09d8e3308 Author: Rusty Russell Date: Tue Apr 19 21:49:58 2011 +0200 module: each_symbol_section instead of each_symbol Instead of having a callback function for each symbol in the kernel, have a callback for each array of symbols. This eases the logic when we move to sorted symbols and binary search. Signed-off-by: Rusty Russell Signed-off-by: Alessio Igor Bogani commit 01526ed0830643bd53a8434c3068e4c077e1b09d Author: Jan Glauber Date: Thu May 19 16:55:26 2011 -0600 module: split unset_section_ro_nx function. Split the unprotect function into a function per section to make the code more readable and add the missing static declaration. Signed-off-by: Jan Glauber Signed-off-by: Rusty Russell commit 448694a1d50432be63aafccb42d6f54d8cf3d02c Author: Jan Glauber Date: Thu May 19 16:55:26 2011 -0600 module: undo module RONX protection correctly. While debugging I stumbled over two problems in the code that protects module pages. First issue is that disabling the protection before freeing init or unload of a module is not symmetric with the enablement. For instance, if pages are set to RO the page range from module_core to module_core + core_ro_size is protected. If a module is unloaded the page range from module_core to module_core + core_size is set back to RW. So pages that were not set to RO are also changed to RW. This is not critical but IMHO it should be symmetric. Second issue is that while set_memory_rw & set_memory_ro are used for RO/RW changes only set_memory_nx is involved for NX/X. One would await that the inverse function is called when the NX protection should be removed, which is not the case here, unless I'm missing something. Signed-off-by: Jan Glauber Signed-off-by: Rusty Russell commit 4d10380e720a3ce19dbe88d0133f66ded07b6a8f Author: Jan Glauber Date: Thu May 19 16:55:25 2011 -0600 module: zero mod->init_ro_size after init is freed. Reset mod->init_ro_size to zero after the init part of a module is unloaded. Otherwise we need to check if module->init is NULL in the unprotect functions in the next patch. Signed-off-by: Jan Glauber Signed-off-by: Rusty Russell commit 5d05c70849f760ac8f4ed3ebfeefb92689858834 Author: Daniel J Blueman Date: Tue Mar 8 22:01:47 2011 +0800 minor ANSI prototype sparse fix Fix function prototype to be ANSI-C compliant, consistent with other function prototypes, addressing a sparse warning. Signed-off-by: Daniel J Blueman Signed-off-by: Rusty Russell commit c5be0b2eb1ca05e0cd747f9c0ba552c6ee8827a0 Author: Richard Kennedy Date: Thu May 19 16:55:25 2011 -0600 module: reorder kparam_array to remove alignment padding on 64 bit builds Reorder structure kparam_array to remove 8 bytes of alignment padding on 64 bit builds, dropping its size from 40 to 32 bytes. Also update the macro module_param_array_named to initialise the structure using its member names to allow it to be changed without touching all its call sites. 'git grep' finds module_param_array in 1037 places so this patch will save a small amount of data space across many modules. Signed-off-by: Richard Kennedy Signed-off-by: Rusty Russell commit a288bd651f4180c224cfddf837a0416157a36661 Author: Richard Kennedy Date: Thu May 19 16:55:25 2011 -0600 module: remove 64 bit alignment padding from struct module with CONFIG_TRACE* Reorder struct module to remove 24 bytes of alignment padding on 64 bit builds when the CONFIG_TRACE options are selected. This allows the structure to fit into one fewer cache lines, and its size drops from 592 to 568 on x86_64. Signed-off-by: Richard Kennedy Signed-off-by: Rusty Russell commit 9b73a5840c7d5f77e5766626716df13787cb258c Author: Dmitry Torokhov Date: Mon Feb 7 16:02:27 2011 -0800 module: do not hide __modver_version_show declaration behind ifdef Doing so prevents the following warning from sparse: CHECK kernel/params.c kernel/params.c:817:9: warning: symbol '__modver_version_show' was not declared. Should it be static? since kernel/params.c is never compiled with MODULE being set. Signed-off-by: Dmitry Torokhov Signed-off-by: Rusty Russell commit b4bc842802db3314f9a657094da0450a903ea619 Author: Dmitry Torokhov Date: Mon Feb 7 16:02:25 2011 -0800 module: deal with alignment issues in built-in module versions On m68k natural alignment is 2-byte boundary but we are trying to align structures in __modver section on sizeof(void *) boundary. This causes trouble when we try to access elements in this section in array-like fashion when create "version" attributes for built-in modules. Moreover, as DaveM said, we can't reliably put structures into independent objects, put them into a special section, and then expect array access over them (via the section boundaries) after linking the objects together to just "work" due to variable alignment choices in different situations. The only solution that seems to work reliably is to make an array of plain pointers to the objects in question and put those pointers in the special section. Reported-by: Geert Uytterhoeven Signed-off-by: Dmitry Torokhov Signed-off-by: Rusty Russell commit 4c8440666b995f20604852b35dcfdbcc1d5931f1 Merge: 751e1f5 c560bbc Author: Benjamin Herrenschmidt Date: Thu May 19 17:00:06 2011 +1000 Merge branch 'merge' into next commit 751e1f5099f1568444fe2485f2485ca541d4952e Author: Benjamin Herrenschmidt Date: Thu May 19 14:44:31 2011 +1000 powerpc: Remove unused/obsolete CONFIG_XICS Signed-off-by: Benjamin Herrenschmidt commit 0e1d715b5b982ee0099f3fbf6ad47dc8bda518a6 Author: Ira Snyder Date: Fri Feb 11 13:34:30 2011 +0000 misc: Add CARMA DATA-FPGA Programmer support This adds support for programming the data processing FPGAs on the OVRO CARMA board. These FPGAs have a special programming sequence that requires that we program the Freescale DMA engine, which is only available inside the kernel. Signed-off-by: Ira W. Snyder Signed-off-by: Benjamin Herrenschmidt commit c186f0e177275e83728d7acfdf4a1b68793a7038 Author: Ira Snyder Date: Fri Feb 11 13:34:29 2011 +0000 misc: Add CARMA DATA-FPGA Access Driver This driver allows userspace to access the data processing FPGAs on the OVRO CARMA board. It has two modes of operation: 1) random access This allows users to poke any DATA-FPGA registers by using mmap to map the address region directly into their memory map. 2) correlation dumping When correlating, the DATA-FPGA's have special requirements for getting the data out of their memory before the next correlation. This nominally happens at 64Hz (every 15.625ms). If the data is not dumped before the next correlation, data is lost. The data dumping driver handles buffering up to 1 second worth of correlation data from the FPGAs. This lowers the realtime scheduling requirements for the userspace process reading the device. Signed-off-by: Ira W. Snyder Signed-off-by: Benjamin Herrenschmidt commit 41fb5e62604c5ddd00a784ffb7672dd8df5d76f2 Author: Milton Miller Date: Tue May 10 19:30:44 2011 +0000 powerpc: Make IRQ_NOREQUEST last to clear, first to set When creating an irq, don't allow a concurent driver request until we have caled map, which will likley call set_chip_and_handler to change the irq_chip and its operations. Similarly, when tearing down an IRQ, make sure no new uses come along while we change the irq back to the nop chip and then reset the descriptor to freed status. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit bbfff72ee3e76bd4712b87386af00bfe97114bc9 Author: Dipen Dudhat Date: Thu May 19 12:08:23 2011 +0530 powerpc: Integrated Flash controller device tree bindings Signed-off-by: Dipen Dudhat Acked-By: Scott Wood Signed-off-by: Kumar Gala commit 41cd08560bbf8371bbd00e783e992b0dc7e7c83d Author: Prabhakar Kushwaha Date: Thu Apr 28 12:30:00 2011 +0530 powerpc/85xx: Create dts of each core in CAMP mode for P1020RDB Create the dts files for each core and splits the devices between the two cores for P1020RDB. Core0 has core0 to have memory, l2, i2c, spi, gpio, tdm, dma, usb, eth1, eth2, sdhc, crypto, global-util, message, pci0, pci1, msi. Core1 has l2, eth0, crypto. MPIC is shared between two cores but each core will protect its interrupts from other core by using "protected-sources" of mpic. Fix compatible property for global-util node of P1020si.dtsi. Signed-off-by: Prabhakar Kushwaha Signed-off-by: Kumar Gala commit bc99d09abe14b4841454701c47e45f22444a890a Author: Prabhakar Kushwaha Date: Wed Apr 20 09:42:44 2011 +0530 powerpc/85xx: Fix PCIe IDSEL for Px020RDB PCIe device in legacy mode can trigger interrupts using the wires #INTA, #INTB ,#INTC and #INTD. PCI devices are obligated to use #INTx for interrupts under legacy mode. Each PCI slot or device is typically wired to different inputs on the interrupt controller. So, Define interrupt-map and interrupt-map-mask properties for device tree to of map each PCI interrupt signal to the inputs of the interrupt controller. Signed-off-by: Prabhakar Kushwaha Signed-off-by: Kumar Gala commit eb2c5d9965adec2d7cd1946fa39f2dece073dab7 Author: Prabhakar Kushwaha Date: Fri Apr 8 17:57:05 2011 +0530 powerpc/85xx: P2020 DTS: re-organize dts files Creates P2020si.dtsi, containing information for P2020 SoC. Modifies dts files for P2020 based systems to use dtsi file. Signed-off-by: Prabhakar Kushwaha Signed-off-by: Kumar Gala commit b6e4df4dab86e3cd2475748c49aac16dadb8330e Author: Prabhakar Kushwaha Date: Thu Apr 7 14:40:55 2011 +0530 powerpc/85xx: P1020 DTS : re-organize dts files Creates P1020si.dtsi, containing information for the P1020 SoC. Modifies dts files for P1020 based systems to use dtsi file Signed-off-by: Prabhakar Kushwaha Acked-by: Grant Likely Signed-off-by: Kumar Gala commit 9c817f183b8e02e418d3d5396a16879dc11f921d Author: Bhaskar Upadhaya Date: Tue Apr 19 19:28:31 2011 +0530 powerpc: Adding bindings for flexcan controller Signed-off-by: Bhaskar Upadhaya Acked-By: Scott Wood Signed-off-by: Kumar Gala commit b637cf7bf82d0692609821cd84e3a345e56cd96c Author: Scott Wood Date: Tue May 10 13:02:06 2011 -0500 powerpc/fsl: enable verbose bug output This debug option has no overhead other than a slight increase in kernel size, and makes bug reports more useful. While some end users may prefer to save the space, as a default on a kernel config aimed primarily at development on reference boards, it should be enabled. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 5e8393ab311d2c34f2965be40ebec99c772284ab Author: Scott Wood Date: Tue May 10 13:01:47 2011 -0500 powerpc/e5500: add networking to defconfig Even though support for the p5020's on-chip ethernet is not yet upstream, it is not appropriate to disable all networking support (including loopback, unix domain sockets, external ethernet devices, etc) in the defconfig. The networking settings are taken from mpc85xx_smp_defconfig, minus the drivers for ethernet devices not found on any current e5500 chip. The other changes are the result of running "make savedefconfig". Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit ea94187face757e723aa461a60698ca43c09fbb9 Author: Scott Wood Date: Thu Mar 24 16:43:55 2011 -0500 powerpc/mpic: add the mpic global timer support Add support for MPIC timers as requestable interrupt sources. Based on http://patchwork.ozlabs.org/patch/20941/ by Dave Liu. Signed-off-by: Dave Liu Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 22d168ce60272ca112e86e58c5ebde82f20f9c83 Author: Scott Wood Date: Thu Mar 24 16:43:54 2011 -0500 powerpc/mpic: parse 4-cell intspec types other than zero Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit c281739f5988af1f86ef06e92485aec25b8c8c4f Author: Scott Wood Date: Thu Mar 24 16:43:52 2011 -0500 powerpc/p1022ds: fix broken mpic timer node There is no hardware interrupt 0xf7. But now we can express the timer interrupt using 4-cell interrupts. This requires converting all of the other interrupt specifiers in the tree as well. Also add the second timer group, and fix the reg property to only describe the timer registers. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 180076cb11a5f02de7d26f8cb82969b895a26f40 Author: Scott Wood Date: Thu Mar 24 16:43:15 2011 -0500 powerpc: Add fsl mpic timer binding Update the existing example in the general mpic binding to have a separate TCRx region. Currently the example doesn't describe TCRx at all. The one upstream device tree with an mpic timer node (p1022ds) uses one large reg region to describe both, even though there are other unrelated registers in between. That device tree also contains a bogus interrupt specifier, and there's no upstream software that uses this yet, so changing this shouldn't be a problem. Add a full binding for the MPIC timer node, not just an example of 4-cell interrupts in the MPIC binding. Add fsl,available-ranges, similar to msi-available-ranges. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit f46dad270b7f425d7d4ec08676f2513732d11c2b Author: Timur Tabi Date: Mon May 9 14:29:40 2011 -0500 powerpc/86xx: don't pretend that we support 8-bit pixels on the MPC8610 HPCD If the video mode is set to 16-, 24-, or 32-bit pixels, then the pixel data contains actual levels of red, blue, and green. However, if the video mode is set to 8-bit pixels, then the 8-bit value represents an index into color table. This is called "palette mode" on the Freescale DIU video controller. The DIU driver does not currently support palette mode, but the MPC8610 HPCD board file returned a non-zero (although incorrect) pixel format value for 8-bit mode. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit e0be2c21649107282930837f0805c71dfe29e2cc Author: Geert Uytterhoeven Date: Wed May 4 16:29:31 2011 +0200 powerpc/mpc8610_hpcd: Do not use "/" in interrupt names It may trigger a warning in fs/proc/generic.c:__xlate_proc_name() when trying to add an entry for the interrupt handler to sysfs. Signed-off-by: Geert Uytterhoeven Acked-by: Timur Tabi Signed-off-by: Kumar Gala commit 3a6e9bd7f60b29efc205485ceb11a768032c40d4 Author: Scott Wood Date: Mon May 9 16:26:00 2011 -0500 powerpc/e5500: set non-base IVORs Without this, we attempt to use doorbells for IPIs, and end up branching to some bad address. Plus, even for the exceptions we don't implement, it's good to handle it and get a message out. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit d36b4c4f3cc6caae6d4a12d9f995513e4c3acdd5 Author: Kumar Gala Date: Wed Apr 6 00:18:48 2011 -0500 powerpc/fsl-booke64: Add support for Debug Level exception handler Signed-off-by: Kumar Gala commit 134c428e5a31f2d5ed3a70ba20dac83895ec8b82 Merge: a0496d4 c560bbc Author: Kumar Gala Date: Thu May 19 00:36:21 2011 -0500 Merge remote branch 'benh/merge' into benh-next commit 1e8c23013ed0d535e531b3b9cc30200e884f3ff0 Author: Milton Miller Date: Tue May 10 19:30:40 2011 +0000 powerpc: Remove virq_to_host The only references to the irq_map[].host field are internal to arch/powerpc/kernel/irq.c Signed-off-by: Milton Miller Acked-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit 3ee62d365b519c0c18c774049efcde84fe51c60c Author: Milton Miller Date: Tue May 10 19:30:36 2011 +0000 powerpc: Add virq_is_host to reduce virq_to_host usage Some irq_host implementations are using virq_to_host to check if they are the irq_host for a virtual irq. To allow us to make space versus time tradeoffs, replace this usage with an assertive virq_is_host that confirms or denies the irq is associated with the given irq_host. Signed-off-by: Milton Miller Acked-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit 9553361499f9f9e8ca8c9dae2e103f651fa48217 Author: Milton Miller Date: Tue May 10 19:30:33 2011 +0000 powerpc/axon_msi: Validate msi irq via chip_data Instead of checking for rogue msi numbers via the irq_map host field set the chip_data to h.host_data (which is the msic struct pointer) at map and compare it in get_irq. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 6b0aea44d6b36b52010d206be69ce37c2f4f1bd1 Author: Milton Miller Date: Tue May 10 19:30:29 2011 +0000 powerpc/spider-pic: Get pic from chip_data instead of irq_map Building on Grant's efforts to remove the irq_map array, this patch moves spider-pics use of virq_to_host() to use irq_data_get_chip_data and sets the irq chip data in the map call, like most other interrupt controllers in powerpc. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit da0519800260a3c791b4fe3317a0c7560027a372 Author: Milton Miller Date: Tue May 10 19:30:26 2011 +0000 powerpc: Remove irq_host_ops->remap hook It was called from irq_create_mapping if that was called for a host and hwirq that was previously mapped, "to update the flags". But the only implementation was in beat_interrupt and all it did was repeat a hypervisor call without error checking that was performed with error checking at the beginning of the map hook. In addition, the comment on the beat remap hook says it will only called once for a given mapping, which would apply to map not remap. All flags should be known by the time the match hook is called, before we call the map hook. Removing this mostly unused hook will simpify the requirements of irq_domain concept. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 23f73a5fb0dee5ab681bfeb8897bcfc57153ba9a Author: Milton Miller Date: Tue May 10 19:30:22 2011 +0000 powerpc/psurge: Create a irq_host for secondary cpus Create a dummy irq_host using the generic dummy irq chip for the secondary cpus to use. Create a direct irq mapping for the ipi and register the ipi action handler against it. If for some unlikely reason part of this fails then don't detect the secondary cpus. This removes another instance of NO_IRQ_IGNORE, records the ipi stats for the secondary cpus, and runs the ipi on the interrupt stack. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 67347eba156d64150be73c9f5797342a66b123d9 Author: Milton Miller Date: Tue May 10 19:30:18 2011 +0000 powerpc/mpc62xx_pic: Fix get_irq handling of NO_IRQ If none of irq category bits were set mpc52xx_get_irq() would pass NO_IRQ_IGNORE (-1) to irq_linear_revmap, which does an unsigned compare and declares the interrupt above the linear map range. It then punts to irq_find_mapping, which performs a linear search of all irqs, which will likely miss and only then return NO_IRQ. If no status bit is set, then we should return NO_IRQ directly. The interrupt should not be suppressed from spurious counting, in fact that is the definition of supurious. Signed-off-by: Milton Miller Acked-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit c42385cd4533b5ba9b9dd0034285cfcfd7982708 Author: Milton Miller Date: Tue May 10 19:30:15 2011 +0000 powerpc/mpc5121_ads_cpld: Remove use of NO_IRQ_IGNORE As NO_IRQ_IGNORE is only used between the static function cpld_pic_get_irq and its caller cpld_pic_cascade, and cpld_pic_cascade only uses it to suppress calling handle_generic_irq, we can change these uses to NO_IRQ and remove the extra tests and pathlength in cpld_pic_cascade. Signed-off-by: Milton Miller Acked-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit d1921bcdeee66c3d1704ef753dc74464856e4b7f Author: Milton Miller Date: Tue May 10 19:30:11 2011 +0000 powerpc/fsl_msi: Use chip_data not handler_data handler_data should be reserved for flow handlers on the dependent irq, not consumed by the parent irq code that is part of the irq_chip code. The msi_data pointer was already set in msidesc->irqhost->hostdata and being copied to irq_data->chipdata in the msidesc->irqhost->map() method called via create_irq_mapping, so we can obtain the pointer from there and free the instance it in teardown_msi_irqs. Also remove the unnecessary cast of irq_get_handler_data in the cascade handler, which is the demux flow handler of the parent msi interrupt. (This is the expected usage for handler_data). Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 6c4c82e20a1b476589c1e2b0b7c2adc783c93006 Author: Milton Miller Date: Tue May 10 19:30:07 2011 +0000 powerpc/fsl_msi: Don't abuse platform_data for driver_data The msi platform device driver was abusing dev.platform_data for its platform_driver_data. Use the correct pointer for storage. Platform_data is supposed to be for platforms to communicate to drivers parameters that are not otherwise discoverable. Its lifetime matches the platform_device not the platform device driver. It is generally not needed for drivers that only support systems with device trees. Signed-off-by: Milton Miller Acked-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit 7ee342bdc3d7e2cba4be6d1eece56efec9d3809f Author: Milton Miller Date: Tue May 10 19:30:04 2011 +0000 powerpc: Remove i8259 irq_host_ops->unmap It was never called because the host is always IRQ_HOST_MAP_LEGACY. And what it purported to do was mask the interrupt (which will already have happend if we shutdown the interrupt), then synchronise_irq and clear the chip pointer, both of which will have been be done by the caller were we to call unmap on a legacy irq. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit df74e70ac25fc4bf4036a2f9690b4e2e4520e65d Author: Milton Miller Date: Tue May 10 19:30:00 2011 +0000 powerpc: Remove trival irq_host_ops.unmap These all just clear chip or chipdata fields, which will be done by the generic code when we call irq_free_descs. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 2d441681a4df7822e6ef6fcc0320bb14d2a06dbb Author: Milton Miller Date: Tue May 10 19:29:57 2011 +0000 powerpc: Return early if irq_host lookup type is wrong If for some reason the code incrorectly calls the wrong function to manage the revmap, not only should we warn, we should take action. However, in the paths we expect to be taken every delivered interrupt change to WARN_ON_ONCE. Use the if (WARN_ON(x)) format to get the unlikely for free. Signed-off-by: Milton Miller Reviewed-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit 3af259d1555a93b3b6f6545af13e0eb99b0d5d32 Author: Milton Miller Date: Tue May 10 19:29:53 2011 +0000 powerpc: Radix trees are available before init_IRQ Since the generic irq code uses a radix tree for sparse interrupts, the initcall ordering has been changed to initialize radix trees before irqs. We no longer need to defer creating revmap radix trees to the arch_initcall irq_late_init. Also, the kmem caches are allocated so we don't need to use zalloc_maybe_bootmem. Signed-off-by: Milton Miller Reviewed-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit e085255ebce87c0b85d4752638d8a7d4f35f5b64 Author: Milton Miller Date: Tue May 10 19:29:49 2011 +0000 powerpc/xics: Cleanup xics_host_map and ipi Since we already have a special case in map to set the ipi handler, use the desired flow. If we don't find an ics to handle the interrupt complain instead of returning 0 without having set a chip or handler. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 714542721b4a53a3ebbdd5f0619ac0f66e7df610 Author: Milton Miller Date: Tue May 10 19:29:46 2011 +0000 powerpc: Use bytes instead of bitops in smp ipi multiplexing Since there are only 4 messages, we can replace the atomic bit set (which uses atomic load reserve and store conditional sequence) with a byte stores to seperate bytes. We still have to perform a load reserve and store conditional sequence to avoid loosing messages on reception but we can do that with a single call to xchg. The do {} while and __BIG_ENDIAN specific mask testing was chosen by looking at the generated asm code. On gcc-4.4, the bit masking becomes a simple bit mask and test of the register returned from xchg without storing and loading the value to the stack like attempts with a union of bytes and an int (or worse, loading single bit constants from the constant pool into non-voliatle registers that had to be preseved on the stack). The do {} while avoids an unconditional branch to the end of the loop to test the entry / repeat condition of a while loop and instead optimises for the expected single iteration of the loop. We have a full mb() at the beginning to cover ordering between send, ipi, and receive so we can use xchg_local and forgo the further acquire and release barriers of xchg. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 1ece355b6825b7c61d1dc39a5c6cf49dc746e193 Author: Milton Miller Date: Tue May 10 19:29:42 2011 +0000 powerpc: Add kconfig for muxed smp ipi support Compile the new smp ipi mux and demux code only if a platform will make use of it. The new config is selected as required. The new cause_ipi smp op is only available conditionally to point out configs where the select is required; this makes setting the op an immediate fail instead of a deferred unresolved symbol at link. This also creates a new config for power surge powermac upgrade support that can be disabled in expert mode but is default on. I also removed the depends / default y on CONFIG_XICS since it is selected by PSERIES. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 23d72bfd8f9f24aa9efafed3586a99f5669c23d7 Author: Milton Miller Date: Tue May 10 19:29:39 2011 +0000 powerpc: Consolidate ipi message mux and demux Consolidate the mux and demux of ipi messages into smp.c and call a new smp_ops callback to actually trigger the ipi. The powerpc architecture code is optimised for having 4 distinct ipi triggers, which are mapped to 4 distinct messages (ipi many, ipi single, scheduler ipi, and enter debugger). However, several interrupt controllers only provide a single software triggered interrupt that can be delivered to each cpu. To resolve this limitation, each smp_ops implementation created a per-cpu variable that is manipulated with atomic bitops. Since these lines will be contended they are optimialy marked as shared_aligned and take a full cache line for each cpu. Distro kernels may have 2 or 3 of these in their config, each taking per-cpu space even though at most one will be in use. This consolidation removes smp_message_recv and replaces the single call actions cases with direct calls from the common message recognition loop. The complicated debugger ipi case with its muxed crash handling code is moved to debug_ipi_action which is now called from the demux code (instead of the multi-message action calling smp_message_recv). I put a call to reschedule_action to increase the likelyhood of correctly merging the anticipated scheduler_ipi() hook coming from the scheduler tree; that single required call can be inlined later. The actual message decode is a copy of the old pseries xics code with its memory barriers and cache line spacing, augmented with a per-cpu unsigned long based on the book-e doorbell code. The optional data is set via a callback from the implementation and is passed to the new cause-ipi hook along with the logical cpu number. While currently only the doorbell implemntation uses this data it should be almost zero cost to retrieve and pass it -- it adds a single register load for the argument from the same cache line to which we just completed a store and the register is dead on return from the call. I extended the data element from unsigned int to unsigned long in case some other code wanted to associate a pointer. The doorbell check_self is replaced by a call to smp_muxed_ipi_resend, conditioned on the CPU_DBELL feature. The ifdef guard could be relaxed to CONFIG_SMP but I left it with BOOKE for now. Also, the doorbell interrupt vector for book-e was not calling irq_enter and irq_exit, which throws off cpu accounting and causes code to not realize it is running in interrupt context. Add the missing calls. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 17f9c8a73bac2c7dfe28a520516ea6b8bbbe977e Author: Milton Miller Date: Tue May 10 19:29:35 2011 +0000 powerpc: Move smp_ops_t from machdep.h to smp.h I can't see any reason these functions are needed by machdep.h and they are all hidden by CONFIG_SMP with no UP alternative. Also move the declarations for the fallback timebase ops, which are used to fill in the smp ops. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit d4fc8fe1f66f46493d3c56436685eef3b5b32b07 Author: Milton Miller Date: Tue May 10 19:29:28 2011 +0000 powerpc: Remove stubbed beat smp support I have no idea if the beat hypervisor supports multiple cpus in a partition, but the code has not been touched since these stubs were added in February of 2007 except to move them in April of 2008. These are stubs: start_cpu always returns fail (which is dropped), the message passing and reciving are empty functions, and the top of file comment says "Incomplete". Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit a56555e573d3740d588d912aada506d57759cf5d Author: Milton Miller Date: Tue May 10 19:29:24 2011 +0000 powerpc: Remove alloc_maybe_bootmem for zalloc version Replace all remaining callers of alloc_maybe_bootmem with zalloc_maybe_bootmem. The callsite in pci_dn is followed with a memset to clear the memory, and not zeroing at the other callsites in the celleb fake pci code could lead to following uninitialized memory as pointers or even freeing said pointers on error paths. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 7ca8aa0924712de81485c70e00bbea8c092a08c1 Author: Milton Miller Date: Tue May 10 19:29:20 2011 +0000 powerpc: Remove powermac/pic.h Its unused, and of the three declarations, one is duplicated in pmac.h, the second is static and the third is renamed and static. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 3caba98fddd551ca7dcdb1eb701b36ed70b04fde Author: Milton Miller Date: Tue May 10 19:29:17 2011 +0000 powerpc/mpic: Simplify ipi cpu mask handling Now that MSG_ALL and MSG_ALL_BUT_SELF have been eliminated, smp_mpic_mesage_pass no longer needs to lookup the cpumask just to have mpic_send_ipi extract part of it and recode it in a NR_CPUS loop by mpic_physmask. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 4427b1b4ec111622071ec872c94594e05635c6e9 Author: Kim Phillips Date: Sat May 14 22:08:17 2011 -0500 crypto: caam - add support for sha512 variants of existing AEAD algorithms In doing so, sha512 sized keys would not fit with the current descriptor inlining mechanism, so we now calculate whether keys should be referenced instead by pointers in the shared descriptor. also, use symbols for descriptor text lengths, and, ahem, unmap and free key i/o memory in cra_exit. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 66664487b137d71fd43667ac2a6a90970a040eb7 Author: Kim Phillips Date: Sat May 14 22:08:11 2011 -0500 crypto: caam - remove unused authkeylen from caam_ctx Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit ddbb80884a37601026ac3e5eaf176c4296231862 Author: Kim Phillips Date: Sat May 14 22:08:02 2011 -0500 crypto: caam - fix decryption shared vs. non-shared key setting Key sharing is enabled by default in the shared descriptor. Using CBC decrypt, AES has to alter the key in order to decrypt. During high traffic decryption rates, i.e, when sharing starts to take place, we need to use a different OPERATION option to tell AES that the key was already altered by the PRIOR descriptor - we need the following kind of logic: if ( shared ) operation where AES uses decryption key (DK=1) else operation where AES uses encryption key (DK=0) this patch implements this logic using a conditional and a non-conditional local jump within the decryption job descriptor. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 2930d49768e5276da4fbed9d9cc1bd40ed25818e Author: Kim Phillips Date: Sat May 14 22:07:55 2011 -0500 crypto: caam - platform_bus_type migration this fixes a build error since cryptodev-2.6 got rebased to include commit d714d1979d7b4df7e2c127407f4014ce71f73cd0 "dt: eliminate of_platform_driver shim code". Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit f1072939b6dd01d038d47db0bdc01b33e5f90f28 Author: Milton Miller Date: Tue May 10 19:29:10 2011 +0000 powerpc: Remove checks for MSG_ALL and MSG_ALL_BUT_SELF Now that smp_ops->smp_message_pass is always called with an (online) cpu number for the target remove the checks for MSG_ALL and MSG_ALL_BUT_SELF. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit e04763713286b1e00e1c2a33fe2741caf9470f2b Author: Milton Miller Date: Tue May 10 19:29:06 2011 +0000 powerpc: Remove call sites of MSG_ALL_BUT_SELF The only user of MSG_ALL_BUT_SELF in the whole kernel tree is powerpc, and it only uses it to start the debugger. Both debuggers always call smp_send_debugger_break with MSG_ALL_BUT_SELF, and only mpic can do anything more optimal than a loop over all online cpus, but all message passing implementations have to code for this special delivery target. Convert smp_send_debugger_break to take void and loop calling the smp_ops message_pass function for each of the other cpus in the online cpumask. Use raw_smp_processor_id() because we are either entering the debugger or trying to start kdump and the additional warning it not useful were it to trigger. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 2a116f3dd07cbb55b440d3841fc24a0b3fd99ccd Author: Milton Miller Date: Tue May 10 19:29:02 2011 +0000 powerpc/mpic: Break cpumask abstraction earlier mpic_set_affinity is allocating and freeing a cpumask var even though it was breaking the cpumask abstraction when passing the mask to mpic_physmask. It also didn't have any check for allocatin failure. Break the cpumask abstraction earlier and use simple bitwise and of the bits from the mask with the bits of cpu_online_mask. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit ebc04215108c124cb4f519d687a8e27a0d16a4aa Author: Milton Miller Date: Tue May 10 19:28:59 2011 +0000 powerpc/mpic: Limit NR_CPUS loop to 32 bit mpic_physmask was looping NR_CPUS times over a mask that was passed as a u32. Since mpic is architecturaly limited to 32 physical cpus, clamp the logical cpus to 32 when compiling (we could also clamp at runtime to nr_cpu_ids). Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit aa79bc2167104581cc1d77762394f2c01d3bf3f3 Author: Milton Miller Date: Tue May 10 19:28:55 2011 +0000 powerpc: Call no-longer static setup_nr_cpu_ids instead of replicating it c1854e00727f50f7ac99e98d26ece04c087ef785 (powerpc: Set nr_cpu_ids early and use it to free PACAs) copied the formerly static setup_nr_cpu_ids from init/main.c but 34db18a054c600b6f81787165669dc572fe4de25 (smp: move smp setup functions to kernel/smp.c) moved it to kernel/smp.c with a declaration in include/linux/smp.h, so we can call it instead of replicating it. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 2cd947f1757fb937806535be13caf2ddd813d60b Author: Milton Miller Date: Tue May 10 19:28:52 2011 +0000 powerpc: Use nr_cpu_ids in initial paca allocation Now that we never set a cpu above nr_cpu_ids possible we can limit our initial paca allocation to nr_cpu_ids. We can then clamp the number of cpus in platforms/iseries/setup.c. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 8657ae28ddd34db0f52b0730a6a25992c0173264 Author: Milton Miller Date: Tue May 10 19:28:48 2011 +0000 powerpc: Respect nr_cpu_ids when calling set_cpu_possible and set_cpu_present We should not set cpus above nr_cpu_ids to possible. While we will trigger a warning with CONFIG_CPUMASK_DEBUG, even then the mask initializers will set the bits beyond what the iterators check and cause nr_cpu_ids to increase. Respecting nr_cpu_ids during setup will allow us to use it in our initial paca allocation. It can be reduced from NR_CPUS by the existing early param nr_cpus=, which was added in 2b633e3fac5efada088b57d31e65401f22bcc18f (smp: Use nr_cpus= to set nr_cpu_ids early). We already call parse_early_parms between finding the command line and allocating the pacas. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 7c82733744a74f45e86125f369e876b896765038 Author: Milton Miller Date: Tue May 10 19:28:44 2011 +0000 powerpc/iseries: Cleanup and fix secondary startup 9cb82f2f4692293a27c578c3038518ce4477de72 (Make iSeries spin on __secondary_hold_spinloop, like pSeries) added a load of current_set but this load was repeated later and we don't even have the paca yet. It also checked __secondary_hold_spinloop with a 32 bit compare instead of a 64 bit compare. b6f6b98a4e91fcf31db7de54c3aa86252fc6fb5f (Don't spin on sync instruction at boot time) missed the copy of the startup code in iseries. 1426d5a3bd07589534286375998c0c8c6fdc5260 (Dynamically allocate pacas) doesn't allow for pacas to be less than lppacas and recalculated the paca location from the cpu id in r0 every time through the secondary loop. Various revisions over time made the comments on conditional branches confusing with respect to being a hold loop or forward progress Mostly in-order description of the changes: Replicate the few lines of code saved by the ugly scoped ifdef CONFIG_SMP in the secondary loop between yielding on UP and marking time with the hypervisor on SMP. Always compile the iseries_secondary_yield loop and use it if the cpu id is above nr_cpu_ids. Change all forward progress paths to be forward branches to the next numerical label. Assign a label to all loops. Move all sync instructions from the loops to the forward progress path. Wait to load current_set until paca is set to go. Move the iseries_secondary_smp_loop label to cover the whole spin loop. Add HMT_MEDIUM when we make forward progress. Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit bd9e5eefecb3d69018bb95796298019d309cbec8 Author: Milton Miller Date: Tue May 10 19:28:41 2011 +0000 powerpc/kdump64: Don't reference freed memory as pacas Starting with 1426d5a3bd07589534286375998c0c8c6fdc5260 (powerpc: Dynamically allocate pacas) the space for pacas beyond cpu_possible is freed, but we failed to update the loop in crash.c. Since c1854e00727f50f7ac99e98d26ece04c087ef785 (powerpc: Set nr_cpu_ids early and use it to free PACAs) the number of pacas allocated is always nr_cpu_ids. Signed-off-by: Milton Miller Cc: # .34.x Signed-off-by: Benjamin Herrenschmidt commit 768d18ad6d5e600d911f9499ca287d6986d8d81b Author: Milton Miller Date: Tue May 10 19:28:37 2011 +0000 powerpc: Don't search for paca in freed memory Starting with 1426d5a3bd07589534286375998c0c8c6fdc5260 (powerpc: Dynamically allocate pacas) we free the memory for pacas beyond cpu_possible, but we failed to update the loop the secondary cpus use to find their paca. If the system has running cpu threads for which the kernel did not allocate a paca for they will search the memory that was freed. For instance this could happen when the device tree for a kdump kernel was not updated after a cpu hotplug, or the kernel is running with more cpus than the kernel was configured. Since c1854e00727f50f7ac99e98d26ece04c087ef785 (powerpc: Set nr_cpu_ids early and use it to free PACAs) we set nr_cpu_ids before telling the cpus to advance, so use that to limit the search. We can't reference nr_cpu_ids without CONFIG_SMP because it is defined as 1 instead of a memory location, but any extra threads should be sent to kexec_wait in that case anyways, so make that explicit and remove the search loop for UP. Note to stable: The fix also requires c1854e00727f50f7ac99e98d26ece04c087ef785 (powerpc: Set nr_cpu_ids early and use it to free PACAs) to function. Also 9d07bc841c9779b4d7902e417f4e509996ce805d (Properly handshake CPUs going out of boot spin loop) affects the second chunk, specifically the branch target was 3b before and is 4b after that patch, and there was a blank line before the #ifdef CONFIG_SMP that was removed Cc: # .34.x: c1854e0072 powerpc: Set nr_cpu_ids early Cc: # .34.x Signed-off-by: Milton Miller Signed-off-by: Benjamin Herrenschmidt commit 3d2cea732d68aa270c360f55d8669820ebce188a Author: Milton Miller Date: Tue May 10 19:28:33 2011 +0000 powerpc/kexec: Fix memory corruption from unallocated slaves Commit 1fc711f7ffb01089efc58042cfdbac8573d1b59a (powerpc/kexec: Fix race in kexec shutdown) moved the write to signal the cpu had exited the kernel from before the transition to real mode in kexec_smp_wait to kexec_wait. Unfornately it missed that kexec_wait is used both by cpus leaving the kernel and by secondary slave cpus that were not allocated a paca for what ever reason -- they could be beyond nr_cpus or not described in the current device tree for whatever reason (for example, kexec-load was not refreshed after a cpu hotplug operation). Cpus coming through that path they will write to paca[NR_CPUS] which is beyond the space allocated for the paca data and overwrite memory not allocated to pacas but very likely still real mode accessable). Move the write back to kexec_smp_wait, which is used only by cpus that found their paca, but after the transition to real mode. Signed-off-by: Milton Miller Cc: # (1fc711f was backported to 2.6.32) Signed-off-by: Benjamin Herrenschmidt commit f0e939ae373836400b38e090d78fba6a183976f0 Author: Anton Blanchard Date: Tue May 10 13:34:03 2011 +0000 powerpc/pseries: Print corrupt r3 in FWNMI code I have a report of an FWNMI with an r3 value that we think is corrupt, but since we don't print r3 we have no idea what was wrong with it. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit eb0dd411bd90dd5ad3f1936930d3e83d9ef95561 Author: Nishanth Aravamudan Date: Mon May 9 12:58:03 2011 +0000 pseries/iommu: Restore iommu table pointer when restoring iommu ops When we swtich to direct dma ops, we set the dma data union to have the dma offset. When we switch back to iommu table ops because of a later dma_set_mask, we need to restore the iommu table pointer. Without this change, crashes have been observed on kexec where (for reasons still being investigated) we fall back to a 32-bit dma mask on a particular device and then panic because the table pointer is not valid. The easiset way to find this value is to call pci_dma_dev_setup_pSeriesLP which will search up the pci tree until it finds the node with the table. Signed-off-by: Nishanth Aravamudan Cc: Milton Miller Cc: Paul Mackerras Cc: Anton Blanchard Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Benjamin Herrenschmidt commit 40f1ce7fb7e8b5d4d0821c0f3dc866cb1d47d99c Author: Anton Blanchard Date: Sun May 8 21:43:47 2011 +0000 powerpc: Remove ioremap_flags We have a confusing number of ioremap functions. Make things just a bit simpler by merging ioremap_flags and ioremap_prot. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit be135f40899cb3334faa7d2e27025055da311ec4 Author: Anton Blanchard Date: Sun May 8 21:41:59 2011 +0000 powerpc: Add ioremap_wc Add ioremap_wc so drivers can request write combining on kernel mappings. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit f5f0307f42d39a51a925ca4841f76a2f2ea330ff Author: Anton Blanchard Date: Sun May 8 21:36:44 2011 +0000 powerpc: Improve scheduling of system call entry instructions After looking at our system call path, Mary Brown suggested that we should put all mfspr SRR* instructions before any mtspr SRR*. To test this I used a very simple null syscall (actually getppid) testcase at http://ozlabs.org/~anton/junkcode/null_syscall.c I tested with the following changes against the pseries_defconfig: CONFIG_VIRT_CPU_ACCOUNTING=n CONFIG_AUDIT=n to remove the overhead of virtual CPU accounting and syscall auditing. POWER6: baseline: mean = 757.2 cycles sd = 2.108 modified: mean = 759.1 cycles sd = 2.020 POWER7: baseline: mean = 411.4 cycles sd = 0.138 modified: mean = 404.1 cycles sd = 0.109 So we have 1.77% improvement on POWER7 which looks significant. The POWER6 suggest a 0.25% slowdown, but the results are within 1 standard deviation and may be in the noise. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit ba00ce1d6e08ad06f19f2ac53fd5c60bbe3fbeeb Author: Anton Blanchard Date: Sun May 8 21:20:19 2011 +0000 powerpc: Remove static branch hint in giveup_altivec A static branch hint will override dynamic branch prediction on recent POWER CPUs. Since we are about to use more altivec in the kernel remove the static hint in giveup_altivec that assumes a userspace task is using altivec. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit d988f0e3f84cb8a4f85ccdbca6f6fefcc37bedcb Author: Anton Blanchard Date: Sun May 8 21:18:38 2011 +0000 powerpc: Simplify 4k/64k copy_page logic To make it easier to add optimised versions of copy_page, remove the 4kB loop for 64kB pages and just do all the work in copy_page. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 37e0c21e9b5b6d6fd38a444762076c84c6170598 Author: Anton Blanchard Date: Sun May 8 13:19:30 2011 +0000 powerpc/pseries: Enable iSCSI support for a number of cards Enable iSCSI support for a number of cards. We had the base networking devices enabled but forgot to enable iSCSI. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 32218bdd31fc9367c0babd6f7d309c6856a5c7da Author: Anton Blanchard Date: Sun May 8 13:18:27 2011 +0000 powerpc/pseries: Enable Emulex and Qlogic 10Gbit cards Enable the Qlogic and Emulex 10Gbit adapters. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 2a2c29c1a581319f4485af55e8d628d89e8f2583 Author: Stratos Psomadakis Date: Sat May 7 04:11:31 2011 +0000 powerpc/mm: Fix compiler warning in pgtable-ppc64.h [-Wunused-but-set-variable] The variable 'old' is set but not used in the wrprotect functions in arch/powerpc/include/asm/pgtable-ppc64.h, which can trigger a compiler warning. Remove the variable, since it's not used anyway. Signed-off-by: Stratos Psomadakis Signed-off-by: Benjamin Herrenschmidt commit af442a1baa6d00117cc7e7377ce7e6a545268684 Author: Nishanth Aravamudan Date: Wed May 4 12:54:16 2011 +0000 powerpc: Ensure dtl buffers do not cross 4k boundary Future releases of fimrware will enforce a requirement that DTL buffers do not cross a 4k boundary. Commit 127493d5dc73589cbe00ea5ec8357cc2a4c0d82a satisfies this requirement for CONFIG_VIRT_CPU_ACCOUNTING=y kernels, but if !CONFIG_VIRT_CPU_ACCOUNTING && CONFIG_DTL=y, the current code will fail at dtl registration time. Fix this by making the kmem cache from 127493d5dc73589cbe00ea5ec8357cc2a4c0d82a visible outside of setup.c and using the same cache in both dtl.c and setup.c. This requires a bit of reorganization to ensure ordering of the kmem cache and buffer allocations. Note: Since firmware now limits the size of the buffer, I made dtl_buf_entries read-only in debugfs. Tested with upcoming firmware with the 4 combinations of CONFIG_VIRT_CPU_ACCOUNTING and CONFIG_DTL. Signed-off-by: Nishanth Aravamudan Cc: Paul Mackerras Cc: Anton Blanchard Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Benjamin Herrenschmidt commit 767303349e052ae0cb9e6495a70870da3459eeb6 Author: Nishanth Aravamudan Date: Fri May 6 13:27:30 2011 +0000 powerpc: Fix kexec with dynamic dma windows When we kexec we look for a particular property added by the first kernel, "linux,direct64-ddr-window-info", per-device where we already have set up dynamic dma windows. The current code, though, wasn't initializing the size of this property and thus when we kexec'd, we would find the property but read uninitialized memory resulting in garbage ddw values for the kexec'd kernel and panics. Fix this by setting the size at enable_ddw() time and ensuring that the size of the found property is valid at dupe_ddw_if_kexec() time. Signed-off-by: Nishanth Aravamudan Signed-off-by: Benjamin Herrenschmidt commit 31355403dba5aa7a700c69f91cd6266092932701 Author: Michal Marek Date: Thu May 5 05:22:55 2011 +0000 powerpc: Use the deterministic mode of ar Signed-off-by: Michal Marek Signed-off-by: Benjamin Herrenschmidt commit 93395febdb51ed812ac1003852f537177a172aad Author: Justin Mattock Date: Tue Apr 5 06:58:22 2011 +0000 powerpc: Remove unused config in the Makefile The patch below removes an unused config variable found by using a kernel cleanup script. Note: I did try to cross compile these but hit erros while doing so.. (gcc is not setup to cross compile) and am unsure if anymore needs to be done. Please have a look if/when anybody has free time. Signed-off-by: Justin P. Mattock Signed-off-by: Benjamin Herrenschmidt commit c4f56af0f64ea894363b428b6590f5073047b455 Author: Michal Marek Date: Tue Apr 5 04:58:50 2011 +0000 powerpc: Call gzip with -n The timestamps recorded in the .gz files add no value. Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Michal Marek Signed-off-by: Benjamin Herrenschmidt commit c560bbceaf6b06e52f1ef20131b76a3fdc0a2c19 Author: kerstin jonsson Date: Tue May 17 23:57:11 2011 +0000 powerpc/4xx: Fix regression in SMP on 476 commit c56e58537d504706954a06570b4034c04e5b7500 breaks SMP support in PPC_47x chip. secondary_ti must be set to current thread info before callin kick_cpu or else start_secondary_47x will jump into void when trying to return to c-code. In the current setup secondary_ti is initialized before the CPU idle task is started and only the boot core will start. I am not sure this is the correct solution, but it makes SMP possible in my chip. Note! The HOTPLUG support probably need some fixing to, There is no trampoline code available in head_44x.S - start_secondary_resume? Signed-off-by: Kerstin Jonsson Signed-off-by: Benjamin Herrenschmidt commit 35d215fbe4f4d3569f2adabd8d53510a26ecb9c5 Author: Ben Hutchings Date: Sun Apr 24 15:04:31 2011 +0000 powerpc/kexec: Fix build failure on 32-bit SMP Commit b987812b3fcaf70fdf0037589e5d2f5f2453e6ce left crash_kexec_wait_realmode() undefined for UP. Commit 7c7a81b53e581d727d069cc45df5510516faac31 defined it for UP but left it undefined for 32-bit SMP. Seems like people are getting confused by nested #ifdef's, so move the definitions of crash_kexec_wait_realmode() after the #ifdef CONFIG_SMP section. Compile-tested with 32-bit UP, 32-bit SMP and 64-bit SMP configurations. Signed-off-by: Ben Hutchings Tested-by: Paul Gortmaker Signed-off-by: Benjamin Herrenschmidt commit 69e3cea8d5fd52677f2b6219542d0f8b53fe4c80 Author: Benjamin Herrenschmidt Date: Thu May 19 13:07:12 2011 +1000 powerpc/smp: Make start_secondary_resume available to all CPU variants This should fix SMP & Hotplug builds on FSL BookE and 476 Signed-off-by: Benjamin Herrenschmidt commit 95950c2ecb31314ef827428e43ff771cf3b037e5 Author: Steven Rostedt Date: Fri May 6 00:08:51 2011 -0400 ftrace: Add self-tests for multiple function trace users Add some basic sanity tests for multiple users of the function tracer at startup. Signed-off-by: Steven Rostedt commit 936e074b286ae779f134312178dbab139ee7ea52 Author: Steven Rostedt Date: Thu May 5 22:54:01 2011 -0400 ftrace: Modify ftrace_set_filter/notrace to take ops Since users of the function tracer can now pick and choose which functions they want to trace agnostically from other users of the function tracer, we need to pass the ops struct to the ftrace_set_filter() functions. The functions ftrace_set_global_filter() and ftrace_set_global_notrace() is added to keep the old filter functions which are used to modify the generic function tracers. Signed-off-by: Steven Rostedt commit a48eff128865aa20520fa6e0e0c5fbd2ac50d712 Author: David S. Miller Date: Wed May 18 18:42:43 2011 -0400 ipv4: Pass explicit destination address to rt_bind_peer(). Signed-off-by: David S. Miller commit ed2361e66eec60645f8e4715fe39a42235ef43ae Author: David S. Miller Date: Wed May 18 18:38:54 2011 -0400 ipv4: Pass explicit destination address to rt_get_peer(). This will next trickle down to rt_bind_peer(). Signed-off-by: David S. Miller commit 6bd023f3dddfc7c5f660089598c10e1f4167083b Author: David S. Miller Date: Wed May 18 18:32:03 2011 -0400 ipv4: Make caller provide flowi4 key to inet_csk_route_req(). This way the caller can get at the fully resolved fl4->{daddr,saddr} etc. Signed-off-by: David S. Miller commit 6882f933ccee5c3a86443ffc7621ce888b93ab6b Author: David S. Miller Date: Wed May 18 18:23:21 2011 -0400 ipv4: Kill RT_CACHE_DEBUG It's way past it's usefulness. And this gets rid of a bunch of stray ->rt_{dst,src} references. Even the comment documenting the macro was inaccurate (stated default was 1 when it's 0). If reintroduced, it should be done properly, with dynamic debug facilities. Signed-off-by: David S. Miller commit 12f4d0a8770ab26639091d0b2509b19681daad69 Author: Mammatha Edhala Date: Wed May 18 03:26:22 2011 +0000 be2net: Enable SR-IOV for Lancer Enable SR-IOV for Lancer Signed-off-by: Mammatha Edhala Signed-off-by: Padmanabh Ratnakar Signed-off-by: David S. Miller commit 0be6bc62cdd5e1bed75b2122ba7d26fc245b534b Author: Shmulik Ravid Date: Wed May 18 02:55:31 2011 +0000 bnx2x: add support for retrieving dcb peer configuration This patch adds support to the bnx2x for retrieving dcb peer (remote) configuration from the embedded DCBX stack. Signed-off-by: Shmulik Ravid Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 60a34277d5da958e7f39a942e0ed1016a904f6c6 Author: Frank Blaschka Date: Wed May 18 03:28:35 2011 +0000 qeth: use ndo_set_features callback for initial setup and recovery This patch uses the ndo_set_features callback during normal device startup or recovery to turn on hardware RX checksum. Patch was done with much help from Michal Miroslaw, thx!!! Signed-off-by: Frank Blaschka Reviewed-by: Michał Mirosław Signed-off-by: David S. Miller commit f634a4e7074f66ac3dfaf2cc6786e0ec3080a2d1 Author: Luciano Coelho Date: Wed May 18 16:51:26 2011 -0400 wl12xx: fix compilation error when CONFIG_PM is not set There was a compilation error when PM is not enabled: CC [M] drivers/net/wireless/wl12xx/main.o drivers/net/wireless/wl12xx/main.c:3653: error: unknown field 'suspend' specified in initializer drivers/net/wireless/wl12xx/main.c:3653: warning: initialization from incompatible pointer type drivers/net/wireless/wl12xx/main.c:3654: error: unknown field 'resume' specified in initializer drivers/net/wireless/wl12xx/main.c:3654: warning: initialization from incompatible pointer type Fix this by adding #ifdef's in the appropriate places. Cc: Eliad Peller Signed-off-by: Luciano Coelho Signed-off-by: David S. Miller commit cdbe61bfe70440939e457fb4a8d0995eaaed17de Author: Steven Rostedt Date: Thu May 5 21:14:55 2011 -0400 ftrace: Allow dynamically allocated function tracers Now that functions may be selected individually, it only makes sense that we should allow dynamically allocated trace structures to be traced. This will allow perf to allocate a ftrace_ops structure at runtime and use it to pick and choose which functions that structure will trace. Note, a dynamically allocated ftrace_ops will always be called indirectly instead of being called directly from the mcount in entry.S. This is because there's no safe way to prevent mcount from being preempted before calling the function, unless we modify every entry.S to do so (not likely). Thus, dynamically allocated functions will now be called by the ftrace_ops_list_func() that loops through the ops that are allocated if there are more than one op allocated at a time. This loop is protected with a preempt_disable. To determine if an ftrace_ops structure is allocated or not, a new util function was added to the kernel/extable.c called core_kernel_data(), which returns 1 if the address is between _sdata and _edata. Cc: Paul E. McKenney Signed-off-by: Steven Rostedt commit b848914ce39589d89ee0078a6d1ef452b464729e Author: Steven Rostedt Date: Wed May 4 09:27:52 2011 -0400 ftrace: Implement separate user function filtering ftrace_ops that are registered to trace functions can now be agnostic to each other in respect to what functions they trace. Each ops has their own hash of the functions they want to trace and a hash to what they do not want to trace. A empty hash for the functions they want to trace denotes all functions should be traced that are not in the notrace hash. Cc: Paul E. McKenney Signed-off-by: Steven Rostedt commit 07fd5515f3b5c20704707f63e7f4485b534508a8 Author: Steven Rostedt Date: Thu May 5 18:03:47 2011 -0400 ftrace: Free hash with call_rcu_sched() When a hash is modified and might be in use, we need to perform a schedule RCU operation on it, as the hashes will soon be used directly in the function tracer callback. Cc: Paul E. McKenney Signed-off-by: Steven Rostedt commit 2b499381bc50ede01b3d8eab164ca2fad00655f0 Author: Steven Rostedt Date: Tue May 3 22:49:52 2011 -0400 ftrace: Have global_ops store the functions that are to be traced This is a step towards each ops structure defining its own set of functions to trace. As the current code with pid's and such are specific to the global_ops, it is restructured to be used with the global ops. Signed-off-by: Steven Rostedt commit bd69c30b1d08032d97ab0dabd7a1eb7fb73ca2b2 Author: Steven Rostedt Date: Tue May 3 21:55:54 2011 -0400 ftrace: Add ops parameter to ftrace_startup/shutdown functions In order to allow different ops to enable different functions, the ftrace_startup() and ftrace_shutdown() functions need the ops parameter passed to them. Signed-off-by: Steven Rostedt commit 647bcd03d5b2fb44fd9c9ef1a4f50c2eee8f779a Author: Steven Rostedt Date: Tue May 3 14:39:21 2011 -0400 ftrace: Add enabled_functions file Add the enabled_functions file that is used to show all the functions that have been enabled for tracing as well as their ref counts. This helps seeing if any function has been registered and what functions are being traced. Signed-off-by: Steven Rostedt commit ed926f9b35cda0988234c356e16a7cb30f4e5338 Author: Steven Rostedt Date: Tue May 3 13:25:24 2011 -0400 ftrace: Use counters to enable functions to trace Every function has its own record that stores the instruction pointer and flags for the function to be traced. There are only two flags: enabled and free. The enabled flag states that tracing for the function has been enabled (actively traced), and the free flag states that the record no longer points to a function and can be used by new functions (loaded modules). These flags are now moved to the MSB of the flags (actually just the top 32bits). The rest of the bits (30 bits) are now used as a ref counter. Everytime a tracer register functions to trace, those functions will have its counter incremented. When tracing is enabled, to determine if a function should be traced, the counter is examined, and if it is non-zero it is set to trace. When a ftrace_ops is registered to trace functions, its hashes are examined. If the ftrace_ops filter_hash count is zero, then all functions are set to be traced, otherwise only the functions in the hash are to be traced. The exception to this is if a function is also in the ftrace_ops notrace_hash. Then that function's counter is not incremented for this ftrace_ops. Signed-off-by: Steven Rostedt commit 33dc9b1267d59cef46ff0bd6bc043190845dc919 Author: Steven Rostedt Date: Mon May 2 17:34:47 2011 -0400 ftrace: Separate hash allocation and assignment When filtering, allocate a hash to insert the function records. After the filtering is complete, assign it to the ftrace_ops structure. This allows the ftrace_ops structure to have a much smaller array of hash buckets instead of wasting a lot of memory. A read only empty_hash is created to be the minimum size that any ftrace_ops can point to. When a new hash is created, it has the following steps: o Allocate a default hash. o Walk the function records assigning the filtered records to the hash o Allocate a new hash with the appropriate size buckets o Move the entries from the default hash to the new hash. Signed-off-by: Steven Rostedt commit f45948e898e7bc76a73a468796d2ce80dd040058 Author: Steven Rostedt Date: Mon May 2 12:29:25 2011 -0400 ftrace: Create a global_ops to hold the filter and notrace hashes Combine the filter and notrace hashes to be accessed by a single entity, the global_ops. The global_ops is a ftrace_ops structure that is passed to different functions that can read or modify the filtering of the function tracer. The ftrace_ops structure was modified to hold a filter and notrace hashes so that later patches may allow each ftrace_ops to have its own set of rules to what functions may be filtered. Signed-off-by: Steven Rostedt commit 1cf41dd79993389b012e4542ab502ce36ae7343f Author: Steven Rostedt Date: Fri Apr 29 20:59:51 2011 -0400 ftrace: Use hash instead for FTRACE_FL_FILTER When multiple users are allowed to have their own set of functions to trace, having the FTRACE_FL_FILTER flag will not be enough to handle the accounting of those users. Each user will need their own set of functions. Replace the FTRACE_FL_FILTER with a filter_hash instead. This is temporary until the rest of the function filtering accounting gets in. Signed-off-by: Steven Rostedt commit b448c4e3ae6d20108dba1d7833f2c0d3dbad87ce Author: Steven Rostedt Date: Fri Apr 29 15:12:32 2011 -0400 ftrace: Replace FTRACE_FL_NOTRACE flag with a hash of ignored functions To prepare for the accounting system that will allow multiple users of the function tracer, having the FTRACE_FL_NOTRACE as a flag in the dyn_trace record does not make sense. All ftrace_ops will soon have a hash of functions they should trace and not trace. By making a global hash of functions not to trace makes this easier for the transition. Signed-off-by: Steven Rostedt commit b313207286a78abac19f1dd2721292eae598b0f5 Author: Ingo Molnar Date: Wed May 18 21:00:44 2011 +0200 perf bench, x86: Add alternatives-asm.h wrapper perf bench needs this to build the kernel's memcpy routine: In file included from bench/mem-memcpy-x86-64-asm.S:2:0: bench/../../../arch/x86/lib/memcpy_64.S:7:33: fatal error: asm/alternative-asm.h: No such file or directory Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Steven Rostedt Link: http://lkml.kernel.org/n/tip-c5d41xibgullk8h2280q4gv0@git.kernel.org Signed-off-by: Ingo Molnar commit 01ed58abec07633791f03684b937a7e22e00c9bb Merge: af2d03d 26afb7c Author: Ingo Molnar Date: Wed May 18 20:59:27 2011 +0200 Merge branch 'x86/mem' into perf/core Merge reason: memcpy_64.S changes an assumption perf bench has, so merge this here so we can fix it. Signed-off-by: Ingo Molnar commit af2d03d4aaa847ef41a229dfee098a47908437c6 Merge: 9469234 f296388 Author: Ingo Molnar Date: Wed May 18 19:46:10 2011 +0200 Merge branch 'tip/perf/core-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core commit bd715d9a4f13f87bad5526c2cd41370949473b16 Merge: 19e2746 b2b07e4 Author: Oleg Nesterov Date: Wed May 18 15:09:07 2011 +0200 Merge branch 'signals-review' into ptrace commit b2b07e4fdbc51383cfc0ba5618c2ddf5c9d038f2 Author: Oleg Nesterov Date: Wed May 18 15:08:03 2011 +0200 signal: trivial, fix the "timespec declared inside parameter list" warning Fix the compile warning, do_sigtimedwait(struct timespec *) in signal.h needs the forward declaration of timespec. Reported-and-acked-by: Mike Frysinger Signed-off-by: Oleg Nesterov commit edf76f8307c350bcb81f0c760118a991b3e62956 Author: Jonathan Cameron Date: Wed May 18 10:39:04 2011 +0100 irq: Export functions to allow modular irq drivers Export handle_simple_irq, irq_modify_status, irq_alloc_descs, irq_free_descs and generic_handle_irq to allow their usage in modules. First user is IIO, which wants to be built modular, but needs to be able to create irq chips, allocate and configure interrupt descriptors and handle demultiplexing interrupts. [ tglx: Moved the uninlinig of generic_handle_irq to a separate patch ] Signed-off-by: Jonathan Cameron Link: http://lkml.kernel.org/r/%3C1305711544-505-1-git-send-email-jic23%40cam.ac.uk%3E Signed-off-by: Thomas Gleixner commit fe12bc2c996d3e492b2920e32ac79f7bbae3e15d Author: Thomas Gleixner Date: Wed May 18 12:48:00 2011 +0200 genirq: Uninline and sanity check generic_handle_irq() generic_handle_irq() is missing a NULL pointer check for the result of irq_to_desc. This was a not a big problem, but we want to expose it to drivers, so we better have sanity checks in place. Add a return value as well, which indicates that the irq number was valid and the handler was invoked. Based on the pure code move from Jonathan Cameron. Signed-off-by: Thomas Gleixner Cc: Jonathan Cameron commit fe0514348452f5b0ad7e842b0d71b8322b1297de Author: Thomas Gleixner Date: Wed May 18 12:53:03 2011 +0200 genirq: Remove pointless ifdefs kernel/irq/ is only built when CONFIG_GENERIC_HARDIRQS=y. So making code inside of kernel/irq/ conditional on CONFIG_GENERIC_HARDIRQS is pointless. Signed-off-by: Thomas Gleixner commit 26afb7c661080ae3f1f13ddf7f0c58c4f931c22b Author: Jiri Olsa Date: Thu May 12 16:30:30 2011 +0200 x86, 64-bit: Fix copy_[to/from]_user() checks for the userspace address limit As reported in BZ #30352: https://bugzilla.kernel.org/show_bug.cgi?id=30352 there's a kernel bug related to reading the last allowed page on x86_64. The _copy_to_user() and _copy_from_user() functions use the following check for address limit: if (buf + size >= limit) fail(); while it should be more permissive: if (buf + size > limit) fail(); That's because the size represents the number of bytes being read/write from/to buf address AND including the buf address. So the copy function will actually never touch the limit address even if "buf + size == limit". Following program fails to use the last page as buffer due to the wrong limit check: #include #include #include #define PAGE_SIZE (4096) #define LAST_PAGE ((void*)(0x7fffffffe000)) int main() { int fds[2], err; void * ptr = mmap(LAST_PAGE, PAGE_SIZE, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE | MAP_FIXED, -1, 0); assert(ptr == LAST_PAGE); err = socketpair(AF_LOCAL, SOCK_STREAM, 0, fds); assert(err == 0); err = send(fds[0], ptr, PAGE_SIZE, 0); perror("send"); assert(err == PAGE_SIZE); err = recv(fds[1], ptr, PAGE_SIZE, MSG_WAITALL); perror("recv"); assert(err == PAGE_SIZE); return 0; } The other place checking the addr limit is the access_ok() function, which is working properly. There's just a misleading comment for the __range_not_ok() macro - which this patch fixes as well. The last page of the user-space address range is a guard page and Brian Gerst observed that the guard page itself due to an erratum on K8 cpus (#121 Sequential Execution Across Non-Canonical Boundary Causes Processor Hang). However, the test code is using the last valid page before the guard page. The bug is that the last byte before the guard page can't be read because of the off-by-one error. The guard page is left in place. This bug would normally not show up because the last page is part of the process stack and never accessed via syscalls. Signed-off-by: Jiri Olsa Acked-by: Brian Gerst Acked-by: Linus Torvalds Cc: Link: http://lkml.kernel.org/r/1305210630-7136-1-git-send-email-jolsa@redhat.com Signed-off-by: Ingo Molnar commit abb57ea48fd9431fa320a5c55f73e6b5a44c2efb Author: Eric Dumazet Date: Wed May 18 02:21:31 2011 -0400 net: add skb_dst_force() in sock_queue_err_skb() Commit 7fee226ad239 (add a noref bit on skb dst) forgot to use skb_dst_force() on packets queued in sk_error_queue This triggers following warning, for applications using IP_CMSG_PKTINFO receiving one error status ------------[ cut here ]------------ WARNING: at include/linux/skbuff.h:457 ip_cmsg_recv_pktinfo+0xa6/0xb0() Hardware name: 2669UYD Modules linked in: isofs vboxnetadp vboxnetflt nfsd ebtable_nat ebtables lib80211_crypt_ccmp uinput xcbc hdaps tp_smapi thinkpad_ec radeonfb fb_ddc radeon ttm drm_kms_helper drm ipw2200 intel_agp intel_gtt libipw i2c_algo_bit i2c_i801 agpgart rng_core cfbfillrect cfbcopyarea cfbimgblt video raid10 raid1 raid0 linear md_mod vboxdrv Pid: 4697, comm: miredo Not tainted 2.6.39-rc6-00569-g5895198-dirty #22 Call Trace: [] ? printk+0x1d/0x1f [] warn_slowpath_common+0x72/0xa0 [] ? ip_cmsg_recv_pktinfo+0xa6/0xb0 [] ? ip_cmsg_recv_pktinfo+0xa6/0xb0 [] warn_slowpath_null+0x20/0x30 [] ip_cmsg_recv_pktinfo+0xa6/0xb0 [] ip_cmsg_recv+0x127/0x260 [] ? skb_dequeue+0x4d/0x70 [] ? skb_copy_datagram_iovec+0x53/0x300 [] ? sub_preempt_count+0x24/0x50 [] ip_recv_error+0x23d/0x270 [] udp_recvmsg+0x264/0x2b0 [] inet_recvmsg+0xd9/0x130 [] sock_recvmsg+0xf2/0x120 [] ? might_fault+0x4b/0xa0 [] ? verify_iovec+0x4c/0xc0 [] ? sock_recvmsg_nosec+0x100/0x100 [] __sys_recvmsg+0x114/0x1e0 [] ? __lock_acquire+0x365/0x780 [] ? fget_light+0xa6/0x3e0 [] ? fget_light+0xbf/0x3e0 [] ? fget_light+0x2e/0x3e0 [] sys_recvmsg+0x39/0x60 Close bug https://bugzilla.kernel.org/show_bug.cgi?id=34622 Reported-by: Witold Baryluk Signed-off-by: Eric Dumazet CC: Stephen Hemminger Signed-off-by: David S. Miller commit de5397ad5b9ad22e2401c4dacdf1bb3b19c05679 Author: Fenghua Yu Date: Wed May 11 16:51:05 2011 -0700 x86, cpu: Enable/disable Supervisor Mode Execution Protection Enable/disable newly documented SMEP (Supervisor Mode Execution Protection) CPU feature in kernel. CR4.SMEP (bit 20) is 0 at power-on. If the feature is supported by CPU (X86_FEATURE_SMEP), enable SMEP by setting CR4.SMEP. New kernel option nosmep disables the feature even if the feature is supported by CPU. [ hpa: moved the call to setup_smep() until after the vendor-specific initialization; that ensures that CPUID features are unmasked. We will still run it before we have userspace (never mind uncontrolled userspace). ] Signed-off-by: Fenghua Yu LKML-Reference: <1305157865-31727-1-git-send-email-fenghua.yu@intel.com> Signed-off-by: H. Peter Anvin commit dc23c0bccf5eea171c87b3db285d032b9a5f06c4 Author: Fenghua Yu Date: Tue May 17 18:44:27 2011 -0700 x86, cpu: Add SMEP CPU feature in CR4 Add support for newly documented SMEP (Supervisor Mode Execution Protection) CPU feature in CR4. Signed-off-by: Fenghua Yu LKML-Reference: <1305683069-25394-3-git-send-email-fenghua.yu@intel.com> Signed-off-by: H. Peter Anvin commit d0281a257f370b09c410e466571858b4e12869c9 Author: Fenghua Yu Date: Tue May 17 18:44:26 2011 -0700 x86, cpufeature: Add cpufeature flag for SMEP Add support for newly documented SMEP (Supervisor Mode Execution Protection) CPU feature flag. SMEP prevents the CPU in kernel-mode to jump to an executable page that has the user flag set in the PTE. This prevents the kernel from executing user-space code accidentally or maliciously, so it for example prevents kernel exploits from jumping to specially prepared user-mode shell code. [ hpa: added better description by Ingo Molnar ] Signed-off-by: Fenghua Yu LKML-Reference: <1305683069-25394-2-git-send-email-fenghua.yu@intel.com> Signed-off-by: H. Peter Anvin commit 9bed4aca296fdf9c1b85a8f093e92018dc9864f3 Author: Randy Dunlap Date: Wed May 18 09:03:34 2011 +1000 crypto: aesni-intel - fix aesni build on i386 Fix build error on i386 by moving function prototypes: arch/x86/crypto/aesni-intel_glue.c: In function 'aesni_init': arch/x86/crypto/aesni-intel_glue.c:1263: error: implicit declaration of function 'crypto_fpu_init' arch/x86/crypto/aesni-intel_glue.c: In function 'aesni_exit': arch/x86/crypto/aesni-intel_glue.c:1373: error: implicit declaration of function 'crypto_fpu_exit' Signed-off-by: Randy Dunlap Signed-off-by: Herbert Xu commit 2f19e06ac30771c7cb96fd61d8aeacfa74dac21c Author: Fenghua Yu Date: Tue May 17 15:29:18 2011 -0700 x86, mem: memset_64.S: Optimize memset by enhanced REP MOVSB/STOSB Support memset() with enhanced rep stosb. On processors supporting enhanced REP MOVSB/STOSB, the alternative memset_c_e function using enhanced rep stosb overrides the fast string alternative memset_c and the original function. Signed-off-by: Fenghua Yu Link: http://lkml.kernel.org/r/1305671358-14478-10-git-send-email-fenghua.yu@intel.com Signed-off-by: H. Peter Anvin commit 057e05c1d6440117875f455e59da8691e08f65d5 Author: Fenghua Yu Date: Tue May 17 15:29:17 2011 -0700 x86, mem: memmove_64.S: Optimize memmove by enhanced REP MOVSB/STOSB Support memmove() by enhanced rep movsb. On processors supporting enhanced REP MOVSB/STOSB, the alternative memmove() function using enhanced rep movsb overrides the original function. The patch doesn't change the backward memmove case to use enhanced rep movsb. Signed-off-by: Fenghua Yu Link: http://lkml.kernel.org/r/1305671358-14478-9-git-send-email-fenghua.yu@intel.com Signed-off-by: H. Peter Anvin commit 101068c1f4a947ffa08f2782c78e40097300754d Author: Fenghua Yu Date: Tue May 17 15:29:16 2011 -0700 x86, mem: memcpy_64.S: Optimize memcpy by enhanced REP MOVSB/STOSB Support memcpy() with enhanced rep movsb. On processors supporting enhanced rep movsb, the alternative memcpy() function using enhanced rep movsb overrides the original function and the fast string function. Signed-off-by: Fenghua Yu Link: http://lkml.kernel.org/r/1305671358-14478-8-git-send-email-fenghua.yu@intel.com Signed-off-by: H. Peter Anvin commit 4307bec9344aed83f8107c3eb4285bd9d218fc10 Author: Fenghua Yu Date: Tue May 17 15:29:15 2011 -0700 x86, mem: copy_user_64.S: Support copy_to/from_user by enhanced REP MOVSB/STOSB Support copy_to_user/copy_from_user() by enhanced REP MOVSB/STOSB. On processors supporting enhanced REP MOVSB/STOSB, the alternative copy_user_enhanced_fast_string function using enhanced rep movsb overrides the original function and the fast string function. Signed-off-by: Fenghua Yu Link: http://lkml.kernel.org/r/1305671358-14478-7-git-send-email-fenghua.yu@intel.com Signed-off-by: H. Peter Anvin commit e365c9df2f2f001450decf9512412d2d5bd1cdef Author: Fenghua Yu Date: Tue May 17 15:29:14 2011 -0700 x86, mem: clear_page_64.S: Support clear_page() with enhanced REP MOVSB/STOSB Intel processors are adding enhancements to REP MOVSB/STOSB and the use of REP MOVSB/STOSB for optimal memcpy/memset or similar functions is recommended. Enhancement availability is indicated by CPUID.7.0.EBX[9] (Enhanced REP MOVSB/ STOSB). Support clear_page() with rep stosb for processor supporting enhanced REP MOVSB /STOSB. On processors supporting enhanced REP MOVSB/STOSB, the alternative clear_page_c_e function using enhanced REP STOSB overrides the original function and the fast string function. Signed-off-by: Fenghua Yu Link: http://lkml.kernel.org/r/1305671358-14478-6-git-send-email-fenghua.yu@intel.com Signed-off-by: H. Peter Anvin commit 9072d11da15a71e086eab3b5085184f2c1d06913 Author: Fenghua Yu Date: Tue May 17 15:29:13 2011 -0700 x86, alternative: Add altinstruction_entry macro Add altinstruction_entry macro to generate .altinstructions section entries from assembly code. This should be less failure-prone than open-coding. Signed-off-by: Fenghua Yu Link: http://lkml.kernel.org/r/1305671358-14478-5-git-send-email-fenghua.yu@intel.com Signed-off-by: H. Peter Anvin commit 509731336313b3799cf03071d72c64fa6383895e Author: Fenghua Yu Date: Tue May 17 15:29:12 2011 -0700 x86, alternative, doc: Add comment for applying alternatives order Some string operation functions may be patched twice, e.g. on enhanced REP MOVSB /STOSB processors, memcpy is patched first by fast string alternative function, then it is patched by enhanced REP MOVSB/STOSB alternative function. Add comment for applying alternatives order to warn people who may change the applying alternatives order for any reason. [ Documentation-only patch ] Signed-off-by: Fenghua Yu Link: http://lkml.kernel.org/r/1305671358-14478-4-git-send-email-fenghua.yu@intel.com Signed-off-by: H. Peter Anvin commit 161ec53c702ce9df2f439804dfb9331807066daa Author: Fenghua Yu Date: Tue May 17 15:29:11 2011 -0700 x86, mem, intel: Initialize Enhanced REP MOVSB/STOSB If kernel intends to use enhanced REP MOVSB/STOSB, it must ensure IA32_MISC_ENABLE.Fast_String_Enable (bit 0) is set and CPUID.(EAX=07H, ECX=0H): EBX[bit 9] also reports 1. Signed-off-by: Fenghua Yu Link: http://lkml.kernel.org/r/1305671358-14478-3-git-send-email-fenghua.yu@intel.com Signed-off-by: H. Peter Anvin commit 724a92ee45c04cb9d82884a856b03b1e594d9de1 Author: Fenghua Yu Date: Tue May 17 15:29:10 2011 -0700 x86, cpufeature: Add CPU feature bit for enhanced REP MOVSB/STOSB Intel processors are adding enhancements to REP MOVSB/STOSB and the use of REP MOVSB/STOSB for optimal memcpy/memset or similar functions is recommended. Enhancement availability is indicated by CPUID.7.0.EBX[9] (Enhanced REP MOVSB/ STOSB). Signed-off-by: Fenghua Yu Link: http://lkml.kernel.org/r/1305671358-14478-2-git-send-email-fenghua.yu@intel.com Signed-off-by: H. Peter Anvin commit b56269468483a0255a27126ebc2ae7e321638d7b Author: David S. Miller Date: Tue May 17 17:53:22 2011 -0400 sfc: Don't use enums as a bitmask. This fixes: drivers/net/sfc/mcdi_mac.c: In function ‘efx_mcdi_set_mac’: drivers/net/sfc/mcdi_mac.c:36:2: warning: case value ‘3’ not in enumerated type ‘enum efx_fc_type’ Signed-off-by: David S. Miller commit 9cbc94eabb0791906051bbfac024ef2c2be8e079 Merge: 1d1652c 7cc31a9 Author: David S. Miller Date: Tue May 17 17:33:11 2011 -0400 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/vmxnet3/vmxnet3_ethtool.c net/core/dev.c commit 1d1652cbdb9885e4d73972263e4cdbe1b0beebfe Author: David S. Miller Date: Tue May 17 17:28:02 2011 -0400 ipv4: Don't use enums as bitmasks in ip_fragment.c Noticed by Joe Perches. Signed-off-by: David S. Miller commit 6538df80194e305f1b78cafb556f4bb442f808b3 Author: Rafael J. Wysocki Date: Tue May 17 23:26:21 2011 +0200 PM: Introduce generic prepare and complete callbacks for subsystems Introduce generic .prepare() and .complete() power management callbacks, currently missing, that can be used by subsystems and power domains and export them. Provide NULL definitions of all the generic system sleep callbacks for CONFIG_PM_SLEEP unset. Signed-off-by: Rafael J. Wysocki commit 91e7c75ba93c48a82670d630b9daac92ff70095d Author: Rafael J. Wysocki Date: Tue May 17 23:26:00 2011 +0200 PM: Allow drivers to allocate memory from .prepare() callbacks safely If device drivers allocate substantial amounts of memory (above 1 MB) in their hibernate .freeze() callbacks (or in their legacy suspend callbcks during hibernation), the subsequent creation of hibernate image may fail due to the lack of memory. This is the case, because the drivers' .freeze() callbacks are executed after the hibernate memory preallocation has been carried out and the preallocated amount of memory may be too small to cover the new driver allocations. Unfortunately, the drivers' .prepare() callbacks also are executed after the hibernate memory preallocation has completed, so they are not suitable for allocating additional memory either. Thus the only way a driver can safely allocate memory during hibernation is to use a hibernate/suspend notifier. However, the notifiers are called before the freezing of user space and the drivers wanting to use them for allocating additional memory may not know how much memory needs to be allocated at that point. To let device drivers overcome this difficulty rework the hibernation sequence so that the memory preallocation is carried out after the drivers' .prepare() callbacks have been executed, so that the .prepare() callbacks can be used for allocating additional memory to be used by the drivers' .freeze() callbacks. Update documentation to match the new behavior of the code. Signed-off-by: Rafael J. Wysocki commit c650da23d59d2c82307380414606774c6d49b8bd Author: Rafael J. Wysocki Date: Tue May 17 23:25:10 2011 +0200 PM: Remove CONFIG_PM_VERBOSE Now that we have CONFIG_DYNAMIC_DEBUG there is no need for yet another flag causing dev_dbg() and pr_debug() statements in the core PM code to produce output. Moreover, CONFIG_PM_VERBOSE causes so much output to be generated that it's not really useful and almost no one sets it. References: https://bugzilla.kernel.org/show_bug.cgi?id=23182 Signed-off-by: Rafael J. Wysocki commit 290c748725c170ed9a02522959ae67f528eefe98 Merge: 2d2a916 72874da Author: Rafael J. Wysocki Date: Tue May 17 23:23:46 2011 +0200 Merge branch 'power-domains' into for-linus * power-domains: PM: Fix build issue in clock_ops.c for CONFIG_PM_RUNTIME unset PM: Revert "driver core: platform_bus: allow runtime override of dev_pm_ops" OMAP1 / PM: Use generic clock manipulation routines for runtime PM PM / Runtime: Generic clock manipulation rountines for runtime PM (v6) PM / Runtime: Add subsystem data field to struct dev_pm_info OMAP2+ / PM: move runtime PM implementation to use device power domains PM / Platform: Use generic runtime PM callbacks directly shmobile: Use power domains for platform runtime PM PM: Export platform bus type's default PM callbacks PM: Make power domain callbacks take precedence over subsystem ones commit 2d2a9163bd4f3ba301f8138c32e4790edc30156c Merge: 1c1be3a 2e711c0 Author: Rafael J. Wysocki Date: Tue May 17 23:23:40 2011 +0200 Merge branch 'syscore' into for-linus * syscore: PM: Remove sysdev suspend, resume and shutdown operations PM / PowerPC: Use struct syscore_ops instead of sysdevs for PM PM / UNICORE32: Use struct syscore_ops instead of sysdevs for PM PM / AVR32: Use struct syscore_ops instead of sysdevs for PM PM / Blackfin: Use struct syscore_ops instead of sysdevs for PM ARM / Samsung: Use struct syscore_ops for "core" power management ARM / PXA: Use struct syscore_ops for "core" power management ARM / SA1100: Use struct syscore_ops for "core" power management ARM / Integrator: Use struct syscore_ops for core PM ARM / OMAP: Use struct syscore_ops for "core" power management ARM: Use struct syscore_ops instead of sysdevs for PM in common code commit 1c1be3a949a61427a962771c85a347c822aeb991 Author: Rafael J. Wysocki Date: Sun May 15 11:39:48 2011 +0200 Revert "PM / Hibernate: Reduce autotuned default image size" This reverts commit bea3864fb627d110933cfb8babe048b63c4fc76e (PM / Hibernate: Reduce autotuned default image size), because users are now able to resolve the issue this commit was supposed to address in a different way (i.e. by using the new /sys/power/reserved_size interface). Signed-off-by: Rafael J. Wysocki commit ddeb648708108091a641adad0a438ec4fd8bf190 Author: Rafael J. Wysocki Date: Sun May 15 11:38:48 2011 +0200 PM / Hibernate: Add sysfs knob to control size of memory for drivers Martin reports that on his system hibernation occasionally fails due to the lack of memory, because the radeon driver apparently allocates too much of it during the device freeze stage. It turns out that the amount of memory allocated by radeon during hibernation (and presumably during system suspend too) depends on the utilization of the GPU (e.g. hibernating while there are two KDE 4 sessions with compositing enabled causes radeon to allocate more memory than for one KDE 4 session). In principle it should be possible to use image_size to make the memory preallocation mechanism free enough memory for the radeon driver, but in practice it is not easy to guess the right value because of the way the preallocation code uses image_size. For this reason, it seems reasonable to allow users to control the amount of memory reserved for driver allocations made after the hibernate preallocation, which currently is constant and amounts to 1 MB. Introduce a new sysfs file, /sys/power/reserved_size, whose value will be used as the amount of memory to reserve for the post-preallocation reservations made by device drivers, in bytes. For backwards compatibility, set its default (and initial) value to the currently used number (1 MB). References: https://bugzilla.kernel.org/show_bug.cgi?id=34102 Reported-and-tested-by: Martin Steigerwald Signed-off-by: Rafael J. Wysocki commit 13e381365614855bf14c8ad68f9b65e3afd3dd2c Author: Eric Dumazet Date: Wed May 11 22:40:45 2011 +0200 PM / Wakeup: Remove useless synchronize_rcu() call wakeup_source_add() adds an item into wakeup_sources list. There is no need to call synchronize_rcu() at this point. Its only needed in wakeup_source_remove() Signed-off-by: Eric Dumazet Signed-off-by: Rafael J. Wysocki commit 13d53f8775c6a00b070a3eef6833795412eb7fcd Author: Kay Sievers Date: Tue May 10 21:27:34 2011 +0200 kmod: always provide usermodehelper_disable() We need to prevent kernel-forked processes during system poweroff. Such processes try to access the filesystem whose disks we are trying to shutdown at the same time. This causes delays and exceptions in the storage drivers. A follow-up patch will add these calls and need usermodehelper_disable() also on systems without suspend support. Signed-off-by: Kay Sievers Signed-off-by: Rafael J. Wysocki commit c3b0795c98c08351567464150db66d11e05d7611 Author: Amerigo Wang Date: Tue May 10 21:09:38 2011 +0200 PM / ACPI: Remove acpi_sleep=s4_nonvs acpi_sleep=s4_nonvs is superseded by acpi_sleep=nonvs, so remove it. Signed-off-by: WANG Cong Acked-by: Pavel Machek Acked-by: Len Brown Signed-off-by: Rafael J. Wysocki commit e762318baae3002944d68220910aef7caffcd065 Author: Rafael J. Wysocki Date: Sat May 7 18:11:52 2011 +0200 PM / Wakeup: Fix build warning related to the "wakeup" sysfs file The "wakeup" device sysfs file is only created if CONFIG_PM_SLEEP is set, so put it under CONFIG_PM_SLEEP and make a build warning related to it go away. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman commit a144c6a6c924aa1da04dd77fb84b89927354fdff Author: Rafael J. Wysocki Date: Fri May 6 20:09:42 2011 +0200 PM: Print a warning if firmware is requested when tasks are frozen Some drivers erroneously use request_firmware() from their ->resume() (or ->thaw(), or ->restore()) callbacks, which is not going to work unless the firmware has been built in. This causes system resume to stall until the firmware-loading timeout expires, which makes users think that the resume has failed and reboot their machines unnecessarily. For this reason, make _request_firmware() print a warning and return immediately with error code if it has been called when tasks are frozen and it's impossible to start any new usermode helpers. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman Reviewed-by: Valdis Kletnieks commit e1866b33b1e89f077b7132daae3dfd9a594e9a1a Author: Rafael J. Wysocki Date: Fri Apr 29 00:33:45 2011 +0200 PM / Runtime: Rework runtime PM handling during driver removal The driver core tries to prevent race conditions between runtime PM and driver removal from happening by incrementing the runtime PM usage counter of the device and executing pm_runtime_barrier() before running the bus notifier and the ->remove() callbacks provided by the device's subsystem or driver. This guarantees that, if a future runtime suspend of the device has been scheduled or a runtime resume or idle request has been queued up right before the driver removal, it will be canceled or waited for to complete and no other asynchronous runtime suspend or idle requests for the device will be put into the PM workqueue until the ->remove() callback returns. However, it doesn't prevent resume requests from being queued up after pm_runtime_barrier() has been called and it doesn't prevent pm_runtime_resume() from executing the device subsystem's runtime resume callback. Morever, it prevents the device's subsystem or driver from putting the device into the suspended state by calling pm_runtime_suspend() from its ->remove() routine. This turns out to be a major inconvenience for some subsystems and drivers that want to leave the devices they handle in the suspended state. To really prevent runtime PM callbacks from racing with the bus notifier callback in __device_release_driver(), which is necessary, because the notifier is used by some subsystems to carry out operations affecting the runtime PM functionality, use pm_runtime_get_sync() instead of the combination of pm_runtime_get_noresume() and pm_runtime_barrier(). This will resume the device if it's in the suspended state and will prevent it from being suspended again until pm_runtime_put_*() is called. To allow subsystems and drivers to put devices into the suspended state by calling pm_runtime_suspend() from their ->remove() routines, execute pm_runtime_put_sync() after running the bus notifier in __device_release_driver(). This will require subsystems and drivers to make their ->remove() callbacks avoid races with runtime PM directly, but it will allow of more flexibility in the handling of devices during the removal of their drivers. Signed-off-by: Rafael J. Wysocki commit ee940d8dccd899aa1777ea84da3d9cd04b1d2e8e Author: Mike Frysinger Date: Mon Apr 25 12:33:15 2011 +0200 Freezer: Use SMP barriers The freezer processes are dealing with multiple threads running simultaneously, and on a UP system, the memory reads/writes do not need barriers to keep things in sync. These are only needed on SMP systems, so use SMP barriers instead. Signed-off-by: Mike Frysinger Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 3c431936087e93d2219a184a8e19eaa68077e379 Author: MyungJoo Ham Date: Fri Apr 22 22:00:54 2011 +0200 PM / Suspend: Do not ignore error codes returned by suspend_enter() The current implementation of suspend-to-RAM returns 0 if there is an error from suspend_enter(), because suspend_devices_and_enter() ignores the return value from suspend_enter(). This patch addresses this issue and properly keep the error return from suspend_enter() and let suspend_devices_and_enter relay the error return. Signed-off-by: MyungJoo Ham Signed-off-by: Kyungmin Park Signed-off-by: Rafael J. Wysocki commit 7cc31a9ae1477abc79d5992b3afe889f25c50c99 Author: Michał Mirosław Date: Tue May 17 16:50:02 2011 -0400 net: ethtool: fix IPV6 checksum feature name string Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 2494b030ba9334c7dd7df9b9f7abe4eacc950ec5 Author: Fenghua Yu Date: Tue May 17 12:33:26 2011 -0700 x86, cpufeature: Fix cpuid leaf 7 feature detection CPUID leaf 7, subleaf 0 returns the maximum subleaf in EAX, not the number of subleaves. Since so far only subleaf 0 is defined (and only the EBX bitfield) we do not need to qualify the test. Signed-off-by: Fenghua Yu Link: http://lkml.kernel.org/r/1305660806-17519-1-git-send-email-fenghua.yu@intel.com Signed-off-by: H. Peter Anvin Cc: 2.6.36..39 commit 604ae14ffb6d75d6eef4757859226b758d6bf9e3 Author: Michael S. Tsirkin Date: Mon May 16 10:37:39 2011 +0000 net: Change netdev_fix_features messages loglevel Cool, how about we make 'Features changed' debug as well? This way userspace can't fill up the log just by tweaking tun features with an ioctl. Signed-off-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit b9eb8b8752804cecbacdb4d24b52e823cf07f107 Author: Anton Blanchard Date: Tue May 17 15:38:57 2011 -0400 net: recvmmsg: Strip MSG_WAITFORONE when calling recvmsg recvmmsg fails on a raw socket with EINVAL. The reason for this is packet_recvmsg checks the incoming flags: err = -EINVAL; if (flags & ~(MSG_PEEK|MSG_DONTWAIT|MSG_TRUNC|MSG_CMSG_COMPAT|MSG_ERRQUEUE)) goto out; This patch strips out MSG_WAITFORONE when calling recvmmsg which fixes the issue. Signed-off-by: Anton Blanchard Cc: stable@kernel.org [2.6.34+] Signed-off-by: David S. Miller commit 11e73de7ccc1c9c61c65f914a214cb6467966a51 Author: Ian Campbell Date: Mon May 16 23:59:48 2011 +0000 xen: netback: use __CONST_RING_SIZE not __RING_SIZE The later causes warnings with gcc 4.5+. __CONST_RING_SIZE was introduced in 667c78afaec0 to fix this but as netback wasn't upstream at the time it did not benefit, hence: CC drivers/net/xen-netback/netback.o drivers/net/xen-netback/netback.c:110:37: warning: variably modified 'grant_copy_op' at file scope [enabled by default] drivers/net/xen-netback/netback.c:111:30: warning: variably modified 'meta' at file scope [enabled by default] drivers/net/xen-netback/netback.c: In function 'xen_netbk_rx_action': drivers/net/xen-netback/netback.c:584:6: warning: variable 'irq' set but not used [-Wunused-but-set-variable] Thanks to Witold Baryluk for pointing this out. Signed-off-by: Ian Campbell Cc: Witold Baryluk Signed-off-by: David S. Miller commit 94692349c4fc1bc74c19a28f9379509361a06a3b Author: Stephane Eranian Date: Tue May 17 15:36:19 2011 +0200 perf: Fix multi-event parsing bug This patch fixes an issue with event parsing. The following commit appears to have broken the ability to specify a comma separated list of events: commit ceb53fbf6dbb1df26d38379a262c6981fe73dd36 Author: Ingo Molnar Date: Wed Apr 27 04:06:33 2011 +0200 perf stat: Fail more clearly when an invalid modifier is specified This patch fixes this while preserving the desired effect: $ perf stat -e instructions:u,instructions:k ls /dev/null /dev/null Performance counter stats for 'ls /dev/null': 365956 instructions:u # 0.00 insns per cycle 731806 instructions:k # 0.00 insns per cycle 0.001108862 seconds time elapsed $ perf stat -e task-clock-msecs true invalid event modifier: '-msecs' Run 'perf list' for a list of valid events and modifiers Signed-off-by: Stephane Eranian Cc: acme@redhat.com Cc: peterz@infradead.org Cc: fweisbec@gmail.com Link: http://lkml.kernel.org/r/20110517133619.GA6999@quad Signed-off-by: Ingo Molnar commit 30b9284db3c77a5e20bb826cd1b66ed7b26cb726 Merge: 372b231 e6e4d9e Author: David S. Miller Date: Tue May 17 14:18:25 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6 commit c8144a36821b11e8124b38fdbf0b7cad546bbd2f Merge: f56e03e e4abce8 Author: David S. Miller Date: Tue May 17 14:17:05 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next-2.6 commit f56e03e8dc149bf0ac2888d6843584f48c8700fc Author: Vasiliy Kulikov Date: Tue May 17 00:16:56 2011 +0000 net: ping: fix build failure If CONFIG_PROC_SYSCTL=n the building process fails: ping.c:(.text+0x52af3): undefined reference to `inet_get_ping_group_range_net' Moved inet_get_ping_group_range_net() to ping.c. Reported-by: Randy Dunlap Signed-off-by: Vasiliy Kulikov Acked-by: Eric Dumazet Acked-by: Randy Dunlap Signed-off-by: David S. Miller commit 372b2312010bece1e36f577d6c99a6193ec54cbd Author: Eric Dumazet Date: Tue May 17 13:56:59 2011 -0400 net: use hlist_del_rcu() in dev_change_name() Using plain hlist_del() in dev_change_name() is wrong since a concurrent reader can crash trying to dereference LIST_POISON1. Bug introduced in commit 72c9528bab94 (net: Introduce dev_get_by_name_rcu()) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 86b9523ab1517f6edeb87295329c901930d3732d Merge: 2c14ddc fffcda1 Author: Ingo Molnar Date: Tue May 17 14:39:00 2011 +0200 Merge branch 'gart/rename' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/iommu commit 6ad11eaa8a689a27e0c99905bcf800a37cd432a0 Author: Joe Carnuccio Date: Tue May 10 11:30:16 2011 -0700 [SCSI] qla2xxx: Refactor call to qla2xxx_read_sfp for thermal temperature. Eliminate duplicate code by refactoring the calls to qla2xxx_read_sfp() in qla2x00_get_thermal_temp(). This keeps the parameter values separate from the mailbox register mechanics. This also allows qla2xxx_read_sfp() to be the sole "spec" for READ SFP semantics. Signed-off_by: Joe Carnuccio Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 6766df9e8ae2ab29459381ade1ca91b28688ab13 Author: Joe Carnuccio Date: Tue May 10 11:30:15 2011 -0700 [SCSI] qla2xxx: Unify the read/write sfp mailbox command routines. Make the read/write sfp mailbox command routines uniform, and remove redundancy. Also protect against attempting to do a single byte dma in these routines. Signed-off-by: Joe Carnuccio Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 773120e4df1d2bf543345ad850cc92dc1f1bad8a Author: Andrew Vasquez Date: Tue May 10 11:30:14 2011 -0700 [SCSI] qla2xxx: Clear complete initialization control block. Use proper init_cb_size member which takes into account MID/non-MID init-cb structure sizes. Signed-off-by: Andrew Vasquez Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 82515920b60760bca9f66decdaa7dd98191fa47c Author: Andrew Vasquez Date: Tue May 10 11:30:13 2011 -0700 [SCSI] qla2xxx: Allow an override of the registered maximum LUN. The 'max_lun' value registered for each scsi_host is currently capped at 0xffff. The new module parameter can allow for 2nd-level flat-space addressing method-infrastructure to be supported. Signed-off-by: Andrew Vasquez Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 24014d046485e1947dfb5d79365472d9981cda1e Author: Saurav Kashyap Date: Tue May 10 11:30:12 2011 -0700 [SCSI] qla2xxx: Add host number in reset and quiescent message logs. Signed-off-by: Saurav Kashyap Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 1bff6cc8fbb73d6bed809d3eff18e90c175a601c Author: Joe Carnuccio Date: Tue May 10 11:30:11 2011 -0700 [SCSI] qla2xxx: Correctly read sfp single byte mailbox register. When reading a single byte using the READ SFP mailbox command, the single byte of data is returned in MB[1] and not MB[8]. The reason that MB[8] was being used is that the spec was unclear as it evolved over time; and we have not needed to read a single byte until recently. Signed-off-by: Joe Carnuccio Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit d652e0937029e1f7cf9b17d639782db1b0c23ea9 Author: Chad Dupuis Date: Tue May 10 11:30:10 2011 -0700 [SCSI] qla2xxx: Add qla82xx_rom_unlock() function. Encapsulate the unlocking of the ROM lock in a function for better code readability. Signed-off-by: Chad Dupuis Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 875efad774f05433210c8d99af405260cfda4f09 Author: Chad Dupuis Date: Tue May 10 11:30:09 2011 -0700 [SCSI] qla2xxx: Log if qla82xx firmware fails to load from flash. Signed-off-by: Chad Dupuis Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 134ae078504293cadeecc8550c4def876a42b07b Author: Madhuranath Iyengar Date: Tue May 10 11:30:08 2011 -0700 [SCSI] qla2xxx: Use passed in host to initialize local scsi_qla_host in queuecommand function Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 93d29cc63f1832dbbbab721cce1b9f845becf4d7 Author: Joe Carnuccio Date: Tue May 10 11:30:07 2011 -0700 [SCSI] qla2xxx: Correct buffer start in edc sysfs debug print. The debug print prints the first byte of the buffer which is buf[8]. Signed-off-by: Joe Carnuccio Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 53296788f425def50d09c7e0d773bdeaae57c623 Author: Saurav Kashyap Date: Tue May 10 11:30:06 2011 -0700 [SCSI] qla2xxx: Update firmware version after flash update for ISP82xx. The driver keeps a copy of the fw_version within the ha structure. For ISP82xx, this local copy doesn't get updated, and as a result, the old firmware version ends up getting displayed. This patch fixes this issue. Signed-off-by: Saurav Kashyap Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 43ebf16d762b082663976b679b813e1b546548d1 Author: Arun Easi Date: Tue May 10 11:18:16 2011 -0700 [SCSI] qla2xxx: Fix hang during driver unload when vport is active. Bumping ref count during fc_vport_terminate() was the cause. vport delete would wait for ref count to drop to zero and that would never happen. Cc: stable@kernel.org Signed-off-by: Arun Easi Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit fa96d927362a422405d65491326f8ef763572e84 Author: Andrew Vasquez Date: Tue May 10 11:18:15 2011 -0700 [SCSI] qla2xxx: Properly set the dsd_list_len for dsd_chaining in cmd type 6. The firmware spec has the fcp_data_dseg_len defined as a 32-bit value, while the corresponding field in the driver structure has it defined as a 16-bit value. Cc: stable@kernel.org Signed-off-by: Andrew Vasquez Signed-off-by: Madhuranath Iyengar Cc: stable@kernel.org Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit cefcaba67ab97fb756b3a6af5139c94d861b660d Author: Saurav Kashyap Date: Tue May 10 11:18:18 2011 -0700 [SCSI] qla2xxx: Fix virtual port failing to login after chip reset. This patch ensures qla82xx_watchdog is not being run for the vport. It also makes sure that beacon ON is not done for the vport, as it will lead to the waking up of the dpc thread again and again. Signed-off-by: Saurav Kashyap Signed-off-by: Madhuranath Iyengar Cc: stable@kernel.org Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 9f40682e2857a3c2ddb80a87b185af3c6a708346 Author: Arun Easi Date: Tue May 10 11:18:17 2011 -0700 [SCSI] qla2xxx: Fix vport delete hang when logins are outstanding. Timer is required to flush out entries that may be present in work queues. Cc: stable@kernel.org Signed-off-by: Arun Easi Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 7630abd0c690e90cea9412846f596fe1565aaa0e Author: Joe Perches Date: Sun May 8 23:32:40 2011 -0700 [SCSI] hpsa: Change memset using sizeof(ptr) to sizeof(*ptr) Not at all sure this is correct or appropriate to change, but this seems odd. Found via coccinelle script @@ type T; T* ptr; expression E1; @@ * memset(E1, 0, sizeof(ptr)); Signed-off-by: Joe Perches Acked-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 51f52a47527a07e45746b1bac1ab6123892095a0 Author: Anton Blanchard Date: Mon May 9 10:07:40 2011 +1000 [SCSI] ipr: Rate limit DMA mapping errors I noticed a stream of errors from the IPR driver while doing IOMMU fault injection. Rate limit the errors so we don't clog up the console and logfiles. Signed-off-by: Anton Blanchard Acked-by: Brian King Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit fda38518f236cbd965110938e324f6c6fcc91f38 Author: Stephen M. Cameron Date: Tue May 3 15:00:07 2011 -0500 [SCSI] hpsa: add P2000 to list of shared SAS devices Signed-off-by: Scott Teel Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 4638078697574be43816779845e26bf05ae70d9d Author: Stephen M. Cameron Date: Tue May 3 15:00:01 2011 -0500 [SCSI] hpsa: do not attempt PCI power management reset method if we know it won't work. Just go straight to the soft-reset method instead. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit dfc2224828c5fc4ec7e11587b9d6b97283aa2d01 Author: Stephen M. Cameron Date: Tue May 3 14:59:56 2011 -0500 [SCSI] hpsa: remove superfluous sleeps around reset code Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 64670ac8702ec37a00ad6e479f3cacbde0fd4efa Author: Stephen M. Cameron Date: Tue May 3 14:59:51 2011 -0500 [SCSI] hpsa: do soft reset if hard reset is broken on driver load, if reset_devices is set, and the hard reset attempts fail, try to bring up the controller to the point that a command can be sent, and send it a soft reset command, then after the reset undo whatever driver initialization was done to get it to the point to take a command, and re-do it after the reset. This is to get kdump to work on all the "non-resettable" controllers (except 64xx controllers which can't be reset due to the potentially shared cache module.) Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit cf0b08d0cd87ada9d284925834d08fb8026da888 Author: Stephen M. Cameron Date: Tue May 3 14:59:46 2011 -0500 [SCSI] hpsa: use new doorbell-bit-5 reset method The bit-2-doorbell reset method seemed to cause (survivable) NMIs on some systems and (unsurvivable) IOCK NMIs on some G7 servers. Firmware guys implemented a new doorbell method to alleviate these problems triggered by bit 5 of the doorbell register. We want to use it if it's available. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 9a41338e5b474add499a7ca2a5a76148e5076805 Author: Stephen M. Cameron Date: Tue May 3 14:59:41 2011 -0500 [SCSI] hpsa: remove atrophied hpsa_scsi_setup function hpsa_scsi_setup at one time contained enough code to justify its existence, but that time has passed. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 2b870cb30000477e425666f9c6d83cca8fddc7c0 Author: Stephen M. Cameron Date: Tue May 3 14:59:36 2011 -0500 [SCSI] hpsa: clarify messages around reset behavior When waiting for the board to become "not ready" don't print a message saying "waiting for board to become ready" (possibly followed by a message saying "failed waiting for board to become not ready". Instead, it should be "waiting for board to reset" and "failed waiting for board to reset." Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 2ed7127bceb10a6a7d5a38c30ab65176d4e4bc0f Author: Stephen M. Cameron Date: Tue May 3 14:59:31 2011 -0500 [SCSI] hpsa: increase time to wait for board reset Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 0ae01a32cb4a89ef0ed49bb6f49bd5830b13ab3e Author: Stephen M. Cameron Date: Tue May 3 14:59:25 2011 -0500 [SCSI] hpsa: factor out irq request code Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 2e9d1b3626c4383362df30bb853a1b57c2798300 Author: Stephen M. Cameron Date: Tue May 3 14:59:20 2011 -0500 [SCSI] hpsa: factor out cmd pool allocation functions Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 516fda49e8596904a741693059c8746f11ce579c Author: Stephen M. Cameron Date: Tue May 3 14:59:15 2011 -0500 [SCSI] hpsa: wait longer for no-op to complete after resetting controller This is to avoid the usual two or three messages about the command timing out. We're obviously not waiting long enough. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 580ada3c1e2f23b4b0f3c254cae3eb278f92d494 Author: Stephen M. Cameron Date: Tue May 3 14:59:10 2011 -0500 [SCSI] hpsa: do a better job of detecting controller reset failure Detect failure of controller reset by noticing if the 32 bytes of "driver version" we store on the hardware in the config table fail to get zeroed out. Previously we noticed if the controller did not transition to "simple mode", but this did not detect reset failure if the controller was already in simple mode prior to the reset attempt (e.g. due to module parameter hpsa_simple_mode=1). Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit a2a431a4fd3b11c6808933ca1bdb2d28a8fa0634 Author: Stephen M. Cameron Date: Tue May 3 14:59:05 2011 -0500 [SCSI] hpsa: delete old unused padding garbage Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 1fb011fb05b6bac4fb8eabd324a6983116f7594d Author: Stephen M. Cameron Date: Tue May 3 14:59:00 2011 -0500 [SCSI] hpsa: remove unused parameter from hpsa_complete_scsi_command() Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 8cd21da71c952843f9cc215436286cf7f991cc6e Author: Stephen M. Cameron Date: Tue May 3 14:58:55 2011 -0500 [SCSI] hpsa: add readl after writel in interrupt mask setting code This is to ensure the board interrupts are really off when these functions return. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit d0be5ec8693944c2e2fc0de70fda9dbc1b93bd7d Author: Stephen M. Cameron Date: Tue May 3 14:58:49 2011 -0500 [SCSI] hpsa: do readl after writel in main i/o path to ensure commands don't get lost. Apparently we've been doin it rong for a decade, but only lately do we run into problems. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 72ef0e5757c160fc627d2c89b6379bc102ccab5c Author: Borislav Petkov Date: Mon May 2 16:49:38 2011 +0200 [SCSI] mptsas: Fix annoying warning Shut up drivers/message/fusion/mptsas.c: In function 'mptsas_event_process': drivers/message/fusion/mptsas.c:5015: warning: unused variable 'log_info' for configs with CONFIG_SCSI_MPT2SAS_LOGGING unset. Signed-off-by: Borislav Petkov Acked-by: "Desai, Kashyap" Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 3699d92a4d7b649bde67dff3cc681400992e0254 Author: Kiran Patil Date: Mon Apr 18 16:24:14 2011 -0700 [SCSI] tcm_fc: Adding FC_FC4 provider (tcm_fc) for FCoE target (TCM - target core) support This is a comprehensive patch for FC-FC4 provider. tcm_fc is a FC-FC4 provider which glues target core (TCM) with Fiber channel library (libfc). tcm_fc uses existing FC4 provider hooks from Fiber channel library. This Fiber channel library is used by FCoE (transport - FC over Ethernet) protocol driver as well. Combination of modules such as Fiber channel library, tcm_fc, TCM target core, and FCoE protocol driver enables functional FCoE target. This patch includes initial commit for tcm_fc plus additional enhancement, bug fixes. This tcm_fc module essentially contains 3 entry points such as "prli", "prlo", "recv". When process login request (ELS_PRLI) request is received, Fiber channel library (libfc) module calls passive providers (FC-FC4, tcm_fc) (if any registered) "prli" function. Likewise when LOGO request is received, "prlo" function of passive provider is invoked by libfc. For all other request (e.g. any read/write, task management, LUN inquiry commands), "recv" function of passiver provider is invoked by libfc. Those passive providers "prli, prlo, recv" functions interact with TCM target core for requested operation. This module was primarily developed by "Joe Eykholt" and there were significant contributions from the people listed under signed-off. Signed-off-by: Joe Eykholt Signed-off-by: Nicholas A. Bellinger Signed-off-by: Christoph Hellwig Signed-off-by: Yi Zou Signed-off-by: Kiran Patil Acked-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 6dcae1eaee2b437536b2fe928a609f9589691ebf Author: David S. Miller Date: Mon May 16 23:09:26 2011 -0400 bluetooth: Fix warnings in l2cap_core.c net/bluetooth/l2cap_core.c: In function ‘l2cap_recv_frame’: net/bluetooth/l2cap_core.c:3758:15: warning: ‘sk’ may be used uninitialized in this function net/bluetooth/l2cap_core.c:3758:15: note: ‘sk’ was declared here net/bluetooth/l2cap_core.c:3791:15: warning: ‘sk’ may be used uninitialized in this function net/bluetooth/l2cap_core.c:3791:15: note: ‘sk’ was declared here Signed-off-by: David S. Miller commit d46d4d64a85c6ff6118b33afd5d63bcb7e4be54a Merge: 2142c13 e00cf3b Author: David S. Miller Date: Mon May 16 22:49:41 2011 -0400 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit e00cf3b9eb7839b952e434a75bff6b99e47337ac Merge: 1a8218e 3b8ab88 Author: John W. Linville Date: Mon May 16 14:55:42 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: drivers/net/wireless/iwlwifi/iwl-agn-tx.c net/mac80211/sta_info.h commit e4abce8538496ba90cb89909894ea42e00f96a7d Author: Ben Hutchings Date: Mon May 16 18:51:24 2011 +0100 sfc: Use netif_device_{detach,attach}() around reset and self-test We need to keep the TX queues stopped throughout a reset, without triggering the TX watchdog and regardless of the link state. The proper way to do this is to use netif_device_{detach,attach}() just as we do around suspend/resume, rather than the current bodge of faking link-down. Since we also need to do this during an offline self-test and we perform a reset during that, add these function calls outside of efx_reset_down() and efx_reset_up(). Signed-off-by: Ben Hutchings commit dc382fd5bcca7098a984705ed6ac880f539d068e Author: David Rientjes Date: Mon May 16 13:54:10 2011 -0700 x86, mm: Allow ZONE_DMA to be configurable ZONE_DMA is unnecessary for a large number of machines that do not require less than 32-bit DMA addressing, e.g. ISA legacy DMA or PCI cards with a restricted DMA address mask. This patch allows users to disable ZONE_DMA for x86 if they know they will not be using such devices with their kernel. This prevents the VM from unnecessarily reserving a ratio of memory (defaulting to 1/256th of system capacity) with lowmem_reserve_ratio for such allocations when it will never be used. Signed-off-by: David Rientjes Link: http://lkml.kernel.org/r/alpine.DEB.2.00.1105161353560.4353@chino.kir.corp.google.com Signed-off-by: H. Peter Anvin commit 865be7a81071a77014c83cd01536c989eed362b4 Author: Ondrej Zary Date: Mon May 16 21:38:08 2011 +0200 x86, cpu: Fix detection of Celeron Covington stepping A1 and B0 Steppings A1 and B0 of Celeron Covington are currently misdetected as Pentium II (Dixon). Fix it by removing the stepping check. [ hpa: this fixes this specific bug... the CPUID documentation specifies that the L2 cache size can disambiguate additional CPUs; this patch does not fix that. ] Signed-off-by: Ondrej Zary Link: http://lkml.kernel.org/r/201105162138.15416.linux@rainbow-software.org Signed-off-by: H. Peter Anvin commit f29638868280534ed7e2fdd93b31557232597940 Author: Martin Schwidefsky Date: Tue May 10 10:10:43 2011 +0200 ftrace/s390: mcount offset calculation Do the mcount offset adjustment in the recordmcount.pl/recordmcount.[ch] at compile time and not in ftrace_call_adjust at run time. Signed-off-by: Martin Schwidefsky Signed-off-by: Steven Rostedt commit 521ccb5c4aece609311bfa7157910a8f0c942af5 Author: Martin Schwidefsky Date: Tue May 10 10:10:41 2011 +0200 ftrace/x86: mcount offset calculation Do the mcount offset adjustment in the recordmcount.pl/recordmcount.[ch] at compile time and not in ftrace_call_adjust at run time. Signed-off-by: Martin Schwidefsky Signed-off-by: Steven Rostedt commit 2142c131a3e290ae350f8a0b0d354c0585a96df1 Author: KOSAKI Motohiro Date: Mon May 16 11:53:49 2011 -0700 net: convert to new cpumask API We plan to remove cpu_xx() old api later. Thus this patch convert it. This patch has no functional change. Signed-off-by: KOSAKI Motohiro Signed-off-by: David S. Miller commit 07d8b595f367f4604e6027ad4cba33cbe3f55e10 Author: Martin Schwidefsky Date: Tue May 10 10:10:40 2011 +0200 ftrace/recordmcount: mcount address adjustment Introduce mcount_adjust{,_32,_64} to the C implementation of recordmcount analog to $mcount_adjust in the perl script. The adjustment is added to the address of the relocations against the mcount symbol. If this adjustment is done by recordmcount at compile time the ftrace_call_adjust function can be turned into a nop. Cc: John Reiser Signed-off-by: Martin Schwidefsky Signed-off-by: Steven Rostedt commit 5173cc057787560c127c6e9737f308c833dc4ff3 Author: Eric Dumazet Date: Mon May 16 08:37:37 2011 +0000 ipv4: more compliant RFC 3168 support Commit 6623e3b24a5e (ipv4: IP defragmentation must be ECN aware) was an attempt to not lose "Congestion Experienced" (CE) indications when performing datagram defragmentation. Stefanos Harhalakis raised the point that RFC 3168 requirements were not completely met by this commit. In particular, we MUST detect invalid combinations and eventually drop illegal frames. Reported-by: Stefanos Harhalakis Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 41b402a201a12efdff4acc990e023a89a409cd41 Author: Steven Rostedt Date: Wed Apr 20 21:13:06 2011 -0400 ftrace/recordmcount: Add helper function get_sym_str_and_relp() The code to get the symbol, string, and relp pointers in the two functions sift_rel_mcount() and nop_mcount() are identical and also non-trivial. Moving this duplicate code into a single helper function makes the code easier to read and more maintainable. Cc: John Reiser Link: http://lkml.kernel.org/r/20110421023739.723658553@goodmis.org Signed-off-by: Steven Rostedt commit 37762cb9977626343b3cd1aab9146313c94748c2 Author: Steven Rostedt Date: Wed Apr 20 20:47:34 2011 -0400 ftrace/recordmcount: Remove duplicate code to find mcount symbol The code in sift_rel_mcount() and nop_mcount() to get the mcount symbol number is identical. Replace the two locations with a call to a function that does the work. Cc: John Reiser Link: http://lkml.kernel.org/r/20110421023739.488093407@goodmis.org Signed-off-by: Steven Rostedt commit 2895cd2ab81dfb7bc22637bc110857db44a30b4a Author: Steven Rostedt Date: Wed Apr 13 16:43:29 2011 -0400 ftrace/x86: Do not trace .discard.text section The section called .discard.text has tracing attached to it and is currently ignored by ftrace. But it does include a call to the mcount stub. Adding a notrace to the code keeps gcc from adding the useless mcount caller to it. Link: http://lkml.kernel.org/r/20110421023739.243651696@goodmis.org Signed-off-by: Steven Rostedt commit f0201738b61b1adcf6b2c4719c5c415745014c1c Author: Steven Rostedt Date: Tue Apr 12 19:06:39 2011 -0400 ftrace: Avoid recording mcount on .init sections directly The init and exit sections should not be traced and adding a call to mcount to them is a waste of text and instruction cache. Have the macro section attributes include notrace to ignore these functions for tracing from the build. Link: http://lkml.kernel.org/r/20110421023738.953028219@goodmis.org Signed-off-by: Steven Rostedt commit 85356f802225fedeee8c3e65bdd93b263ace0a8b Author: Steven Rostedt Date: Tue Apr 12 18:59:10 2011 -0400 kbuild/recordmcount: Add RECORDMCOUNT_WARN to warn about mcount callers When mcount is called in a section that ftrace will not modify it into a nop, we want to warn about this. But not warn about this always. Now if the user builds the kernel with the option RECORDMCOUNT_WARN=1 then the build will warn about mcount callers that are ignored and will just waste execution time. Acked-by: Michal Marek Cc: linux-kbuild@vger.kernel.org Link: http://lkml.kernel.org/r/20110421023738.714956282@goodmis.org Signed-off-by: Steven Rostedt commit dfad3d598c4bbbaf137588e22bac1ce624529f7e Author: Steven Rostedt Date: Tue Apr 12 18:53:25 2011 -0400 ftrace/recordmcount: Add warning logic to warn on mcount not recorded There's some sections that should not have mcount recorded and should not have modifications to the that code. But currently they waste some time by calling mcount anyway (which simply returns). As the real answer should be to either whitelist the section or have gcc ignore it fully. This change adds a option to recordmcount to warn when it finds a section that is ignored by ftrace but still contains mcount callers. This is not on by default as developers may not know if the section should be completely ignored or added to the whitelist. Cc: John Reiser Link: http://lkml.kernel.org/r/20110421023738.476989377@goodmis.org Signed-off-by: Steven Rostedt commit ffd618fa39284f8cc343894b566dd42ec6e74e77 Author: Steven Rostedt Date: Fri Apr 8 03:58:48 2011 -0400 ftrace/recordmcount: Make ignored mcount calls into nops at compile time There are sections that are ignored by ftrace for the function tracing because the text is in a section that can be removed without notice. The mcount calls in these sections are ignored and ftrace never sees them. The downside of this is that the functions in these sections still call mcount. Although the mcount function is defined in assembly simply as a return, this added overhead is unnecessary. The solution is to convert these callers into nops at compile time. A better solution is to add 'notrace' to the section markers, but as new sections come up all the time, it would be nice that they are delt with when they are created. Later patches will deal with finding these sections and doing the proper solution. Thanks to H. Peter Anvin for giving me the right nops to use for x86. Cc: "H. Peter Anvin" Cc: John Reiser Link: http://lkml.kernel.org/r/20110421023738.237101176@goodmis.org Signed-off-by: Steven Rostedt commit 8abd5724a7f1631ab2276954156c629d4d17149a Author: Steven Rostedt Date: Wed Apr 13 13:31:08 2011 -0400 ftrace/recordmcount: Modify only executable sections PROGBITS is not enough to determine if the section should be modified or not. Only process sections that are marked as executable. Cc: John Reiser Link: http://lkml.kernel.org/r/20110421023737.991485123@goodmis.org Signed-off-by: Steven Rostedt commit 9f087e7612115b7a201d4f3392a95ac7408948ab Author: Steven Rostedt Date: Wed Apr 6 14:10:22 2011 -0400 ftrace: Add .kprobe.text section to whitelist for recordmcount.c The .kprobe.text section is safe to modify mcount to nop and tracing. Add it to the whitelist in recordmcount.c and recordmcount.pl. Cc: John Reiser Cc: Masami Hiramatsu Link: http://lkml.kernel.org/r/20110421023737.743350547@goodmis.org Signed-off-by: Steven Rostedt commit e90b0c8bf211958a296d60369fecd51b35864407 Author: Steven Rostedt Date: Wed Apr 6 13:32:24 2011 -0400 ftrace/trivial: Clean up record mcount to use Linux switch style The Linux style for switch statements is: switch (var) { case x: [...] break; } Not: switch (var) { case x: { [...] } break; Cc: John Reiser Link: http://lkml.kernel.org/r/20110421023737.523968644@goodmis.org Signed-off-by: Steven Rostedt commit dd5477ff3ba978892014ea5f988cb1bf04aa505e Author: Steven Rostedt Date: Wed Apr 6 13:21:17 2011 -0400 ftrace/trivial: Clean up recordmcount.c to use Linux style comparisons The Linux ftrace subsystem style for comparing is: var == 1 var > 0 and not: 1 == var 0 < var It is considered that Linux developers are smart enough not to do the if (var = 1) mistake. Cc: John Reiser Link: http://lkml.kernel.org/r/20110421023737.290712238@goodmis.org Signed-off-by: Steven Rostedt commit eecaaba5b2e4ae762b4726fae2e3b22630e137ec Author: Borislav Petkov Date: Mon May 16 15:39:48 2011 +0200 Documentation, ABI: Update L3 cache index disable text Change contact person to AMD kernel mailing list, update text and external references, drop "Users:" tag. Cc: Randy Dunlap Signed-off-by: Borislav Petkov Link: http://lkml.kernel.org/r/1305553188-21061-4-git-send-email-bp@amd64.org Acked-by: Greg Kroah-Hartman Signed-off-by: H. Peter Anvin commit 42be450565b0fc4607fae3e3a7da038d367a23ed Author: Frank Arnold Date: Mon May 16 15:39:47 2011 +0200 x86, AMD, cacheinfo: Fix L3 cache index disable checks We provide two slots to disable cache indices, and have a check to prevent both slots to be used for the same index. If the user disables the same index on different subcaches, both slots will hold the same index, e.g. $ echo 2047 > /sys/devices/system/cpu/cpu0/cache/index3/cache_disable_0 $ cat /sys/devices/system/cpu/cpu0/cache/index3/cache_disable_0 2047 $ echo 1050623 > /sys/devices/system/cpu/cpu0/cache/index3/cache_disable_1 $ cat /sys/devices/system/cpu/cpu0/cache/index3/cache_disable_1 2047 due to the fact that the check was looking only at index bits [11:0] and was ignoring writes to bits outside that range. The more correct fix is to simply check whether the index is within the bounds of [0..l3->indices]. While at it, cleanup comments and drop now-unused local macros. Signed-off-by: Frank Arnold Link: http://lkml.kernel.org/r/1305553188-21061-3-git-send-email-bp@amd64.org Signed-off-by: Borislav Petkov Signed-off-by: H. Peter Anvin commit 50e7534427283afd997d58481778c07bea79eb63 Author: Borislav Petkov Date: Mon May 16 15:39:46 2011 +0200 x86, AMD, cacheinfo: Fix fallout caused by max3 conversion 732eacc0542d0aa48797f675888b85d6065af837 converted code around the kernel using nested max() macros to use the new max3 macro but forgot to remove the old line in intel_cacheinfo.c. Fix it. Cc: Hagen Paul Pfeifer Cc: Frank Arnold Signed-off-by: Borislav Petkov Link: http://lkml.kernel.org/r/1305553188-21061-2-git-send-email-bp@amd64.org Signed-off-by: H. Peter Anvin commit 72874daa5e9064c4e8d689e6a04b1e96f687f872 Author: Rafael J. Wysocki Date: Tue May 3 19:45:32 2011 +0200 PM: Fix build issue in clock_ops.c for CONFIG_PM_RUNTIME unset Fix a build issue in drivers/base/power/clock_ops.c occuring when CONFIG_PM_RUNTIME is not set. Signed-off-by: Rafael J. Wysocki commit 2064af917b3ba7589070064ca4ed12cecd99a63c Author: Kevin Hilman Date: Fri Apr 29 00:37:26 2011 +0200 PM: Revert "driver core: platform_bus: allow runtime override of dev_pm_ops" The platform_bus_set_pm_ops() operation is deprecated in favor of the new device power domain infrastructre implemented in commit 7538e3db6e015e890825fbd9f8659952896ddd5b (PM: add support for device power domains) Signed-off-by: Kevin Hilman Signed-off-by: Rafael J. Wysocki commit 600b776eb39a13a28b090ba9efceb0c69d4508aa Author: Rafael J. Wysocki Date: Mon May 16 20:15:36 2011 +0200 OMAP1 / PM: Use generic clock manipulation routines for runtime PM Convert OMAP1 to using the new generic clock manipulation routines and a device power domain for runtime PM instead of overriding the platform bus type's runtime PM callbacks. This allows us to simplify OMAP1-specific code and to share some code with other platforms (shmobile in particular). Signed-off-by: Rafael J. Wysocki Acked-by: Kevin Hilman commit 485bf569ba798b4702bc2efbfd3a355fe2c8db04 Author: Shripad Nunjundarao Date: Mon May 16 07:36:59 2011 +0000 be2net: FW download for Lancer Added implementation of FW download feature for Lancer. Signed-off-by: Shripad Nunjundarao Signed-off-by: Sevin Xavier Signed-off-by: Padmanabh Ratnakar Signed-off-by: David S. Miller commit 005d569600b404cae0b356e3c4085290ecc17775 Author: Selvin Xavier Date: Mon May 16 07:36:35 2011 +0000 be2net: Stats for Lancer Added Lancer stats implementation. Signed-off-by: Selvin Xavier Signed-off-by: Padmanabh Ratnakar Signed-off-by: David S. Miller commit 89a88ab84b946a90839fb66ca3583a2504c11292 Author: Ajit Khaparde Date: Mon May 16 07:36:18 2011 +0000 be2net: Support for version 1 of stats for BE3 Added support to get version 1 of the stats for BE3. Use old stats command for BE2. Signed-off-by: Ajit Khaparde Signed-off-by: Selvin Xavier Signed-off-by: Padmanabh Ratnakar Signed-off-by: David S. Miller commit 3b8ab88acaceb505aa06ef3bbf3a73b92470ae78 Author: Yogesh Ashok Powar Date: Fri May 13 11:22:32 2011 -0700 mwifiex: use ieee80211_amsdu_to_8023s routine mwifiex was using its own implementation of converting 802.11n AMSDU to 802.3s. This patch removes mwifiex specific implementation and uses existing ieee80211_amsdu_to_8023s routine. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 8b3becadc82de3b87a5c196239db3fef6caa9c82 Author: Yogesh Ashok Powar Date: Fri May 13 11:22:31 2011 -0700 cfg80211: make stripping of 802.11 header optional from AMSDU Currently the devices that have already stripped IEEE 802.11 header from the AMSDU SKB can not use ieee80211_amsdu_to_8023s routine. This patch enhances ieee80211_amsdu_to_8023s() API by changing mandatory removing of IEEE 802.11 header from AMSDU to optional. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 57cf8043a64b56a10b9f194572548a3dfb62e596 Author: Javier Cardona Date: Fri May 13 10:45:43 2011 -0700 nl80211: Move peer link state definition to nl80211 These definitions need to be exposed now that we can set the peer link states via NL80211_ATTR_STA_PLINK_STATE. They were already being (opaquely) reported by NL80211_STA_INFO_PLINK_STATE. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 108697c44b8e50bea3505c6bf9667da4627cb2d5 Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:59:42 2011 +0530 ath9k: make npending frames check as bool we are not doing anything by tracking the number of pending frames. bail out when we first find a pending frame in any one of the 10 queues. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 21e8ee6d207f6d384689571101436eb9070c22ca Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:31:40 2011 +0530 ath9k: make sure main_rssi is positive some times the rssi control descriptor for the main antenna may be negative like that of alternate antenna, hence before incrementing packet counts/rssi of main/alternate antenna make sure both main_rssi and alt_rssi are positive only. this avoids wrong selection of antenna due to diversity Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 3e9a212a9e21266115bad2982016950fb2bf29c2 Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:31:23 2011 +0530 ath9k: configure fast_div_bias based on diversity group configure fast diversity bias based on the antenna diversity group and based on main/alt LNA configurations. also configure main antenna and alternate antenna to gain-table 0 for diversity group 2(AR9485) Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit b85c5734f00886ee0f33ef4d0038ed9a278eefce Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:31:09 2011 +0530 ath9k: Implement an API to swap main/ALT LNA's for the diversity group 2(AR9485) we swap the LNA's of main/ALT antenna based on alternate antenna's rssi average in comparision with main antenna's rssi, while for AR9285(antenna diversity group 0)we still follow the older method of looking at the packet count in alternate antenna Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 8afbcc8bfb549a522298fa4a31ee5155c2b5f7a0 Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:30:56 2011 +0530 ath9k_hw: define antenna diversity group AR9285 belongs to diversity group 0 and AR9485 belongs to diversity group 2. Based on the diversity group we configure certain antenna diversity paramaters such as lna1_lna2_delta and fast diversity bias values. For AR9485 we have some gain table parameter which selects the gain table 0/1 for main and alternate antenna Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 6bcbc062c23ac769cb775f3d2cf209db9d1a96fe Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:30:41 2011 +0530 ath9k_hw: define modules to get/set Antenna diversity paramaters these are the two important modules that will be called by the antenna diversity algorithm module in the rx. this will continuosly configure the hardware based on the current diversity status obtained from the algorithm Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 842ca780af06d166c87725b68f4fe359c3da7bc0 Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:30:27 2011 +0530 ath9k_hw: config diversity based on eeprom contents * enable LNA-diversity, fast-diversity for AR9485 based on the value read from EEPROM content * if antenna diversity/combining is supported, set LNA1 for the main antenna and LNA2 for the alternate antenna based on the new diversity algorithm Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Cc: Luis Rodriguez Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit c6ba9feb4fa33f31f26ac1a2b0a337d79426b822 Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:29:53 2011 +0530 ath9k_hw: define registers/macros to support Antenna diversity define few registers and macros to configure/enable Antenna diversity parameters in AR9485 Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 21d2c63a2866a47030803de3db9b4e8759806095 Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:29:31 2011 +0530 ath9k_hw: enable Antenna diversity for AR9485 read antenna diversity and combining information from the EEPROM. Enable antenna diversity/combining feature only when both LNA diversity and fast diversity are supported Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Tested-by: Mohammed Shafi Shajakhan Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 69de3721750ea4fae504be9e67f140cafe1c7a89 Author: Mohammed Shafi Shajakhan Date: Fri May 13 20:29:04 2011 +0530 ath9k_hw: make antenna diversity modules chip specific this is necessary to support Antenna diversity and combining in new chip sets such as AR9485, previously Antenna diversity support is available only in AR9285 Cc: Gabriel Tseng Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit bd2281b85d929af0bd192f05135f70dd05f4fd85 Author: Julia Lawall Date: Fri May 13 15:52:10 2011 +0200 net/rfkill/core.c: Avoid leaving freed data in a list The list_for_each_entry loop can fail, in which case the list element is not removed from the list rfkill_fds. Since this list is not accessed by the loop, the addition of &data->list into the list is just moved after the loop. The sematic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression E,E1,E2; identifier l; @@ *list_add(&E->l,E1); ... when != E1 when != list_del(&E->l) when != list_del_init(&E->l) when != E = E2 *kfree(E);// Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 40b275b69ee660274b77fb612b0db31fd282fc3f Author: Johannes Berg Date: Fri May 13 14:15:49 2011 +0200 mac80211: sparse RCU annotations This adds sparse RCU annotations to most of mac80211, only the mesh code remains to be done. Due the the previous patches, the annotations are pretty simple. The only thing that this actually changes is removing the RCU usage of key->sta in debugfs since this pointer isn't actually an RCU-managed pointer (it only has a single assignment done before the key even goes live). As that is otherwise harmless, I decided to make it part of this patch. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ec034b208dc8aa5dc73ec46c3f27e34c5efbf113 Author: Johannes Berg Date: Fri May 13 13:35:40 2011 +0200 mac80211: fix TX a-MPDU locking During my quest to make mac80211 not have any RCU warnings from sparse, I came across the a-MPDU code again and it wasn't quite clear why it isn't racy. So instead of assigning the tid_tx array with just the spinlock held in ieee80211_start_tx_ba_session use a separate temporary array protected only by the spinlock and protect all assignments to the "live" array by both the spinlock and the mutex so that other code is easily verified to be correct. Due to pointer assignment atomicity I don't think this is a real issue, but I'm not sure, especially on Alpha the current code might be problematic. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7527a782e187d1214a5b3dc2897ce441033bb4ef Author: Johannes Berg Date: Fri May 13 10:58:57 2011 +0200 cfg80211: advertise possible interface combinations Add the ability to advertise interface combinations in nl80211. This allows the driver to indicate what the combinations are that it supports. "Combinations" of just a single interface are implicit, as previously. Note that cfg80211 will enforce that the restrictions are met, but not for all drivers yet (once all drivers are updated, we can remove the flag and enforce for all). When no combinations are actually supported, an empty list will be exported so that userspace can know if the kernel exported this info or not (although it isn't clear to me what tools using the info should do if the kernel didn't export it). Since some interface types are purely virtual/software and don't fit the restrictions, those are exposed in a new list of pure SW types, not subject to restrictions. This mainly exists to handle AP-VLAN and monitor interfaces in mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 805d7d23ef9806e47b550ad80270c4cea4ffc984 Author: Stephen Boyd Date: Thu May 12 16:50:05 2011 -0700 iwlwifi: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning Enabling DEBUG_STRICT_USER_COPY_CHECKS causes the following warning: In file included from arch/x86/include/asm/uaccess.h:573, from include/net/checksum.h:25, from include/linux/skbuff.h:28, from drivers/net/wireless/iwlwifi/iwl-agn-rs.c:28: In function 'copy_from_user', inlined from 'rs_sta_dbgfs_scale_table_write' at drivers/net/wireless/iwlwifi/iwl-agn-rs.c:3099: arch/x86/include/asm/uaccess_64.h:65: warning: call to 'copy_from_user_overflow' declared with attribute warning: copy_from_user() buffer size is not provably correct presumably due to buf_size being signed causing GCC to fail to see that buf_size can't become negative. Signed-off-by: Stephen Boyd Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 8220ba3e2e671492b777159d8dac721f95f4a0ec Author: Stephen Boyd Date: Thu May 12 16:50:04 2011 -0700 iwlegacy: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning Enabling DEBUG_STRICT_USER_COPY_CHECKS causes the following warning: In file included from arch/x86/include/asm/uaccess.h:573, from include/net/checksum.h:25, from include/linux/skbuff.h:28, from drivers/net/wireless/iwlegacy/iwl-4965-rs.c:28: In function 'copy_from_user', inlined from 'iwl4965_rs_sta_dbgfs_scale_table_write' at drivers/net/wireless/iwlegacy/iwl-4965-rs.c:2616: arch/x86/include/asm/uaccess_64.h:65: warning: call to 'copy_from_user_overflow' declared with attribute warning: copy_from_user() buffer size is not provably correct presumably due to buf_size being signed causing GCC to fail to see that buf_size can't become negative. Cc: Johannes Berg Signed-off-by: Stephen Boyd Signed-off-by: John W. Linville commit f5ec25deb2471bd49e907ab2f9ef6f860eb7cf95 Author: Chen Gong Date: Mon May 16 11:01:39 2011 -0700 pstore: fix potential logic issue in pstore read interface 1) in the calling of erst_read, the parameter of buffer size maybe overflows and cause crash 2) the return value of erst_read should be checked more strictly Signed-off-by: Chen Gong Signed-off-by: Tony Luck commit 06cf91b4b4aafa50ee0a94c81d2c6922a18af242 Author: Chen Gong Date: Mon May 16 11:00:27 2011 -0700 pstore: fix pstore filesystem mount/remount issue Currently after mount/remount operation on pstore filesystem, the content on pstore will be lost. It is because current ERST implementation doesn't support multi-user usage, which moves internal pointer to the end after accessing it. Adding multi-user support for pstore usage. Signed-off-by: Chen Gong Signed-off-by: Tony Luck commit 8d38d74b648513dd8ed8bd2b67d899208ef4e09e Author: Chen Gong Date: Mon May 16 10:58:57 2011 -0700 pstore: fix one type of return value in pstore the return type of function _read_ in pstore is size_t, but in the callback function of _read_, the logic doesn't consider it too much, which means if negative value (assuming error here) is returned, it will be converted to positive because of type casting. ssize_t is enough for this function. Signed-off-by: Chen Gong Signed-off-by: Tony Luck commit 538dd2e3976a7c572ee927d6bbebe01bf4d6f128 Author: Mahesh Bandewar Date: Fri May 13 15:08:49 2011 +0000 bnx2x: Allow ethtool to enable/disable loopback. This patch updates the bnx2x_set_features() to handle loopback mode. When enabled; it sets internal-MAC loopback. Signed-off-by: Mahesh Bandewar Signed-off-by: David S. Miller commit c5be24ff62d238a3fdd5d15461b420cd72e78a14 Author: David S. Miller Date: Fri May 13 18:01:21 2011 -0400 ipv4: Trivial rt->rt_src conversions in net/ipv4/route.c At these points we have a fully filled in value via the IP header the form of ip_hdr(skb)->saddr Signed-off-by: David S. Miller commit 7c1bfd685bcdc822ab1d7411ea05c82bd2a7b260 Author: Konrad Rzeszutek Wilk Date: Mon May 16 13:47:30 2011 -0400 xen/pci: Fix compiler error when CONFIG_XEN_PRIVILEGED_GUEST is not set. If we have CONFIG_XEN and the other parameters to build an Linux kernel that is non-privileged, the xen_[find|register|unregister]_ device_domain_owner functions should not be compiled. They should use the nops defined in arch/x86/include/asm/xen/pci.h instead. This fixes: arch/x86/pci/xen.c:496: error: redefinition of ‘xen_find_device_domain_owner’ arch/x86/include/asm/xen/pci.h:25: note: previous definition of ‘xen_find_device_domain_owner’ was here arch/x86/pci/xen.c:510: error: redefinition of ‘xen_register_device_domain_owner’ arch/x86/include/asm/xen/pci.h:29: note: previous definition of ‘xen_register_device_domain_owner’ was here arch/x86/pci/xen.c:532: error: redefinition of ‘xen_unregister_device_domain_owner’ arch/x86/include/asm/xen/pci.h:34: note: previous definition of ‘xen_unregister_device_domain_owner’ was here Signed-off-by: Konrad Rzeszutek Wilk Reported-by: Randy Dunlap commit 602a5322a7a1b6b005cb50d423939bb7a8782838 Author: Ben Hutchings Date: Mon May 16 17:32:39 2011 +0100 sfc: Fix TX queue numbering when separate_tx_channels=1 This option appears to have been broken by commit 8313aca38b3937947fffebca6e34bac8e24300c8 ('sfc: Allocate each channel separately, along with its RX and TX queues'). Signed-off-by: Ben Hutchings commit 1a8218e96271790a07dd7065a2ef173e0f67e328 Author: Eric Dumazet Date: Sun May 15 21:26:31 2011 +0000 net: ping: dont call udp_ioctl() udp_ioctl() really handles UDP and UDPLite protocols. 1) It can increment UDP_MIB_INERRORS in case first_packet_length() finds a frame with bad checksum. 2) It has a dependency on sizeof(struct udphdr), not applicable to ICMP/PING If ping sockets need to handle SIOCINQ/SIOCOUTQ ioctl, this should be done differently. Signed-off-by: Eric Dumazet CC: Vasiliy Kulikov Acked-by: Vasiliy Kulikov Signed-off-by: David S. Miller commit e6e4d9ed11fb1fab8b3256a3dc14d71b5e984ac4 Author: Patrick McHardy Date: Mon May 16 14:45:39 2011 +0200 netfilter: nf_ct_sip: fix SDP parsing in TCP SIP messages for some Cisco phones Some Cisco phones do not place the Content-Length field at the end of the SIP message. This is valid, due to a misunderstanding of the specification the parser expects the SDP body to start directly after the Content-Length field. Fix the parser to scan for \r\n\r\n to locate the beginning of the SDP body. Reported-by: Teresa Kang Signed-off-by: Patrick McHardy commit 274ea0e2a4cdf18110e5931b8ecbfef6353e5293 Author: Patrick McHardy Date: Mon May 16 14:42:26 2011 +0200 netfilter: nf_ct_sip: validate Content-Length in TCP SIP messages Verify that the message length of a single SIP message, which is calculated based on the Content-Length field contained in the SIP message, does not exceed the packet boundaries. Signed-off-by: Patrick McHardy commit db670dac49b5423b39b5e523d28fe32045d71b10 Author: Stephan Baerwolf Date: Wed May 11 18:03:29 2011 +0200 sched: Fix and optimise calculation of the weight-inverse If the inverse loadweight should be zero, function "calc_delta_mine" calculates the inverse of "lw->weight" (in 32bit integer ops). This calculation is actually a little bit impure (because it is inverting something around "lw-weight"+1), especially when "lw->weight" becomes smaller. The correct inverse would be 1/lw->weight multiplied by "WMULT_CONST" for fixcomma-scaling it into integers. (So WMULT_CONST/lw->weight ...) The old, impure algorithm took two divisions for inverting lw->weight, the new, more exact one only takes one and an additional unlikely-if. Signed-off-by: Stephan Baerwolf Signed-off-by: Peter Zijlstra Cc: Linus Torvalds Link: http://lkml.kernel.org/n/tip-0pz0wnyalr4tk4ln11xwumdx@git.kernel.org [ This could explain some aritmetical issues for small shares but nothing concrete has been reported yet so we are not confident enough to queue this up in sched/urgent and for -stable backport. But if anyone finds this commit and sees it to fix some badness then we can certainly change our mind! ] Signed-off-by: Ingo Molnar commit db44fc017d5989302713ab4e7f9e922b648f4b59 Author: Yong Zhang Date: Mon May 9 22:07:05 2011 +0800 sched: Avoid going ahead if ->cpus_allowed is not changed If cpumask_equal(&p->cpus_allowed, new_mask) is true, seems there is no reason to prevent set_cpus_allowed_ptr() return directly. Signed-off-by: Yong Zhang Acked-by: Hillf Danton Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110509140705.GA2219@zhy Signed-off-by: Ingo Molnar commit 61eadef6a9bde9ea62fda724a9cb501ce9bc925a Author: Mike Galbraith Date: Fri Apr 29 08:36:50 2011 +0200 sched, rt: Update rq clock when unthrottling of an otherwise idle CPU If an RT task is awakened while it's rt_rq is throttled, the time between wakeup/enqueue and unthrottle/selection may be accounted as rt_time if the CPU is idle. Set rq->skip_clock_update negative upon throttle release to tell put_prev_task() that we need a clock update. Reported-by: Thomas Giesel Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1304059010.7472.1.camel@marge.simson.net Signed-off-by: Ingo Molnar commit ec514c487c3d4b652943da7b0afbc094eee08cfa Author: Cheng Xu Date: Sat May 14 14:20:02 2011 +0800 sched: Fix rt_rq runtime leakage bug This patch is to fix the real-time scheduler bug reported at: https://lkml.org/lkml/2011/4/26/13 That is, when running multiple real-time threads on every logical CPUs and then turning off one CPU, the kernel will bug at function __disable_runtime(). Function __disable_runtime() bugs and reports leakage of rt_rq runtime. The root cause is __disable_runtime() assumes it iterates through all the existing rt_rq's while walking rq->leaf_rt_rq_list, which actually contains only runnable rt_rq's. This problem also applies to __enable_runtime() and print_rt_stats(). The patch is based on above analysis, appears to fix the problem, but is only lightly tested. Reported-by: Paul E. McKenney Tested-by: Paul E. McKenney Signed-off-by: Cheng Xu Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/4DCE1F12.6040609@linux.vnet.ibm.com Signed-off-by: Ingo Molnar commit b23b64516500df6b70fcafb820970f18538252cf Author: Andy Lutomirski Date: Mon May 16 15:12:47 2011 +1000 crypto: aesni-intel - Merge with fpu.ko Loading fpu without aesni-intel does nothing. Loading aesni-intel without fpu causes modes like xts to fail. (Unloading aesni-intel will restore those modes.) One solution would be to make aesni-intel depend on fpu, but it seems cleaner to just combine the modules. This is probably responsible for bugs like: https://bugzilla.redhat.com/show_bug.cgi?id=589390 Signed-off-by: Andy Lutomirski Signed-off-by: Herbert Xu commit 534ea99b063de7c30262a8e22f0ab44dd7d11a71 Author: Shan Wei Date: Fri May 13 21:08:47 2011 +0000 net: drivers: kill two unused macro definitions Signed-off-by: Shan Wei Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller commit 3f874adc4ae80828b79e8aac6891c108c1f6be6d Author: sjur.brandeland@stericsson.com Date: Fri May 13 02:44:08 2011 +0000 caif: remove unesesarry exports Signed-off-by: Sjur Brændeland Signed-off-by: David S. Miller commit 33b2f5598b4ee68021364a7b795c09ad66bc0aa8 Author: sjur.brandeland@stericsson.com Date: Fri May 13 02:44:07 2011 +0000 caif: Bugfix debugfs directory name must be unique. Race condition caused debugfs_create_dir() to fail due to duplicate name. Use atomic counter to create unique directory name. net_ratelimit() is introduced to limit debug printouts. Signed-off-by: Sjur Brændeland Signed-off-by: David S. Miller commit c85c2951d4da1236e32f1858db418221e624aba5 Author: sjur.brandeland@stericsson.com Date: Fri May 13 02:44:06 2011 +0000 caif: Handle dev_queue_xmit errors. Do proper handling of dev_queue_xmit errors in order to avoid double free of skb and leaks in error conditions. In cfctrl pending requests are removed when CAIF Link layer goes down. Signed-off-by: Sjur Brændeland Signed-off-by: David S. Miller commit bee925db9a77a5736596dcf6f91d0879f5ee915b Author: sjur.brandeland@stericsson.com Date: Fri May 13 02:44:05 2011 +0000 caif: prepare support for namespaces Use struct net to reference CAIF configuration object instead of static variables. Refactor functions caif_connect_client, caif_disconnect_client and squach files cfcnfg.c and caif_config_utils. Signed-off-by: Sjur Brændeland Signed-off-by: David S. Miller commit b3ccfbe4098a5542177d0f34e8979f32e7d606e1 Author: sjur.brandeland@stericsson.com Date: Fri May 13 02:44:04 2011 +0000 caif: Protected in-flight packets using dev or sock refcont. CAIF Socket Layer and ip-interface registers reference counters in CAIF service layer. The functions sock_hold, sock_put and dev_hold, dev_put are used by CAIF Stack to protect from freeing memory while packets are in-flight. Signed-off-by: Sjur Brændeland Signed-off-by: David S. Miller commit 43e3692101086add8719c3b8b50b05c9ac5b14e1 Author: sjur.brandeland@stericsson.com Date: Fri May 13 02:44:03 2011 +0000 caif: Move refcount from service layer to sock and dev. Instead of having reference counts in caif service layers, we hook into existing refcount handling in socket layer and netdevice. Signed-off-by: Sjur Brændeland Signed-off-by: David S. Miller commit cb3cb423a0f3c627639535e5d87977ae662d779f Author: sjur.brandeland@stericsson.com Date: Fri May 13 02:44:02 2011 +0000 caif: Add ref-count to framing layer Introduce Per-cpu reference for lower part of CAIF Stack. Before freeing payload is disabled, synchronize_rcu() is called, and then ref-count verified to be zero. Signed-off-by: Sjur Brændeland Signed-off-by: David S. Miller commit f36214408470ecf6a052e76b72d05b2328b60fcf Author: sjur.brandeland@stericsson.com Date: Fri May 13 02:44:01 2011 +0000 caif: Use RCU and lists in cfcnfg.c for managing caif link layers RCU lists are used for handling the link layers instead of array. When generating CAIF phy-id, ifindex is used as base. Legal range is 1-6. Introduced set_phy_state() for managing CAIF Link layer state. Signed-off-by: Sjur Brændeland Signed-off-by: David S. Miller commit bd30ce4bc0b7dc859c1d1cba7ad87e08642418b0 Author: sjur.brandeland@stericsson.com Date: Fri May 13 02:44:00 2011 +0000 caif: Use RCU instead of spin-lock in caif_dev.c RCU read_lock and refcount is used to protect in-flight packets. Use RCU and counters to manage freeing lower part of the CAIF stack if CAIF-link layer is removed. Old solution based on delaying removal of device is removed. When CAIF link layer goes down the use of CAIF link layer is disabled (by calling caif_set_phy_state()), but removal and freeing of the lower part of the CAIF stack is done when Link layer is unregistered. Signed-off-by: Sjur Brændeland Signed-off-by: David S. Miller commit 0b1e9738deb30f4c35c0add43a52dcd0608b227e Author: sjur.brandeland@stericsson.com Date: Fri May 13 02:43:59 2011 +0000 caif: Use rcu_read_lock in CAIF mux layer. Replace spin_lock with rcu_read_lock when accessing lists to layers and cache. While packets are in flight rcu_read_lock should not be held, instead ref-counters are used in combination with RCU. Signed-off-by: Sjur Brændeland Signed-off-by: David S. Miller commit 1b1cb1f78a5e9d54c13e176020c3e8ded5d081ce Author: Eric Dumazet Date: Fri May 13 22:59:19 2011 +0000 net: ping: small changes ping_table is not __read_mostly, since it contains one rwlock, and is static to ping.c ping_port_rover & ping_v4_lookup are static Signed-off-by: Eric Dumazet Acked-by: Vasiliy Kulikov Signed-off-by: David S. Miller commit 89c64d755fbf04d7541d526931dc4b38301946d1 Merge: 4dc6ec2 4f6290c Author: David S. Miller Date: Sun May 15 01:08:23 2011 -0400 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net-next-2.6 commit 4dc6ec26fe7d9f89349d4c0c654e2f07420f4b27 Merge: 7be799a ca06c6e Author: David S. Miller Date: Sat May 14 22:47:51 2011 -0400 Merge branch 'batman-adv/next' of git://git.open-mesh.org/ecsv/linux-merge commit 4f6290cf610a7a48b39603ff7822746463453e01 Author: Don Skidmore Date: Sat May 14 06:36:35 2011 +0000 ixgbe: Add support for new 82599 adapter This patch adds support for a new adapter in the 82599 family. Included in that support is a new media_type ixgbe_media_type_fiber_lco. Signed-of-by: Don Skidmore Signed-off-by: Jeff Kirsher commit c050999e2c00b189a21df3ee9ad8d27c85ce9c34 Author: Emil Tantilov Date: Sat May 7 06:49:18 2011 +0000 ixgbe: fix sparse warning error: bad constant expression Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 34cecbbfad5a01050604d5b12fd7d7fb02597dbe Author: Alexander Duyck Date: Fri Apr 22 04:08:14 2011 +0000 ixgbe: cleanup some minor issues in ixgbe_down() This patch cleans up two minor issues in ixgbe_down. Specifically it addresses the fact that the VFs should not be pinged until after interrupts are disabled otherwise they might still get a response. It also drops the use of the txdctl temporary variable since the only bit we should be writing to the TXDCTL registers during a shutdown is the flush bit. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher commit f0f9778d043481f3cded693849e3b88b01fbc69b Author: Alexander Duyck Date: Fri Apr 22 04:08:09 2011 +0000 ixgbe: Merge over-temp task into service task This change merges the over-temp task into the service task. As a result all tasklets are finally combined into once single tasklet for easier management. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher commit d034acf1851c15c3da56d31e7eb4151e40ed0119 Author: Alexander Duyck Date: Wed Apr 27 09:25:34 2011 +0000 ixgbe: Merge ATR reinit into the service task This change merges the ATR table reinitialization into the service task. This is yet another opportunity to avoid any race conditions as we don't want to be attempting to reinitialize the table during a possible reset. In addition this change adds a counter for table reinitialization so that it can be tracked as part of the regular statistics. Signed-off-by: Alexander Duyck Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit c83c6cbdbff360e5323748720dfb2b000c0ae491 Author: Alexander Duyck Date: Wed Apr 27 09:21:16 2011 +0000 ixgbe: merge reset task into service task This change is meant to further help to reduce possible configuration collisions between the various tasklets. This change combines the device reset with the service task. As a result it is now not possible to be updating the link on the device while also resetting the part. Signed-off-by: Alexander Duyck Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 93c52dd0033be3cb91376916b8461fcb94ef0c22 Author: Alexander Duyck Date: Fri Apr 22 04:07:54 2011 +0000 ixgbe: Merge watchdog functionality into service task This patch is meant to merge the functionality of the ixgbe watchdog task into the service task. By doing this all link state functionality will be controlled by a single task. As a result the reliability of the interface will be improved as the likelihood of any race conditions is further reduced. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher commit 7086400d87a06588c13270949db9134afc9553ba Author: Alexander Duyck Date: Wed Apr 27 09:13:56 2011 +0000 ixgbe: Combine SFP and multi-speed fiber task into single service task This change is meant to address several race conditions with multi-speed fiber SFP+ modules in 82599 adapters. Specifically issues have been seen in which both the SFP configuration and the multi-speed fiber configuration are running simultaneously which will result in the device getting into an erroneous link down state. Signed-off-by: Alexander Duyck Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit e606bfe74de63d6c3778c145ee0673d96ab257c9 Author: Alexander Duyck Date: Fri Apr 22 04:07:43 2011 +0000 ixgbe: move flags and state into the same cacheline This change moves flags and state into the same cacheline. The reason for this change is because both are frequently read around the same time and infrequently written. By combining them into the same cacheline this should help to reduce memory utilization. Signed-off-by: Alexander Duyck Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 51275d37a85bc82bda7e5b179ee520e85e66e782 Author: Emil Tantilov Date: Fri Apr 8 01:23:59 2011 +0000 ixgbe: force unlock on timeout The semaphore can be in locked state upon driver load, particularly on 82598 if a machine is rebooted due to panic and the semaphore was acquired just prior to the panic. This patch unlocks the semaphore if it times out. Signed-off-by: Emil Tantilov Signed-off-by: Jeff Kirsher commit a1cbb15c13971bd5d41626e9e5ced9f9de132c47 Author: Greg Rose Date: Fri May 13 01:33:48 2011 +0000 ixgbe: Add macvlan support for VF Add infrastructure in the PF driver to support macvlan in the VF driver. Signed-off-by: Greg Rose Tested-by: Sibai Li Signed-off-by: Jeff Kirsher commit 46ec20ff7d6f9f011e06d58e4e87153ed8c893ed Author: Greg Rose Date: Fri May 13 01:33:42 2011 +0000 ixgbevf: Add macvlan support in the set rx mode op Implement setup of unicast address list in the VF driver's set_rx_mode netdev op. Unicast addresses are sent to the PF via a mailbox message and the PF will check if it has room in the RAR table and if so set the filter for the VF. Signed-off-by: Greg Rose Tested-by: Sibai Li Signed-off-by: Jeff Kirsher commit d64a6f4dca0b45495dd5be8116b618d9cc004eea Author: Bruce Allan Date: Fri May 13 07:19:58 2011 +0000 e1000e: minor comment cleanups Signed-off-by: Bruce Allan Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit ca06c6eb9a31ae782e74596231fb23df4fc5e46d Author: Marek Lindner Date: Sat May 14 20:01:22 2011 +0200 batman-adv: reset broadcast flood protection on error The broadcast flood protection should be reset to its original value if the primary interface could not be retrieved. Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit 6d5808d4ae1b0851c3b732d9ec2860d5f7804294 Author: Sven Eckelmann Date: Wed May 11 20:59:06 2011 +0200 batman-adv: Add missing hardif_free_ref in forw_packet_free add_bcast_packet_to_list increases the refcount for if_incoming but the reference count is never decreased. The reference count must be increased for all kinds of forwarded packets which have the primary interface stored and forw_packet_free must decrease them. Also purge_outstanding_packets has to invoke forw_packet_free when a work item was really cancelled. This regression was introduced in 32ae9b221e788413ce68feaae2ca39e406211a0a. Reported-by: Antonio Quartulli Signed-off-by: Sven Eckelmann commit 0144261fa677e9490eb112231de30c95af1679d2 Author: Igor Plyatov Date: Thu May 12 22:15:51 2011 +0400 pata_at91: SMC settings calculation bugfixes, support for t6z and IORDY * New code correctly calculates SMC registers values, adjusts calculated to admissible ranges, enlarges cycles when required and converts values into SMC's format. * Support for TDF cycles (ATA t6z) and IORDY line added. * Eliminate need in the initial_timing structure. * Code cleanup. Signed-off-by: Igor Plyatov Signed-off-by: Jeff Garzik commit af649a1b56032a84b75825a94204a8f8f0120698 Author: James Bottomley Date: Sun Apr 24 14:31:33 2011 -0500 libata-sff: prevent irq descriptions for dummy ports This is a cosmetic change to prevent libata-sff adding irq descriptions to dummy ports, since the information, while largely unused, is erroneous. Signed-off-by: James Bottomley Signed-off-by: Jeff Garzik commit 9281b16caac1276817b77033c5b8a1f5ca30102c Author: James Bottomley Date: Sun Apr 24 14:30:14 2011 -0500 pata_cm64x: fix boot crash on parisc The old IDE cmd64x checks the status of the CNTRL register to see if the ports are enabled before probing them. pata_cmd64x doesn't do this, which causes a HPMC on parisc when it tries to poke at the secondary port because apparently the BAR isn't wired up (and a non-responding piece of memory causes a HPMC). Fix this by porting the CNTRL register port detection logic from IDE cmd64x. In addition, following converns from Alan Cox, add a check to see if a mobility electronics bridge is the immediate parent and forgo the check if it is (prevents problems on hotplug controllers). Signed-off-by: James Bottomley Signed-off-by: Jeff Garzik commit a18f22a968de17b29f2310cdb7ba69163e65ec15 Merge: a1c57e0 798778b Author: Thomas Gleixner Date: Sat May 14 12:06:36 2011 +0200 Merge branch 'consolidate-clksrc-i8253' of master.kernel.org:~rmk/linux-2.6-arm into timers/clocksource Conflicts: arch/ia64/kernel/cyclone.c arch/mips/kernel/i8253.c arch/x86/kernel/i8253.c Reason: Resolve conflicts so further cleanups do not conflict further Signed-off-by: Thomas Gleixner commit 798778b8653f64b7b2162ac70eca10367cff6ce8 Author: Russell King Date: Sun May 8 19:03:03 2011 +0100 clocksource: convert mips to generic i8253 clocksource Convert MIPS i8253 clocksource code to use generic i8253 clocksource. Acked-by: John Stultz Acked-by: Thomas Gleixner Cc: Ralf Baechle Signed-off-by: Russell King commit 82491451dd25a3abe8496ddbd04ddb3f77d285c2 Author: Russell King Date: Sun May 8 18:55:19 2011 +0100 clocksource: convert x86 to generic i8253 clocksource Convert x86 i8253 clocksource code to use generic i8253 clocksource. Acked-by: John Stultz Acked-by: Thomas Gleixner Cc: "H. Peter Anvin" Cc: Ingo Molnar Signed-off-by: Russell King commit 8c414ff3f4dcdde228c6a668385218290d73a265 Author: Russell King Date: Sun May 8 18:50:20 2011 +0100 clocksource: convert footbridge to generic i8253 clocksource Convert the footbridge isa-timer code to use generic i8253 clocksource. Acked-by: John Stultz Acked-by: Thomas Gleixner Signed-off-by: Russell King commit 89c0b8e2520e12d69dafc663dfbd39f8180438ea Author: Russell King Date: Sun May 8 18:47:58 2011 +0100 clocksource: add common i8253 PIT clocksource This is based upon both arch/arm/mach-footbridge/isa-timer.c and arch/x86/kernel/i8253.c. Acked-by: John Stultz Acked-by: Thomas Gleixner Cc: "H. Peter Anvin" Cc: Ingo Molnar Cc: Ralf Baechle Signed-off-by: Russell King commit 47a8467cc0907e2fd3e6f4d02465dfb64494133e Author: Ben Hutchings Date: Sat May 14 02:35:25 2011 +0100 sfc: Fix return value from efx_ethtool_set_rx_ntuple() ethtool_ops::set_rx_ntuple is supposed to return 0 on success, but it currently returns the filter ID when it inserts or modifies a filter. Signed-off-by: Ben Hutchings commit c42d2237143fcf35cff642cefe2bcf7786aae312 Author: Stephen Boyd Date: Thu May 12 16:50:07 2011 -0700 debugfs: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning Enabling DEBUG_STRICT_USER_COPY_CHECKS causes the following warning: In file included from arch/x86/include/asm/uaccess.h:573, from include/linux/uaccess.h:5, from include/linux/highmem.h:7, from include/linux/pagemap.h:10, from fs/debugfs/file.c:18: In function 'copy_from_user', inlined from 'write_file_bool' at fs/debugfs/file.c:435: arch/x86/include/asm/uaccess_64.h:65: warning: call to 'copy_from_user_overflow' declared with attribute warning: copy_from_user() buffer size is not provably correct presumably due to buf_size being signed causing GCC to fail to see that buf_size can't become negative. Signed-off-by: Stephen Boyd Signed-off-by: Greg Kroah-Hartman commit 82a3242e11d9e63c8195be46c954efaefee35e22 Author: Greg Kroah-Hartman Date: Thu May 12 16:01:02 2011 -0700 sysfs: remove "last sysfs file:" line from the oops messages On some arches (x86, sh, arm, unicore, powerpc) the oops message would print out the last sysfs file accessed. This was very useful in finding a number of sysfs and driver core bugs in the 2.5 and early 2.6 development days, but it has been a number of years since this file has actually helped in debugging anything that couldn't also be trivially determined from the stack traceback. So it's time to delete the line. This is good as we need all the space we can get for oops messages at times on consoles. Acked-by: Phil Carmody Acked-by: Ingo Molnar Cc: Andrew Morton Cc: Thomas Gleixner Signed-off-by: Greg Kroah-Hartman commit 7be799a70ba3dd90a59e8d2c72bbe06020005b3f Author: David S. Miller Date: Fri May 13 17:31:02 2011 -0400 ipv4: Remove rt->rt_dst reference from ip_forward_options(). At this point iph->daddr equals what rt->rt_dst would hold. Signed-off-by: David S. Miller commit 8e36360ae876995e92d3a7538dda70548e64e685 Author: David S. Miller Date: Fri May 13 17:29:41 2011 -0400 ipv4: Remove route key identity dependencies in ip_rt_get_source(). Pass in the sk_buff so that we can fetch the necessary keys from the packet header when working with input routes. Signed-off-by: David S. Miller commit 22f728f8f311659b068e73ed92833c205651a47f Author: David S. Miller Date: Fri May 13 17:21:27 2011 -0400 ipv4: Always call ip_options_build() after rest of IP header is filled in. This will allow ip_options_build() to reliably look at the values of iph->{daddr,saddr} Signed-off-by: David S. Miller commit 0374d9ceb02eb12fcd65be9dd5df9c911ef93424 Author: David S. Miller Date: Fri May 13 17:15:50 2011 -0400 ipv4: Kill spurious write to iph->daddr in ip_forward_options(). This code block executes when opt->srr_is_hit is set. It will be set only by ip_options_rcv_srr(). ip_options_rcv_srr() walks until it hits a matching nexthop in the SRR option addresses, and when it matches one 1) looks up the route for that nexthop and 2) on route lookup success it writes that nexthop value into iph->daddr. ip_forward_options() runs later, and again walks the SRR option addresses looking for the option matching the destination of the route stored in skb_rtable(). This route will be the same exact one looked up for the nexthop by ip_options_rcv_srr(). Therefore "rt->rt_dst == iph->daddr" must be true. All it really needs to do is record the route's source address in the matching SRR option adddress. It need not write iph->daddr again, since that has already been done by ip_options_rcv_srr() as detailed above. Signed-off-by: David S. Miller commit 48e20467227fe540e6bbf3d98df98c2c0fca10f3 Author: Alexey Dobriyan Date: Fri May 13 16:50:49 2011 -0400 olympic: convert to seq_file ->read_proc interface is going away, switch to seq_file. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 0696c3a8acd3b7c3186dd231d65d97e05a75189f Author: Peter Pan(潘卫平) Date: Thu May 12 15:46:56 2011 +0000 net:set valid name before calling ndo_init() In commit 1c5cae815d19 (net: call dev_alloc_name from register_netdevice), a bug of bonding was involved, see example 1 and 2. In register_netdevice(), the name of net_device is not valid until dev_get_valid_name() is called. But dev->netdev_ops->ndo_init(that is bond_init) is called before dev_get_valid_name(), and it uses the invalid name of net_device. I think register_netdevice() should make sure that the name of net_device is valid before calling ndo_init(). example 1: modprobe bonding ls /proc/net/bonding/bond%d ps -eLf root 3398 2 3398 0 1 21:34 ? 00:00:00 [bond%d] example 2: modprobe bonding max_bonds=3 [ 170.100292] bonding: Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) [ 170.101090] bonding: Warning: either miimon or arp_interval and arp_ip_target module parameters must be specified, otherwise bonding will not detect link failures! see bonding.txt for details. [ 170.102469] ------------[ cut here ]------------ [ 170.103150] WARNING: at /home/pwp/net-next-2.6/fs/proc/generic.c:586 proc_register+0x126/0x157() [ 170.104075] Hardware name: VirtualBox [ 170.105065] proc_dir_entry 'bonding/bond%d' already registered [ 170.105613] Modules linked in: bonding(+) sunrpc ipv6 uinput microcode ppdev parport_pc parport joydev e1000 pcspkr i2c_piix4 i2c_core [last unloaded: bonding] [ 170.108397] Pid: 3457, comm: modprobe Not tainted 2.6.39-rc2+ #14 [ 170.108935] Call Trace: [ 170.109382] [] warn_slowpath_common+0x6a/0x7f [ 170.109911] [] ? proc_register+0x126/0x157 [ 170.110329] [] warn_slowpath_fmt+0x2b/0x2f [ 170.110846] [] proc_register+0x126/0x157 [ 170.111870] [] proc_create_data+0x82/0x98 [ 170.112335] [] bond_create_proc_entry+0x3f/0x73 [bonding] [ 170.112905] [] bond_init+0x77/0xa5 [bonding] [ 170.113319] [] register_netdevice+0x8c/0x1d3 [ 170.113848] [] bond_create+0x6c/0x90 [bonding] [ 170.114322] [] bonding_init+0x763/0x7b1 [bonding] [ 170.114879] [] do_one_initcall+0x76/0x122 [ 170.115317] [] ? 0xf94f3fff [ 170.115799] [] sys_init_module+0x1286/0x140d [ 170.116879] [] sysenter_do_call+0x12/0x28 [ 170.117404] ---[ end trace 64e4fac3ae5fff1a ]--- [ 170.117924] bond%d: Warning: failed to register to debugfs [ 170.128728] ------------[ cut here ]------------ [ 170.129360] WARNING: at /home/pwp/net-next-2.6/fs/proc/generic.c:586 proc_register+0x126/0x157() [ 170.130323] Hardware name: VirtualBox [ 170.130797] proc_dir_entry 'bonding/bond%d' already registered [ 170.131315] Modules linked in: bonding(+) sunrpc ipv6 uinput microcode ppdev parport_pc parport joydev e1000 pcspkr i2c_piix4 i2c_core [last unloaded: bonding] [ 170.133731] Pid: 3457, comm: modprobe Tainted: G W 2.6.39-rc2+ #14 [ 170.134308] Call Trace: [ 170.134743] [] warn_slowpath_common+0x6a/0x7f [ 170.135305] [] ? proc_register+0x126/0x157 [ 170.135820] [] warn_slowpath_fmt+0x2b/0x2f [ 170.137168] [] proc_register+0x126/0x157 [ 170.137700] [] proc_create_data+0x82/0x98 [ 170.138174] [] bond_create_proc_entry+0x3f/0x73 [bonding] [ 170.138745] [] bond_init+0x77/0xa5 [bonding] [ 170.139278] [] register_netdevice+0x8c/0x1d3 [ 170.139828] [] bond_create+0x6c/0x90 [bonding] [ 170.140361] [] bonding_init+0x763/0x7b1 [bonding] [ 170.140927] [] do_one_initcall+0x76/0x122 [ 170.141494] [] ? 0xf94f3fff [ 170.141975] [] sys_init_module+0x1286/0x140d [ 170.142463] [] sysenter_do_call+0x12/0x28 [ 170.142974] ---[ end trace 64e4fac3ae5fff1b ]--- [ 170.144949] bond%d: Warning: failed to register to debugfs Signed-off-by: Weiping Pan Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller commit 64c7f304b81a9a92dc7046c97a10427a5997dc07 Author: Giuseppe CAVALLARO Date: Thu May 12 20:28:05 2011 +0000 stmmac: fix autoneg in set_pauseparam This patch fixes a bug in the set_pauseparam function that didn't well manage the ANE field and returned broken values when use ethtool -A|-a. Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 1334cb60826377de8f75adb9902c25302222f4fe Author: David Decotigny Date: Thu May 12 20:28:04 2011 +0000 stmmac: don't go through ethtool to start auto-negotiation The driver used to call phy's ethtool configuration routine to start auto-negotiation. This change has it call directly phy's routine to start auto-negotiation. The initial version was hiding phy_start_aneg() return value, this patch returns it (<0 upon error). Tested: module compiles, tested on STM HDK7108 STB. Signed-off-by: David Decotigny Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 5310cbce900094dce5df4a671b411e15319a75d4 Author: Julia Lawall Date: Fri May 13 04:15:39 2011 +0000 drivers/isdn/hisax: Drop unused list The file st5481_init.c locally defines and initializes the adapter_list variable, but does not use it for anything. Removing the list makes it possible to remove the list field from the st5481_adapter data structure. In the function probe_st5481, it also makes it possible to free the locally allocated adapter value on an error exit. Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit c319b4d76b9e583a5d88d6bf190e079c4e43213d Author: Vasiliy Kulikov Date: Fri May 13 10:01:00 2011 +0000 net: ipv4: add IPPROTO_ICMP socket kind This patch adds IPPROTO_ICMP socket kind. It makes it possible to send ICMP_ECHO messages and receive the corresponding ICMP_ECHOREPLY messages without any special privileges. In other words, the patch makes it possible to implement setuid-less and CAP_NET_RAW-less /bin/ping. In order not to increase the kernel's attack surface, the new functionality is disabled by default, but is enabled at bootup by supporting Linux distributions, optionally with restriction to a group or a group range (see below). Similar functionality is implemented in Mac OS X: http://www.manpagez.com/man/4/icmp/ A new ping socket is created with socket(PF_INET, SOCK_DGRAM, PROT_ICMP) Message identifiers (octets 4-5 of ICMP header) are interpreted as local ports. Addresses are stored in struct sockaddr_in. No port numbers are reserved for privileged processes, port 0 is reserved for API ("let the kernel pick a free number"). There is no notion of remote ports, remote port numbers provided by the user (e.g. in connect()) are ignored. Data sent and received include ICMP headers. This is deliberate to: 1) Avoid the need to transport headers values like sequence numbers by other means. 2) Make it easier to port existing programs using raw sockets. ICMP headers given to send() are checked and sanitized. The type must be ICMP_ECHO and the code must be zero (future extensions might relax this, see below). The id is set to the number (local port) of the socket, the checksum is always recomputed. ICMP reply packets received from the network are demultiplexed according to their id's, and are returned by recv() without any modifications. IP header information and ICMP errors of those packets may be obtained via ancillary data (IP_RECVTTL, IP_RETOPTS, and IP_RECVERR). ICMP source quenches and redirects are reported as fake errors via the error queue (IP_RECVERR); the next hop address for redirects is saved to ee_info (in network order). socket(2) is restricted to the group range specified in "/proc/sys/net/ipv4/ping_group_range". It is "1 0" by default, meaning that nobody (not even root) may create ping sockets. Setting it to "100 100" would grant permissions to the single group (to either make /sbin/ping g+s and owned by this group or to grant permissions to the "netadmins" group), "0 4294967295" would enable it for the world, "100 4294967295" would enable it for the users, but not daemons. The existing code might be (in the unlikely case anyone needs it) extended rather easily to handle other similar pairs of ICMP messages (Timestamp/Reply, Information Request/Reply, Address Mask Request/Reply etc.). Userspace ping util & patch for it: http://openwall.info/wiki/people/segoon/ping For Openwall GNU/*/Linux it was the last step on the road to the setuid-less distro. A revision of this patch (for RHEL5/OpenVZ kernels) is in use in Owl-current, such as in the 2011/03/12 LiveCD ISOs: http://mirrors.kernel.org/openwall/Owl/current/iso/ Initially this functionality was written by Pavel Kankovsky for Linux 2.4.32, but unfortunately it was never made public. All ping options (-b, -p, -Q, -R, -s, -t, -T, -M, -I), are tested with the patch. PATCH v3: - switched to flowi4. - minor changes to be consistent with raw sockets code. PATCH v2: - changed ping_debug() to pr_debug(). - removed CONFIG_IP_PING. - removed ping_seq_fops.owner field (unused for procfs). - switched to proc_net_fops_create(). - switched to %pK in seq_printf(). PATCH v1: - fixed checksumming bug. - CAP_NET_RAW may not create icmp sockets anymore. RFC v2: - minor cleanups. - introduced sysctl'able group range to restrict socket(2). Signed-off-by: Vasiliy Kulikov Signed-off-by: David S. Miller commit b376704bf57e1b731fe2dd6e9aa83a1d42a45ef9 Merge: 1159024 9439064 Author: John W. Linville Date: Fri May 13 15:18:35 2011 -0400 Merge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit 1159024d4c0aafecaa0c6635c55153b4b39cc1c8 Author: John W. Linville Date: Fri May 13 09:23:47 2011 -0400 ssb: fix pcicore build breakage drivers/ssb/main.c:1336: error: 'SSB_PCICORE_BCAST_ADDR' undeclared (first use in this function) drivers/ssb/main.c:1337: error: 'SSB_PCICORE_BCAST_DATA' undeclared (first use in this function) drivers/ssb/main.c:1349: error: 'struct ssb_pcicore' has no member named 'dev' Reported-by: Randy Dunlap Signed-off-by: John W. Linville commit f20190302e3e697a166cc28ebef43058749dedda Author: KOSAKI Motohiro Date: Thu May 12 18:45:09 2011 +0000 convert old cpumask API into new one Adapt new API. Signed-off-by: KOSAKI Motohiro Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 9f6298a6ca38e251aa72a6035a8a36a52cf94536 Author: Ursula Braun Date: Thu May 12 18:45:08 2011 +0000 af_iucv: get rid of compile warning -Wunused-but-set-variable generates compile warnings. The affected variables are removed. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 5db79c0679e542a156de54e97be8901aeaa7638a Author: Ursula Braun Date: Thu May 12 18:45:07 2011 +0000 iucv: get rid of compile warning -Wunused-but-set-variable generates a compile warning. The affected variable is removed. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit ff2aed7da18781bb32ce675e4621475e4baae08f Author: Ursula Braun Date: Thu May 12 18:45:06 2011 +0000 ctcm: get rid of compile warning -Wunused-but-set-variable generates compile warnings. The affected variables are removed. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 424f73b3ecc41367336ce75cc489c1e373c421fc Author: Heiko Carstens Date: Thu May 12 18:45:05 2011 +0000 lcs: get rid of compile warning -Wunused-but-set-variable generates a compile warning for lcs' tasklet function. Invoked functions contain already error handling; thus additional return code checking is not needed here. Signed-off-by: Heiko Carstens Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 38ed18ff5ed170a68f334c2362735c1268cec81b Author: Heiko Carstens Date: Thu May 12 18:45:04 2011 +0000 claw: remove unused return code handling Remove unused return code handling. The claw driver is mostly dead, so just make sure it keeps compiling without warnings. Signed-off-by: Heiko Carstens Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 3e70b3b8141c1a09e3a8809d94a0157756cb8f60 Author: Sebastian Ott Date: Thu May 12 18:45:03 2011 +0000 qeth: add owner to ccw driver Fill in the owner of qeth's ccw device driver. Signed-off-by: Sebastian Ott Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 1da74b1c10062eff5f67accb3bcb27fa329a55d6 Author: Frank Blaschka Date: Thu May 12 18:45:02 2011 +0000 qeth: add OSA concurrent hardware trap This patch improves FFDC (first failure data capture) by requesting a hardware trace in case the device driver, the hardware or a user detects an error. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit c5e631a8d4e305a68465b7334efe9875be8b7033 Author: Frank Blaschka Date: Thu May 12 18:45:01 2011 +0000 qeth: convert to hw_features part 2 Set rx csum default to hw checksumming again. Remove sysfs interface for rx csum (checksumming) and TSO (large_send). With the new hw_features it does not work to keep the old sysfs interface in parallel. Convert options.checksum_type to new hw_features. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 32f5469b5ed27b6403a91b6ca9bc64d144ae3a5d Author: Anirban Chakraborty Date: Thu May 12 12:48:35 2011 +0000 qlcnic: Bumped up version number to 5.0.18 Update driver version number Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit b3c687317ff5d65017ee431de9ccf80ec1552e3e Author: Anirban Chakraborty Date: Thu May 12 12:48:34 2011 +0000 qlcnic: Take FW dump via ethtool Driver checks if the previous dump has been cleared before taking the dump. It doesn't take the dump if it is not cleared. Changes from v2: Added lock to protect dump data structures from being mangled while dumping or setting them via ethtool. Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit 18f2f616be88736f5daf31d9d40e027abbd607ed Author: Anirban Chakraborty Date: Thu May 12 12:48:33 2011 +0000 qlcnic: FW dump support Added code to take FW dump. o Driver queries FW at the init time and gets the dump template o It takes FW dump as per the dump template o Level of FW dump (and its size) is configured via dump flag Signed-off-by: Sritej Velaga Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit 1dbf53a28262aa89ecbe653e8a9127c0baef9bc4 Author: Sathya Perla Date: Thu May 12 19:32:16 2011 +0000 be2net: fix mbox polling for signal reception Sending mbox cmds require multiple steps of writing to the DB register and polling for an ack. Gettting interrupted in the middle by a signal breaks the mbox protocol. Use msleep() to not get interrupted. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 6ed35eea3b96977d76d61b5862a3209044cb4b1f Author: Sathya Perla Date: Thu May 12 19:32:15 2011 +0000 be2net: handle signal reception while waiting for POST If waiting on POST returns prematurely (due to a signal), abort polling and return an error. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 29dd54b72ba8c5ad0dd6dd33584449b5953f700b Author: Anirban Chakraborty Date: Thu May 12 12:48:32 2011 +0000 ethtool: Added support for FW dump Added code to take FW dump via ethtool. Dump level can be controlled via setting the dump flag. A get function is provided to query the current setting of the dump flag. Dump data is obtained from the driver via a separate get function. Changes from v3: Fixed buffer length issue in ethtool_get_dump_data function. Updated kernel doc for ethtool_dump struct and get_dump_flag function. Changes from v2: Provided separate commands for get flag and data. Check for minimum of the two buffer length obtained via ethtool and driver and use that for dump buffer Pass up the driver return error codes up to the caller. Added kernel doc comments. Signed-off-by: Anirban Chakraborty Reviewed-by: Ben Hutchings Signed-off-by: David S. Miller commit bdc220da3209d50b8c295490dec94845c88670a2 Author: Joe Perches Date: Mon May 9 17:42:46 2011 +0000 netdevice.h: Align struct net_device members Save a bit of space. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 19e274630c9e23a84d5940af83cf5db35103f968 Author: Tejun Heo Date: Thu May 12 10:47:23 2011 +0200 job control: reorganize wait_task_stopped() wait_task_stopped() tested task_stopped_code() without acquiring siglock and, if stop condition existed, called wait_task_stopped() and directly returned the result. This patch moves the initial task_stopped_code() testing into wait_task_stopped() and make wait_consider_task() fall through to wait_task_continue() on 0 return. This is for the following two reasons. * Because the initial task_stopped_code() test is done without acquiring siglock, it may race against SIGCONT generation. The stopped condition might have been replaced by continued state by the time wait_task_stopped() acquired siglock. This may lead to unexpected failure of WNOHANG waits. This reorganization addresses this single race case but there are other cases - TASK_RUNNING -> TASK_STOPPED transition and EXIT_* transitions. * Scheduled ptrace updates require changes to the initial test which would fit better inside wait_task_stopped(). Signed-off-by: Tejun Heo Reviewed-by: Oleg Nesterov Signed-off-by: Oleg Nesterov commit 9439064cd9fce8a4db716a748dbf581eb234f9c7 Author: Eliad Peller Date: Fri May 13 11:57:13 2011 +0300 wl12xx: enter/exit psm on wowlan suspend/resume When operating as station, enter psm before suspending the device into wowlan state. Add a new completion event to signal when psm was entered successfully. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit f795ea8b2f047409c59e891d6e5e86a925048bf4 Author: Eliad Peller Date: Fri May 13 11:57:12 2011 +0300 wl12xx_sdio: declare support for NL80211_WOW_TRIGGER_ANYTHING trigger Since wowlan requires the ability to stay awake while the host is suspended, declare support for NL80211_WOW_TRIGGER_ANYTHING if the MMC_PM_KEEP_POWER capability is being supported. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit f44e58681aec420b132a54823d8911293a644d4e Author: Eliad Peller Date: Fri May 13 11:57:11 2011 +0300 wl12xx: prevent scheduling while suspending (WoW enabled) When WoW is enabled, the interface will stay up and the chip will be powered on, so we have to flush/cancel any remaining work, and prevent the irq handler from scheduling a new work until the system is resumed. Add 2 new flags: * WL1271_FLAG_SUSPENDED - the system is (about to be) suspended. * WL1271_FLAG_PENDING_WORK - there is a pending irq work which should be scheduled when the system is being resumed. In order to wake-up the system while getting an irq, we initialize the device as wakeup device, and calling pm_wakeup_event() upon getting the interrupt (while the system is about to be suspended) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 039bdb1494d1d514987ce596a4898494021c7af2 Author: Eliad Peller Date: Fri May 13 11:57:10 2011 +0300 wl12xx_sdio: set MMC_PM_KEEP_POWER flag on suspend if a wow trigger was configured, set the MMC_PM_KEEP_POWER flag on suspend, so our power will be kept while the system is suspended. We needed to set this flag on each suspend attempt (when we want to keep power) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 402e48616078c1e56f55a69d314b77f1d750d6ad Author: Eliad Peller Date: Fri May 13 11:57:09 2011 +0300 wl12xx: declare suspend/resume callbacks (for wowlan) Additionally, add wow_enabled field to wl, to indicate whether wowlan was configured. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 2c0f24636c80aa09990c507c0cede39add4b4724 Author: Eliad Peller Date: Fri May 13 11:57:08 2011 +0300 wl12xx_sdio: set interrupt as wake_up interrupt set the sdio interrupt as wake_up interrupt, so we will be able to wake up the suspended system (Wake-On-Wireless) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit f2741d9898269e565c220ec295a8f5c3756c7585 Author: Steven Whitehouse Date: Fri May 13 12:11:17 2011 +0100 GFS2: Move all locking inside the inode creation function Now that there are no longer any exceptions to the normal inode creation code path, we can move the parts of the locking code which were duplicated in mkdir/mknod/create/symlink into the inode create function. Signed-off-by: Steven Whitehouse commit 160b4026dc3e75c0693d0123eca805e88cd200b6 Author: Steven Whitehouse Date: Fri May 13 10:34:59 2011 +0100 GFS2: Clean up symlink creation This moves the symlink specific parts of inode creation into the function where we initialise the rest of the dinode. As a result we have one less place where we need to look up the inode's buffer. Signed-off-by: Steven Whitehouse commit e2d0a13bba051d7a9618b0952d91fac68175a71a Author: Steven Whitehouse Date: Fri May 13 09:55:55 2011 +0100 GFS2: Clean up mkdir This moves the initialisation of the directory into the inode creation functions to avoid having to duplicate the lookup of the inode's buffer. Signed-off-by: Steven Whitehouse commit 72a8f97bf2dfe1b0f02ba8dbaed7d6b76657aae3 Author: David S. Miller Date: Thu May 12 23:03:46 2011 -0400 ipv4: Fix 'iph' use before set. I swear none of my compilers warned about this, yet it is so obvious. > net/ipv4/ip_forward.c: In function 'ip_forward': > net/ipv4/ip_forward.c:87: warning: 'iph' may be used uninitialized in this function Reported-by: Stephen Rothwell Signed-off-by: David S. Miller commit 5c5095494fb545f53b80cbb7539679a10a3472a6 Merge: 4d586b8 def5768 Author: David S. Miller Date: Thu May 12 23:01:55 2011 -0400 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-next-2.6 commit def57687e9579b7a797681990dff763c411f5347 Author: David S. Miller Date: Thu May 12 19:34:30 2011 -0400 ipv4: Elide use of rt->rt_dst in ip_forward() No matter what kind of header mangling occurs due to IP options processing, rt->rt_dst will always equal iph->daddr in the packet. So we can safely use iph->daddr instead of rt->rt_dst here. Signed-off-by: David S. Miller commit c30883bdff0b3544900a5c4aba18b8985436878f Author: David S. Miller Date: Thu May 12 19:30:58 2011 -0400 ipv4: Simplify iph->daddr overwrite in ip_options_rcv_srr(). We already copy the 4-byte nexthop from the options block into local variable "nexthop" for the route lookup. Re-use that variable instead of memcpy()'ing again when assigning to iph->daddr after the route lookup succeeds. Signed-off-by: David S. Miller commit 10949550bd1e50cc91c0f5085f7080a44b0871fe Author: David S. Miller Date: Thu May 12 19:26:57 2011 -0400 ipv4: Kill spurious opt->srr check in ip_options_rcv_srr(). All call sites conditionalize the call to ip_options_rcv_srr() with a check of opt->srr, so no need to check it again there. Signed-off-by: David S. Miller commit b2a103e6d0afa432dff66b36473c5a55b6b0376c Author: Michał Mirosław Date: Sat May 7 03:22:17 2011 +0000 bonding: convert to ndo_fix_features This should also fix updating of vlan_features and propagating changes to VLAN devices on the bond. Side effect: it allows user to force-disable some offloads on the bond interface. Note: NETIF_F_VLAN_CHALLENGED is managed by bond_fix_features() now. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit afe12cc86b0ba545a01ad8716539ab07ab6e9e89 Author: Michał Mirosław Date: Sat May 7 03:22:17 2011 +0000 net: introduce netdev_change_features() It will be needed by bonding and other drivers changing vlan_features after ndo_init callback. As a bonus, this includes kernel-doc for netdev_update_features(). Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 6c60408e33aba6d1d7241bc9be3b8d1b39509291 Author: Alexey Orishko Date: Fri May 6 03:01:30 2011 +0000 CDC NCM: Add mising short packet in cdc_ncm driver Changes: - while making NTB, driver shall check if device dwNtbOutMaxSize is higher than host value and shall add a short packet if this is the case - previous temporary patch for this issue is replaced by this one Signed-off-by: Alexey Orishko Signed-off-by: David S. Miller commit c92f5ca2e5120796c56455e0a4b7cc0dfd6ceb49 Author: Julian Anastasov Date: Tue May 10 12:46:05 2011 +0000 ipvs: Remove all remaining references to rt->rt_{src,dst} Remove all remaining references to rt->rt_{src,dst} by using dest->dst_saddr to cache saddr (used for TUN mode). For ICMP in FORWARD hook just restrict the rt_mode for NAT to disable LOCALNODE. All other modes do not allow IP_VS_RT_MODE_RDR, so we should be safe with the ICMP forwarding. Using cp->daddr as replacement for rt_dst is safe for all modes except BYPASS, even when cp->dest is NULL because it is cp->daddr that is used to assign cp->dest for sync-ed connections. Signed-off-by: Julian Anastasov Signed-off-by: David S. Miller commit 44e3125ccd521585e73e6dd228b283ab26993c68 Author: David S. Miller Date: Mon May 9 14:38:06 2011 -0700 ipvs: Eliminate rt->rt_dst usage in __ip_vs_get_out_rt(). We can simply track what destination address is used based upon which code block is taken at the top of the function. Signed-off-by: David S. Miller commit e58b34425bfcb08c6bc8c520b82c37ffcec87072 Author: David S. Miller Date: Thu May 12 18:22:34 2011 -0400 ipvs: Use IP_VS_RT_MODE_* instead of magic constants. [ Add some cases I missed, from Julian Anastasov ] Signed-off-by: David S. Miller commit 06c03c02ea528af0cbce50ce45ddd6a361864550 Author: Mahesh Bandewar Date: Sun May 8 06:51:48 2011 +0000 tg3: Allow ethtool to enable/disable loopback. This patch adds tg3_set_features() to handle loopback mode. Currently the capability is added for the devices which support internal MAC loopback mode. So when enabled, it enables internal-MAC loopback. Signed-off-by: Mahesh Bandewar Signed-off-by: David S. Miller commit cbfd1526f6076ece92b4e2dcc0a2f1e89041b3bd Author: Amit Virdi Date: Thu May 12 01:04:40 2011 +0000 net/irda/ircomm_tty.c: Use flip buffers to deliver data use tty_insert_flip_string and tty_flip_buffer_push to deliver incoming data packets from the IrDA device instead of delivering the packets directly to the line discipline. Following later approach resulted in warning "Sleeping function called from invalid context". Signed-off-by: Amit Virdi Acked-by: Alan Cox Signed-off-by: David S. Miller commit 7f267051bd7a280265b1b5ead58e9c6e4e1ac3a4 Author: Yi Zou Date: Mon May 9 11:53:27 2011 +0000 net: group FCoE related feature flags Michał Mirosław's patch (http://patchwork.ozlabs.org/patch/94421/) fixes the issue (http://patchwork.ozlabs.org/patch/94188/) about not populating FCoE related flags correctly on vlan devices. However, only NETIF_F_FCOE_CRC is part of the NETIF_F_ALL_TX_OFFLOADS right now, where weed NETIF_F_FCOE_MTU and NETIF_F_FSO as well. Therefore, add NETIF_F_ALL_FCOE to indicate feature flags used by FCoE TX offloads. These include NETIF_F_FCOE_CRC, NETIF_F_FCOE_MTU, and NETIF_F_FSO and add them to be part of NETIF_F_ALL_TX_OFFLOADS. This would eventually make sure all FCoE needed flags are populated properly to vlan devices. Signed-off-by: Yi Zou Signed-off-by: David S. Miller commit f0a619ccfb8a2ec8ff083a02299cfd076c362b27 Author: Michał Mirosław Date: Fri May 6 07:56:29 2011 +0000 net: Fix vlan_features propagation Fix VLAN features propagation for devices which change vlan_features. For this to work, driver needs to make sure netdev_features_changed() gets called after the change (it is e.g. after ndo_set_features()). Side effect is that a user might request features that will never be enabled on a VLAN device. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 864b5418ebc16893cfd27ff3cda254eff0f56d6f Author: Franco Fichtner Date: Thu May 12 06:42:04 2011 +0000 ethtool: bring back missing comma in netdev features strings The issue was introduced in commit eed2a12f1ed9aabf. Signed-off-by: Franco Fichtner Acked-by: Michał Mirosław Acked-by: Ben Hutchings Signed-off-by: David S. Miller commit f607a158004d75c9005423ce1ba70dc6ec3dd9c2 Author: Eric Dumazet Date: Thu May 12 17:46:56 2011 -0400 garp: remove last synchronize_rcu() call When removing last vlan from a device, garp_uninit_applicant() calls synchronize_rcu() to make sure no user can still manipulate struct garp_applicant before we free it. Use call_rcu() instead, as a step to further net_device dismantle optimizations. Add the temporary garp_cleanup_module() function to make sure no pending call_rcu() are left at module unload time [ this will be removed when kfree_rcu() is available ] Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e154b639bbe53dc91d1873cd37d162bb2fe87aab Author: Shreyas Bhatewara Date: Tue May 10 06:13:56 2011 +0000 vmxnet3: Use single tx queue when CONFIG_PCI_MSI not defined Resending this patch with few changes. Avoid multiple queues when MSI or MSI-X not available Limit number of Tx queues to 1 if MSI/MSI-X support is not configured in the kernel. This will make number of tx and rx queues equal when MSI/X is not configured thus providing better performance. Signed-off-by: Bhavesh Davda Signed-off-by: Shreyas N Bhatewara Signed-off-by: David S. Miller commit afd7614c00e364f8f1327e73ad291b02f6d4d1a6 Author: Joe Perches Date: Thu May 12 09:19:10 2011 +0000 sctp: sctp_sendmsg: Don't test known non-null sinfo It's already known non-null above. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 517aa0bcda9b092a4c3fab7bf93f0cebe372ece0 Author: Joe Perches Date: Thu May 12 11:27:20 2011 +0000 sctp: sctp_sendmsg: Don't initialize default_sinfo This variable only needs initialization when cmsgs.info is NULL. Use memset to ensure padding is also zeroed so kernel doesn't leak any data. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 1769192a3c50778e03352a3d95faec830d47ba55 Author: Eric Dumazet Date: Wed May 11 18:22:36 2011 +0000 l2tp: fix potential rcu race While trying to remove useless synchronize_rcu() calls, I found l2tp is indeed incorrectly using two of such calls, but also bumps tunnel refcount after list insertion. tunnel refcount must be incremented before being made publically visible by rcu readers. This fix can be applied to 2.6.35+ and might need a backport for older kernels, since things were shuffled in commit fd558d186df2c (l2tp: Split pppol2tp patch into separate l2tp and ppp parts) Signed-off-by: Eric Dumazet CC: Paul E. McKenney CC: James Chapman Reviewed-by: Paul E. McKenney Signed-off-by: David S. Miller commit ae15a3b4d1374b733016ce4b4148b2ba42bbeb0f Author: Daniel Kiper Date: Wed May 4 20:17:21 2011 +0200 arch/x86/xen/setup: Cleanup code/data sections definitions Cleanup code/data sections definitions accordingly to include/linux/init.h. Signed-off-by: Daniel Kiper Signed-off-by: Konrad Rzeszutek Wilk commit ad3062a0f438a5f436dae267f795c0a9686f11d2 Author: Daniel Kiper Date: Wed May 4 20:15:18 2011 +0200 arch/x86/xen/enlighten: Cleanup code/data sections definitions Cleanup code/data sections definitions accordingly to include/linux/init.h. Signed-off-by: Daniel Kiper Signed-off-by: Konrad Rzeszutek Wilk commit 251511a18dcfe1868e3edfdc490777dcfaa1f851 Author: Daniel Kiper Date: Wed May 4 20:16:07 2011 +0200 arch/x86/xen/irq: Cleanup code/data sections definitions Cleanup code/data sections definitions accordingly to include/linux/init.h. Signed-off-by: Daniel Kiper Signed-off-by: Konrad Rzeszutek Wilk commit bdf516748ed73f6219f5e4065a8fe2f333520687 Author: Ian Campbell Date: Mon Apr 4 13:39:53 2011 +0100 xen: tidy up whitespace in drivers/xen/Makefile Various merges over time have led to rather a mish-mash of indentation. Signed-off-by: Ian Campbell Cc: Jeremy Fitzhardinge Cc: xen-devel@lists.xensource.com Signed-off-by: Konrad Rzeszutek Wilk commit fe44870bcdf614e4abb35657c68081cda35ba741 Author: Luciano Coelho Date: Thu May 12 16:50:41 2011 +0300 wl12xx: remove unused flag WL1271_FLAG_IDLE_REQUESTED This flag is not used anymore, remove it from the list. Signed-off-by: Luciano Coelho commit 683c002447c12742f5151691083f68524f33b13a Author: Luciano Coelho Date: Thu May 12 17:07:55 2011 +0300 wl12xx: prevent sched_scan when not idle or not in station mode The current firmware only supports scheduled scan in station mode and when idle. To prevent the firmware from crashing, return -EOPNOTSUPP when sched_scan start is called in an invalid state. Signed-off-by: Luciano Coelho commit d3eff81de6048d8af8f95f52f0f06625980f2efb Author: Luciano Coelho Date: Tue May 10 14:47:45 2011 +0300 wl12xx: export scheduled scan state in debugfs Add the sched_scanning value to the driver_status debugfs entry. Signed-off-by: Luciano Coelho commit 33c2c06cd2d766387cf919d0afd432cc5796c369 Author: Luciano Coelho Date: Tue May 10 14:46:02 2011 +0300 wl12xx: implement scheduled scan driver operations and reporting This patch adds the mac80211 operations for scheduled scan and the scheduled scan results reporting. Signed-off-by: Luciano Coelho commit 95feadca6dca909ae0f6e65665b782c7ca9d5122 Author: Luciano Coelho Date: Tue May 10 14:38:59 2011 +0300 wl12xx: add scheduled scan structures and commands Add firmware command structures, definitions and code to to configure, start and stop scheduled scans. Signed-off-by: Luciano Coelho commit 6394c01b61f8ab66a6af1a24ff05f2429130afcd Author: Luciano Coelho Date: Tue May 10 14:28:27 2011 +0300 wl12xx: listen to scheduled scan events Subscribe and listen to PERIODIC_SCAN_REPORT_EVENT_ID and PERIODIC_SCAN_COMPLETE_EVENT_ID in preparation for the scheduled scan implementation. Signed-off-by: Luciano Coelho commit 3a9d60e5bd72f9533b05d39278fec50b181dbdd2 Author: Luciano Coelho Date: Tue May 10 14:06:31 2011 +0300 wl12xx: add configuration values for scheduled scan Add the structures and values for driver-configured scheduled scan parameters. Signed-off-by: Luciano Coelho commit fcd23b6305e98f5ad3ddd7ff3f5081c75fcd4367 Author: Shahar Levi Date: Wed May 11 12:12:56 2011 +0300 wl12xx: add IEEE80211_HW_SPECTRUM_MGMT bit to the hw flags Set the spectrum management bit in the hw flags so that mac80211 will set the WLAN_CAPABILITY_SPECTRUM_MGMT bit in association requests (which in practice means that we support 802.11h spectrum management). [Reworded the commit log -- Luca.] Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit bc76b94051983b94c8ba04fbfbc59651b9925fa7 Author: Shahar Levi Date: Wed May 11 11:14:22 2011 +0300 wl12xx: Don't filter beacons that include changed HT IEs This patch adds a beacon filter rule to pass up the beacons that contain changed HT information elements. These beacons need to be passed to mac80211 so that it can act on such changes. [Reworded commit log -- Luca.] Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit 889cb360b4f48c1334311093161f06f7b4bd77d2 Author: Eliad Peller Date: Sun May 1 09:56:45 2011 +0300 wl12xx: simplify wl1271_ssid_set() Simplify wl1271_ssid_set by re-using cfg80211_find_ie instead of reimplementing it. Additionally, add a length check to prevent a potential buffer overflow. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit a236c71766a5f69edf189e2eaeb0aa587c8c5684 Author: Andrew Morton Date: Thu May 12 12:45:31 2011 -0700 drivers/base/memory.c: fix warning due to "memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION" drivers/base/memory.c: In function 'memory_block_change_state': drivers/base/memory.c:281: warning: unused variable 'i' less beer, more testing Cc: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8c5950881c3b5e6e350e4b0438a8ccc513d90df9 Author: Konrad Rzeszutek Wilk Date: Fri Apr 1 15:18:48 2011 -0400 xen/p2m: Create entries in the P2M_MFN trees's to track 1-1 mappings .. when applicable. We need to track in the p2m_mfn and p2m_mfn_p the MFNs and pointers, respectivly, for the P2M entries that are allocated for the identity mappings. Without this, a PV domain with an E820 that triggers the 1-1 mapping to kick in, won't be able to be restored as the P2M won't have the identity mappings. Signed-off-by: Konrad Rzeszutek Wilk commit 0f16d0dfcdb5aab97d9e368f008b070b5b3ec6d3 Author: Daniel Kiper Date: Wed May 11 22:34:38 2011 +0200 xen/setup: Fix for incorrect xen_extra_mem_start initialization under 32-bit git commit 24bdb0b62cc82120924762ae6bc85afc8c3f2b26 (xen: do not create the extra e820 region at an addr lower than 4G) does not take into account that ifdef CONFIG_X86_32 instead of e820_end_of_low_ram_pfn() find_low_pfn_range() is called (both calls are from arch/x86/kernel/setup.c). find_low_pfn_range() behaves correctly and does not require change in xen_extra_mem_start initialization. Additionally, if xen_extra_mem_start is initialized in the same way as ifdef CONFIG_X86_64 then memory hotplug support for Xen balloon driver (under development) is broken. Signed-off-by: Daniel Kiper Signed-off-by: Konrad Rzeszutek Wilk commit 15bfc094517db2ddf38ca7ed47f3a1c0ad24f7c4 Author: Konrad Rzeszutek Wilk Date: Tue Apr 12 07:57:15 2011 -0400 xen/setup: Ignore E820_UNUSABLE when setting 1-1 mappings. When we parse the raw E820, the Xen hypervisor can set "E820_RAM" to "E820_UNUSABLE" if the mem=X argument is used. As such we should _not_ consider the E820_UNUSABLE as an 1-1 identity mapping, but instead use the same case as for E820_RAM. Signed-off-by: Konrad Rzeszutek Wilk commit 7899891c7d161752f29abcc9bc0a9c6c3a3af26c Author: Tian, Kevin Date: Thu May 12 10:56:08 2011 +0800 xen mmu: fix a race window causing leave_mm BUG() There's a race window in xen_drop_mm_ref, where remote cpu may exit dirty bitmap between the check on this cpu and the point where remote cpu handles drop request. So in drop_other_mm_ref we need check whether TLB state is still lazy before calling into leave_mm. This bug is rarely observed in earlier kernel, but exaggerated by the commit 831d52bc153971b70e64eccfbed2b232394f22f8 ("x86, mm: avoid possible bogus tlb entries by clearing prev mm_cpumask after switching mm") which clears bitmap after changing the TLB state. the call trace is as below: --------------------------------- kernel BUG at arch/x86/mm/tlb.c:61! invalid opcode: 0000 [#1] SMP last sysfs file: /sys/devices/system/xen_memory/xen_memory0/info/current_kb CPU 1 Modules linked in: 8021q garp xen_netback xen_blkback blktap blkback_pagemap nbd bridge stp llc autofs4 ipmi_devintf ipmi_si ipmi_msghandler lockd sunrpc bonding ipv6 xenfs dm_multipath video output sbs sbshc parport_pc lp parport ses enclosure snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device serio_raw bnx2 snd_pcm_oss snd_mixer_oss snd_pcm snd_timer iTCO_wdt snd soundcore snd_page_alloc i2c_i801 iTCO_vendor_support i2c_core pcs pkr pata_acpi ata_generic ata_piix shpchp mptsas mptscsih mptbase [last unloaded: freq_table] Pid: 25581, comm: khelper Not tainted 2.6.32.36fixxen #1 Tecal RH2285 RIP: e030:[] [] leave_mm+0x15/0x46 RSP: e02b:ffff88002805be48 EFLAGS: 00010046 RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff88015f8e2da0 RDX: ffff88002805be78 RSI: 0000000000000000 RDI: 0000000000000001 RBP: ffff88002805be48 R08: ffff88009d662000 R09: dead000000200200 R10: dead000000100100 R11: ffffffff814472b2 R12: ffff88009bfc1880 R13: ffff880028063020 R14: 00000000000004f6 R15: 0000000000000000 FS: 00007f62362d66e0(0000) GS:ffff880028058000(0000) knlGS:0000000000000000 CS: e033 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000003aabc11909 CR3: 000000009b8ca000 CR4: 0000000000002660 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 00000000000000 00 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process khelper (pid: 25581, threadinfo ffff88007691e000, task ffff88009b92db40) Stack: ffff88002805be68 ffffffff8100e4ae 0000000000000001 ffff88009d733b88 <0> ffff88002805be98 ffffffff81087224 ffff88002805be78 ffff88002805be78 <0> ffff88015f808360 00000000000004f6 ffff88002805bea8 ffffffff81010108 Call Trace: [] drop_other_mm_ref+0x2a/0x53 [] generic_smp_call_function_single_interrupt+0xd8/0xfc [] xen_call_function_single_interrupt+0x13/0x28 [] handle_IRQ_event+0x66/0x120 [] handle_percpu_irq+0x41/0x6e [] __xen_evtchn_do_upcall+0x1ab/0x27d [] xen_evtchn_do_upcall+0x33/0x46 [] xen_do_hyper visor_callback+0x1e/0x30 [] ? _spin_unlock_irqrestore+0x15/0x17 [] ? xen_restore_fl_direct_end+0x0/0x1 [] ? flush_old_exec+0x3ac/0x500 [] ? load_elf_binary+0x0/0x17ef [] ? load_elf_binary+0x0/0x17ef [] ? load_elf_binary+0x398/0x17ef [] ? need_resched+0x23/0x2d [] ? process_measurement+0xc0/0xd7 [] ? load_elf_binary+0x0/0x17ef [] ? search_binary_handler+0xc8/0x255 [] ? do_execve+0x1c3/0x29e [] ? sys_execve+0x43/0x5d [] ? __call_usermodehelper+0x0/0x6f [] ? kernel_execve+0x68/0xd0 [] ? __call_usermodehelper+0x0/0x6f [] ? xen_restore_fl_direct_end+0x0/0x1 [] ? ____call_usermodehelper+0x113/0x11e [] ? child_rip+0xa/0x20 [] ? __call_usermodehelper+0x0/0x6f [] ? int_ret_from_sys_call+0x7/0x1b [] ? retint_restore_args+0x5/0x6 [] ? child_rip+0x0/0x20 Code: 41 5e 41 5f c9 c3 55 48 89 e5 0f 1f 44 00 00 e8 17 ff ff ff c9 c3 55 48 89 e5 0f 1f 44 00 00 65 8b 04 25 c8 55 01 00 ff c8 75 04 <0f> 0b eb fe 65 48 8b 34 25 c0 55 01 00 48 81 c6 b8 02 00 00 e8 RIP [] leave_mm+0x15/0x46 RSP ---[ end trace ce9cee6832a9c503 ]--- Tested-by: Maoxiaoyun Signed-off-by: Kevin Tian [v1: Fleshed out the git description a bit] Signed-off-by: Konrad Rzeszutek Wilk commit 6b86bd62a505a4a9739474f00f8088395b7a80ba Author: Johannes Berg Date: Thu May 12 13:38:50 2011 +0200 mac80211: mesh: move some code to make it static There's no need to have table functions in one file and all users in another, move the functions to the right file and make them static. Also move a static variable to the beginning of the file to make it easier to find. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 85a9994a0a6cba1a6cc6af4bd3ebd85f778be0fe Author: Luciano Coelho Date: Thu May 12 16:28:29 2011 +0300 cfg80211/mac80211: avoid bounce back mac->cfg->mac on sched_scan_stopped When sched_scan_stopped was called by the driver, mac80211 calls cfg80211, which in turn was calling mac80211 back with a flag "driver_initiated". This flag was used so that mac80211 would do the necessary cleanup but would not call the driver. This was enough to prevent the bounce back between the driver and mac80211, but not between mac80211 and cfg80211. To fix this, we now do the cleanup in mac80211 before calling cfg80211. To help with locking issues, the workqueue was moved from cfg80211 to mac80211. Reported-by: Johannes Berg Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit a3836e02ba4c50db958d32d710b226f2408623dc Author: Johannes Berg Date: Thu May 12 15:11:37 2011 +0200 mac80211: fix a few RCU issues A few configuration functions correctly do rcu_read_lock() but don't correctly reference some pointers protected by RCU. Fix that. Cc: stable@kernel.org Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8cb231530f03961b55aa4e84e6ead5590bcde04d Author: Johannes Berg Date: Thu May 12 15:07:15 2011 +0200 mac80211: fix another key non-race The code here is only not racy because all the places that assign the pointers it uses are holding the sta_mtx as well as the key_mtx and so can't race against this because this code holds the sta_mtx. But that's not intuitive, so fix it to hold the key_mtx. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5c0c36412b2dc6b1e243c7e9115306fe286583b7 Author: Johannes Berg Date: Thu May 12 14:31:49 2011 +0200 mac80211: make key locking clearer The code in ieee80211_del_key() doesn't acquire the key_mtx properly when it dereferences the keys. It turns out that isn't actually necessary since the key_mtx itself seems to be redundant since all key manipulations are done under the RTNL, but as long as we have the key_mtx we should use it the right way too. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit dea4096bc41a9642039840ced91e585d04883a16 Author: Johannes Berg Date: Thu May 12 15:03:32 2011 +0200 mac80211: remove pointless mesh path timer RCU code The code here to RCU-dereference a pointer that's on the stack is totally pointless, RCU isn't magic (like say Java's weak references are), so the code can't work like whoever wrote it thought it might. Remove it so readers don't get confused. Note that it seems that a bug is there anyway: I don't see any code that cancels the timer when a mesh path struct is destroyed. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit be0e6aa5a0c487a2a0880dda8bc70f7f1860fc39 Author: Senthil Balasubramanian Date: Thu May 12 16:24:28 2011 +0530 ath9k_hw: Fix STA connection issues with AR9380 (XB113). XB113 (AR9380) 3x3 SB 5G only cards were failing to connect to APs due to incorrect xpabiaslevel configuration. fix it. Cc: stable@kernel.org Cc: Ray Li Cc: Kathy Giori Cc: Aeolus Yang Cc: compat@orbit-lab.org Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 406a39ec00992090cda034625e176504eb7a71f9 Author: Amitkumar Karwar Date: Wed May 11 19:47:11 2011 -0700 mwifiex: remove mwifiex_recv_complete function The function - increments dropped rx_packet count if status code passed to it is "-1". - frees SKB buffer. But currently the function is being called with "0" status code. This patch replaces above function by dev_kfree_skb_any() call. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit f1a9c1e694f84938e6526590d23e88a791a8069f Author: Rafał Miłecki Date: Thu May 12 00:01:47 2011 +0200 bcma: pci: trivial: correct amount of maximum retries Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 9ba7f4f5eba5f4b44c7796bbad29f8ec3a7d5864 Author: Luis R. Rodriguez Date: Wed May 11 14:57:26 2011 -0700 ath9k_hw: fix dual band assumption for XB113 The XB113 cards are single band, 5 GHz-only, but the default settings were configured to assume it was dual band. Users of these cards then would see 2.4 GHz channels but you would never get any scan results from these channels given that the radio is not present. Cc: stable@kernel.org Cc: Fiona Cain Cc: Ray Li Cc: Kathy Giori Cc: Aeolus Yang Cc: Dan Friedman Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8fddddff0ad4ccc2787464207eba9ed3063e69cd Author: Daniel Halperin Date: Tue May 10 19:00:45 2011 -0700 mac80211: fix contention time computation in minstrel, minstrel_ht When transmitting a frame, the transmitter waits a random number of slots between 0 and cw. Thus, the contention time is (cw / 2) * t_slot which we can represent instead as (cw * t_slot) >> 1. Also fix a few other accounting bugs around contention time, and add comments. Signed-off-by: Daniel Halperin Signed-off-by: John W. Linville commit 56d1893d94bc06d0b1aa3a53f924ed02f9e207bf Author: Johannes Berg Date: Mon May 9 18:41:15 2011 +0200 cfg80211: restrict AP beacon intervals Multiple virtual AP interfaces can currently try to use different beacon intervals, but that just leads to problems since it won't actually be done that way by drivers. Return an error in this case to make sure it won't be done wrong. Also, ignore attempts to change the DTIM period or beacon interval during the lifetime of the BSS. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 15cb309614f35df344b9f06a9ea9f077d1e449db Merge: 4daf50f 55183d0 Author: John W. Linville Date: Thu May 12 14:06:10 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 commit 1df9fad1220beb21b4b4230373cbf4924436dd88 Merge: d0c49bf 2f25e9a 1c65335 Author: Roland Dreier Date: Thu May 12 08:57:20 2011 -0700 Merge branches 'cma', 'cxgb4' and 'qib' into for-next commit 1c65335714e99864a438b0d757c8736d3c6e7d79 Author: Sergei Shtylyov Date: Mon May 9 22:07:31 2011 -0700 IB/qib: Use pci_dev->revision The driver reads PCI revision ID from the PCI configuration register while it's already stored by PCI subsystem in the revision field of struct pci_dev. Signed-off-by: Sergei Shtylyov Acked-by: Mike Marciniszyn Signed-off-by: Roland Dreier commit 4daf50f20256e0022c87c1609226e971a70c82fd Author: Yogesh Ashok Powar Date: Thu May 12 09:32:17 2011 -0400 mac80211: Fix mesh-related build breakage... net/mac80211/cfg.c: In function ‘sta_apply_parameters’: net/mac80211/cfg.c:746: error: ‘struct sta_info’ has no member named ‘plink_state’ make[1]: *** [net/mac80211/cfg.o] Error 1 make: *** [net/mac80211/mac80211.ko] Error 2 Signed-off-by: John W. Linville commit 449a66fd1fa75d36dca917704827c40c8f416bca Author: Richard Weinberger Date: Thu May 12 15:11:12 2011 +0200 x86: Remove warning and warning_symbol from struct stacktrace_ops Both warning and warning_symbol are nowhere used. Let's get rid of them. Signed-off-by: Richard Weinberger Cc: Oleg Nesterov Cc: Andrew Morton Cc: Huang Ying Cc: Soeren Sandmann Pedersen Cc: Namhyung Kim Cc: x86 Cc: H. Peter Anvin Cc: Thomas Gleixner Cc: Robert Richter Cc: Paul Mundt Link: http://lkml.kernel.org/r/1305205872-10321-2-git-send-email-richard@nod.at Signed-off-by: Frederic Weisbecker commit 5db1256a5131d3b133946fa02ac9770a784e6eb2 Author: Milton Miller Date: Thu May 12 04:13:54 2011 -0500 seqlock: Don't smp_rmb in seqlock reader spin loop Move the smp_rmb after cpu_relax loop in read_seqlock and add ACCESS_ONCE to make sure the test and return are consistent. A multi-threaded core in the lab didn't like the update from 2.6.35 to 2.6.36, to the point it would hang during boot when multiple threads were active. Bisection showed af5ab277ded04bd9bc6b048c5a2f0e7d70ef0867 (clockevents: Remove the per cpu tick skew) as the culprit and it is supported with stack traces showing xtime_lock waits including tick_do_update_jiffies64 and/or update_vsyscall. Experimentation showed the combination of cpu_relax and smp_rmb was significantly slowing the progress of other threads sharing the core, and this patch is effective in avoiding the hang. A theory is the rmb is affecting the whole core while the cpu_relax is causing a resource rebalance flush, together they cause an interfernce cadance that is unbroken when the seqlock reader has interrupts disabled. At first I was confused why the refactor in 3c22cd5709e8143444a6d08682a87f4c57902df3 (kernel: optimise seqlock) didn't affect this patch application, but after some study that affected seqcount not seqlock. The new seqcount was not factored back into the seqlock. I defer that the future. While the removal of the timer interrupt offset created contention for the xtime lock while a cpu does the additonal work to update the system clock, the seqlock implementation with the tight rmb spin loop goes back much further, and is just waiting for the right trigger. Cc: Signed-off-by: Milton Miller Cc: Cc: Linus Torvalds Cc: Andi Kleen Cc: Nick Piggin Cc: Benjamin Herrenschmidt Cc: Anton Blanchard Cc: Paul McKenney Acked-by: Eric Dumazet Link: http://lkml.kernel.org/r/%3Cseqlock-rmb%40mdm.bga.com%3E Signed-off-by: Thomas Gleixner commit 3e51e3edfd81bfd9853ad7de91167e4ce33d0fe7 Author: Samir Bellabes Date: Wed May 11 18:18:05 2011 +0200 sched: Remove unused parameters from sched_fork() and wake_up_new_task() sched_fork() and wake_up_new_task() are defined with a parameter 'unsigned long clone_flags', which is unused. This patch removes the parameters. Signed-off-by: Samir Bellabes Acked-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1305130685-1047-1-git-send-email-sam@synack.fr Signed-off-by: Ingo Molnar commit 9cb5baba5e3acba0994ad899ee908799104c9965 Merge: 7142d17 693d92a Author: Ingo Molnar Date: Thu May 12 09:36:18 2011 +0200 Merge commit 'v2.6.39-rc7' into sched/core commit 55183d06cd1bd939ceccdad628b0aae12c86b803 Author: Gustavo F. Padovan Date: Wed May 11 19:26:06 2011 -0300 Bluetooth: Remove leftover debug messages They were added by me while testing and I forgot to remove. Signed-off-by: Gustavo F. Padovan commit 4d586b823acc46c55c889ae1798de236c9d403da Author: Padmanabh Ratnakar Date: Tue May 10 05:13:57 2011 +0000 be2net: Fix to prevent flooding of TX queue Start/stop TX queue is controlled by TX queue "used" counter. It is incremented while WRBs are posted to TX queue and decremented when TX completions are received. This counter was getting decremented before HW is informed about processing of TX completions. As used counter is decremented, transmit function posts new WRBs and creates completion queue full scenario in HW. Signed-off-by: Padmanabh Ratnakar Signed-off-by: David S. Miller commit ecd0bf0f7b280bac3ac7419ed3aac84cd92878e9 Author: Padmanabh Ratnakar Date: Tue May 10 05:13:26 2011 +0000 be2net: Use NTWK_RX_FILTER command for promiscous mode Use OPCODE_COMMON_NTWK_RX_FILTER command for promiscous mode as OPCODE_ETH_PROMISCUOUS command is getting deprecated. Signed-off-by: Padmanabh Ratnakar Signed-off-by: David S. Miller commit 18a91e6002207c8212e0960854f88ab924ea22f9 Author: Padmanabh Ratnakar Date: Tue May 10 05:13:01 2011 +0000 be2net: In case of UE, do not dump registers for Lancer In case of UE, do not dump registers for Lancer as they are not supported. Signed-off-by: Padmanabh Ratnakar Signed-off-by: David S. Miller commit 6bd011d54254d6f2a5314ab0ed38e66772e6b9f7 Author: Padmanabh Ratnakar Date: Tue May 10 05:12:37 2011 +0000 be2net: Disable coalesce water mark mode of CQ for Lancer Disable coalesce water mark mode of CQ for Lancer Signed-off-by: Padmanabh Ratnakar Signed-off-by: David S. Miller commit 009dd872d753f854cf13c8334e0055092f539b38 Author: Padmanabh Ratnakar Date: Tue May 10 05:12:17 2011 +0000 be2net: Handle error completion in Lancer In Lancer if a frame is DMAed partially due to lack of RX buffers, an error completion is sent with packet size as zero and num_recvd indicating number of used buffers. These buffers need to be freed and packet dropped. Signed-off-by: Padmanabh Ratnakar Signed-off-by: David S. Miller commit 5409d2cd841cf2c76396470e566500f6505f8d2a Author: Anton Blanchard Date: Wed May 11 17:25:14 2011 +1000 memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION On ppc64 the minimum memory section for hotplug is 16MB but most recent machines have a memory block size of 256MB. This means memory_block_change_state does 16 separate calls to memory_section_action. This also means we call the notifiers 16 times and the hook in the ehea network driver is quite costly. To offline one 256MB region takes: # time echo offline > /sys/devices/system/memory/memory32/state 7.9s This patch removes the loop and calls online_pages or remove_memory once for the entire region and in doing so makes the logic simpler since we don't have to back out if things fail part way through. The same test to offline one region now takes: # time echo online > /sys/devices/system/memory/memory32/state 0.67s Over 11 times faster. Signed-off-by: Anton Blanchard Signed-off-by: Greg Kroah-Hartman commit 365227e5fdf3d117e096416d9d3cc148959a829e Author: Vinicius Costa Gomes Date: Fri May 6 18:41:44 2011 -0300 Bluetooth: Add support for disconnecting LE links via mgmt If we can't find a ACL link between the devices, we search the connection list one second time looking for LE links. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 83bc71b4102d2a288edaf9ee398b330b88a88086 Author: Vinicius Costa Gomes Date: Fri May 6 18:41:43 2011 -0300 Bluetooth: Add support for sending connection events for LE links We need to be able for receive events notifying that the connection was established, the connection attempt failed or that disconnection happened. Signed-off-by: Vinicius Costa Gomes Signed-off-by: Gustavo F. Padovan commit 2e711c04dbbf7a7732a3f7073b1fc285d12b369d Author: Rafael J. Wysocki Date: Tue Apr 26 19:15:07 2011 +0200 PM: Remove sysdev suspend, resume and shutdown operations Since suspend, resume and shutdown operations in struct sysdev_class and struct sysdev_driver are not used any more, remove them. Also drop sysdev_suspend(), sysdev_resume() and sysdev_shutdown() used for executing those operations and modify all of their users accordingly. This reduces kernel code size quite a bit and reduces its complexity. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman commit f5a592f7d74e38c5007876c731e6bf5580072e63 Author: Rafael J. Wysocki Date: Tue Apr 26 19:14:57 2011 +0200 PM / PowerPC: Use struct syscore_ops instead of sysdevs for PM Make some PowerPC architecture's code use struct syscore_ops objects for power management instead of sysdev classes and sysdevs. This simplifies the code and reduces the kernel's memory footprint. It also is necessary for removing sysdevs from the kernel entirely in the future. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman commit f98bf4aa39ecce96020631cba910be094c87ac3c Author: Rafael J. Wysocki Date: Tue Apr 26 19:14:47 2011 +0200 PM / UNICORE32: Use struct syscore_ops instead of sysdevs for PM Make some UNICORE32 architecture's code use struct syscore_ops objects for power management instead of sysdev classes and sysdevs. This simplifies the code and reduces the kernel's memory footprint. It also is necessary for removing sysdevs from the kernel entirely in the future. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman Acked-by: Guan Xuetao commit f25f4f522a9d2e18595da9df0bf1b6f282040e08 Author: Rafael J. Wysocki Date: Tue Apr 26 19:14:35 2011 +0200 PM / AVR32: Use struct syscore_ops instead of sysdevs for PM Convert some AVR32 architecture's code to using struct syscore_ops objects for power management instead of sysdev classes and sysdevs. This simplifies the code and reduces the kernel's memory footprint. It also is necessary for removing sysdevs from the kernel entirely in the future. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman Acked-by: Hans-Christian Egtvedt commit bbe6ad6dcb1eb26bd12ec85320f402721c3383ae Author: Luciano Coelho Date: Wed May 11 17:09:37 2011 +0300 cfg80211/nl80211: add interval attribute for scheduled scans Introduce NL80211_ATTR_SCHED_SCAN_INTERVAL as a required attribute for NL80211_CMD_START_SCHED_SCAN. This value informs the driver at which intervals the scheduled scan cycles should be executed. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 79f460ca49d8d5700756ab7071c951311c7f29cc Author: Luciano Coelho Date: Wed May 11 17:09:36 2011 +0300 mac80211: add support for HW scheduled scan Implement support for HW scheduled scan. The mac80211 code doesn't perform scheduled scans itself, but calls the driver to start and stop scheduled scans. This patch also creates a trace event class to be used by drv_hw_scan and the new drv_sched_scan_start and drv_sched_stop functions, in order to avoid duplicate code. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 807f8a8c300435d5483e8d78df9dcdbc27333166 Author: Luciano Coelho Date: Wed May 11 17:09:35 2011 +0300 cfg80211/nl80211: add support for scheduled scans Implement new functionality for scheduled scan offload. With this feature we can scan automatically at certain intervals. The idea is that the hardware can perform scan automatically and filter on desired results without waking up the host unnecessarily. Add NL80211_CMD_START_SCHED_SCAN and NL80211_CMD_STOP_SCHED_SCAN commands to the nl80211 interface. When results are available they are reported by NL80211_CMD_SCHED_SCAN_RESULTS events. The userspace is informed when the scheduled scan has stopped with a NL80211_CMD_SCHED_SCAN_STOPPED event, which can be triggered either by the driver or by a call to NL80211_CMD_STOP_SCHED_SCAN. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 6bdbdbf4a151a3a1333818cd17a7d7795e936041 Author: Sascha Silbe Date: Wed May 11 14:52:34 2011 +0200 libertas: Add libertas_disablemesh module parameter to disable mesh interface This allows individual users and deployments to disable mesh support at runtime, i.e. without having to build and maintain a custom kernel. Based on a patch by Paul Fox . Signed-off-by: Sascha Silbe Signed-off-by: John W. Linville commit a8c485652ad4217800015aab25f1b70b96adb1a9 Author: Bing Zhao Date: Tue May 10 20:47:36 2011 -0700 mwifiex: cleanup ioctl.h Some structures and macros in ioctl.h are redundant or no longer used. Signed-off-by: Bing Zhao Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit c4859fbcfc12d5cfe8c30a33ad37d192a3093a7b Author: Amitkumar Karwar Date: Tue May 10 20:47:35 2011 -0700 mwifiex: remove redundant local structures Avoid use of local structure in the function if the structure is already allocated by the caller and the structure pointer is passed. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 0fd82eafe3aa70937905b7e19e256409ae48477e Author: Rafał Miłecki Date: Wed May 11 02:10:59 2011 +0200 b43: implement timeouts workaround Documented in: <4DCA7E40.9070709@lwfinger.net> Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 8576f815d5c8beb8b10f96abe31831b90af3d352 Author: Rafał Miłecki Date: Wed May 11 02:10:58 2011 +0200 ssb: move ssb_commit_settings and export it Commiting settings is possible on devices without PCI core (but with CC core). Export it for usage in drivers supporting other cores. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 1073e4ee595265086a592a056d903bf4fcc8885a Author: Rafał Miłecki Date: Wed May 11 02:08:09 2011 +0200 bcma: add missing GPIO defines, use PULL register only when available Similar patch was commited to ssb. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit f59a59fea3be78c2bda23cb7f55225b33c502c3c Author: Felix Fietkau Date: Tue May 10 20:52:22 2011 +0200 ath9k: fix a regression in PS frame filter handling Only leave filtering enabled for AP or VLAN interfaces, clear the destination mask for all other interfaces. Signed-off-by: Felix Fietkau Reported-by: Ben Greear Tested-by: Ben Greear Signed-off-by: John W. Linville commit 858a16529cb4c6434d863740283e0dfeb93cd599 Author: Rafał Miłecki Date: Tue May 10 16:05:33 2011 +0200 b43: move MAC PHY clock controling function This is not N-PHY specific function, we partially duplicate code. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit a7ffab33203ae0c755b33a80756fe734f732dbb0 Author: Rafał Miłecki Date: Tue May 10 15:53:16 2011 +0200 b43legacy: trivial: use TMSLOW def instead of magic value Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 92ddc111c4bc7216673bce7c49a2d54bedb1593c Author: Luciano Coelho Date: Mon May 9 14:40:06 2011 +0300 mac80211: add a couple of trace event classes to reduce duplicated code The functions drv_add_interface() and drv_remove_interface() print out the same values in the traces. Combine the traces of these two functions into one event class to remove some duplicate code. Also add a new class for functions drv_set_frag_threshold() and drv_set_rts_threshold(). Cc: Johannes Berg Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit d381f221199c58d2bf25a7024e786fc58562487c Author: Ben Greear Date: Fri May 6 15:24:34 2011 -0700 ath5k: Fix lockup due to un-init spinlock. This was introduced in 2.6.39-rc1 it seems. Signed-off-by: Ben Greear Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit 9b76b1e4d383868ba9c2a5fa2c2716bbc2384342 Author: Fabrice Deyber Date: Fri May 6 15:11:51 2011 -0700 mac80211: Only process mesh PREPs with equal seq number if metric is better. This fixes routing loops in PREP propagation and is in accordance with Draft 11, Section: 11C.9.8.4. Signed-off-by: Fabrice Deyber Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit fd5999cf11c8322568034bbf0d5594be94542a57 Author: Javier Cardona Date: Tue May 3 16:57:19 2011 -0700 ath9k: fix beaconing for mesh interfaces Mesh beaconing on ath9k was broken by this commit: commit 4801416c76a3a355076d6d371c00270dfe332e1c Author: Ben Greear Date: Sat Jan 15 19:13:48 2011 +0000 This patch assigns the right opmode when the device is used in mesh mode. Reported-by: Fabrice Deyber fabricedeyber@agilemesh.com Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 1833d81a1229adeab98f275b47624d66462561e5 Author: Javier Cardona Date: Tue May 3 16:57:18 2011 -0700 mac80211: allow setting supported rates on mesh peers This is necessary for userspace managed stations. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 28104cae63708d1790cd71db8a45af50d5ea5a92 Author: Javier Cardona Date: Tue May 3 16:57:17 2011 -0700 mac80211: Move call to mpp_path_lookup inside RCU-read section PROVE_RCU caught that one: [ 431.214070] =================================================== [ 431.215341] [ INFO: suspicious rcu_dereference_check() usage. ] [ 431.215674] --------------------------------------------------- [ 431.216043] net/mac80211/mesh_pathtbl.c:184 invoked rcu_dereference_check() without protection! Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 9b84b80891e5e25ae21c855bb135b05274125a29 Author: Javier Cardona Date: Tue May 3 16:57:16 2011 -0700 mac80211: Fix locking bug on mesh path table access The mesh and mpp path tables are accessed from softirq and workqueue context so non-irq locking cannot be used. Or at least that's what PROVE_RCU seems to tell us here: [ 431.240946] ================================= [ 431.241061] [ INFO: inconsistent lock state ] [ 431.241061] 2.6.39-rc3-wl+ #354 [ 431.241061] --------------------------------- [ 431.241061] inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage. [ 431.241061] kworker/u:1/1423 [HC0[0]:SC0[0]:HE1:SE1] takes: [ 431.241061] (&(&newtbl->hashwlock[i])->rlock){+.?...}, at: [] mesh_path_add+0x167/0x257 Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 9ca99eeca0cfe839c481f3350988e9ed94188567 Author: Javier Cardona Date: Tue May 3 16:57:15 2011 -0700 mac80211: Check size of a new mesh path table for changes since allocation. Not sure if I'm chasing a ghost here, seems like the mesh_path->size_order needs to be inside an RCU-read section to prevent that value from changing between table allocation and copying. We have observed crashes that might be caused by this. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 8f9cb77d6d213c153b0571f494df0c24456aaf47 Author: Thomas Pedersen Date: Tue May 3 16:57:14 2011 -0700 mac80211: Self-protected management frames are not robust They may contain encrypted information elements (as AMPE frames do) but they are not encrypted. Signed-off-by: Thomas Pedersen Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 8429828ec96b66b6861e9fabebec007e9e132370 Author: Thomas Pedersen Date: Tue May 3 16:57:13 2011 -0700 nl80211: allow setting MFP flag for a meshif Signed-off-by: Thomas Pedersen Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit ff973af74aa6932ca4758266bccec68e8135ddf7 Author: Thomas Pedersen Date: Tue May 3 16:57:12 2011 -0700 nl80211: allow installing keys for a meshif Signed-off-by: Thomas Pedersen Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 9c3990aaec0ad9f686ef6480f6861f2df89b2a7a Author: Javier Cardona Date: Tue May 3 16:57:11 2011 -0700 nl80211: Let userspace drive the peer link management states. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 0a35d36d6f019bde6c98812456798275b02e5aee Author: Javier Cardona Date: Wed May 4 10:24:56 2011 -0700 cfg80211: Use capability info to detect mesh beacons. Mesh beacons no longer use all-zeroes BSSID. Beacon frames for MBSS, infrastructure BSS, or IBSS are differentiated by the Capability Information field in the Beacon frame. A mesh STA sets the ESS and IBSS subfields to 0 in transmitted Beacon or Probe Response management frames. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 915b5c50f8f45e78ea96d93f1e49edb20c9470bd Author: Javier Cardona Date: Tue May 3 16:57:10 2011 -0700 open80211s: Stop using zero for address 3 in mesh plink mgmt frames Previous versions of 11s draft used the all zeroes address. Current draft uses the same address as address 2. Also, use the ANA-approved action category code for peer establishment frames. Note: This breaks compatibility with previous mesh protocol instances. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit d3aaec8ab76c2d604c2ba7332e1338674607597b Author: Javier Cardona Date: Tue May 3 16:57:09 2011 -0700 mac80211: Drop MESH_PLINK category and use new ANA-approved MESH_ACTION Note: This breaks compatibility with previous mesh protocol instances. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 0778a6a3e56cabdc322755f97ad23ee67efad0f0 Author: Javier Cardona Date: Tue May 3 16:57:08 2011 -0700 mac80211: Let userspace send action frames over mesh interfaces Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit b130e5cec958bae3867cf6ab09a9b24ba8fada01 Author: Javier Cardona Date: Tue May 3 16:57:07 2011 -0700 nl80211: Introduce NL80211_MESH_SETUP_USERSPACE_AMPE Introduce a new configuration option to support AMPE from userspace. Prior to this series we only supported authentication in userspace: an authentication daemon would authenticate peer candidates in userspace and hand them over to the kernel. From that point the mesh stack would take over and establish a peer link (Mesh Peering Management). These patches introduce support for Authenticated Mesh Peering Exchange in userspace. The userspace daemon implements the AMPE protocol and on successfull completion create mesh peers and install encryption keys. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 3c709f8fb43e07a0403bba4a8ca7ba00ab874994 Merge: 0074820 9bbc052 Author: David S. Miller Date: Wed May 11 14:26:15 2011 -0400 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-3.6 Conflicts: drivers/net/benet/be_main.c commit b3b1b061583ba4909b59a2f736825d86495fe956 Author: Waldemar Rymarkiewicz Date: Fri May 6 09:42:31 2011 +0200 Bluetooth: Double check sec req for pre 2.1 device In case of pre v2.1 devices authentication request will return success immediately if the link key already exists without any authentication process. That means, it's not possible to re-authenticate the link if you already have combination key and for instance want to re-authenticate to get the high security (use 16 digit pin). Therefore, it's necessary to check security requirements on auth complete event to prevent not enough secure connection. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit 2a7bccccdb9604a717c2128a931f022267d35629 Author: Andy Ross Date: Mon May 9 16:11:16 2011 -0700 Bluetooth: Device ids for ath3k on Pegatron Lucid tablets New ath3k device IDs used on the Pegatron Lucid (ExoPC and WeTab) units. Signed-off-by: Andy Ross Signed-off-by: Gustavo F. Padovan commit f3a57fd148a4afd3c38f558c5b44972cb29ea8ba Author: Joe Perches Date: Mon May 2 16:49:15 2011 -0700 libertas: Use netdev_ or dev_ where possible Using the more descriptive logging styles gives a bit more information about the device being operated on. Makes the object trivially smaller too. $ size drivers/net/wireless/libertas/built-in.o.* 187730 2973 38488 229191 37f47 drivers/net/wireless/libertas/built-in.o.new 188195 2973 38488 229656 38118 drivers/net/wireless/libertas/built-in.o.old Signed-off-by: Joe Perches Acked-by: Dan Williams Signed-off-by: John W. Linville commit 0e4e06ae5e895864b4a4bca7eec2e3015fddca98 Author: Joe Perches Date: Mon May 2 16:49:14 2011 -0700 libertas: Convert lbs_pr_ to pr_ Use the standard pr_ functions eases grep a bit. Added a few missing terminating newlines to messages. Coalesced long formats. Signed-off-by: Joe Perches Acked-by: Dan Williams Signed-off-by: John W. Linville commit 0074820978004cc484b132d7a9ce0df414660d9d Merge: 1fc19af 972a77f Author: David S. Miller Date: Wed May 11 12:41:28 2011 -0400 Merge branch 'tipc-May10-2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/net-next-2.6 commit 9fcce61c0eddbe21f42cb47bd5a366a6eb7956ce Author: Rafał Miłecki Date: Sun May 8 20:30:31 2011 +0200 ssb: update list of devices supporting multiple 80211 cores Some of the BCM43xx chips contain cores that are attached to the SSB, but are inactive as they do not connect to the external environment. These must not be registered. Several of these types are handled in driver ssb; however, the specific case of an inactive 802.11 cores is now treated in b43 and b43legacy. Although the current setup works, this minor change will place all such workarounds in ssb, and simplify the code in drivers b43 and b43legacy. Signed-off-by: Rafał Miłecki Tested-by: Larry Finger Acked-by: Larry Finger Signed-off-by: John W. Linville commit 8aa4d96fe3e4cda9a6469b22b3f017ed30996b10 Author: Daniel Drake Date: Tue May 10 22:34:11 2011 +0100 viafb: Automatic OLPC XO-1.5 configuration Currently, a long set of viafb options are needed to get the XO-1.5 laptop to output video (there is only 1 configuration that works, that can't really be autodetected). This patch automatically detects and configures viafb for the XO-1.5 laptop, meaning all that is required for working display is that viafb is loaded. Signed-off-by: Daniel Drake Signed-off-by: Florian Tobias Schandinat commit 6ef84509f3d439ed2d43ea40080643efec37f54f Author: Phil Sutter Date: Thu May 5 15:29:06 2011 +0200 crypto: mv_cesa - make count_sgs() null-pointer proof This also makes the dummy scatterlist in mv_hash_final() needless, so drop it. XXX: should this routine be made pulicly available? There are probably other users with their own implementations. Signed-off-by: Phil Sutter Signed-off-by: Herbert Xu commit 7759995c75ae0cbd4c861582908449f6b6208e7a Author: Phil Sutter Date: Thu May 5 15:29:05 2011 +0200 crypto: mv_cesa - copy remaining bytes to SRAM only when needed Signed-off-by: Phil Sutter Signed-off-by: Herbert Xu commit 8652348754a1f538daa1eab248e5c9c4c3600204 Author: Phil Sutter Date: Thu May 5 15:29:04 2011 +0200 crypto: mv_cesa - move digest state initialisation to a better place On one hand, the digest state registers need to be set only when actually using the crypto engine. On the other hand, there is a check for ctx->first_hash in mv_process_hash_current() already, so use that. Signed-off-by: Phil Sutter Signed-off-by: Herbert Xu commit cc8d35057ce7ae2f88cc65be0f839316c4641332 Author: Phil Sutter Date: Thu May 5 15:29:03 2011 +0200 crypto: mv_cesa - fill inner/outer IV fields only in HMAC case Signed-off-by: Phil Sutter Signed-off-by: Herbert Xu commit 6677a776cf3dc4950a790946f88d26dafc4baf7b Author: Phil Sutter Date: Thu May 5 15:29:02 2011 +0200 crypto: mv_cesa - refactor copy_src_to_buf() The main goal was to have it not do anything when a zero len parameter was being passed (which could lead to a null pointer dereference, as in this case p->src_sg is null, either). Using the min() macro, the lower part of the loop gets simpler, too. Signed-off-by: Phil Sutter Signed-off-by: Herbert Xu commit 7a1c6bcf269203485d716d8e3bec6671dabb5067 Author: Phil Sutter Date: Thu May 5 15:29:01 2011 +0200 crypto: mv_cesa - no need to save digest state after the last chunk Signed-off-by: Phil Sutter Signed-off-by: Herbert Xu commit 2a025f5dfcfaf7348fff6bda3ea007144f7eb47c Author: Phil Sutter Date: Thu May 5 15:29:00 2011 +0200 crypto: mv_cesa - print a warning when registration of AES algos fail Signed-off-by: Phil Sutter Signed-off-by: Herbert Xu commit 811e6ed62347f1042ab1c560e5e2ebc8892f7f8f Author: Phil Sutter Date: Thu May 5 15:28:59 2011 +0200 crypto: mv_cesa - drop this call to mv_hash_final from mv_hash_finup The code in mv_hash_final is actually a superset of mv_hash_finup's body. Since the driver works fine without, drop it. Signed-off-by: Phil Sutter Signed-off-by: Herbert Xu commit 99db3eacac81e50225d8a3571e32d692428f6920 Author: Phil Sutter Date: Thu May 5 15:28:58 2011 +0200 crypto: mv_cesa - the descriptor pointer register needs to be set just once Signed-off-by: Phil Sutter Signed-off-by: Herbert Xu commit 042e9e73561aa406b872f3e310bdc9477c379cb3 Author: Phil Sutter Date: Thu May 5 15:28:57 2011 +0200 crypto: mv_cesa - use ablkcipher_request_cast instead of the manual container_of Signed-off-by: Phil Sutter Signed-off-by: Herbert Xu commit 1fc19aff84edf97753c58cf4b858c6c4fdb246fa Author: Eric Dumazet Date: Mon May 9 20:55:03 2011 -0700 net: fix two lockdep splats Commit e67f88dd12f6 (net: dont hold rtnl mutex during netlink dump callbacks) switched rtnl protection to RCU, but we forgot to adjust two rcu_dereference() lockdep annotations : inet_get_link_af_size() or inet_fill_link_af() might be called with rcu_read_lock or rtnl held, so use rcu_dereference_rtnl() instead of rtnl_dereference() Reported-by: Valdis Kletnieks Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1f8e1cdac616e510eeb2dc2a9226bf597bc6cfd6 Author: Robert P. J. Day Date: Sat May 7 17:18:20 2011 -0400 SYSFS: Fix erroneous comments for sysfs_update_group(). Fix what is clearly a simple copy-and-paste error in commenting the sysfs_update_group() routine. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 105e53f863c04e1d9e5bb34bf753c9fdbce6a60c Author: Stefan Richter Date: Sun May 1 20:50:31 2011 +0200 firewire: sbp2: parallelize login, reconnect, logout The struct sbp2_logical_unit.work items can all be executed in parallel but are not reentrant. Furthermore, reconnect or re-login work must be executed in a WQ_MEM_RECLAIM workqueue. Hence replace the old single-threaded firewire-sbp2 workqueue by a concurrency-managed but non-reentrant workqueue with rescuer. firewire-core already maintains one, hence use this one. In earlier versions of this change, I observed occasional failures of parallel INQUIRY to an Initio INIC-2430 FireWire 800 to dual IDE bridge. More testing indicates that parallel INQUIRY is not actually a problem, but too quick successions of logout and login + INQUIRY, e.g. a quick sequence of cable plugout and plugin, can result in failed INQUIRY. This does not seem to be something that should or could be addressed by serialization. Another dual-LU device to which I currently have access to, an OXUF924DSB FireWire 800 to dual SATA bridge with firmware from MacPower, has been successfully tested with this too. This change is beneficial to environments with two or more FireWire storage devices, especially if they are located on the same bus. Management tasks that should be performed as soon and as quickly as possible, especially reconnect, are no longer held up by tasks on other devices that may take a long time, especially login with INQUIRY and sd or sr driver probe. Signed-off-by: Stefan Richter commit 81bf52d8622f05cfe89893fd5c1101efd85f855b Author: Stefan Richter Date: Sun May 1 21:06:42 2011 +0200 firewire: sbp2: octlet AT payloads can be stack-allocated We do not need slab allocations for ORB pointer write transactions anymore in order to satisfy streaming DMA mapping constraints, thanks to commit da28947e7e36 "firewire: ohci: avoid separate DMA mapping for small AT payloads". (Besides, the slab-allocated buffers that firewire-sbp2 used to provide for 8-byte write requests were still not fully portable since they shared a cacheline with unrelated CPU-accessed data.) Signed-off-by: Stefan Richter commit b75ca5ea8e439893121ad80406a3c04c4b7612ab Author: Stefan Richter Date: Fri Apr 22 12:21:44 2011 +0200 firewire: sbp2: omit Scsi_Host lock from queuecommand firewire-sbp2 already takes care for internal serialization where required (ORB list accesses), and it does not use cmd->serial_number internally. Hence it is safe to not grab the shost lock around queuecommand. While we are at housekeeping, drop a redundant struct member: sbp2_command_orb.done is set once in a hot path and dereferenced once in a hot path. We can as well dereference sbp2_command_orb.cmd->scsi_done instead. Signed-off-by: Stefan Richter commit 6ea9e7bbfc389a12d52646449a201fe933ccd663 Author: Stefan Richter Date: Wed Oct 13 13:39:46 2010 +0200 firewire: core: use non-reentrant workqueue with rescuer firewire-core manages the following types of work items: fw_card.br_work: - resets the bus on a card and possibly sends a PHY packet before that - does not sleep for long or not at all - is scheduled via fw_schedule_bus_reset() by - firewire-ohci's pci_probe method - firewire-ohci's set_config_rom method, called by kernelspace protocol drivers and userspace drivers which add/remove Configuration ROM descriptors - userspace drivers which use the bus reset ioctl - itself if the last reset happened less than 2 seconds ago fw_card.bm_work: - performs bus management duties - usually does not (but may in corner cases) sleep for long - is scheduled via fw_schedule_bm_work() by - firewire-ohci's self-ID-complete IRQ handler tasklet - firewire-core's fw_device.work instances whenever the root node device was (successfully or unsuccessfully) discovered, refreshed, or rediscovered - itself in case of resource allocation failures or in order to obey the 125ms bus manager arbitration interval fw_device.work: - performs node probe, update, shutdown, revival, removal; including kernel driver probe, update, shutdown and bus reset notification to userspace drivers - usually sleeps moderately long, in corner cases very long - is scheduled by - firewire-ohci's self-ID-complete IRQ handler tasklet via the core's fw_node_event - firewire-ohci's pci_remove method via core's fw_destroy_nodes/ fw_node_event - itself during retries, e.g. while a node is powering up iso_resource.work: - accesses registers at the Isochronous Resource Manager node - usually does not (but may in corner cases) sleep for long - is scheduled via schedule_iso_resource() by - the owning userspace driver at addition and removal of the resource - firewire-core's fw_device.work instances after bus reset - itself in case of resource allocation if necessary to obey the 1000ms reallocation period after bus reset fw_card.br_work instances should not, and instances of the others must not, be executed in parallel by multiple CPUs -- but were not protected against that. Hence allocate a non-reentrant workqueue for them. fw_device.work may be used in the memory reclaim path in case of SBP-2 device updates. Hence we need a workqueue with rescuer and cannot use system_nrt_wq. Signed-off-by: Stefan Richter Reviewed-by: Tejun Heo commit 13882a82ee1646336c3996c93b4a560a55d2a419 Author: Clemens Ladisch Date: Mon May 2 09:33:56 2011 +0200 firewire: optimize iso queueing by setting wake only after the last packet When queueing iso packets, the run time is dominated by the two MMIO accesses that set the DMA context's wake bit. Because most drivers submit packets in batches, we can save much time by removing all but the last wakeup. The internal kernel API is changed to require a call to fw_iso_context_queue_flush() after a batch of queued packets. The user space API does not change, so one call to FW_CDEV_IOC_QUEUE_ISO must specify multiple packets to take advantage of this optimization. In my measurements, this patch reduces the time needed to queue fifty skip packets from userspace to one sixth on a 2.5 GHz CPU, or to one third at 800 MHz. Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit f30e6d3e419bfb5540fa82ba7eca01d578556e6b Author: Stefan Richter Date: Fri Apr 22 15:13:54 2011 +0200 firewire: octlet AT payloads can be stack-allocated We do not need slab allocations anymore in order to satisfy streaming DMA mapping constraints, thanks to commit da28947e7e36 "firewire: ohci: avoid separate DMA mapping for small AT payloads". (Besides, the slab-allocated buffers that firewire-core, firewire-sbp2, and firedtv used to provide for 8-byte write and lock requests were still not fully portable since they crossed cacheline boundaries or shared a cacheline with unrelated CPU-accessed data. snd-firewire-lib got this aspect right by using an extra kmalloc/ kfree just for the 8-byte transaction buffer.) This change replaces kmalloc'ed lock transaction scratch buffers in firewire-core, firedtv, and snd-firewire-lib by local stack allocations. Perhaps the most notable result of the change is simpler locking because there is no need to serialize usages of preallocated per-device buffers anymore. Also, allocations and deallocations are simpler. Signed-off-by: Stefan Richter Acked-by: Clemens Ladisch commit 020abf03cd659388f94cb328e1e1df0656e0d7ff Merge: 0ff8fbc 693d92a Author: Stefan Richter Date: Tue May 10 20:52:07 2011 +0200 Merge tag 'v2.6.39-rc7' in order to pull in changes in drivers/media/dvb/firewire/ and sound/firewire/. commit 8f01cb0827c84bd9c4866b849415b3aa6f0428df Author: David S. Miller Date: Mon May 9 15:13:28 2011 -0700 ipv4: xfrm: Eliminate ->rt_src reference in policy code. Rearrange xfrm4_dst_lookup() so that it works by calling a helper function __xfrm_dst_lookup() that takes an explicit flow key storage area as an argument. Use this new helper in xfrm4_get_saddr() so we can fetch the selected source address from the flow instead of from rt->rt_src Signed-off-by: David S. Miller commit 5fc3590c81bd233c25fbe127cdcf7a8e26e12378 Author: David S. Miller Date: Mon May 9 14:52:02 2011 -0700 infiniband: Remove rt->rt_src usage in addr4_resolve() Use an explicit flow key and fetch it from there. Signed-off-by: David S. Miller commit 902ebd3e0de618b6d39004edac00b2cc36362065 Author: David S. Miller Date: Mon May 9 14:49:13 2011 -0700 sctp: Remove rt->rt_src usage in sctp_v4_get_saddr() Flow key is available, so fetch it from there. Signed-off-by: David S. Miller commit 79ab053145ae10edf8f0809d1c788b853c7f6ef1 Author: David S. Miller Date: Mon May 9 13:31:04 2011 -0700 ipv4: udp: Eliminate remaining uses of rt->rt_src We already track and pass around the correct flow key, so simply use it in udp_send_skb(). Signed-off-by: David S. Miller commit 9f6abb5f175bdb9ecfd390000a631bf0abf2fedb Author: David S. Miller Date: Mon May 9 13:28:22 2011 -0700 ipv4: icmp: Eliminate remaining uses of rt->rt_src On input packets, rt->rt_src always equals ip_hdr(skb)->saddr Anything that mangles or otherwise changes the IP header must relookup the route found at skb_rtable(). Therefore this invariant must always hold true. Signed-off-by: David S. Miller commit 0a5ebb8000c5362be368df9d197943deb06b6916 Author: David S. Miller Date: Mon May 9 13:22:43 2011 -0700 ipv4: Pass explicit daddr arg to ip_send_reply(). This eliminates an access to rt->rt_src. Signed-off-by: David S. Miller commit 2c14ddc135d93cb4b33ee4bd4a2b05e21a4a762c Merge: 54b3335 72fe00f Author: Ingo Molnar Date: Tue May 10 22:15:57 2011 +0200 Merge branch 'iommu/2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/iommu commit 972a77fbf1bbea6f54b5986b05041a17b607695b Author: Allan Stephens Date: Thu Apr 21 20:34:03 2011 -0500 tipc: Revise timings used when sending link request messages Revises the algorithm governing the sending of link request messages to take into account the number of nodes each bearer is currently in contact with, and to ensure more rapid rediscovery of neighboring nodes if a bearer fails and then recovers. The discovery object now sends requests at least once a second if it is not in contact with any other nodes, and at least once a minute if it has at least one neighbor; if contact with the only neighbor is lost, the object immediately reverts to its initial rapid-fire search timing to accelerate the rediscovery process. In addition, the discovery object now stops issuing link request messages if it is in contact with the only neighboring node it is configured to communicate with, since further searching is unnecessary. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 1209966cd5d2ec7f89ad2ed58a6a342aa8ea8712 Author: Allan Stephens Date: Thu Apr 21 19:05:25 2011 -0500 tipc: Add monitoring of number of nodes discovered by bearer Augments TIPC's discovery object to track the number of neighboring nodes having an active link to the associated bearer. This means tipc_disc_update_link_req() becomes either one of: tipc_disc_add_dest() or: tipc_disc_remove_dest() depending on the code flow direction of things. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 691a62075922b43b2b03def87ebcfdfbf0cd2ed8 Author: Allan Stephens Date: Thu Apr 21 16:28:02 2011 -0500 tipc: Enhance sending of discovery object link request messages Augments TIPC's discovery object to send its initial neighbor discovery request message as soon as the associated bearer is created, rather than waiting for its first periodic timeout to occur, thereby speeding up the discovery process. Also adds a check to suppress the initial request or subsequent requests if the bearer is blocked at the time the request is scheduled for transmission. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 3a777ff8b14456e15991c9fcc225943453dc3a75 Author: Allan Stephens Date: Thu Apr 21 13:58:26 2011 -0500 tipc: Enhance handling of discovery object creation failures Modifies bearer creation and deletion code to improve handling of scenarios when a neighbor discovery object cannot be created. The creation routine now aborts the creation of a bearer if its discovery object cannot be created, and deletes the newly created bearer, rather than failing quietly and leaving an unusable bearer hanging around. Since the exit via the goto label really isn't a definitive failure in all cases, relabel it appropriately. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit dc63d91eb1cf74233c68b0058dcd477f5d019d02 Author: Allan Stephens Date: Thu Apr 21 11:50:42 2011 -0400 tipc: Introduce routine to enqueue a chain of messages on link tx queue Create a helper routine to enqueue a chain of sk_buffs to a link's transmit queue. It improves readability and the new function is anticipated to be used more than just once in the future as well. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 2689690469c9fd76f9db0afcdf2523f48cce4006 Author: Allan Stephens Date: Thu Apr 21 10:42:07 2011 -0500 tipc: Avoid recomputation of outgoing message length Rework TIPC's message sending routines to take advantage of the total amount of data value passed to it by the kernel socket infrastructure. This change eliminates the need for TIPC to compute the size of outgoing messages itself, as well as the check for an oversize message in tipc_msg_build(). In addition, this change warrants an explanation: - res = send_packet(NULL, sock, &my_msg, 0); + res = send_packet(NULL, sock, &my_msg, bytes_to_send); Previously, the final argument to send_packet() was ignored (since the amount of data being sent was recalculated by a lower-level routine) and we could just pass in a dummy value (0). Now that the recalculation is being eliminated, the argument value being passed to send_packet() is significant and we have to supply the actual amount of data we want to send. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit c29c3f70c9eb6f18090da5af9dbe9dcb4adece8c Author: Allan Stephens Date: Tue Apr 20 17:58:24 2010 -0400 tipc: Abort excessive send requests as early as possible Adds checks to TIPC's socket send routines to promptly detect and abort attempts to send more than 66,000 bytes in a single TIPC message or more than 2**31-1 bytes in a single TIPC byte stream request. In addition, this ensures that the number of iovecs in a send request does not exceed the limits of a standard integer variable. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 66e019a6af827a254641e83e96ee36b0f4adc5e3 Author: Allan Stephens Date: Wed Apr 20 16:24:07 2011 -0500 tipc: Strengthen checks for neighboring node discovery Enhances existing checks on the discovery domain associated with a TIPC bearer. A bearer can no longer be configured to accept links from itself only (which would be pointless), or to nodes outside its own cluster (since multi-cluster support has now been removed from TIPC). Also, the neighbor discovery routine now validates link setup requests against the configured discovery domain for the bearer, rather than simply ensuring the requesting node belongs to the node's own cluster. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 1f3de471adf5c2a584480a6010808d7a17063897 Author: Paul Gortmaker Date: Tue Apr 19 13:11:23 2011 -0400 tipc: make zone/cluster mask constants a define This allows them to be available for easy re-use in other places and avoids trivial mistakes caused by "count the f's and 0's". Signed-off-by: Paul Gortmaker commit bebc55aeffa72d8198e5c54cab9973a30e92f854 Author: Allan Stephens Date: Tue Apr 19 10:17:58 2011 -0400 tipc: Fix sk_buff leaks when link congestion is detected Modifies a TIPC send routine that did not discard the outgoing sk_buff if it was not transmitted because of link congestion; this eliminates the potential for buffer leakage in the many callers who did not clean up the unsent buffer. (The two routines that previously did discard the unsent buffer have been updated to eliminate their now-redundant clean up.) Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 7f47f5c751c93f2ca9e7f0ef6c0915162ac9e076 Author: Allan Stephens Date: Mon Apr 18 10:14:26 2011 -0400 tipc: Update destination node field on incoming multicast messages Sets the destination node field of an incoming multicast message to the receiving node's network address before handing off the message to each receiving port. This ensures that, in the event the destination port returns the message to the sender, the sender can identify which node the destination port belonged to. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 7462b9e9f69aa6c5e2fded65d3b03df4ed08ff45 Author: Allan Stephens Date: Mon Apr 18 10:08:22 2011 -0400 tipc: Fix problem with bundled multicast message Set the destination node and destination port fields of an outgoing multicast message header to zero; this is necessary to ensure that the receiving node can route the message properly if it was packed into a bundle due to link congestion. (Previously, there was a chance that the receiving node would send the unbundled message to a random node & port, rather than processing the message itself.) Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 53b94364a7c96d3b2276cb2bbbecfb269bc9f0fc Author: Allan Stephens Date: Sun Apr 17 16:02:11 2011 -0400 tipc: Set name lookup scope field properly in all data messages Ensures that all outgoing data messages have the "name lookup scope" field of their header set correctly; that is, named multicast messages now specify cluster-wide name lookup, while messages not using TIPC naming zero out the lookup field. (Previously, the lookup scope specified for these types of messages was inherited from the last message sent by the sending port.) Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 77561557447d3be586e701815e261c93c11ded00 Author: Allan Stephens Date: Sun Apr 17 13:06:23 2011 -0400 tipc: Fix issues with fragmentation of an existing message buffer Modifies the routine that fragments an existing message buffer to use similar logic to that used when generating fragments from an iovec. The routine now creates a complete chain of fragments and adds them to the link transmit queue as a unit, so that the link sends all fragments or none; this prevents the incomplete transmission of a fragmented message that might otherwise result because of link congestion or memory exhaustion. This change also ensures that the counter recording the number of fragmented messages sent by the link is now incremented only if the message is actually sent. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit e0f085964cac97a3a9e47741365ef6a03e500873 Author: Allan Stephens Date: Sun Apr 17 11:44:24 2011 -0400 tipc: Avoid pointless masking of fragmented message identifier Eliminates code that restricts a link's counter of its fragmented messages to a 16-bit value, since the counter value is automatically restricted to this range when it is written into the message header. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 670c54083aa6e0eeefda1c4b307a91679b577664 Author: Allan Stephens Date: Sun Apr 17 10:29:16 2011 -0400 tipc: Don't initialize link selector field in fragmented messages Eliminates code that sets the link selector field in the header of fragmented messages, since this information is never referenced. (The unnecessary initialization was harmless as it was over-written by the fragmented message identifier value before the fragments were transmitted.) Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 7775bcc722ed9993e83401fee9c14008843b83c7 Author: Allan Stephens Date: Tue Apr 12 14:59:03 2011 -0400 tipc: Remove code to emulate loss of broadcast messages Eliminates optional code used to test TIPC's ability to recover from lost broadcast messages. This code duplicates functionality already provided by the network stack's QoS option "network emulator". Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 92138d1f254d58b818e7c3b91a1967cf57d374b5 Author: Allan Stephens Date: Fri Apr 8 11:04:15 2011 -0400 tipc: Cosmetic consolidation of internal message type definitions Half of the #define entries in msg.h were down at the bottom of the header, instead of up at the top before any of the static inlines etc. Relocate them up to the top, to be consistent with the other normal linux header file layout conventions. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 19f53d2cef97506364638c647a3aa11291819896 Author: Allan Stephens Date: Fri Apr 8 10:59:04 2011 -0400 tipc: Eliminate unused routing message definitions Gets rid of unused constants defining the types used in routing messages. These messages no longer exist in TIPC now that multicluster and multizone support has been eliminated. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit cc4c4353f0ebde05992bf360f16ec92260811393 Author: Allan Stephens Date: Fri Apr 8 10:50:52 2011 -0400 tipc: Update comments in message header include file Removes comments in TIPC's message header include file that are outdated and/or unnecessary. Also introduces short comments (or supplements existing ones) to better describe several set of existing symbolic constants. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 7cc5eb629cefa9a40295ff5ee4b1ec41ad855e8d Author: Amitkumar Karwar Date: Mon May 9 19:00:18 2011 -0700 mwifiex: remove unnecessary struct mwifiex_opt_sleep_confirm_buffer The structure definition is struct mwifiex_opt_sleep_confirm_buffer { u8 hdr[4]; struct mwifiex_opt_sleep_confirm ps_cfm_sleep; } __packed; For sleep_confirm command we already reserve 4 bytes (using skb_reserve()) for an interface header. It will be filled later by interface specific code. We don't need "hdr[4]" element in above structure. So we can use "struct mwifiex_opt_sleep_confirm" directly instead of "struct mwifiex_opt_sleep_confirm_buffer". Signed-off-by: Amitkumar Karwar Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 8369ae33b705222aa05ab53c7d6b4458f4ed161b Author: Rafał Miłecki Date: Mon May 9 18:56:46 2011 +0200 bcma: add Broadcom specific AMBA bus driver Broadcom has released cards based on a new AMBA-based bus type. From a programming point of view, this new bus type differs from AMBA and does not use AMBA common registers. It also differs enough from SSB. We decided that a new bus driver is needed to keep the code clean. In its current form, the driver detects devices present on the bus and registers them in the system. It allows registering BCMA drivers for specified bus devices and provides them basic operations. The bus driver itself includes two important bus managing drivers: ChipCommon core driver and PCI(c) core driver. They are early used to allow correct initialization. Currently code is limited to supporting buses on PCI(e) devices, however the driver is designed to be used also on other hosts. The host abstraction layer is implemented and already used for PCI(e). Support for PCI(e) hosts is working and seems to be stable (access to 80211 core was tested successfully on a few devices). We can still optimize it by using some fixed windows, but this can be done later without affecting any external code. Windows are just ranges in MMIO used for accessing cores on the bus. Cc: Greg KH Cc: Michael Büsch Cc: Larry Finger Cc: George Kashperko Cc: Arend van Spriel Cc: linux-arm-kernel@lists.infradead.org Cc: Russell King Cc: Arnd Bergmann Cc: Andy Botting Cc: linuxdriverproject Cc: linux-kernel@vger.kernel.org Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 306fe9384f06d31219778cece2d3c646146e7bb6 Author: Luciano Coelho Date: Mon May 9 19:15:04 2011 +0300 mac80211: don't drop frames where skb->len < 24 in ieee80211_scan_rx() This seems to be a leftover from the old days, when we didn't support any frames that didn't contain the full ieee802.11 header. This is not the case anymore. It does not cause problems now, because they are only dropped during scan. But when scheduled scans get merged, this would become a problem because we would drop all small frames while scheduled scan is running. To fix this, return RX_CONTINUE instead of RX_DROP_MONITOR. Cc: Johannes Berg Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 729da390034d04ff1b3a3f188dfb04a54f458e35 Author: Rajkumar Manoharan Date: Mon May 9 19:11:29 2011 +0530 ath9k: Failed to set default beacon rssi in AP/IBSS mode This beacon rssi will be used to set noisefloor during ani reset. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 2b892a98db269b96ed097d560aaaa371907d20f5 Author: Rajkumar Manoharan Date: Mon May 9 19:11:28 2011 +0530 ath9k: Fix rssi update in ad-hoc mode The average beacon rssi which will be used by ani is not updated in adhoc mode. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 94333f59cba08a1f6513ecd7e2fc5b85c1949a98 Author: Rajkumar Manoharan Date: Mon May 9 19:11:27 2011 +0530 ath9k_hw: Change DCU backoff thresh for AR9340 By changing DCU backoff threshold for AR9340 to 1, helps to reduce rx overrurns seen while running bidirectional traffic. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 165af96d56dce3bd0cd09567106f22215f80bb63 Author: Rajkumar Manoharan Date: Mon May 9 19:11:26 2011 +0530 ath9k_hw: Corrected xpabiaslevel register settings for AR9340 Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 73f743670d36ddd61247d709711227b0e2e1a497 Author: Joe Perches Date: Mon May 9 12:51:57 2011 -0700 rtlwifi: rtl8192cu: Fix memset/memcpy using sizeof(ptr) not sizeof(*ptr) Found via coccinelle script @@ type T; T* ptr; expression E1; @@ * memset(E1, 0, sizeof(ptr)); Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 8c12c7b0efce09b87e67d05332bdcb86ea83f65a Author: Mohammed Shafi Shajakhan Date: Mon May 9 10:29:01 2011 +0530 ath9k_hw: remove get_channel_noise function currently ath9k_hw_getchan_noise is not used anywhere Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 5ee9c6afcb72eb41c3607e424c3b969f8c56031b Author: Rafał Miłecki Date: Mon May 9 00:21:18 2011 +0200 b43: trivial: include ssb word in ssb specific functions This can be helpful when we decide to add support for other buses. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit b53575ecf939a4f752de87eabf1adbcfa4478a6c Author: Christoph Fritz Date: Sun May 8 22:50:09 2011 +0200 mwifiex: fix null derefs, mem leaks and trivia This patch: - adds kfree() where necessary - prevents potential null dereferences - makes use of kfree_skb() - replaces -1 for failed kzallocs with -ENOMEM Signed-off-by: Christoph Fritz Reviewed-by: Kiran Divekar Tested-by: Amitkumar Karwar Acked-by: Bing Zhao Signed-off-by: John W. Linville commit 3ed3f49473985718ce51f84d990ed5b8b6472598 Author: Rafał Miłecki Date: Sun May 8 20:30:33 2011 +0200 b43legacy: drop ssb-duplicated workaround for dangling cores Remove the code to detect inactive 802.11 cores, as that function is now done in ssb. Signed-off-by: Rafał Miłecki Tested-by: Larry Finger Acked-by: Larry Finger Signed-off-by: John W. Linville commit 25ea0dd9ffb7459f3b2948430f75d99b46ca1870 Author: Rafał Miłecki Date: Sun May 8 20:30:32 2011 +0200 b43: drop ssb-duplicated workaround for dangling cores Remove the code to detect inactive 802.11 cores, as that function is now done in ssb. Signed-off-by: Rafał Miłecki Tested-by: Larry Finger Acked-by: Larry Finger Signed-off-by: John W. Linville commit 9a24af1136e6d08c73010205caa282f46223aed5 Author: Gertjan van Wingerde Date: Sat May 7 17:27:46 2011 +0200 rt2x00: Fix rmmod hang of rt2800pci txstatus_timer should only be deleted for USB devices, as it is only initialized for USB devices. Reported-by: Andreas Hartmann Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1816fcdcbbe9ff42ba1a9dac5198d18efb9d95e9 Author: Christian Lamparter Date: Sat May 7 11:16:08 2011 +0200 p54pci: fix -Wunused-but-set-variable warnings p54pci.c: In function ‘p54p_tx’: p54pci.c:334:6: warning: variable ‘device_idx’ set but not used Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6490e334bc3af960965adfcef5acf6e5cbdd925c Author: Christian Lamparter Date: Sat May 7 11:13:37 2011 +0200 carl9170: fix -Wunused-but-set-variable warnings tx.c: In function ‘carl9170_tx_accounting_free’: tx.c:159:28: warning: variable ‘txinfo’ set but not used tx.c: In function ‘carl9170_tx_status_process_ampdu’: tx.c:383:27: warning: variable ‘ar_info’ set but not used tx.c: In function ‘__carl9170_tx_process_status’: tx.c:626:27: warning: variable ‘arinfo’ set but not used tx.c: In function ‘carl9170_tx_ampdu_queue’: tx.c:1324:15: warning: variable ‘max’ set but not used Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit fc7707a469785fe786ddc66d723c150226ddc40e Author: Chaoming Li Date: Fri May 6 15:32:02 2011 -0500 rtlwifi: rtl8192se: Remove need to disable ASPM When this driver was initially submitted, the system would crash unless ASPM was disabled. This problem has been fixed. This patch also adds a printk that outputs the name of the firmware file that is used. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c84aa5af996a306c8ce66aac2cc4d5f4a74e27ca Author: Larry Finger Date: Fri May 6 13:56:18 2011 -0500 rtlwifi: Move 2 large arrays off stack In driver rtlwifi, efuse_read() places two relatively large arrays on the stack - a 1D u8 array of size 128, and a 2D array of u16 with 128 * 4 elements. With driver rtl8192de, the sizes will be 256 and 256 * 4 respectively. As that will make the 2D array be 2048 bytes, I have changed the code to use kmalloc to allocate the space. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 054ec924944912413e4ee927b8cf02f476d08783 Author: Johannes Berg Date: Fri May 6 11:11:20 2011 -0700 iwlagn: fix iwl_is_any_associated The function iwl_is_any_associated() was intended to check both contexts, but due to an oversight it only checks the BSS context. This leads to a problem with scanning since the passive dwell time isn't restricted appropriately and a scan that includes passive channels will never finish if only the PAN context is associated since the default dwell time of 120ms won't fit into the normal 100 TU DTIM interval. Fix the function by using for_each_context() and also reorganise the other functions a bit to take advantage of each other making the code easier to read. Cc: stable@kernel.org Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 4105f8075051b62816830c95de1ec17ceb364d09 Author: Rajkumar Manoharan Date: Fri May 6 18:27:47 2011 +0530 ath9k: process TSF out of range before RX Processing TSF out of range before RX helps to update beacon timers so early in the succeeding rx process. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit deb751880af6f2dce6cdc232a7b023f2b58cd815 Author: Rajkumar Manoharan Date: Fri May 6 18:27:46 2011 +0530 ath9k: avoid enabling interrupts while processing rx The assumsion is that while processing ath9k tasklet, interrupts were already disabled and it will be enabled at the completion of ath9k tasklet. But whenever TSFOOR is raised, the driver configures the beacon timers after having received a beacon frame from the AP which inturn enables the interrupts. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 38bb3e9da62f6ebf1c6940d5482f0d6f431dac1c Author: Larry Finger Date: Thu May 5 18:48:47 2011 -0500 mac80211: Fix build error when CONFIG_PM is not defined When mac80211 is built without CONFIG_PM being defined, the following errors are output: net/mac80211/main.c: In function ‘ieee80211_register_hw’: net/mac80211/main.c:700: error: ‘const struct ieee80211_ops’ has no member named ‘suspend’ net/mac80211/main.c:700: error: ‘const struct ieee80211_ops’ has no member named ‘resume’ make[2]: *** [net/mac80211/main.o] Error 1 make[1]: *** [net/mac80211] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [net] Error 2 Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3782cf4a04c272bdaa8476463b1d0208edbc505d Author: Wey-Yi Guy Date: Sat Apr 30 08:38:16 2011 -0700 iwlagn: led stay solid on when no traffic commit 5ed540aecc2aae92d5c97b9a9306a5bf88ad5574 change the led behavior for iwlwifi driver; the side effect cause led blink all the time. Modify the led blink table to fix this problem Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 6572e91d5fa61bb3f879a00b96d763c566ced6cb Author: Rajkumar Manoharan Date: Mon Apr 25 15:56:16 2011 +0530 wireless: Fix warnings due to -Wunused-but-set-variable These warnings are exposed by gcc 4.6. net/wireless/reg.c: In function 'freq_reg_info_regd': net/wireless/reg.c:675:38: warning: variable 'pr' set but not used [-Wunused-but-set-variable] net/wireless/lib80211_crypt_wep.c: In function 'lib80211_wep_build_iv': net/wireless/lib80211_crypt_wep.c:99:12: warning: variable 'len' set but not used [-Wunused-but-set-variable] Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit d21844c7c23a71acea6fd68365b09b40e252a876 Merge: e4eefec 2c46f72 Author: John W. Linville Date: Tue May 10 15:49:11 2011 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 7e186bdd0098b34c69fb8067c67340ae610ea499 Author: Stefano Stabellini Date: Fri May 6 12:27:50 2011 +0100 xen: do not clear and mask evtchns in __xen_evtchn_do_upcall Change the irq handler of evtchns and pirqs that don't need EOI (pirqs that correspond to physical edge interrupts) to handle_edge_irq. Use handle_fasteoi_irq for pirqs that need eoi (they generally correspond to level triggered irqs), no risk in loosing interrupts because we have to EOI the irq anyway. This change has the following benefits: - it uses the very same handlers that Linux would use on native for the same irqs (handle_edge_irq for edge irqs and msis, and handle_fasteoi_irq for everything else); - it uses these handlers in the same way native code would use them: it let Linux mask\unmask and ack the irq when Linux want to mask\unmask and ack the irq; - it fixes a problem occurring when a driver calls disable_irq() in its handler: the old code was unconditionally unmasking the evtchn even if the irq is disabled when irq_eoi was called. See Documentation/DocBook/genericirq.tmpl for more informations. Signed-off-by: Stefano Stabellini [v1: Fixed space/tab issues] Signed-off-by: Konrad Rzeszutek Wilk commit fffcda1183e93df84ad73ba7eb7782a5c354e2b3 Author: Joerg Roedel Date: Tue May 10 17:22:06 2011 +0200 x86, gart: Rename pci-gart_64.c to amd_gart_64.c This file only contains code relevant for the northbridge gart in AMD processors. This patch renames the file to represent this fact in the filename. Signed-off-by: Joerg Roedel commit 2b348a77981227c6b64fb9cf19f7c711a6806bc9 Author: Lin Ming Date: Fri Apr 29 08:41:57 2011 +0000 perf probe: Fix the missed parameter initialization pubname_callback_param::found should be initialized to 0 in fastpath lookup, the structure is on the stack and uninitialized otherwise. Signed-off-by: Lin Ming Cc: Arnaldo Carvalho de Melo Link: http://lkml.kernel.org/r/1304066518-30420-2-git-send-email-ming.m.lin@intel.com Signed-off-by: Ingo Molnar commit 932fed4e2e42c3d730c01bb63b1c4f812c533d5b Merge: 57d5241 693d92a Author: Ingo Molnar Date: Tue May 10 17:05:24 2011 +0200 Merge commit 'v2.6.39-rc7' into perf/core Merge reason: pull in the latest fixes. Signed-off-by: Ingo Molnar commit 97fbdc1f77e9ce50ed0be543273d78f8de8675ac Author: Michal Marek Date: Tue Apr 5 16:59:16 2011 +0200 tipc: Drop __TIME__ usage The kernel already prints its build timestamp during boot, no need to repeat it in random drivers and produce different object files each time. Signed-off-by: Michal Marek Cc: Jon Maloy Cc: netdev@vger.kernel.org Cc: tipc-discussion@lists.sourceforge.net Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker commit 32e471ef1057e812856739d26b4a87d929fb8aa1 Author: Steven Whitehouse Date: Tue May 10 15:01:59 2011 +0100 GFS2: Use UUID field in generic superblock The VFS superblock structure now has a UUID field, so we can use that in preference to the UUID field in the GFS2 superblock now. Signed-off-by: Steven Whitehouse commit 2ab9cd1c63b519e37b21b504376822be983badba Author: Steven Whitehouse Date: Tue May 10 13:12:49 2011 +0100 GFS2: Rename ops_inode.c to inode.c This is the final part of the ops_inode.c/inode.c reordering. We are left with a single file called inode.c which now contains all the inode operations, as expected. Signed-off-by: Steven Whitehouse commit 64ea5402581485237d3b6e3a0cf2b364ad8bd580 Author: Steven Whitehouse Date: Tue May 10 13:09:53 2011 +0100 GFS2: Inode.c is empty now, remove it Signed-off-by: Steven Whitehouse commit 72fe00f01f9a3240a1073be27aeaf4fc476cc662 Author: Joerg Roedel Date: Tue May 10 10:50:42 2011 +0200 x86/amd-iommu: Use threaded interupt handler Move the interupt handling for the iommu into the interupt thread to reduce latencies and prepare interupt handling for pri handling. Signed-off-by: Joerg Roedel commit 604c307bf47350c74bb36507b86a08726c7c2075 Merge: e969687 ba4b87a fd7b553 58fc7f1 Author: Joerg Roedel Date: Tue May 10 10:25:23 2011 +0200 Merge branches 'dma-debug/next', 'amd-iommu/command-cleanups', 'amd-iommu/ats' and 'amd-iommu/extended-features' into iommu/2.6.40 Conflicts: arch/x86/include/asm/amd_iommu_types.h arch/x86/kernel/amd_iommu.c arch/x86/kernel/amd_iommu_init.c commit e969687595c27e02e02be0c9363261826123ba77 Author: Joe Perches Date: Fri Nov 5 16:12:35 2010 -0700 arch/x86/kernel/pci-iommu_table.c: Convert sprintf_symbol to %pS Coalesce format as well. Signed-off-by: Joe Perches Signed-off-by: Joerg Roedel commit d0c49bf391b2e230a8f3ae4486da7df440f1216d Author: Roland Dreier Date: Mon May 9 22:23:57 2011 -0700 RDMA/iwcm: Get rid of enum iw_cm_event_status The IW_CM_EVENT_STATUS_xxx values were used in only a couple of places; cma.c uses -Exxx values instead, and so do the amso1100, cxgb3 and cxgb4 drivers -- only nes was using the enum values (with the mild consequence that all nes connection failures were treated as generic errors rather than reported as timeouts or rejections). We can fix this confusion by getting rid of enum iw_cm_event_status and using a plain int for struct iw_cm_event.status, and converting nes to use -Exxx as the other iWARP drivers do. This also gets rid of the warning drivers/infiniband/core/cma.c: In function 'cma_iw_handler': drivers/infiniband/core/cma.c:1333:3: warning: case value '4294967185' not in enumerated type 'enum iw_cm_event_status' drivers/infiniband/core/cma.c:1336:3: warning: case value '4294967186' not in enumerated type 'enum iw_cm_event_status' drivers/infiniband/core/cma.c:1332:3: warning: case value '4294967192' not in enumerated type 'enum iw_cm_event_status' Signed-off-by: Roland Dreier Reviewed-by: Steve Wise Reviewed-by: Sean Hefty Reviewed-by: Faisal Latif commit ec03d6777a9e2b76917ef6d3fc8a01e174bcb9b1 Author: Sergei Shtylyov Date: Mon May 9 22:07:31 2011 -0700 IB/ipath: Use pci_dev->revision, again Commit 44c10138fd4b ("PCI: Change all drivers to use pci_device->revision") already converted this driver to using the revision field of struct pci_dev but commit bb9171448deb ("IB/ipath: Misc changes to prepare for IB7220 introduction") later reverted that change for some strange reason. Restore the change. Signed-off-by: Sergei Shtylyov Acked-by: Mike Marciniszyn Signed-off-by: Roland Dreier commit 9f5754e34bf964a41e821b2e0b358bc7c314ca4e Author: Mitko Haralanov Date: Mon May 9 22:07:31 2011 -0700 IB/qib: Prevent driver hang with unprogrammed boards The time limit test now correctly checks against current jiffies to avoid the hang. Signed-off-by: Mitko Haralanov Signed-off-by: Mike Marciniszyn Signed-off-by: Roland Dreier commit 2f25e9a540951ebd533b9b98d2259deb44b0b476 Author: Steve Wise Date: Mon May 9 22:06:23 2011 -0700 RDMA/cxgb4: EEH errors can hang the driver A few more EEH fixes: c4iw_wait_for_reply(): detect fatal EEH condition on timeout and return an error. The iw_cxgb4 driver was only calling ib_deregister_device() on an EEH event followed by a ib_register_device() when the device was reinitialized. However, the RDMA core doesn't allow multiple iterations of register/deregister by the provider. See drivers/infiniband/core/sysfs.c: ib_device_unregister_sysfs() where the kobject ref is held until the device is deallocated in ib_deallocate_device(). Calling deregister adds this kobj reference, and then a subsequent register call will generate a WARN_ON() from the kobject subsystem because the kobject is being initialized but is already initialized with the ref held. So the provider must deregister and dealloc when resetting for an EEH event, then alloc/register to re-initialize. To do this, we cannot use the device ptr as our ULD handle since it will change with each reallocation. This commit adds a ULD context struct which is used as the ULD handle, and then contains the device pointer and other state needed. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit d9594d990a528d4c444777d0f360bb50c6114825 Author: Steve Wise Date: Mon May 9 22:06:22 2011 -0700 RDMA/cxgb4: Reset wait condition atomically The driver was never really waiting for RDMA_WR/FINI completions because the condition variable used to determine if the completion happened was never reset, and this condition variable is reused for both connection setup and teardown. This causes various driver crashes under heavy loads due to releasing resources too early. The fix is to use atomic bits to correctly reset the condition immediately after the completion is detected. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 85d215b0f316bee0a6936bd1a5f21abf03333eaa Author: Roel Kluin Date: Mon May 9 22:06:22 2011 -0700 RDMA/cxgb4: Fix missing parentheses Parens are missing: '|' has a higher presedence than '?'. Signed-off-by: Roel Kluin Acked-by: Steve Wise Signed-off-by: Roland Dreier commit bbe9a0a2bc07cf30c5b89b51154f2c87200a5dfd Author: Steve Wise Date: Mon May 9 22:06:22 2011 -0700 RDMA/cxgb4: Initialization errors can cause crash c4iw_uld_add() must return ERR_PTR() values instead of NULL on failure. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 30c95c2d495c1c8d4d6a97bb9f4e4eacb91ba1d2 Author: Steve Wise Date: Mon May 9 22:06:22 2011 -0700 RDMA/cxgb4: Don't change QP state outside EP lock Concurrent ingress CLOSE and ULP ABORT operations causes a crash due to a race condition where the close path releases the EP lock and then tries to move the QP state to CLOSED. This must be done inside the EP lock to avoid the race. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit a9bb79128aa659f97b774b97c9bb1bdc74444595 Author: Hefty, Sean Date: Mon May 9 22:06:10 2011 -0700 RDMA/cma: Add an ID_REUSEADDR option Lustre requires that clients bind to a privileged port number before connecting to a remote server. On larger clusters (typically more than about 1000 nodes), the number of privileged ports is exhausted, resulting in lustre being unusable. To handle this, we add support for reusable addresses to the rdma_cm. This mimics the behavior of the socket option SO_REUSEADDR. A user may set an rdma_cm_id to reuse an address before calling rdma_bind_addr() (explicitly or implicitly). If set, other rdma_cm_id's may be bound to the same address, provided that they all have reuse enabled, and there are no active listens. If rdma_listen() is called on an rdma_cm_id that has reuse enabled, it will only succeed if there are no other id's bound to that same address. The reuse option is exported to user space. The behavior of the kernel reuse implementation was verified against that given by sockets. This patch is derived from a path by Ira Weiny Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 43b752daae9445a3b2b075a236840d801fce1593 Author: Hefty, Sean Date: Mon May 9 22:06:10 2011 -0700 RDMA/cma: Fix handling of IPv6 addressing in cma_use_port cma_use_port() assumes that the sockaddr is an IPv4 address. Since IPv6 addressing is supported (and also to support other address families) make the code more generic in its address handling. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 1c3319fb69c29376fe23c1aa0cd7cb6df91c7883 Author: Joe Perches Date: Mon May 9 09:45:23 2011 +0000 tulip: Use pr_ where appropriate Use the current logging styles. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 726b65ad444dd142e34d0087fcbba03d16b34ca6 Author: Joe Perches Date: Mon May 9 09:45:22 2011 +0000 tulip: Convert uses of KERN_DEBUG Convert logging messages to more current styles. Added -DDEBUG to Makefile to maintain current message logging. This could be converted to a specific CONFIG_TULIP_DEBUG option. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 163ef0b5922b14751e93218bdf2c9fe8f74b9c9d Author: Joe Perches Date: Mon May 9 09:45:21 2011 +0000 tulip: Convert printks to netdev_ Use the current more descriptive logging styles. Add pr_fmt and remove PFX where appropriate. Use netif_, netdev_ Indent a few blocks in xircom_cb where appropriate. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 54668b84bd2ee808e6b43ed9bd7aa3338fa95857 Author: Joe Perches Date: Mon May 9 09:45:20 2011 +0000 tulip: xircom_cb: Convert #ifdef DEBUG blocks and enter/leave uses Change the blocks that are guarded by #if DEBUG to be #if defined DEBUG && DEBUG > 1 so that pr_debug can be used later. Remove enter/leave macros and uses. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 4a9e25d8de3e1435a0b5155e0195de20744894fe Merge: 4940fc8 5d320a2 Author: David S. Miller Date: Mon May 9 12:48:05 2011 -0700 Merge branch 'davem-next.r8169' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 commit 935a638241b0658b9749edd060f972575f9d4a78 Author: Matthew Garrett Date: Thu May 5 15:19:46 2011 -0400 x86, efi: Ensure that the entirity of a region is mapped It's possible for init_memory_mapping() to fail to map the entire region if it crosses a boundary, so ensure that we complete the mapping. Signed-off-by: Matthew Garrett Link: http://lkml.kernel.org/r/1304623186-18261-5-git-send-email-mjg@redhat.com Signed-off-by: H. Peter Anvin commit 7cb00b72876ea2451eb79d468da0e8fb9134aa8a Author: Matthew Garrett Date: Thu May 5 15:19:45 2011 -0400 x86, efi: Pass a minimal map to SetVirtualAddressMap() Experimentation with various EFI implementations has shown that functions outside runtime services will still update their pointers if SetVirtualAddressMap() is called with memory descriptors outside the runtime area. This is obviously insane, and therefore is unsurprising. Evidence from instrumenting another EFI implementation suggests that it only passes the set of descriptors covering runtime regions, so let's avoid any problems by doing the same. Runtime descriptors are copied to a separate memory map, and only that map is passed back to the firmware. Signed-off-by: Matthew Garrett Link: http://lkml.kernel.org/r/1304623186-18261-4-git-send-email-mjg@redhat.com Signed-off-by: H. Peter Anvin commit 202f9d0a41809e3424af5f61489b48b622824aed Author: Matthew Garrett Date: Thu May 5 15:19:44 2011 -0400 x86, efi: Merge contiguous memory regions of the same type and attribute Some firmware implementations assume that physically contiguous regions will be contiguous in virtual address space. This assumption is, obviously, entirely unjustifiable. Said firmware implementations lack the good grace to handle their failings in a measured and reasonable manner, instead tending to shit all over address space and oopsing the kernel. In an ideal universe these firmware implementations would simultaneously catch fire and cease to be a problem, but since some of them are present in attractively thin and shiny metal devices vanity wins out and some poor developer spends an extended period of time surrounded by a growing array of empty bottles until the underlying reason becomes apparent. Said developer presents this patch, which simply merges adjacent regions if they happen to be contiguous and have the same EFI memory type and caching attributes. Signed-off-by: Matthew Garrett Link: http://lkml.kernel.org/r/1304623186-18261-3-git-send-email-mjg@redhat.com Signed-off-by: H. Peter Anvin commit 9cd2b07c197e3ff594fc04f5fb3d86efbeab6ad8 Author: Matthew Garrett Date: Thu May 5 15:19:43 2011 -0400 x86, efi: Consolidate EFI nx control The core EFI code and 64-bit EFI code currently have independent implementations of code for setting memory regions as executable or not. Let's consolidate them. Signed-off-by: Matthew Garrett Link: http://lkml.kernel.org/r/1304623186-18261-2-git-send-email-mjg@redhat.com Signed-off-by: H. Peter Anvin commit 2b5e8ef35bc89eee944c0627edacbb1fea5a1b84 Author: Matthew Garrett Date: Thu May 5 15:19:42 2011 -0400 x86, efi: Remove virtual-mode SetVirtualAddressMap call The spec says that SetVirtualAddressMap doesn't work once you're in virtual mode, so there's no point in having infrastructure for calling it from there. Signed-off-by: Matthew Garrett Link: http://lkml.kernel.org/r/1304623186-18261-1-git-send-email-mjg@redhat.com Signed-off-by: H. Peter Anvin commit 4940fc889e1e63667a15243028ddcd84d471cd8e Author: Alexey Dobriyan Date: Sat May 7 23:00:07 2011 +0000 net: add mac_pton() for parsing MAC address mac_pton() parses MAC address in form XX:XX:XX:XX:XX:XX and only in that form. mac_pton() doesn't dirty result until it's sure string representation is valid. mac_pton() doesn't care about characters _after_ last octet, it's up to caller to deal with it. mac_pton() diverges from 0/-E return value convention. Target usage: if (!mac_pton(str, whatever->mac)) return -EINVAL; /* ->mac being u8 [ETH_ALEN] is filled at this point. */ /* optionally check str[3 * ETH_ALEN - 1] for termination */ Use mac_pton() in pktgen and netconsole for start. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 99f823f98fb981b55c663a3783c3d2293958ece4 Author: Alexey Dobriyan Date: Sat May 7 20:33:13 2011 +0000 netconsole: switch to kstrto*() functions Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 0693e88e6ccf615d9674548d8b924cdd9a1c976c Author: Michał Mirosław Date: Sat May 7 01:48:02 2011 +0000 net: bonding: factor out rlock(bond->lock) in xmit path Pull read_lock(&bond->lock) and BOND_IS_OK() to bond_start_xmit() from mode-dependent xmit functions. netif_running() is always true in hard_start_xmit. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 5d320a205de277774962782a4b1923e4f8cdf781 Author: Francois Romieu Date: Sun May 8 17:47:36 2011 +0200 r8169: avoid late chip identifier initialisation. Unknown 8168 chips did not have any PLL power method set as they did not inherit a default family soon enough. Fix it. Signed-off-by: Francois Romieu Cc: Realtek linux nic maintainers commit 85bffe6ca2e2d7e9510c115aa4f11c3d4209051f Author: Francois Romieu Date: Wed Apr 27 08:22:39 2011 +0200 r8169: merge firmware information into the chipset description data. - RTL_GIGA_MAC_NONE is a fake index so put it at the end of the enumeration and shift everybody. - RTL_GIGA_MAC_VER_17 / RTL_GIGA_MAC_VER_16 ordering fixed. Though not wrong it was confusing enough to wonder if things were right. Renaming rtl_chip_info was not strictly necessary. It allows to check the patch for the correct use of the indexes though. Signed-off-by: Francois Romieu Cc: Realtek linux nic maintainers commit 31bd204f97e3796c5cfcfc582a93a10e45b99946 Author: Francois Romieu Date: Tue Apr 26 18:58:59 2011 +0200 r8169: provide some firmware information via ethtool. There is no real firmware version yet but the manpage of ethtool is rather terse about the driver information. Former output: $ ethtool -i eth1 driver: r8169 version: 2.3LK-NAPI firmware-version: bus-info: 0000:01:00.0 $ ethtool -i eth0 driver: r8169 version: 2.3LK-NAPI firmware-version: bus-info: 0000:03:00.0 Current output: $ ethtool -i eth1 driver: r8169 version: 2.3LK-NAPI firmware-version: N/A bus-info: 0000:01:00.0 $ ethtool -i eth0 driver: r8169 version: 2.3LK-NAPI firmware-version: rtl_nic/rtl8168d-1.fw bus-info: 0000:03:00.0 Signed-off-by: Francois Romieu Fixed-by Ciprian Docan Cc: Realtek linux nic maintainers Cc: Fejes József Cc: Borislav Petkov commit 56de414c0c7333f1e1adedc23057e131ce84233e Author: Francois Romieu Date: Tue Mar 15 17:29:31 2011 +0100 r8169: remove non-NAPI context invocation of rtl8169_rx_interrupt. Invocation of rtl8169_rx_interrupt from rtl8169_reset_task was originally intended to retrieve as much packets as possible from the rx ring when a reset was needed. Nowadays rtl8169_reset_task is only scheduled, with some delay a. from the tx timeout watchdog b. when resuming c. from rtl8169_rx_interrupt itself It's dubious that the loss of outdated packets will matter much for a) and b). c) does not need to call itself again. Signed-off-by: Francois Romieu Cc: Realtek linux nic maintainers commit 4876cc1e49efac03827a51a2422cfbbb7f6335de Author: Francois Romieu Date: Fri Mar 11 21:07:11 2011 +0100 r8169: link speed selection timer rework. The implementation was a bit krusty. The 10s rtl8169_phy_timer timer has been (was ?) required with older 8169 for adequate phy operation when full gigabit is advertised in autonegotiated mode. The timer does nothing if the link is up. Otherwise it keeps resetting the phy until things improve. - the device private data field phy_1000_ctrl_reg was used to schedule the timer. Avoid it and save a few bytes. - rtl8169_set_settings pending timer is disabled before changing the link settings as rtl8169_phy_timer is not always needed (see the removed test in rtl8169_phy_timer). - rtl8169_set_speed the requested link parameters may not match the chipset : bail out early on failure. - rtl8169_open Calling rtl8169_request_timer is redundant with -> rtl8169_open -> rtl8169_init_phy -> rtl8169_set_speed -> mod_timer The latter always enables the phy timer whereas the former did not for RTL_GIGA_MAC_VER_01. It should not make things worse but only time will tell if reality agrees. - rtl8169_request_timer : unused yet. Removed. - rtl8169_delete_timer : useless. Bloat. Removed. Side effect : the timer may kick in if the TBI is enabled. I do not know if the TBI has ever been used in real life. Signed-off-by: Francois Romieu Cc: Realtek linux nic maintainers commit 826e6cbdadfa51495c7189641df2514cc48e23da Author: Francois Romieu Date: Fri Mar 11 20:30:24 2011 +0100 r8169: rtl8169_set_speed_xmii cleanup. Shorten chipset version test. No functional change. Careful readers will notice that the 'supports_gmii' flag is deduced from the device PCI id. Though less specific than the chipset related RTL_GIGA_MAC_VER_XY, it is good enough to detect a GMII deprieved 810x. Some features push for a device specific configuration (improved jumbo frame support for instance). 'supports_gmii' will follow this path if / when the device PCI id test stops working. Signed-off-by: Francois Romieu Cc: Realtek linux nic maintainers commit 6f43adc88f49cb8164fbd665e968de4de380dc35 Author: Francois Romieu Date: Fri Apr 29 15:05:51 2011 +0200 r8169: remove some code duplication. Signed-off-by: Francois Romieu Cc: Realtek linux nic maintainers commit cecb5fd7c277c1bba161980bb41792a60b56df4a Author: Francois Romieu Date: Fri Apr 1 10:21:07 2011 +0200 r8169: style cleanups. Signed-off-by: Francois Romieu Cc: Realtek linux nic maintainers commit 48752e1b1802231ef2a076f34d861918b7d571c3 Author: Eric Dumazet Date: Mon May 9 04:40:44 2011 +0000 vlan: remove one synchronize_net() call At VLAN dismantle phase, unregister_vlan_dev() makes one synchronize_net() call after vlan_group_set_device(grp, vlan_id, NULL). This call can be safely removed because we are calling unregister_netdevice_queue() to queue device for deletion, and this process needs at least one rcu grace period to complete. Signed-off-by: Eric Dumazet Cc: Ben Greear Cc: Patrick McHardy Cc: Paul E. McKenney Cc: Jesse Gross Cc: Michał Mirosław Acked-by: Jesse Gross Signed-off-by: David S. Miller commit da37e368763f708d2ae5a81e61ec59372b831cf5 Author: Eric Dumazet Date: Mon May 9 03:35:55 2011 +0000 garp: remove one synchronize_rcu() call Speedup vlan dismantling in CONFIG_VLAN_8021Q_GVRP=y cases, by using a call_rcu() to free the memory instead of waiting with expensive synchronize_rcu() [ while RTNL is held ] Signed-off-by: Eric Dumazet Cc: Ben Greear Cc: Patrick McHardy Cc: Paul E. McKenney Signed-off-by: David S. Miller commit 226bd3411471af42f7edbdfaf73f2d54ebb62a66 Author: Eric Dumazet Date: Sun May 8 23:17:57 2011 +0000 net: use batched device unregister in veth and macvlan veth devices dont use the batched device unregisters yet. Since veth are a pair of devices, it makes sense to use a batch of two unregisters, this roughly divides dismantle time by two. Fix this by changing dellink() callers to always provide a non NULL head. (Idea from Michał Mirosław) This patch also handles macvlan case : We now dismantle all macvlans on top of a lower dev at once. Reported-by: Alex Bligh Signed-off-by: Eric Dumazet Cc: Michał Mirosław Cc: Jesse Gross Cc: Paul E. McKenney Cc: Ben Greear Signed-off-by: David S. Miller commit 9eed04cd99b0a497cf0da22658808a7f5b10d734 Author: Steven Whitehouse Date: Mon May 9 14:11:40 2011 +0100 GFS2: Move final part of inode.c into super.c Now inode.c is empty. Signed-off-by: Steven Whitehouse commit 194c011fc4650d0dd1eecbc35bc26045108aca51 Author: Steven Whitehouse Date: Mon May 9 14:06:38 2011 +0100 GFS2: Move most of the remaining inode.c into ops_inode.c This is in preparation to remove inode.c and rename ops_inode.c to inode.c. Also most of the functions which were left in inode.c relate to the creation and lookup of inodes. I'm intending to work on consolidating some of that code, and its easier when its all in one place. Signed-off-by: Steven Whitehouse commit d4b2cf1b0566eebfe39a6d70e9e4b5fa01ddaace Author: Steven Whitehouse Date: Mon May 9 13:49:59 2011 +0100 GFS2: Move gfs2_refresh_inode() and friends into glops.c Eventually there will only be a single caller of this code, so lets move it where it can be made static at some future date. Signed-off-by: Steven Whitehouse commit 94fb763b1a76a2000ad21f3119b05c90040acaf0 Author: Steven Whitehouse Date: Mon May 9 13:36:10 2011 +0100 GFS2: Remove gfs2_dinode_print() function This function was intended for debugging purposes, but it is not very useful. If we want to know what is on disk then all we need is a block number and gfs2_edit can give us much better information about what is there. Otherwise, if we are interested in what is stored in the in-core inode, it doesn't help us out there either. Signed-off-by: Steven Whitehouse commit 3d6ecb7d16fd4248fce58387a982a0756ad3fcc2 Author: Steven Whitehouse Date: Mon May 9 13:30:08 2011 +0100 GFS2: When adding a new dir entry, inc link count if it is a subdir This adds an increment of the link count when we add a new directory entry, if that entry is itself a directory. This means that we no longer need separate code to perform this operation. Now that both adding and removing directory entries automatically update the parent directory's link count if required, that makes the code shorter and simpler than before. Signed-off-by: Steven Whitehouse commit 855d23ce2665c56437bd88fa6a0d45b6713bd194 Author: Steven Whitehouse Date: Mon May 9 16:42:37 2011 +0100 GFS2: Make gfs2_dir_del update link count when required When we remove an entry from a directory, we can save ourselves some trouble if we know the type of the entry in question, since if it is itself a directory, we can update the link count of the parent at the same time as removing the directory entry. In addition this patch also merges the rmdir and unlink code which was almost identical anyway. This eliminates the calls to remove the . and .. directory entries on each rmdir (not needed since the directory will be deallocated, anyway) which was the only thing preventing passing the dentry to gfs2_dir_del(). The passing of the dentry rather than just the name allows us to figure out the type of the entry which is being removed, and thus adjust the link count when required. Signed-off-by: Steven Whitehouse commit 2baee03fb916563d7cc597e5460e4cb938815c52 Author: Steven Whitehouse Date: Mon May 9 12:08:36 2011 +0100 GFS2: Don't use gfs2_change_nlink in link syscall There are three users of gfs2_change_nlink which add to the link count. Two of these are about to be removed in later patches, so this means that there will no callers, when that happens allowing removal of that function, also in a later patch. Signed-off-by: Steven Whitehouse commit 40ae717d1e78d982bd469b2013a4cbf4ec1ca434 Author: Tejun Heo Date: Fri May 6 11:52:22 2011 +0200 ptrace: fix signal->wait_chldexit usage in task_clear_group_stop_trapping() GROUP_STOP_TRAPPING waiting mechanism piggybacks on signal->wait_chldexit which is primarily used to implement waiting for wait(2) and friends. When do_wait() waits on signal->wait_chldexit, it uses a custom wake up callback, child_wait_callback(), which expects the child task which is waking up the parent to be passed in as @key to filter out spurious wakeups. task_clear_group_stop_trapping() used __wake_up_sync() which uses NULL @key causing the following oops if the parent was doing do_wait(). BUG: unable to handle kernel NULL pointer dereference at 00000000000002d8 IP: [] child_wait_callback+0x29/0x80 PGD 1d899067 PUD 1e418067 PMD 0 Oops: 0000 [#1] PREEMPT SMP last sysfs file: /sys/devices/pci0000:00/0000:00:03.0/local_cpus CPU 2 Modules linked in: Pid: 4498, comm: test-continued Not tainted 2.6.39-rc6-work+ #32 Bochs Bochs RIP: 0010:[] [] child_wait_callback+0x29/0x80 RSP: 0000:ffff88001b889bf8 EFLAGS: 00010046 RAX: 0000000000000000 RBX: ffff88001fab3af8 RCX: 0000000000000000 RDX: 0000000000000001 RSI: 0000000000000002 RDI: ffff88001d91df20 RBP: ffff88001b889c08 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000 R13: ffff88001fb70550 R14: 0000000000000000 R15: 0000000000000001 FS: 00007f26ccae4700(0000) GS:ffff88001fd00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00000000000002d8 CR3: 000000001b8ac000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process test-continued (pid: 4498, threadinfo ffff88001b888000, task ffff88001fb88000) Stack: ffff88001b889c18 ffff88001fb70538 ffff88001b889c58 ffffffff810312f9 0000000000000001 0000000200000001 ffff88001b889c58 ffff88001fb70518 0000000000000002 0000000000000082 0000000000000001 0000000000000000 Call Trace: [] __wake_up_common+0x59/0x90 [] __wake_up_sync_key+0x53/0x80 [] __wake_up_sync+0x10/0x20 [] task_clear_jobctl_trapping+0x44/0x50 [] ptrace_stop+0x7c/0x290 [] do_signal_stop+0x28a/0x2d0 [] get_signal_to_deliver+0x14f/0x5a0 [] do_signal+0x75/0x7b0 [] do_notify_resume+0x5d/0x70 [] retint_signal+0x46/0x8c Code: 00 00 55 48 89 e5 53 48 83 ec 08 0f 1f 44 00 00 8b 47 d8 83 f8 03 74 3a 85 c0 49 89 c8 75 23 89 c0 48 8b 5f e0 4c 8d 0c 40 31 c0 <4b> 39 9c c8 d8 02 00 00 74 1d 48 83 c4 08 5b c9 c3 66 0f 1f 44 Fix it by using __wake_up_sync_key() and passing in the child as @key. I still think it's a mistake to piggyback on wait_chldexit for this. Given the relative low frequency of ptrace use, we would be much better off leaving already complex wait_chldexit alone and using bit waitqueue. Signed-off-by: Tejun Heo Reviewed-by: Oleg Nesterov commit 2e4f7c7769a0b8b6b3e88b0436c6c634f146a4ef Author: Oleg Nesterov Date: Mon May 9 13:48:56 2011 +0200 signal: sys_sigprocmask() needs retarget_shared_pending() sys_sigprocmask() changes current->blocked by hand. Convert this code to use set_current_blocked(). Signed-off-by: Oleg Nesterov commit 7ef73bca731fea9d4b706db2acb96b6488aa1b0e Author: David S. Miller Date: Sun May 8 21:14:41 2011 -0700 sctp: Fix debug message args. I messed things up when I converted over to the transport flow, I passed the ipv4 address value instead of it's address. Reported-by: Stephen Rothwell Signed-off-by: David S. Miller commit f5fca6086511294653a9e821f8e22f041415ba7b Author: David S. Miller Date: Sun May 8 17:24:10 2011 -0700 ipv4: Pass flow key down into ip_append_*(). This way rt->rt_dst accesses are unnecessary. Signed-off-by: David S. Miller commit 77968b78242ee25e2a4d759f0fca8dd52df6d479 Author: David S. Miller Date: Sun May 8 17:12:19 2011 -0700 ipv4: Pass flow keys down into datagram packet building engine. This way ip_output.c no longer needs rt->rt_{src,dst}. We already have these keys sitting, ready and waiting, on the stack or in a socket structure. Signed-off-by: David S. Miller commit e474995f290ff7bc236b549aa9a89ae445ee5b1b Author: David S. Miller Date: Sun May 8 16:38:45 2011 -0700 udp: Use flow key information instead of rt->rt_{src,dst} We have two cases. Either the socket is in TCP_ESTABLISHED state and connect() filled in the inet socket cork flow, or we looked up the route here and used an on-stack flow. Track which one it was, and use it to obtain src/dst addrs. Signed-off-by: David S. Miller commit eed2a12f1ed9aabf0676f4d0db34aad51976c5c6 Author: Mahesh Bandewar Date: Wed May 4 15:30:11 2011 +0000 net: Allow ethtool to set interface in loopback mode. This patch enables ethtool to set the loopback mode on a given interface. By configuring the interface in loopback mode in conjunction with a policy route / rule, a userland application can stress the egress / ingress path exposing the flows of the change in progress and potentially help developer(s) understand the impact of those changes without even sending a packet out on the network. Following set of commands illustrates one such example - a) ip -4 addr add 192.168.1.1/24 dev eth1 b) ip -4 rule add from all iif eth1 lookup 250 c) ip -4 route add local 0/0 dev lo proto kernel scope host table 250 d) arp -Ds 192.168.1.100 eth1 e) arp -Ds 192.168.1.200 eth1 f) sysctl -w net.ipv4.ip_nonlocal_bind=1 g) sysctl -w net.ipv4.conf.all.accept_local=1 # Assuming that the machine has 8 cores h) taskset 000f netserver -L 192.168.1.200 i) taskset 00f0 netperf -t TCP_CRR -L 192.168.1.100 -H 192.168.1.200 -l 30 Signed-off-by: Mahesh Bandewar Acked-by: Ben Hutchings Signed-off-by: David S. Miller commit 47a0200d535f08ac8f784a709c48995ca0b10288 Author: Alexey Dobriyan Date: Tue May 3 11:23:40 2011 +0000 pktgen: use %pI6c for printing IPv6 addresses I don't know why %pI6 doesn't compress, but the format specifier is kernel-standard, so use it. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 57cc71bc3c0cf18bfd1b7bc8cd0eb6c303da24c5 Author: Yaniv Rosner Date: Mon May 2 21:30:08 2011 +0000 ethtool: Add 20G bit definitions Add 20G supported and advertising bit definitions. 20G will be supported with the 57840 chips. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein ------ include/linux/ethtool.h | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) Signed-off-by: David S. Miller commit 02e73c1edc3746e308d1768a27fdc8121f641ab1 Merge: c5216cc 27aea21 Author: David S. Miller Date: Sun May 8 15:39:11 2011 -0700 Merge branch 'batman-adv/next' of git://git.open-mesh.org/ecsv/linux-merge commit c5216cc70fa769e5a51837f2cf07c4a0aa734fcf Author: David S. Miller Date: Fri May 6 22:36:30 2011 -0700 tcp: Use cork flow info instead of rt->rt_dst in tcp_v4_get_peer() Signed-off-by: David S. Miller commit f1c0a276ea1786213bda2313cd9034f3a23f2e77 Author: David S. Miller Date: Fri May 6 22:34:29 2011 -0700 sctp: Don't use rt->rt_{src,dst} in sctp_v4_xmit() Now we can pick it out of the transport's flow key. Signed-off-by: David S. Miller commit ea4fc0d6193ff56fcef39b0d2210d402a7acb5f0 Author: David S. Miller Date: Fri May 6 22:30:20 2011 -0700 ipv4: Don't use rt->rt_{src,dst} in ip_queue_xmit(). Now we can pick it out of the provided flow key. Signed-off-by: David S. Miller commit d9d8da805dcb503ef8ee49918a94d49085060f23 Author: David S. Miller Date: Fri May 6 22:23:20 2011 -0700 inet: Pass flowi to ->queue_xmit(). This allows us to acquire the exact route keying information from the protocol, however that might be managed. It handles all of the possibilities, from the simplest case of storing the key in inet->cork.fl to the more complex setup SCTP has where individual transports determine the flow. Signed-off-by: David S. Miller commit 0e734419923bd8e599858f8fc196c7804bb85564 Author: David S. Miller Date: Sun May 8 15:28:03 2011 -0700 ipv4: Use inet_csk_route_child_sock() in DCCP and TCP. Operation order is now transposed, we first create the child socket then we try to hook up the route. Signed-off-by: David S. Miller commit 74973f6fbfcd1b084c3ccc75b783a6dacac94a10 Author: Hans Schillstrom Date: Tue May 3 22:09:31 2011 +0200 IPVS: init and cleanup restructuring DESCRIPTION This patch tries to restore the initial init and cleanup sequences that was before namspace patch. Netns also requires action when net devices unregister which has never been implemented. I.e this patch also covers when a device moves into a network namespace, and has to be released. IMPLEMENTATION The number of calls to register_pernet_device have been reduced to one for the ip_vs.ko Schedulers still have their own calls. This patch adds a function __ip_vs_service_cleanup() and an enable flag for the netfilter hooks. The nf hooks will be enabled when the first service is loaded and never disabled again, except when a namespace exit starts. Signed-off-by: Hans Schillstrom Acked-by: Julian Anastasov [horms@verge.net.au: minor edit to changelog] Signed-off-by: Simon Horman commit 421eab4cf318ce47c1daae391e54d1b427c6687b Author: Hans Schillstrom Date: Tue May 3 22:09:30 2011 +0200 IPVS: Change of socket usage to enable name space exit. If the sync daemons run in a name space while it crashes or get killed, there is no way to stop them except for a reboot. When all patches are there, ip_vs_core will handle register_pernet_(), i.e. ip_vs_sync_init() and ip_vs_sync_cleanup() will be removed. Kernel threads should not increment the use count of a socket. By calling sk_change_net() after creating a socket this is avoided. sock_release cant be used intead sk_release_kernel() should be used. Thanks Eric W Biederman for your advices. Signed-off-by: Hans Schillstrom [horms@verge.net.au: minor edit to changelog] Signed-off-by: Simon Horman commit 77357a95522ba645bbfd65253b34317c824103f9 Author: David S. Miller Date: Sun May 8 14:34:22 2011 -0700 ipv4: Create inet_csk_route_child_sock(). This is just like inet_csk_route_req() except that it operates after we've created the new child socket. In this way we can use the new socket's cork flow for proper route key storage. This will be used by DCCP and TCP child socket creation handling. Signed-off-by: David S. Miller commit 8663c938ceb72f47941c95ff0ea491ebbdd68f26 Author: David S. Miller Date: Fri May 6 16:32:47 2011 -0700 sctp: Store a flowi in transports to provide persistent keying. Several future simplifications are possible now because of this. For example, the sctp_addr unions can simply refer directly to the flowi information. Signed-off-by: David S. Miller commit b57ae01a8a8446dbbed7365c9b05aef1fc6dea20 Author: David S. Miller Date: Fri May 6 16:24:06 2011 -0700 ipv4: Use cork flow in ip_queue_xmit() All invokers of ip_queue_xmit() must make certain that the socket is locked. All of SCTP, TCP, DCCP, and L2TP now make sure this is the case. Therefore we can use the cork flow during output route lookup in ip_queue_xmit() when the socket route check fails. Signed-off-by: David S. Miller commit 6e869138101bc607e4780187210b79d531f9b2ce Author: David S. Miller Date: Fri May 6 16:18:04 2011 -0700 ipv4: Use cork flow in inet_sk_{reselect_saddr,rebuild_header}() These two functions must be invoked only when the socket is locked (because socket identity modifications are made non-atomically). Therefore we can use the cork flow for output route lookups. Signed-off-by: David S. Miller commit 3038eeac027d8ec62e4936143498f2b37baf4cb5 Author: David S. Miller Date: Fri May 6 22:27:25 2011 -0700 ipv4: Lock socket and use cork flow in ip4_datagram_connect(). This is to make sure that an l2tp socket's inet cork flow is fully filled in, when it's encapsulated in UDP. Signed-off-by: David S. Miller commit fdbb0f076b065a0c753ba26925f10357505f1d42 Author: David S. Miller Date: Sun May 8 13:48:37 2011 -0700 l2tp: Use cork flow in l2tp_ip_connect() and l2tp_ip_sendmsg() Now that the socket is consistently locked in these two routines, this transformation is legal. Signed-off-by: David S. Miller commit 6af88da14ee284aaad6e4326da09a89191ab6165 Author: David S. Miller Date: Sun May 8 13:45:20 2011 -0700 l2tp: Fix locking in l2tp_core.c l2tp_xmit_skb() must take the socket lock. It makes use of ip_queue_xmit() which expects to execute in a socket atomic context. Since we execute this function in software interrupts, we cannot use the usual lock_sock()/release_sock() sequence, instead we have to use bh_lock_sock() and see if a user has the socket locked, and if so drop the packet. Signed-off-by: David S. Miller commit 2f16270f41e1499e23e6be25c51be87d950ffc91 Author: David S. Miller Date: Sun May 8 13:39:01 2011 -0700 l2tp: Fix locking in l2tp_ip.c Both l2tp_ip_connect() and l2tp_ip_sendmsg() must take the socket lock. They both modify socket state non-atomically, and in particular l2tp_ip_sendmsg() increments socket private counters without using atomic operations. Signed-off-by: David S. Miller commit da905bd1d5a6480d206f4b3dc61243f95adfae2c Author: David S. Miller Date: Fri May 6 16:11:19 2011 -0700 tcp: Use cork flow in tcp_v4_connect() Since this is invoked from inet_stream_connect() the socket is locked and therefore this usage is safe. Signed-off-by: David S. Miller commit 2c42758cf6683e9c1657d20dcf2a7edd323d98ca Author: David S. Miller Date: Fri May 6 16:10:41 2011 -0700 dccp: Use cork flow in dccp_v4_connect() Since this is invoked from inet_stream_connect() the socket is locked and therefore this usage is safe. Signed-off-by: David S. Miller commit 1ab7b6ac2709d0eb05a7144cd0e14faa3a7ea162 Author: Stephen Hemminger Date: Thu Apr 14 23:46:06 2011 -0700 ethtool: remove phys_id from ethtool_ops After that all the upstream kernel drivers now use phys_id, and the old ethtool_ops interface (phys_id) can be removed. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 27aea2128ec09924dfe08e97739b2bf8b15c8619 Author: Daniele Furlan Date: Sat May 7 22:45:19 2011 +0200 batman-adv: remove duplicate code from function is_bidirectional_neigh() In function is_bidirectional_neigh the code that find out the one hop neighbor is duplicated. Signed-off-by: Daniele Furlan Signed-off-by: Sven Eckelmann commit 6e215fd8eb4930373d01da0fac16a0889804fac3 Author: Sven Eckelmann Date: Sun May 8 12:45:45 2011 +0200 batman-adv: Remove multiline comments from line ending It is slightly irritating that comments after a long line span over multiple lines without any code. It is easier to put them before the actual code and reduce the number of lines which the eye has to read. Signed-off-by: Sven Eckelmann commit 2dafb49d84a9195193b28ac5047df1bbab6053b9 Author: Antonio Quartulli Date: Thu May 5 08:42:45 2011 +0200 batman-adv: rename everything from *hna* into *tt* (translation table) To be coherent, all the functions/variables/constants have been renamed to the TranslationTable style Signed-off-by: Antonio Quartulli Signed-off-by: Sven Eckelmann commit 01df2b65e97735547ce37844f4134b5ea99b4037 Author: Marek Lindner Date: Thu May 5 14:14:46 2011 +0200 batman-adv: Fix refcount imbalance in find_router Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit 3a4375a9f0080e6ae40af63e2e2c1e70a6dcb775 Author: Sven Eckelmann Date: Tue May 3 13:10:06 2011 +0200 batman-adv: Avoid deadlock between rtnl_lock and s_active The hard_if_event is called by the notifier with rtnl_lock and tries to remove sysfs entries when a NETDEV_UNREGISTER event is received. This will automatically take the s_active lock. The s_active lock is also used when a new interface is added to a meshif through sysfs. In that situation we cannot wait for the rntl_lock before creating the actual batman-adv interface to prevent a deadlock. It is still possible to try to get the rtnl_lock and immediately abort the current operation when the trylock call failed. Signed-off-by: Sven Eckelmann commit c3caf5196c47a5d1c325308d8eb7f6b020ba12df Author: Sven Eckelmann Date: Tue May 3 11:51:38 2011 +0200 batman-adv: Remove unnecessary hardif_list_lock hardif_list_lock is unneccessary because we already ensure that no multiple admin operations can take place through rtnl_lock. hardif_list_lock only adds additional overhead and complexity. Critical functions now check whether they are called with rtnl_lock using ASSERT_RTNL. It indirectly fixes the problem that orig_hash_del_if() expects that only one interface is deleted from hardif_list at a time, but hardif_remove_interfaces() removes all at once and then calls orig_hash_del_if(). Reported-by: Linus Lüssing Signed-off-by: Sven Eckelmann commit 61906ae86d8989e5bd3bc1f51b2fb8d32ffde2c5 Author: Marek Lindner Date: Thu Apr 21 15:52:17 2011 +0200 batman-adv: multi vlan support for bridge loop detection The bridge loop detection for batman-adv allows the bat0 interface to be bridged into an ethernet segment which other batman-adv nodes are connected to. In order to also allow multiple VLANs on top of the bat0 interface to be bridged into the ethernet segment this patch extends the aforementioned bridge loop detection. Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit 28f8e546e6bc4c2bc6687d7c8dcbe9934cebe639 Author: Marek Lindner Date: Mon May 2 16:37:13 2011 +0200 batman-adv: remove misplaced comment Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit 534eacb5d4e7bafbdb60386678afeffb7966c375 Merge: 0f020de 58f6bcf Author: David S. Miller Date: Sat May 7 22:57:22 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net-next-2.6 commit 11c476f31a0fabc6e604da5b09a6590b57c3fb20 Author: Paul E. McKenney Date: Mon May 2 00:56:57 2011 -0700 net,rcu: convert call_rcu(prl_entry_destroy_rcu) to kfree The RCU callback prl_entry_destroy_rcu() just calls kfree(), so we can use kfree_rcu() instead of call_rcu(). Signed-off-by: Paul E. McKenney Cc: Alexey Kuznetsov Cc: "Pekka Savola (ipv6)" Cc: James Morris Cc: Hideaki YOSHIFUJI Cc: Patrick McHardy Acked-by: David S. Miller Reviewed-by: Josh Triplett commit 8e3572cff70ee19a0a1f2e2dde0bca0b7c8b54dc Author: Paul E. McKenney Date: Mon May 2 00:52:23 2011 -0700 batman,rcu: convert call_rcu(softif_neigh_free_rcu) to kfree_rcu The RCU callback softif_neigh_free_rcu() just calls kfree(), so we can use kfree_rcu() instead of call_rcu(). Signed-off-by: Paul E. McKenney Cc: Marek Lindner Cc: Simon Wunderlich Acked-by: David S. Miller Reviewed-by: Josh Triplett Acked-by: Sven Eckelmann commit ae179ae433bb4ef6b6179c5c1c7b6cc7dc01c670 Author: Paul E. McKenney Date: Sun May 1 23:27:50 2011 -0700 batman,rcu: convert call_rcu(neigh_node_free_rcu) to kfree() The RCU callback neigh_node_free_rcu() just calls kfree(), so we can use kfree_rcu() instead of call_rcu(). Signed-off-by: Paul E. McKenney Cc: Marek Lindner Cc: Simon Wunderlich Acked-by: David S. Miller Reviewed-by: Josh Triplett Acked-by: Sven Eckelmann commit eb340b2f804860a51a0b92e35fd36742b6c2d6b7 Author: Paul E. McKenney Date: Sun May 1 23:25:02 2011 -0700 batman,rcu: convert call_rcu(gw_node_free_rcu) to kfree_rcu The RCU callback gw_node_free_rcu() just calls kfree(), so we can use kfree_rcu() instead of call_rcu(). Signed-off-by: Paul E. McKenney Cc: Marek Lindner Cc: Simon Wunderlich Acked-by: David S. Miller Reviewed-by: Josh Triplett Acked-by: Sven Eckelmann commit 0744371aeba7a5004006c2309971ee026c0b2000 Author: Lai Jiangshan Date: Tue Mar 15 18:02:42 2011 +0800 net,rcu: convert call_rcu(kfree_tid_tx) to kfree_rcu() The rcu callback kfree_tid_tx() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(kfree_tid_tx). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: "John W. Linville" Cc: Johannes Berg Reviewed-by: Josh Triplett Acked-by: "David S. Miller" commit 88b4a0347a81539884df5ad535e10cf9fa87d8d4 Author: Lai Jiangshan Date: Fri Mar 18 12:15:02 2011 +0800 net,rcu: convert call_rcu(xt_osf_finger_free_rcu) to kfree_rcu() The rcu callback xt_osf_finger_free_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(xt_osf_finger_free_rcu). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit a74ce1425e4f6075de443274a5e917c84357eac4 Author: Lai Jiangshan Date: Fri Mar 18 12:14:15 2011 +0800 net/mac80211,rcu: convert call_rcu(work_free_rcu) to kfree_rcu() The rcu callback work_free_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(work_free_rcu). Signed-off-by: Lai Jiangshan Acked-by: "John W. Linville" Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 61845220248c2368095158420b029683fad5570a Author: Lai Jiangshan Date: Fri Mar 18 12:10:25 2011 +0800 net,rcu: convert call_rcu(wq_free_rcu) to kfree_rcu() The rcu callback wq_free_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(wq_free_rcu). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 7e113a9c759d1918fcbe456c5eb8890a4da62eaa Author: Lai Jiangshan Date: Fri Mar 18 12:09:03 2011 +0800 net,rcu: convert call_rcu(phonet_device_rcu_free) to kfree_rcu() The rcu callback phonet_device_rcu_free() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(phonet_device_rcu_free). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit fa4bbc4ca5795fbf1303b98c924e51a21a920f14 Author: Lai Jiangshan Date: Fri Mar 18 12:08:29 2011 +0800 perf,rcu: convert call_rcu(swevent_hlist_release_rcu) to kfree_rcu() The rcu callback swevent_hlist_release_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(swevent_hlist_release_rcu). Signed-off-by: Lai Jiangshan Acked-by: Peter Zijlstra Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit cb796ff338db9f064f4ecb7d41898e8bedcad4d9 Author: Lai Jiangshan Date: Fri Mar 18 12:07:41 2011 +0800 perf,rcu: convert call_rcu(free_ctx) to kfree_rcu() The rcu callback free_ctx() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(free_ctx). Signed-off-by: Lai Jiangshan Acked-by: Peter Zijlstra Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 1f8d36a1869f5efae4fadf6baf01f02211040b97 Author: Lai Jiangshan Date: Fri Mar 18 12:07:09 2011 +0800 net,rcu: convert call_rcu(__nf_ct_ext_free_rcu) to kfree_rcu() The rcu callback __nf_ct_ext_free_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(__nf_ct_ext_free_rcu). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 04d4dfed8e64f65d672502a614a4bb9093d1affd Author: Lai Jiangshan Date: Fri Mar 18 12:06:32 2011 +0800 net,rcu: convert call_rcu(net_generic_release) to kfree_rcu() The rcu callback net_generic_release() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(net_generic_release). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 6b2622328110b9c1094a4f644a6cdc9b6d5450ac Author: Lai Jiangshan Date: Fri Mar 18 12:04:50 2011 +0800 net,rcu: convert call_rcu(netlbl_unlhsh_free_addr6) to kfree_rcu() The rcu callback netlbl_unlhsh_free_addr6() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(netlbl_unlhsh_free_addr6). Signed-off-by: Lai Jiangshan Acked-by: Paul Moore Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit c3b494209cc6084bd76d823d185a60ee5bd40b0d Author: Lai Jiangshan Date: Fri Mar 18 12:03:56 2011 +0800 net,rcu: convert call_rcu(netlbl_unlhsh_free_addr4) to kfree_rcu() The rcu callback netlbl_unlhsh_free_addr4() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(netlbl_unlhsh_free_addr4). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Acked-by: Paul Moore Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 690273fc70e94a07d70044881e5e52926301bcd3 Author: Lai Jiangshan Date: Fri Mar 18 12:03:19 2011 +0800 security,rcu: convert call_rcu(sel_netif_free) to kfree_rcu() The rcu callback sel_netif_free() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(sel_netif_free). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit b55071eb6011413af3b9c434ae77dea8832069c8 Author: Lai Jiangshan Date: Fri Mar 18 12:02:47 2011 +0800 net,rcu: convert call_rcu(xps_dev_maps_release) to kfree_rcu() The rcu callback xps_dev_maps_release() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(xps_dev_maps_release). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit edc86d8a1c824cca1df676f47fc713232885561f Author: Lai Jiangshan Date: Fri Mar 18 12:02:20 2011 +0800 net,rcu: convert call_rcu(xps_map_release) to kfree_rcu() The rcu callback xps_map_release() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(xps_map_release). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit f6f80238fab1ad19c44b4a12501528d50fc7fcd6 Author: Lai Jiangshan Date: Fri Mar 18 12:01:31 2011 +0800 net,rcu: convert call_rcu(rps_map_release) to kfree_rcu() The rcu callback rps_map_release() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(rps_map_release). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit e3cbf28fa61456bd2f0ba39846ffd905257eb4b0 Author: Lai Jiangshan Date: Fri Mar 18 12:00:50 2011 +0800 net,rcu: convert call_rcu(ipv6_mc_socklist_reclaim) to kfree_rcu() The rcu callback ipv6_mc_socklist_reclaim() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(ipv6_mc_socklist_reclaim). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 6e070aecd9e304264a6b8655f49aa7e6db0e55f2 Author: Lai Jiangshan Date: Fri Mar 18 12:00:07 2011 +0800 macvlan,rcu: convert call_rcu(macvlan_port_rcu_free) to kfree_rcu() The rcu callback macvlan_port_rcu_free() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(macvlan_port_rcu_free). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit bcec8b6531d481ced35506517af69adb2399f2a4 Author: Lai Jiangshan Date: Fri Mar 18 11:57:21 2011 +0800 ixgbe,rcu: convert call_rcu(ring_free_rcu) to kfree_rcu() The rcu callback ring_free_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(ring_free_rcu). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit fa81c0e1d2d2176f1136c72c080c9ea4a98be347 Author: Lai Jiangshan Date: Fri Mar 18 11:39:43 2011 +0800 net,rcu: convert call_rcu(free_dm_hw_stat) to kfree_rcu() The rcu callback free_dm_hw_stat() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(free_dm_hw_stat). Signed-off-by: Lai Jiangshan Acked-by: Neil Horman Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 10d50e748d983ff1003e0cf556ea17fa8f32c382 Author: Lai Jiangshan Date: Fri Mar 18 11:45:08 2011 +0800 net,rcu: convert call_rcu(ip_mc_socklist_reclaim) to kfree_rcu() The rcu callback ip_mc_socklist_reclaim() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(ip_mc_socklist_reclaim). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 7519cce48fb0a314dac473bdfba203b787435857 Author: Lai Jiangshan Date: Fri Mar 18 11:44:46 2011 +0800 net,rcu: convert call_rcu(ip_sf_socklist_reclaim) to kfree_rcu() The rcu callback ip_sf_socklist_reclaim() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(ip_sf_socklist_reclaim). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 42ea299d3f1941f8c3dbc1fe031d682f8ad45005 Author: Lai Jiangshan Date: Fri Mar 18 11:44:08 2011 +0800 net,rcu: convert call_rcu(ip_mc_list_reclaim) to kfree_rcu() The rcu callback ip_mc_list_reclaim() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(ip_mc_list_reclaim). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit dad178fcd5b295f5f350a46a5eaf2f28e847bb5a Author: Lai Jiangshan Date: Fri Mar 18 11:43:26 2011 +0800 net,rcu: convert call_rcu(__gen_kill_estimator) to kfree_rcu() The rcu callback __gen_kill_estimator() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(__gen_kill_estimator). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit bceb0f4512d448763fe98c9f37504c98bbebbed6 Author: Lai Jiangshan Date: Fri Mar 18 11:42:34 2011 +0800 net,rcu: convert call_rcu(__leaf_info_free_rcu) to kfree_rcu() The rcu callback __leaf_info_free_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(__leaf_info_free_rcu). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 4670994d150a86ebd53ab353a2af517c5465bfaf Author: Lai Jiangshan Date: Fri Mar 18 11:42:11 2011 +0800 net,rcu: convert call_rcu(fc_rport_free_rcu) to kfree_rcu() The rcu callback fc_rport_free_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(fc_rport_free_rcu). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 3acb458c32293405cf68985b7b3ac5dc0a5e7929 Author: Lai Jiangshan Date: Fri Mar 18 12:11:07 2011 +0800 security,rcu: convert call_rcu(user_update_rcu_disposal) to kfree_rcu() The rcu callback user_update_rcu_disposal() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(user_update_rcu_disposal). Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Acked-by: David Howells Reviewed-by: Josh Triplett commit 75ef0368d182785c7c5c06ac11081e31257a313e Author: Lai Jiangshan Date: Tue Mar 15 18:11:46 2011 +0800 net,act_police,rcu: remove rcu_barrier() There is no callback of this module maybe queued since we use kfree_rcu(), we can safely remove the rcu_barrier(). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 1e547757eca3c30eeeac526716e4ae833c2a9a2f Author: Lai Jiangshan Date: Tue Mar 15 18:10:12 2011 +0800 net,rcu: convert call_rcu(dn_dev_free_ifa_rcu) to kfree_rcu() The rcu callback dn_dev_free_ifa_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(dn_dev_free_ifa_rcu). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 217f18639bc18ba4bbb67481113037344c148938 Author: Lai Jiangshan Date: Tue Mar 15 18:08:58 2011 +0800 net,rcu: convert call_rcu(ha_rcu_free) to kfree_rcu() The rcu callback ha_rcu_free() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(ha_rcu_free). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 1231f0baa547a541a7481119323b7f964dda4788 Author: Lai Jiangshan Date: Tue Mar 15 18:05:02 2011 +0800 net,rcu: convert call_rcu(sctp_local_addr_free) to kfree_rcu() The rcu callback sctp_local_addr_free() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(sctp_local_addr_free). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 37b6b935e96e837ccc60812c03e9f92e7dce2e61 Author: Lai Jiangshan Date: Tue Mar 15 18:01:42 2011 +0800 net,rcu: convert call_rcu(listeners_free_rcu) to kfree_rcu() The rcu callback listeners_free_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(listeners_free_rcu). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit e57859854aaac9b7ce0db3fe4959190a1a80b60a Author: Lai Jiangshan Date: Tue Mar 15 18:00:14 2011 +0800 net,rcu: convert call_rcu(inet6_ifa_finish_destroy_rcu) to kfree_rcu() The rcu callback inet6_ifa_finish_destroy_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(inet6_ifa_finish_destroy_rcu). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 38f57d1a4b4c13db92c7f6300a4e4ae70ff94d2b Author: Lai Jiangshan Date: Tue Mar 15 17:59:14 2011 +0800 net,rcu: convert call_rcu(in6_dev_finish_destroy_rcu) to kfree_rcu() The rcu callback in6_dev_finish_destroy_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(in6_dev_finish_destroy_rcu). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 5957b1ac52c5fde2afe5d80abe2a1cb82a9b4f20 Author: Lai Jiangshan Date: Tue Mar 15 17:58:00 2011 +0800 net,rcu: convert call_rcu(tcf_police_free_rcu) to kfree_rcu() [PATCH 05/17] net,rcu: convert call_rcu(tcf_police_free_rcu) to kfree_rcu() The rcu callback tcf_police_free_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(tcf_police_free_rcu). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit f5c8593c107500979909bd51c85e74bb2eaffbaa Author: Lai Jiangshan Date: Tue Mar 15 17:57:04 2011 +0800 net,rcu: convert call_rcu(tcf_common_free_rcu) to kfree_rcu() The rcu callback tcf_common_free_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(tcf_common_free_rcu). Signed-off-by: Lai Jiangshan Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 025cea99db3fb110ebc8ede5ff647833fab9574f Author: Lai Jiangshan Date: Tue Mar 15 17:56:10 2011 +0800 cgroup,rcu: convert call_rcu(__free_css_id_cb) to kfree_rcu() The rcu callback __free_css_id_cb() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(__free_css_id_cb). Signed-off-by: Lai Jiangshan Acked-by: Paul Menage Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit f2da1c40dc003939f616f27a103b2592f1424b07 Author: Lai Jiangshan Date: Tue Mar 15 17:55:16 2011 +0800 cgroup,rcu: convert call_rcu(free_cgroup_rcu) to kfree_rcu() The rcu callback free_cgroup_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(free_cgroup_rcu). Signed-off-by: Lai Jiangshan Acked-by: Paul Menage Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 30088ad815802f850f26114920ccf9effd4bc520 Author: Lai Jiangshan Date: Tue Mar 15 17:53:46 2011 +0800 cgroup,rcu: convert call_rcu(free_css_set_rcu) to kfree_rcu() The rcu callback free_css_set_rcu() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(free_css_set_rcu). Signed-off-by: Lai Jiangshan Acked-by: Paul Menage Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 1217ed1ba5c67393293dfb0f03c353b118dadeb4 Author: Paul E. McKenney Date: Wed May 4 21:43:49 2011 -0700 rcu: permit rcu_read_unlock() to be called while holding runqueue locks Avoid calling into the scheduler while holding core RCU locks. This allows rcu_read_unlock() to be called while holding the runqueue locks, but only as long as there was no chance of the RCU read-side critical section having been preempted. (Otherwise, if RCU priority boosting is enabled, rcu_read_unlock() might call into the scheduler in order to unboost itself, which might allows self-deadlock on the runqueue locks within the scheduler.) Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney commit 0f020dec545629bb068310e8ee374648867e391c Author: David S. Miller Date: Sat May 7 01:02:28 2011 -0700 hamachi: Put back RX_CHECKSUM I deleted it by mistake in the TX_CHECKSUM removal commit. Reported-by: Michał Mirosław Signed-off-by: David S. Miller commit 58f6bcf96e95f042a2bee6ace238365cb8fb1ce6 Author: Emil Tantilov Date: Thu Apr 21 08:43:43 2011 +0000 ixgbe: add ethtool counters for OS2BMC OS2BMC registers are available for X540. This patch adds ethtool counters based on those registers. Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 67a74ee2a24957012661dc4400e4f8e363d25fbb Author: Emil Tantilov Date: Sat Apr 23 04:50:40 2011 +0000 ixgbe: add rxhash support feed RSS hash into skb->rxhash Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 936db3559fc4f6d2892234cadcbd88b8a7d34898 Author: Jeff Kirsher Date: Sat May 7 06:37:14 2011 +0000 igb: convert to ethtool set_phys_id Based on patch from Stephen Hemminger. Convert igb driver to use new set_phys_id ethtool interface. CC: Stephen Hemminger Signed-off-by: Jeff Kirsher commit 6435909199c2d1b0aad3ebbfa01f641aaa24fa2a Author: Jeff Kirsher Date: Tue May 3 05:26:13 2011 +0000 e1000: convert to set_phys_id Based on the original patch from Stephen Hemminger. Convert to new LED control infrastucture and remove no longer necessary bits. CC: Stephen Hemminger Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher commit a70b86ae206fdd3bef13c5ac148c22a805e83896 Author: Jeff Kirsher Date: Tue May 3 05:28:23 2011 +0000 e100: implemenet set_phys_id Based on the original patch from Stephen Hemminger. Implement set_phys_id to control LED. CC: Stephen Hemminger Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 8fab6af2156c0100f953fd61f4e0b2f82c9776dc Author: Luis R. Rodriguez Date: Fri May 6 15:00:09 2011 -0700 x86: Fix mrst sparse complaints Fix these Sparse complaints: CHECK arch/x86/platform/mrst/mrst.c arch/x86/platform/mrst/mrst.c:197:13: warning: symbol 'mrst_time_init' was not declared. Should it be static? arch/x86/platform/mrst/mrst.c:219:16: warning: symbol 'mrst_arch_setup' was not declared. Should it be static? Acked-by: Alan Cox Cc: Roman Gezikov Cc: Joonas Viskari Cc: Andrew Morton Cc: Allen Kao Signed-off-by: Luis R. Rodriguez Link: http://lkml.kernel.org/r/1304719209-26913-1-git-send-email-lrodriguez@atheros.com Signed-off-by: Ingo Molnar commit 4cb1f43ce8c72ee453c00fcb9f6ee9c4ebd03f98 Merge: 9de4966 0ee5623f Author: Ingo Molnar Date: Sat May 7 10:51:38 2011 +0200 Merge commit 'v2.6.39-rc6' into x86/cleanups Merge reason: move to a (much) newer upstream base. Signed-off-by: Ingo Molnar commit 63dc355a5a8cf296e2b1cc2e4192190dca221129 Author: Wanlong Gao Date: Thu May 5 07:55:37 2011 +0800 driver core: remove the driver-model structures from the documentation Remove the struct bus_type, class, device, device_driver from the driver-model docs. With another patch add them to device.h, since they are out of date. That will keep things up to date and provide a better way to document this stuff. Signed-off-by: Wanlong Gao Acked-by: Harry Wei Signed-off-by: Greg Kroah-Hartman commit 880ffb5c6c5c8c8c6efd9efe9355317322b4603b Author: Wanlong Gao Date: Thu May 5 07:55:36 2011 +0800 driver core: Add the device driver-model structures to kerneldoc Add the comments to the structure bus_type, device_driver, device, class to device.h for generating the driver-model kerneldoc. With another patch these all removed from the files in Documentation/driver-model/ since they are out of date. That will keep things up to date and provide a better way to document this stuff. Signed-off-by: Wanlong Gao Acked-by: Harry Wei Signed-off-by: Greg Kroah-Hartman commit 3ccff540070b5adde7eec443676cfee1dd6b89fd Author: Harry Wei Date: Thu May 5 09:47:48 2011 +0800 Translated Documentation/email-clients.txt The patch includes the translation Documentation/email-clients.txt. If anyone has other problems, please let me know. Signed-off-by: Harry Wei Signed-off-by: Greg Kroah-Hartman commit 9333744dc7dcd85531cff13cabf1d5d6baf18e7d Author: Robert P. J. Day Date: Wed May 4 05:19:34 2011 -0400 RAW driver: Remove call to kobject_put(). If cdev_add() fails, there is no justification for subsequently calling kobject_put(). Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit b50fa7c8077c625919b1e0a75fc37b825f024518 Author: Kay Sievers Date: Thu May 5 13:32:05 2011 +0200 reboot: disable usermodehelper to prevent fs access In case CONFIG_UEVENT_HELPER_PATH is not set to "", which it should be on every system, the kernel forks processes during shutdown, which try to access the rootfs, even when the binary does not exist. It causes exceptions and long delays in the disk driver, which gets read requests at the time it tries to shut down the disk. This patch disables all kernel-forked processes during reboot to allow a clean poweroff. Cc: Tejun Heo Tested-By: Anton Guda Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit aabb6e1531b0c78423dca6a39620892249fef7f9 Author: Randy Dunlap Date: Fri May 6 13:27:41 2011 -0700 efivars: prevent oops on unload when efi is not enabled efivars_exit() should check for efi_enabled and not undo allocations when efi is not enabled. Otherwise there is an Oops during module unload: calling efivars_init+0x0/0x1000 [efivars] @ 2810 EFI Variables Facility v0.08 2004-May-17 initcall efivars_init+0x0/0x1000 [efivars] returned 0 after 5120 usecs Oops: 0000 [#1] SMP DEBUG_PAGEALLOC last sysfs file: /sys/module/firmware_class/initstate CPU 1 Modules linked in: efivars(-) af_packet tun nfsd lockd nfs_acl auth_rpcgss sunrpc ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT xt_tcpudp nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables x_tables ipv6 cpufreq_ondemand acpi_cpufreq freq_table mperf binfmt_misc dm_mirror dm_region_hash dm_log dm_multipath scsi_dh dm_mod snd_hda_codec_analog snd_hda_intel snd_hda_codec snd_hwdep mousedev snd_seq joydev snd_seq_device mac_hid evdev snd_pcm usbkbd usbmouse usbhid snd_timer hid tg3 snd sr_mod pcspkr rtc_cmos soundcore cdrom iTCO_wdt processor sg dcdbas i2c_i801 rtc_core iTCO_vendor_support intel_agp snd_page_alloc thermal_sys rtc_lib intel_gtt 8250_pnp button hwmon unix ide_pci_generic ide_core ata_generic pata_acpi ata_piix sd_mod crc_t10dif ext3 jbd mbcache uhci_hcd ohci_hcd ssb mmc_core pcmcia pcmcia_core firmware_class ehci_hcd usbcore [last unloaded: dell_rbu] Pid: 2812, comm: rmmod Not tainted 2.6.39-rc6 #1 Dell Inc. OptiPlex 745 /0TY565 RIP: 0010:[] [] unregister_efivars+0x28/0x12c [efivars] RSP: 0018:ffff88005eedde98 EFLAGS: 00010283 RAX: ffffffffa06a23fc RBX: ffffffffa06a44c0 RCX: ffff88007c227a50 RDX: 0000000000000000 RSI: 00000055ac13db78 RDI: ffffffffa06a44c0 RBP: ffff88005eeddec8 R08: 0000000000000000 R09: ffff88005eeddd78 R10: ffffffffa06a4220 R11: ffff88005eeddd78 R12: fffffffffffff7d0 R13: 00007fff5a3aaec0 R14: 0000000000000000 R15: ffffffffa06a4508 FS: 00007fa8dcc4a6f0(0000) GS:ffff88007c200000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000000 CR3: 000000005d148000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process rmmod (pid: 2812, threadinfo ffff88005eedc000, task ffff88006754b000) Stack: ffff88005eeddec8 ffffffffa06a4220 0000000000000000 00007fff5a3aaec0 0000000000000000 0000000000000001 ffff88005eedded8 ffffffffa06a2418 ffff88005eeddf78 ffffffff810d3598 ffffffffa06a4220 0000000000000880 Call Trace: [] efivars_exit+0x1c/0xc04 [efivars] [] sys_delete_module+0x2d6/0x368 [] ? lockdep_sys_exit_thunk+0x35/0x67 [] ? audit_syscall_entry+0x172/0x1a5 [] system_call_fastpath+0x16/0x1b Code: 5c c9 c3 55 48 89 e5 41 57 41 56 41 55 41 54 53 48 83 ec 08 0f 1f 44 00 00 4c 8b 67 48 48 89 fb 4c 8d 7f 48 49 81 ec 30 08 00 00 <4d> 8b ac 24 30 08 00 00 49 81 ed 30 08 00 00 eb 59 48 89 df 48 RIP [] unregister_efivars+0x28/0x12c [efivars] RSP CR2: 0000000000000000 ---[ end trace aa99b99090f70baa ]--- Matt apparently removed such a check in 2004 (with no reason given): * 17 May 2004 - Matt Domsch * remove check for efi_enabled in exit but there have been several changes since then. Signed-off-by: Randy Dunlap Signed-off-by: Mike Waychison Tested-by: Randy Dunlap Cc: Matt Domsch Cc: Signed-off-by: Greg Kroah-Hartman commit 0078bff5283d1fd6417b840eda6dab912b7a5560 Author: Jan Kara Date: Fri Apr 29 00:24:29 2011 +0200 Allow setting of number of raw devices as a module parameter Allow setting of maximal number of raw devices as a module parameter. This requires changing of static array into a vmalloced one (the array is going to be too large for kmalloc). Signed-off-by: Jan Kara Signed-off-by: Greg Kroah-Hartman commit 706527280ec38fcdcd0466f10b607105fd23801b Author: David S. Miller Date: Fri May 6 16:01:15 2011 -0700 ipv4: Initialize cork->opt using NULL not 0. Noticed by Joe Perches. Signed-off-by: David S. Miller commit b80d72261aec5e763a76497eba5fddc84833a154 Author: David S. Miller Date: Fri May 6 15:06:01 2011 -0700 ipv4: Initialize on-stack cork more efficiently. ip_setup_cork() explicitly initializes every member of inet_cork except flags, addr, and opt. So we can simply set those three members to zero instead of using a memset() via an empty struct assignment. Signed-off-by: David S. Miller Acked-by: Eric Dumazet commit bdc712b4c2baf9515887de3a52e7ecd89fafc0c7 Author: David S. Miller Date: Fri May 6 15:02:07 2011 -0700 inet: Decrease overhead of on-stack inet_cork. When we fast path datagram sends to avoid locking by putting the inet_cork on the stack we use up lots of space that isn't necessary. This is because inet_cork contains a "struct flowi" which isn't used in these code paths. Split inet_cork to two parts, "inet_cork" and "inet_cork_full". Only the latter of which has the "struct flowi" and is what is stored in inet_sock. Signed-off-by: David S. Miller Acked-by: Eric Dumazet commit 57d524154ffe99d27fb55e0e30ddbad9f4c35806 Merge: e04d1b2 c63ca0c Author: Ingo Molnar Date: Fri May 6 21:07:33 2011 +0200 Merge branch 'perf/stat' into perf/core Merge reason: the perf stat improvements are tested and ready now. Signed-off-by: Ingo Molnar commit ad638bd16d91012a512979327b5c17c867d260c6 Author: David S. Miller Date: Fri May 6 11:58:55 2011 -0700 hamachi: Delete TX checksumming code commented out since 1999 TX checksumming support has been ifdef commented out of this driver for more than 10 years, and it makes references to aspects of the IPv4 stack from back then as well. If someone has one of these rare cards and wants to properly resurrect TX checksumming support, they can still get at this code in the version control history. Signed-off-by: David S. Miller commit 2c46f72e069eef5e98f2b04df08cde6bdc673aa7 Author: Johannes Berg Date: Thu Apr 28 07:27:10 2011 -0700 iwlagn: check DMA mapping errors DMA mappings can fail, but the current code doesn't check for that. Add checking, which requires some restructuring for proper error paths. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 94b00658ffc719427c9c09d7920957bc35915c6f Author: Johannes Berg Date: Thu Apr 28 07:27:09 2011 -0700 iwlagn: remove bytecount indirection All AGN devices need the bytecount table, so remove the indirection and make the functions static again. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit ccb6c1c0ec2b76a41c8c85747b1a671e71b97e64 Author: Johannes Berg Date: Thu Apr 28 07:27:08 2011 -0700 iwlagn: dont update bytecount table for command queue The device doesn't use the bytecount table for the command queue, only for aggregation queues to make aggregation decisions. So don't update it for the command queue (and we even updated it with wrong values). Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 4c2cde3b59d923d2952ef0accdde892e23b4997b Author: Johannes Berg Date: Thu Apr 28 07:27:07 2011 -0700 iwlagn: remove unused variable The variable 'len' here is set but never used. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 8a98d49ec1f38d9f3eef7e34f148c3f1f5590fdf Author: Johannes Berg Date: Fri Apr 29 09:48:14 2011 -0700 iwlagn: remove frame pre-allocation The frame pre-allocation is quite a bit of complex code, all to avoid a single allocation. Remove it and consolidate the beacon sending code. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 46975f78fe1f480682e51c9acb03a5089b784cb6 Author: Johannes Berg Date: Thu Apr 28 07:27:05 2011 -0700 iwlagn: remove get_hcmd_size indirection There's no need for this, all commands are the right size. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 4613e72dbdc9a44bfc4625d835511264121c4244 Author: Cindy H. Kao Date: Fri May 6 10:40:15 2011 -0700 iwlwifi: support the svtool messages interactions through nl80211 test mode This patch adds the feature to support the test mode operation through the generic netlink channel NL80211_CMD_TESTMODE between intel wireless device iwlwifi and the user space application svtool. The main purpose is to create a transportation layer between the iwlwifi device and the user space application so that the interaction between the user space application svtool and the iwlwifi device in the kernel space is in a way of generic netlink messaging. The detail specific functions are: 1. The function iwl_testmode_cmd() is added to digest the svtool test command from the user space application. The svtool test commands are categorized to three types : commands to be processed by the device ucode, commands to access the registers, and commands to be processed at the driver level(such as reload the ucode). iwl_testmode_cmd() dispatches the commands the corresponding handlers and reply to user space regarding the command execution status. Extra data is returned to the user space application if there's any. 2. The function iwl_testmode_ucode_rx_pkt() is added to multicast all the spontaneous messages from the iwlwifi device to the user space. Regardless the message types, whenever there is a valid spontaneous message received by the iwlwifi ISR, iwl_testmode_ucode_rx_pkt() is invoked to multicast the message content to user space. The message content is not attacked and the message parsing is left to the user space application. Implementation guidelines: 1. The generic netlink messaging for iwliwif test mode is through NL80211_CMD_TESTMODE channel, therefore, the codes need to follow the regulations set by cfg80211.ko to get the actual device instance ieee80211_ops via cfg80211.ko, so that the iwlwifi device is indicated with ieee80211_ops and can be actually accessed. Therefore, a callback iwl_testmode_cmd() is added to the structure iwlagn_hw_ops in iwl-agn.c. 2. It intends to utilize those low level device access APIs from iwlwifi device driver (ie. iwlagn.ko) rather than creating it's own set of device access functions. For example, iwl_send_cmd(), iwl_read32(), iwl_write8(), and iwl_write32() are reused. 3. The main functions are maintained in new files instead of spreading all over the existing iwlwifi driver files. The new files added are : drivers/net/wireless/iwlwifi/iwl-sv-open.c - to handle the user space test mode application command and reply the respective command status to the user space application. - to multicast the spontaneous messages from device to user space. drivers/net/wireless/iwlwifi/iwl-testmode.h - the commonly referenced definitions for the TLVs used in the generic netlink messages Signed-off-by: Cindy H. Kao Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 61516587513c84ac26e68e3ab008dc6e965d0378 Author: Rob Landley Date: Fri May 6 09:27:36 2011 -0700 Correct occurrences of - Documentation/kvm/ to Documentation/virtual/kvm - Documentation/uml/ to Documentation/virtual/uml - Documentation/lguest/ to Documentation/virtual/lguest throughout the kernel source tree. Signed-off-by: Rob Landley Signed-off-by: Randy Dunlap commit 570aa13a5dbea9b905b4cd6315aa6e1b3a9fd2f8 Author: Rob Landley Date: Fri May 6 09:23:23 2011 -0700 Add a 00-INDEX file to Documentation/virtual Remove uml from the top level 00-INDEX file. Signed-off-by: Rob Landley Signed-off-by: Randy Dunlap commit ed16648eb5b86917f0b90bdcdbc857202da72f90 Author: Rob Landley Date: Fri May 6 09:22:02 2011 -0700 Move kvm, uml, and lguest subdirectories under a common "virtual" directory, I.E: cd Documentation mkdir virtual git mv kvm uml lguest virtual Signed-off-by: Rob Landley Signed-off-by: Randy Dunlap commit e04d1b23f9706186187dcb0be1a752e48dcc540b Author: Lin Ming Date: Fri May 6 07:14:02 2011 +0000 perf events, x86: Add SandyBridge stalled-cycles-frontend/backend events Extend the Intel SandyBridge PMU driver with definitions for generic front-end and back-end stall events. ( As commit 3011203 "perf events, x86: Add Westmere stalled-cycles-frontend/backend events" says, these are only approximations. ) Signed-off-by: Lin Ming Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: Steven Rostedt Link: http://lkml.kernel.org/r/1304666042-17577-1-git-send-email-ming.m.lin@intel.com Signed-off-by: Ingo Molnar commit 7142d17e8f935fa842e9f6eece2281b6d41625d6 Author: Hillf Danton Date: Thu May 5 20:53:20 2011 +0800 sched: Shorten the construction of the span cpu mask of sched domain For a given node, when constructing the cpumask for its sched_domain to span, if there is no best node available after searching, further efforts could be saved, based on small change in the return value of find_next_best_node(). Signed-off-by: Hillf Danton Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Yong Zhang Link: http://lkml.kernel.org/r/BANLkTi%3DqPWxRAa6%2BdT3ohEP6Z%3D0v%2Be4EXA@mail.gmail.com Signed-off-by: Ingo Molnar commit 4934a4d3d3fa775601a9f1b35cc0e2aa93f81355 Author: Rakib Mullick Date: Wed May 4 22:53:46 2011 +0600 sched: Wrap the 'cfs_rq->nr_spread_over' field with CONFIG_SCHED_DEBUG cfs_rq->nr_spread_over is only used when CONFIG_SCHED_DEBUG is set. So wrap it with CONFIG_SCHED_DEBUG. Signed-off-by: Rakib Mullick Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/1304528026.15681.3.camel@localhost.localdomain Signed-off-by: Ingo Molnar commit 29ce831000081dd757d3116bf774aafffc4b6b20 Author: Gleb Natapov Date: Wed May 4 16:31:03 2011 +0300 rcu: provide rcu_virt_note_context_switch() function. Provide rcu_virt_note_context_switch() for vitalization use to note quiescent state during guest entry. Signed-off-by: Gleb Natapov Signed-off-by: Paul E. McKenney commit bad6e1393cb505fe17747344a23666464daa3fa7 Author: Paul E. McKenney Date: Mon May 2 23:40:04 2011 -0700 rcu: get rid of signed overflow in check_cpu_stall() Signed integer overflow is undefined by the C standard, so move calculations to unsigned. Signed-off-by: Paul E. McKenney commit b554d7de8d112fca4188da3bf0d7f8b56f42fb95 Author: Eric Dumazet Date: Thu Apr 28 07:23:45 2011 +0200 rcu: optimize rcutiny rcu_sched_qs() currently calls local_irq_save()/local_irq_restore() up to three times. Remove irq masking from rcu_qsctr_help() / invoke_rcu_kthread() and do it once in rcu_sched_qs() / rcu_bh_qs() This generates smaller code as well. text data bss dec hex filename 2314 156 24 2494 9be kernel/rcutiny.old.o 2250 156 24 2430 97e kernel/rcutiny.new.o Fix an outdated comment for rcu_qsctr_help() Move invoke_rcu_kthread() definition before its use. Signed-off-by: Eric Dumazet Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 2655d57ef35aa327a2e58a1c5dc7b65c65003f4e Author: Paul E. McKenney Date: Thu Apr 7 22:47:23 2011 -0700 rcu: prevent call_rcu() from diving into rcu core if irqs disabled This commit marks a first step towards making call_rcu() have real-time behavior. If irqs are disabled, don't dive into the RCU core. Later on, this new early exit will wake up the per-CPU kthread, which first must be modified to handle the cases involving callback storms. Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit baa1ae0c9f1c618bc60706efa75fef3508bcee58 Author: Paul E. McKenney Date: Sat Mar 26 22:01:35 2011 -0700 rcu: further lower priority in rcu_yield() Although rcu_yield() dropped from real-time to normal priority, there is always the possibility that the competing tasks have been niced. So nice to 19 in rcu_yield() to help ensure that other tasks have a better chance of running. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 9ab1544eb4196ca8d05c433b2eb56f74496b1ee3 Author: Lai Jiangshan Date: Fri Mar 18 11:15:47 2011 +0800 rcu: introduce kfree_rcu() Many rcu callbacks functions just call kfree() on the base structure. These functions are trivial, but their size adds up, and furthermore when they are used in a kernel module, that module must invoke the high-latency rcu_barrier() function at module-unload time. The kfree_rcu() function introduced by this commit addresses this issue. Rather than encoding a function address in the embedded rcu_head structure, kfree_rcu() instead encodes the offset of the rcu_head structure within the base structure. Because the functions are not allowed in the low-order 4096 bytes of kernel virtual memory, offsets up to 4095 bytes can be accommodated. If the offset is larger than 4095 bytes, a compile-time error will be generated in __kfree_rcu(). If this error is triggered, you can either fall back to use of call_rcu() or rearrange the structure to position the rcu_head structure into the first 4096 bytes. Note that the allowable offset might decrease in the future, for example, to allow something like kmem_cache_free_rcu(). The new kfree_rcu() function can replace code as follows: call_rcu(&p->rcu, simple_kfree_callback); where "simple_kfree_callback()" might be defined as follows: void simple_kfree_callback(struct rcu_head *p) { struct foo *q = container_of(p, struct foo, rcu); kfree(q); } with the following: kfree_rcu(&p->rcu, rcu); Note that the "rcu" is the name of a field in the structure being freed. The reason for using this rather than passing in a pointer to the base structure is that the above approach allows better type checking. This commit is based on earlier work by Lai Jiangshan and Manfred Spraul: Lai's V1 patch: http://lkml.org/lkml/2008/9/18/1 Manfred's patch: http://lkml.org/lkml/2009/1/2/115 Signed-off-by: Lai Jiangshan Signed-off-by: Manfred Spraul Signed-off-by: Paul E. McKenney Reviewed-by: David Howells Reviewed-by: Josh Triplett commit 6cc68793e380bb51f447d8d02af873b7bc01f222 Author: Paul E. McKenney Date: Wed Mar 2 13:15:15 2011 -0800 rcu: fix spelling The "preemptible" spelling is preferable. May as well fix it. Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 13491a0ee1ef862b6c842132b6eb9c5e721af5ad Author: Lai Jiangshan Date: Fri Feb 25 11:37:59 2011 -0800 rcu: call __rcu_read_unlock() in exit_rcu for tree RCU Using __rcu_read_lock() in place of rcu_read_lock() leaves any debug state as it really should be, namely with the lock still held. Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 7e8b4c72344e0d904b0e3fa9fd2eb116f04b3d41 Author: Paul E. McKenney Date: Thu Feb 24 19:26:21 2011 -0800 rcu: Converge TINY_RCU expedited and normal boosting This applies a trick from TREE_RCU boosting to TINY_RCU, eliminating code and adding comments. The key point is that it is possible for the booster thread itself to work out whether there is a normal or expedited boost required based solely on local information. There is therefore no need for boost initiation to know or care what type of boosting is required. In addition, when boosting is complete for a given grace period, then by definition there cannot be any more boosting for that grace period. This allows eliminating yet more state and statistics. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 203373c81b83e98da82836c4b8b5dd1e6fc9011f Author: Paul E. McKenney Date: Thu Feb 24 15:25:21 2011 -0800 rcu: remove useless ->boosted_this_gp field The ->boosted_this_gp field is a holdover from an earlier design that was to carry out multiple boost operations in parallel. It is not required by the current design, which boosts one task at a time. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney commit ddeb75814f09205df795121d9e373e82de7f2aca Author: Paul E. McKenney Date: Wed Feb 23 17:03:06 2011 -0800 rcu: code cleanups in TINY_RCU priority boosting. Extraneous semicolon, bad comment, and fold INIT_LIST_HEAD() into list_del() to get list_del_init(). Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit f0a07aeaf8935b7e9ef8032ce6546169f143951c Author: Paul E. McKenney Date: Wed Feb 23 11:10:52 2011 -0800 rcu: Switch to this_cpu() primitives This removes a couple of lines from invoke_rcu_cpu_kthread(), improving readability. Reported-by: Christoph Lameter Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 108aae22339f445c134aeb48eca25df1014ab08d Author: Paul E. McKenney Date: Wed Feb 23 09:56:00 2011 -0800 rcu: Use WARN_ON_ONCE for DEBUG_OBJECTS_RCU_HEAD warnings Avoid additional multiple-warning confusion in memory-corruption scenarios. Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 561190e3b3db372403fb6a327b0121b4cae1b87e Author: Paul E. McKenney Date: Wed Mar 30 09:10:44 2011 -0700 rcu: mark rcutorture boosting callback as being on-stack The CONFIG_DEBUG_OBJECTS_RCU_HEAD facility requires that on-stack RCU callbacks be flagged explicitly to debug-objects using the init_rcu_head_on_stack() and destroy_rcu_head_on_stack() functions. This commit applies those functions to the rcutorture code that tests RCU priority boosting. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit b0c9d7ff2793502650ad987c3f237d5fe5587a1e Author: Paul E. McKenney Date: Tue Mar 29 12:56:56 2011 -0700 rcu: add DEBUG_OBJECTS_RCU_HEAD check for alignment Verify that rcu_head structures are aligned to a four-byte boundary. This check is enabled by CONFIG_DEBUG_OBJECTS_RCU_HEAD. Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit fc2ecf7ec76c5ee150b83dcefc863fa03fd365fb Author: Mathieu Desnoyers Date: Wed Feb 23 09:42:14 2011 -0800 rcu: Enable DEBUG_OBJECTS_RCU_HEAD from !PREEMPT The prohibition of DEBUG_OBJECTS_RCU_HEAD from !PREEMPT was due to the fixup actions. So just produce a warning from !PREEMPT. Signed-off-by: Mathieu Desnoyers Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 5ece5bab3ed8594ce2c85c6c6e6b82109db36ca7 Author: Paul E. McKenney Date: Fri Apr 22 18:08:51 2011 -0700 rcu: Add forward-progress diagnostic for per-CPU kthreads Increment a per-CPU counter on each pass through rcu_cpu_kthread()'s service loop, and add it to the rcudata trace output. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 15ba0ba860871cf74b48b1bb47c26c91a66126f3 Author: Paul E. McKenney Date: Wed Apr 6 16:01:16 2011 -0700 rcu: add grace-period age and more kthread state to tracing This commit adds the age in jiffies of the current grace period along with the duration in jiffies of the longest grace period since boot to the rcu/rcugp debugfs file. It also adds an additional "O" state to kthread tracing to differentiate between the kthread waiting due to having nothing to do on the one hand and waiting due to being on the wrong CPU on the other hand. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney commit a9f4793d8900dc5dc09b3951bdcd4731290e06fe Author: Paul E. McKenney Date: Mon May 2 03:46:10 2011 -0700 rcu: fix tracing bug thinko on boost-balk attribution The rcu_initiate_boost_trace() function mis-attributed refusals to initiate RCU priority boosting that were in fact due to its not yet being time to boost. This patch fixes the faulty comparison. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney commit 90e6ac3657fd3b0446d585082000af3cf46439a7 Author: Paul E. McKenney Date: Wed Apr 6 15:20:47 2011 -0700 rcu: update tracing documentation for new rcutorture and rcuboost This commit documents the new debugfs rcu/rcutorture and rcu/rcuboost trace files. The description has been updated as suggested by Josh Triplett. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney commit 4a29865689dbb87a02e3b0fff4a4ae5041273173 Author: Paul E. McKenney Date: Sun Apr 3 21:33:51 2011 -0700 rcu: make rcutorture version numbers available through debugfs It is not possible to accurately correlate rcutorture output with that of debugfs. This patch therefore adds a debugfs file that prints out the rcutorture version number, permitting easy correlation. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit d71df90eadfc35aa549ff9a850842673febca71f Author: Paul E. McKenney Date: Tue Mar 29 17:48:28 2011 -0700 rcu: add tracing for RCU's kthread run states. Add tracing to help debugging situations when RCU's kthreads are not running but are supposed to be. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 0ac3d136b2e3cdf1161178223bc5da14a06241d0 Author: Paul E. McKenney Date: Mon Mar 28 15:47:07 2011 -0700 rcu: add callback-queue information to rcudata output This commit adds an indication of the state of the callback queue using a string of four characters following the "ql=" integer queue length. The first character is "N" if there are callbacks that have been queued that are not yet ready to be handled by the next grace period, or "." otherwise. The second character is "R" if there are callbacks queued that are ready to be handled by the next grace period, or "." otherwise. The third character is "W" if there are callbacks waiting for the current grace period, or "." otherwise. Finally, the fourth character is "D" if there are callbacks that have been handled by a prior grace period and are waiting to be invoked, or ".". Note that callbacks that are in the process of being invoked are not shown. These callbacks would have been removed from the rcu_data structure's list by rcu_do_batch() prior to being executed. (These callbacks are also not reflected in the "ql=" total, FWIW.) Also, document the new callback-queue trace information. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 2fa218d8bbcff239302f9f36e19d7187077dd636 Author: Paul E. McKenney Date: Sun Mar 27 21:37:58 2011 -0700 rcu: Update RCU's trace.txt documentation for new format The trace.txt file had obsolete output for the debugfs rcu/rcudata file, so update it. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 0ea1f2ebeb217d38770aebf91c4ecaa8e01b3305 Author: Paul E. McKenney Date: Tue Feb 22 13:42:43 2011 -0800 rcu: Add boosting to TREE_PREEMPT_RCU tracing Includes total number of tasks boosted, number boosted on behalf of each of normal and expedited grace periods, and statistics on attempts to initiate boosting that failed for various reasons. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 67b98dba474f293c389fc2b7254dcf7c0492e3bd Author: Paul E. McKenney Date: Mon Feb 21 13:31:55 2011 -0800 rcu: eliminate unused boosting statistics The n_rcu_torture_boost_allocerror and n_rcu_torture_boost_afferror statistics are not actually incremented anymore, so eliminate them. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 3acf4a9a3d63f23430f940842829175b0778a1b8 Author: Paul E. McKenney Date: Sun Apr 17 23:45:23 2011 -0700 rcu: avoid hammering sched with yet another bound RT kthread The scheduler does not appear to take kindly to having multiple real-time threads bound to a CPU that is going offline. So this commit is a temporary hack-around to avoid that happening. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney commit e3995a25fa361ce987a7d0ade00b17e3151519d7 Author: Paul E. McKenney Date: Mon Apr 18 15:31:26 2011 -0700 rcu: put per-CPU kthread at non-RT priority during CPU hotplug operations If you are doing CPU hotplug operations, it is best not to have CPU-bound realtime tasks running CPU-bound on the outgoing CPU. So this commit makes per-CPU kthreads run at non-realtime priority during that time. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 0f962a5e7277c34987b77dc82fc9aefcedc95e27 Author: Paul E. McKenney Date: Thu Apr 14 12:13:53 2011 -0700 rcu: Force per-rcu_node kthreads off of the outgoing CPU The scheduler has had some heartburn in the past when too many real-time kthreads were affinitied to the outgoing CPU. So, this commit lightens the load by forcing the per-rcu_node and the boost kthreads off of the outgoing CPU. Note that RCU's per-CPU kthread remains on the outgoing CPU until the bitter end, as it must in order to preserve correctness. Also avoid disabling hardirqs across calls to set_cpus_allowed_ptr(), given that this function can block. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney commit 27f4d28057adf98750cf863c40baefb12f5b6d21 Author: Paul E. McKenney Date: Mon Feb 7 12:47:15 2011 -0800 rcu: priority boosting for TREE_PREEMPT_RCU Add priority boosting for TREE_PREEMPT_RCU, similar to that for TINY_PREEMPT_RCU. This is enabled by the default-off RCU_BOOST kernel parameter. The priority to which to boost preempted RCU readers is controlled by the RCU_BOOST_PRIO kernel parameter (defaulting to real-time priority 1) and the time to wait before boosting the readers who are blocking a given grace period is controlled by the RCU_BOOST_DELAY kernel parameter (defaulting to 500 milliseconds). Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit a26ac2455ffcf3be5c6ef92bc6df7182700f2114 Author: Paul E. McKenney Date: Wed Jan 12 14:10:23 2011 -0800 rcu: move TREE_RCU from softirq to kthread If RCU priority boosting is to be meaningful, callback invocation must be boosted in addition to preempted RCU readers. Otherwise, in presence of CPU real-time threads, the grace period ends, but the callbacks don't get invoked. If the callbacks don't get invoked, the associated memory doesn't get freed, so the system is still subject to OOM. But it is not reasonable to priority-boost RCU_SOFTIRQ, so this commit moves the callback invocations to a kthread, which can be boosted easily. Also add comments and properly synchronized all accesses to rcu_cpu_kthread_task, as suggested by Lai Jiangshan. Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit 12f5f524cafef3ab689929b118f2dfb8bf2be321 Author: Paul E. McKenney Date: Mon Nov 29 21:56:39 2010 -0800 rcu: merge TREE_PREEPT_RCU blocked_tasks[] lists Combine the current TREE_PREEMPT_RCU ->blocked_tasks[] lists in the rcu_node structure into a single ->blkd_tasks list with ->gp_tasks and ->exp_tasks tail pointers. This is in preparation for RCU priority boosting, which will add a third dimension to the combinatorial explosion in the ->blocked_tasks[] case, but simply a third pointer in the new ->blkd_tasks case. Also update documentation to reflect blocked_tasks[] merge Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit e59fb3120becfb36b22ddb8bd27d065d3cdca499 Author: Paul E. McKenney Date: Tue Sep 7 10:38:22 2010 -0700 rcu: Decrease memory-barrier usage based on semi-formal proof Commit d09b62d fixed grace-period synchronization, but left some smp_mb() invocations in rcu_process_callbacks() that are no longer needed, but sheer paranoia prevented them from being removed. This commit removes them and provides a proof of correctness in their absence. It also adds a memory barrier to rcu_report_qs_rsp() immediately before the update to rsp->completed in order to handle the theoretical possibility that the compiler or CPU might move massive quantities of code into a lock-based critical section. This also proves that the sheer paranoia was not entirely unjustified, at least from a theoretical point of view. In addition, the old dyntick-idle synchronization depended on the fact that grace periods were many milliseconds in duration, so that it could be assumed that no dyntick-idle CPU could reorder a memory reference across an entire grace period. Unfortunately for this design, the addition of expedited grace periods breaks this assumption, which has the unfortunate side-effect of requiring atomic operations in the functions that track dyntick-idle state for RCU. (There is some hope that the algorithms used in user-level RCU might be applied here, but some work is required to handle the NMIs that user-space applications can happily ignore. For the short term, better safe than sorry.) This proof assumes that neither compiler nor CPU will allow a lock acquisition and release to be reordered, as doing so can result in deadlock. The proof is as follows: 1. A given CPU declares a quiescent state under the protection of its leaf rcu_node's lock. 2. If there is more than one level of rcu_node hierarchy, the last CPU to declare a quiescent state will also acquire the ->lock of the next rcu_node up in the hierarchy, but only after releasing the lower level's lock. The acquisition of this lock clearly cannot occur prior to the acquisition of the leaf node's lock. 3. Step 2 repeats until we reach the root rcu_node structure. Please note again that only one lock is held at a time through this process. The acquisition of the root rcu_node's ->lock must occur after the release of that of the leaf rcu_node. 4. At this point, we set the ->completed field in the rcu_state structure in rcu_report_qs_rsp(). However, if the rcu_node hierarchy contains only one rcu_node, then in theory the code preceding the quiescent state could leak into the critical section. We therefore precede the update of ->completed with a memory barrier. All CPUs will therefore agree that any updates preceding any report of a quiescent state will have happened before the update of ->completed. 5. Regardless of whether a new grace period is needed, rcu_start_gp() will propagate the new value of ->completed to all of the leaf rcu_node structures, under the protection of each rcu_node's ->lock. If a new grace period is needed immediately, this propagation will occur in the same critical section that ->completed was set in, but courtesy of the memory barrier in #4 above, is still seen to follow any pre-quiescent-state activity. 6. When a given CPU invokes __rcu_process_gp_end(), it becomes aware of the end of the old grace period and therefore makes any RCU callbacks that were waiting on that grace period eligible for invocation. If this CPU is the same one that detected the end of the grace period, and if there is but a single rcu_node in the hierarchy, we will still be in the single critical section. In this case, the memory barrier in step #4 guarantees that all callbacks will be seen to execute after each CPU's quiescent state. On the other hand, if this is a different CPU, it will acquire the leaf rcu_node's ->lock, and will again be serialized after each CPU's quiescent state for the old grace period. On the strength of this proof, this commit therefore removes the memory barriers from rcu_process_callbacks() and adds one to rcu_report_qs_rsp(). The effect is to reduce the number of memory barriers by one and to reduce the frequency of execution from about once per scheduling tick per CPU to once per grace period. Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit a00e0d714fbded07a7a2254391ce9ed5a5cb9d82 Author: Paul E. McKenney Date: Tue Feb 8 17:14:39 2011 -0800 rcu: Remove conditional compilation for RCU CPU stall warnings The RCU CPU stall warnings can now be controlled using the rcu_cpu_stall_suppress boot-time parameter or via the same parameter from sysfs. There is therefore no longer any reason to have kernel config parameters for this feature. This commit therefore removes the RCU_CPU_STALL_DETECTOR and RCU_CPU_STALL_DETECTOR_RUNNABLE kernel config parameters. The RCU_CPU_STALL_TIMEOUT parameter remains to allow the timeout to be tuned and the RCU_CPU_STALL_VERBOSE parameter remains to allow task-stall information to be suppressed if desired. Signed-off-by: Paul E. McKenney Reviewed-by: Josh Triplett commit a0496d450ab8c17f6c4d86979b1f6ba486fe9365 Author: Jack Miller Date: Thu Apr 14 22:32:08 2011 +0000 powerpc: Add early debug for WSP platforms Signed-off-by: Jack Miller Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit a1d0d98daf6ce580d017a43b09fe30a375cde3e8 Author: David Gibson Date: Thu Apr 14 22:32:06 2011 +0000 powerpc: Add WSP platform Add a platform for the Wire Speed Processor, based on the PPC A2. This includes code for the ICS & OPB interrupt controllers, as well as a SCOM backend, and SCOM based cpu bringup. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: David Gibson Signed-off-by: Jack Miller Signed-off-by: Ian Munsie Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 82578e192bb837b984ed5d8389245ea1fee09dd5 Author: Richard A Lary Date: Wed May 4 12:57:18 2011 +0000 powerpc/eeh: Display eeh error location for bus and device For adapters which have devices under a PCIe switch/bridge it is informative to display information for both the PCIe switch/bridge and the device on which the bus error was detected. rebased to powerpc-next Signed-off-by: Richard A Lary Signed-off-by: Benjamin Herrenschmidt commit 40bd587a88fcd425f489f3d9f0be7daa84014141 Author: Benjamin Herrenschmidt Date: Tue May 3 14:07:01 2011 +0000 powerpc: Rename slb0_limit() to safe_stack_limit() and add Book3E support slb0_limit() wasn't a very descriptive name. This changes it along with a comment explaining what it's used for, and provides a 64-bit BookE implementation. Signed-off-by: Benjamin Herrenschmidt commit 77eafe101a65b609b0693ee4eda381f60a4a5bab Author: Tseng-Hui (Frank) Lin Date: Thu May 5 12:32:48 2011 +0000 powerpc/pseries: Add support for IO event interrupts This patch adds support for handling IO Event interrupts which come through at the /event-sources/ibm,io-events device tree node. The interrupts come through ibm,io-events device tree node are generated by the firmware to report IO events. The firmware uses the same interrupt to report multiple types of events for multiple devices. Each device may have its own event handler. This patch implements a plateform interrupt handler that is triggered by the IO event interrupts come through ibm,io-events device tree node, pull in the IO events from RTAS and call device event handlers registered in the notifier list. Device event handlers are expected to use atomic_notifier_chain_register() and atomic_notifier_chain_unregister() to register/unregister their event handler in pseries_ioei_notifier_list list with IO event interrupt. Device event handlers are responsible to identify if the event belongs to the device event handler. The device event handle should return NOTIFY_OK after the event is handled if the event belongs to the device event handler, or NOTIFY_DONE otherwise. Signed-off-by: Tseng-Hui (Frank) Lin Signed-off-by: Benjamin Herrenschmidt commit 4cb4638079a487627232ffee5b48ca19c127aed8 Author: Tseng-Hui (Frank) Lin Date: Tue May 3 18:28:43 2011 +0000 powerpc/pseries: Add RTAS event log v6 definition This patch adds definitions of non-IBM specific v6 extended log definitions to rtas.h. Signed-off-by: Tseng-Hui (Frank) Lin Signed-off-by: Benjamin Herrenschmidt commit 79af2187fa27442e89437d8ee637578cdb1a036c Author: Stephen Rothwell Date: Fri May 6 10:39:08 2011 +1000 powerpc: Fix compile with icwsx support Due to a collision between NO_CONTEXT->MMU_NO_CONTEXT change and Anton's patch. Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 7143b7d41218d4fc2ea33e6056c73609527ae687 Merge: 90864fb 87e9af6 Author: David S. Miller Date: Thu May 5 14:59:02 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/tg3.c commit 90864fbc7639d7a2300c67a18c9fb9fbcf7d51d2 Merge: 228e548 a70171d Author: David S. Miller Date: Thu May 5 14:09:28 2011 -0700 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit e4eefec73ea0a740bfe8736e3ac30dfe92fe392b Author: Yogesh Ashok Powar Date: Thu May 5 16:30:48 2011 +0530 mwl8k: Do not ask mac80211 to generate IV for crypto keys Since firmware is capable of generating IV's for all crypto suits (TKIP, CCMP and WEP), do not ask mac80211 to generate IV when HW crypto is being used. Instead only reserve appropriate space in tx skb's in the driver, so that the firmware can write IV's values. Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit eee40820e95e6dbd7b0709e7b8cca453004ae7b1 Author: Rafał Miłecki Date: Thu May 5 12:46:04 2011 +0200 b43legacy: drop invalid IMCFGLO workaround We were performing it on wrong core, it was outdated and is already implemented in ssb. Signed-off-by: Rafał Miłecki Tested-by: Larry Finger Signed-off-by: John W. Linville commit fc2b1e0cfe9b4cabde8afeacc2bb81a95bf83afb Author: Rafał Miłecki Date: Thu May 5 12:45:52 2011 +0200 b43: drop invalid IMCFGLO workaround We were performing it on wrong core, it was outdated and is already implemented in ssb. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit cf3a03b9c99a0b2715741d116f50f513f545bb2d Author: Luis R. Rodriguez Date: Wed May 4 14:01:26 2011 -0700 ath9k_hw: fix power for the HT40 duplicate frames With AR9003 at about ~ 10 feet from an AP that uses RTS / CTS you will be able to associate but not not get data through given that the power for the rates used was set too low. This increases the power and permits data connectivity at longer distances from access points when connected with HT40. Without this you will not get any data through when associated to APs configured in HT40 at about more than 10 feet away. Cc: stable@kernel.org Cc: Fiona Cain Cc: Zhen Xie Cc: Kathy Giori Cc: Neha Choksi Cc: Wayne Daniel Cc: Gaurav Jauhar Cc: Samira Naraghi CC: Ashok Chennupati Cc: Lance Zimmerman Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4268d8ed64ed918384954924284ba396cdb0e388 Author: Ivo van Doorn Date: Wed May 4 21:42:05 2011 +0200 rt2x00: Fix transfer speed regression for USB hardware Patch: rt2x00: Make rt2x00_queue_entry_for_each more flexible commit: 10e11568ca8b8a15f7478f6a4ceebabcbdba1018 introduced a severe regression on the throughput for USB hardware. It turns out that the exiting of the rt2x00queue_for_each_entry() was done too early. The exact cause for this regression is unknown, but by disabling the premature exiting of the loop seems to resolve the issue. Signed-off-by: Ivo van Doorn Reported-by: Yasushi SHOJI Reported-by: Balint Viragh Tested-by: Balint Viragh Signed-off-by: John W. Linville commit aca355b9784fbc960c9caa6b30f953a965296420 Author: Gertjan van Wingerde Date: Wed May 4 21:41:36 2011 +0200 rt2x00: Initial support for RT5370 USB devices. Add necessary RF chipset define and basic support for these devices. Tested-by: Juan Carlos Garza Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 28ef6450f0182f95c4f50aaa0ab2043a09c72b0a Author: Rajkumar Manoharan Date: Wed May 4 19:37:17 2011 +0530 ath9k_hw: do noise floor calibration only on required chains At present the noise floor calibration is processed in supported control and extension chains rather than required chains. Unnccesarily doing nfcal in all supported chains leads to invalid nf readings on extn chains and these invalid values got updated into history buffer. While loading those values from history buffer is moving the chip to deaf state. This issue was observed in AR9002/AR9003 chips while doing associate/dissociate in HT40 mode and interface up/down in iterative manner. After some iterations, the chip was moved to deaf state. Somehow the pci devices are recovered by poll work after chip reset. Raading the nf values in all supported extension chains when the hw is not yet configured in HT40 mode results invalid values. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit eecc48000afe2ca6da22122d553b7cad294e42fc Author: Johannes Berg Date: Wed May 4 15:37:29 2011 +0200 mac80211: add basic support for WoWLAN This adds basic support for the new WoWLAN configuration in mac80211. The behaviour is completely offloaded to the driver though, with two new callbacks (suspend/resume). Options for the driver include a complete reconfiguration after wakeup, and exposing all the triggers it wants to support. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ff1b6e69ad4f31fb3c9c6da2665655f2e798dd70 Author: Johannes Berg Date: Wed May 4 15:37:28 2011 +0200 nl80211/cfg80211: WoWLAN support This is based on (but now quite far from) the original work from Luis and Eliad. Add support for configuring WoWLAN triggers, and getting the configuration out again. Changes from the original patchset are too numerous to list, but one important change needs highlighting: the suspend() callback is passed NULL for the trigger configuration if userspace has not configured WoWLAN at all. Signed-off-by: Luis R. Rodriguez Signed-off-by: Eliad Peller Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8f7f3b2fcc4ccbba0be776049df41a2f96c986ac Author: Nicolas Cavallari Date: Wed May 4 15:26:52 2011 +0200 carl9170: fix allmulticast mode Currently, the driver only disable multicast filtering when the FIF_ALLMULTI driver flag has been just set (ie, if changed_flags& FIF_ALLMULTI and *new_flags& FIF_ALLMULTI) or else it will reenable multicast filtering. But next time, this condition will be false and multicast filtering will be reenabled, even through FIF_ALLMULTI is still set. This mean that allmulticast only works for less than two minutes in ad-hoc mode. This patch fixes that to disable multicast filtering as long as FIF_ALLMULTI is set. Signed-off-by: Nicolas Cavallari Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 9b571e24a9922f79ed2440b4482cb9f11a8f1889 Author: Yogesh Ashok Powar Date: Wed May 4 17:22:16 2011 +0530 mwl8k: Fix broken WEP The WEP key length was being set to 0 erroneously which broke WEP support. Fix the same by setting the key length appropriately. Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit f0dc7999b54ae0464d7144b81d21e1d39a389d49 Author: Jouni Malinen Date: Tue May 3 22:50:15 2011 -0700 cfg80211: Remove unused wiphy flag The only user of WIPHY_FLAG_SUPPORTS_SEPARATE_DEFAULT_KEYS was removed and consequently, this flag can be removed, too. In addition, a single capability flag was not enough to indicate this capability clearly since the device behavior may be different based on which operating mode is being used. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 0e579d6a8f4aea346da818f13ee71401c125e639 Author: Jouni Malinen Date: Tue May 3 22:45:16 2011 -0700 nl80211: Fix set_key regression with some drivers Commit dbd2fd656f2060abfd3a16257f8b51ec60f6d2ed added a mechanism for user space to indicate whether a default key is being configured for only unicast or only multicast frames instead of all frames. This commit added a driver capability flag for indicating whether separate default keys are supported and validation of the set_key command based on that capability. However, this single capability flag is not enough to cover possible difference based on mode (AP/IBSS/STA) and the way this change was introduced resulted in a regression with drivers that do not indicate the new capability (i.e.., more or less any non-mac80211 driver using cfg80211) when using a recent wpa_supplicant snapshot. Fix the regression by removing the new check which is not strictly speaking needed. The new separate default key functionality is needed only for RSN IBSS which has a separate capability indication. Cc: stable@kernel.org Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 270e58e8898c8be40451ebee45b6c9b5bd5db04b Author: Yogesh Ashok Powar Date: Tue May 3 20:11:46 2011 -0700 mwifiex: remove unnecessary variable initialization Skip initialization of local variables with some default values if the values are not going to be used further down the code path. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 57f16b5da03784d1660133fbec7281ea5735da69 Author: Amitkumar Karwar Date: Tue May 3 20:11:45 2011 -0700 mwifiex: fix simultaneous assoc and scan issue When scan and assoc (infra/ibss) commands are simultaneously given in two terminals, association response is erroneously served while serving the scan response. mwifiex_cfg80211_results() is the common routine for sending ioctl (scan, assoc etc.) results to cfg80211 stack. In above scenario even if the common routine is called for scan ioctl context, it also tries to send information about assoc ioctl to cfg80211 because "priv->assoc_request/priv->ibss_join_request" flag is on at that time. Fix the issue by updating request variable after assoc handling and modifying the variable check in mwifiex_cfg80211_results. Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 85e09b40405b44b049500702beb6856646b4be46 Author: Chaoming Li Date: Tue May 3 09:49:36 2011 -0500 rtlwifi: rtl8192se: Modify Kconfig and Makefile routines for new driver Modify rtlwifi routines for rtl8192se and set up Kconfig and Makefile for new driver. This patch also disables ASPM for the RTL8192SE to prevent some strange crashes on LF's system. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 84f494cef7d98d67aa7d50ede12784464aa0c274 Author: Chaoming Li Date: Tue May 3 09:49:26 2011 -0500 rtlwifi: rtl8192se: Merge TX and RX routines Merge routines trx.c and trx.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 18906ae27d233914d54f41e5fcf3fdfdf2fb69a9 Author: Chaoming Li Date: Tue May 3 09:49:16 2011 -0500 rtlwifi: rtl8192se: Merge table routines Merge routines table.c and table.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 5a183eec6247d3d992afbd3a1a9658571d9c4970 Author: Chaoming Li Date: Tue May 3 09:49:06 2011 -0500 rtlwifi: rtl8192se: Merge main (sw) routines Merge routines sw.c and sw.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit e5e8cd76511cb62391a5b64fa4ffdf88b09b6826 Author: Chaoming Li Date: Tue May 3 09:48:56 2011 -0500 rtlwifi: rtl8192se: Merge rf routines Merge routines rf.c and rf.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit cf76bbf7c0d0315ec17c950d14de939a81465f6b Author: Chaoming Li Date: Tue May 3 09:48:45 2011 -0500 rtlwifi: rtl8192se: Merge register definitions Merge routines reg.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit d15853163bea3d31c3b2cc9c74d018a861c128cf Author: Chaoming Li Date: Tue May 3 09:48:35 2011 -0500 rtlwifi: rtl8192se: Merge phy routines Merge routines phy.c and phy.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 293380046bf1a80872d611143a5ee6a23f662472 Author: Chaoming Li Date: Tue May 3 09:48:25 2011 -0500 rtlwifi: rtl8192se: Merge led routines Merge routines led.c and led.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 24284531497def77d0c3c0de9046880b1c4e6b13 Author: Chaoming Li Date: Tue May 3 09:48:15 2011 -0500 rtlwifi: rtl8192se: Merge hardware routines Merge routines hw.c and hw.h for RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 701307a885b13a1790b94e232923de1d199e3cc9 Author: Chaoming Li Date: Tue May 3 09:48:05 2011 -0500 rtlwifi: rtl8192se: Merge firmware routines Merge routines fw.c and fw.h for RTL8192SE. In addition, make changes to rtlwifi/wifi.h to support RTL8192SE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 9fe255ee3c0dd81c134b354e4b328c51f863ac40 Author: Chaoming Li Date: Tue May 3 09:47:55 2011 -0500 rtlwifi: rtl8192se: Merge dynamic management routines Merge routines dm.c and dm.h for RTL8192SE. Signed-off-by: Larry Finger Signed-off-by: Chaoming_Li Signed-off-by: John W. Linville commit e52dadb341c9c5ac25d6abd9216dd62752784f03 Author: Chaoming Li Date: Tue May 3 09:47:45 2011 -0500 rtlwifi: rtl8192se: Merge def.h Introduce routine def.h for rtl8192se. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 1ddc286731134ad52a74b6956d9bc2a4369219a8 Author: Rajkumar Manoharan Date: Tue May 3 17:03:59 2011 +0530 mac80211: Postpond ps timer if tx is stopped by others Whenever the driver's queue depth reaches the max, the queues are stopped by the driver till the driver can accept the frames. At the mean time dynamic_ps_timer can be expired due to not receiving packet from upper layer which could restart the transmission at the end of ps work. Due to the mismatch with driver state, mac80211 is unneccesarity buffering all the frames till the driver wakes up the queue. Check whether there is no transmit or the tx queues were stopped by some reasons. If any of the queue was stopped, the postpond ps timer and do not restart netif_tx. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 4c468fe559f7910b1c6b10d3d223943fdd1b653c Author: Arik Nemtsov Date: Tue May 3 11:53:07 2011 +0300 mac80211: set TID of internal mgmt packets to 7 The queue mapping of internal mgmt packets is set to VO. Set the TID value to match the queue mapping. Otherwise drivers that only look at the TID might get confused. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit cbe8c735f1af88037c3dab570f816e3a77896cc7 Author: Mohammed Shafi Shajakhan Date: Tue May 3 13:14:06 2011 +0530 ath9k_hw: remove aggregation protection mode when aggregation protection mode is enabled the hardware needs to send RTS/CTS for each HT frame. Currently its disabled so remove the unused call backs. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 7e4b4eecedb3c6bd5f9fec479ef33ccc6ce72375 Author: Daniel Drake Date: Mon May 2 21:38:16 2011 +0100 libertas: remove tx_timeout handler As described at http://marc.info/?l=linux-netdev&m=130428493104730&w=2 libertas frequently generates spurious tx timeouts, because the tx queue is brought down for extended periods during scanning. The net layer takes a look and incorrectly assumes the queue has been down for several seconds, and generates a tx_timeout. One way to fix this is to bump the trans_start counter while scanning so that the network layer knows that the device is still alive, but I think the tx_timeout handler is implemented wrongly here and not of any real use, so I vote to remove it. As explained at http://marc.info/?l=linux-wireless&m=130430311115755&w=2 the watchdog is primarily meant to deal with lockup on the hardware TX path (detected by the tx queue being stopped for an extended period of time), but this is unlikely to happen with libertas. In this case, the tx queue is stopped only while waiting for lbs_thread to send the queued frame to the driver, and lbs_thread wakes up the queue immediately after, even if the frame could not be sent correctly. So, the only hardware-related possibility that this catches is if hw_host_to_card hangs - this is something I have never seen. And if it were to happen, nothing done by lbs_tx_timeout would actually wake up lbs_thread any quicker than otherwise. Removing this oddly-behaving spuriously-firing tx_timeout handler should fix an occasional kernel crash during resume (http://dev.laptop.org/ticket/10748) Signed-off-by: Daniel Drake Acked-by: Dan Williams Signed-off-by: John W. Linville commit 470ab2a23b453518ac86937572b4531d8925ca55 Author: Rajkumar Manoharan Date: Fri Apr 29 14:48:45 2011 +0530 mac80211: use wake_queue to restart trasmit netif_tx_start_all_queues is used to allow the upper layer to transmit frames but it does not restart transmission. To restart the trasmission use netif_tx_wake_all_queues. Not doing so, sometimes stalls the transmission and the application has to be restarted to proceed further. This issue was originally found while sending udp traffic in higer bandwidth in open environment without bgscan. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 2f6fc351e6e8c1b6a95140e733607e32bc3a4322 Author: Rajkumar Manoharan Date: Thu Apr 28 15:31:57 2011 +0530 ath9k: Fix drain txq failure in flush While draining the txq in flush, the buffers can be added into the tx queue by tx_tasklet which leads to unneccesary chip reset. This issue was originially found with AR9382 and running heavy uplink udp traffic with higher bandwidth and doing frequent bgscan. Cc: stable@kernel.org Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 228e548e602061b08ee8e8966f567c12aa079682 Author: Anton Blanchard Date: Mon May 2 20:21:35 2011 +0000 net: Add sendmmsg socket system call This patch adds a multiple message send syscall and is the send version of the existing recvmmsg syscall. This is heavily based on the patch by Arnaldo that added recvmmsg. I wrote a microbenchmark to test the performance gains of using this new syscall: http://ozlabs.org/~anton/junkcode/sendmmsg_test.c The test was run on a ppc64 box with a 10 Gbit network card. The benchmark can send both UDP and RAW ethernet packets. 64B UDP batch pkts/sec 1 804570 2 872800 (+ 8 %) 4 916556 (+14 %) 8 939712 (+17 %) 16 952688 (+18 %) 32 956448 (+19 %) 64 964800 (+20 %) 64B raw socket batch pkts/sec 1 1201449 2 1350028 (+12 %) 4 1461416 (+22 %) 8 1513080 (+26 %) 16 1541216 (+28 %) 32 1553440 (+29 %) 64 1557888 (+30 %) We see a 20% improvement in throughput on UDP send and 30% on raw socket send. [ Add sparc syscall entries. -DaveM ] Signed-off-by: Anton Blanchard Signed-off-by: David S. Miller commit 1c5cae815d19ffe02bdfda1260949ef2b1806171 Author: Jiri Pirko Date: Sat Apr 30 01:21:32 2011 +0000 net: call dev_alloc_name from register_netdevice Force dev_alloc_name() to be called from register_netdevice() by dev_get_valid_name(). That allows to remove multiple explicit dev_alloc_name() calls. The possibility to call dev_alloc_name in advance remains. This also fixes veth creation regresion caused by 84c49d8c3e4abefb0a41a77b25aa37ebe8d6b743 Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 890641b2512f491f28e4ef7536dca1ea93dae997 Merge: eaef6a9 25eaea30 Author: John W. Linville Date: Thu May 5 13:56:27 2011 -0400 Merge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit e8920674979705392abc4db4ebbe78feb68a4da1 Author: Dmitry Kravkov Date: Wed May 4 23:52:40 2011 +0000 bnx2x: function descriptions format fixed Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5de924086aca9f17eee9ad569e0af2f699f591b3 Author: Dmitry Kravkov Date: Wed May 4 23:51:13 2011 +0000 bnx2x: update year to 2011 and version to 1.62.12-0 Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b3b83c3f3c640b239f1f1dfc49c0ecafbc074fdb Author: Dmitry Kravkov Date: Wed May 4 23:50:33 2011 +0000 bnx2x: improve memory handling, low memory recovery flows Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 426b92415074d6d268c7aac4561efecd3785d0b1 Author: Dmitry Kravkov Date: Wed May 4 23:49:53 2011 +0000 bnx2x: Do storage mac address validation for SF mode. Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f9a3ebbe657b5dcd562224b32d1703da499063db Author: Dmitry Kravkov Date: Wed May 4 23:49:11 2011 +0000 bnx2x: allow WoL on every function in MF modes Signed-off-by: Dmitry Kravkov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2ae17f666099c952053eea7c64cac8189dd76f72 Author: Vladislav Zolotarov Date: Wed May 4 23:48:23 2011 +0000 bnx2x: link report improvements To avoid link notification duplication Signed-off-by: Dmitry Kravkov Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 34da9e50e908c4553ddefb38da2c5bacbe2bba58 Author: Giuseppe CAVALLARO Date: Thu May 5 00:10:50 2011 +0000 stmmac: removed not used definitions Reported-by: Karim Hamiti Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit a70171dce9cd44cb06c7d299eba9fa87a8933045 Merge: 5a412ad eaef6a9 Author: John W. Linville Date: Thu May 5 13:32:35 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: drivers/net/wireless/libertas/if_cs.c drivers/net/wireless/rtlwifi/pci.c net/bluetooth/l2cap_sock.c commit 23691d75cdc69c3b285211b4d77746aa20a17d18 Author: Gustavo F. Padovan Date: Wed Apr 27 18:26:32 2011 -0300 Bluetooth: Remove l2cap_sk_list A new list was added to replace the socket based one. This new list doesn't depent on sock and then fits better inside l2cap_core.c code. It also rename l2cap_chan_alloc() to l2cap_chan_create() and l2cap_chan_free() to l2cap_chan_destroy) Signed-off-by: Gustavo F. Padovan commit 73b2ec18532f45e9028ce4c7bc8d7f8818eabd2a Author: Gustavo F. Padovan Date: Mon Apr 18 19:36:44 2011 -0300 Bluetooth: Handle psm == 0 case inside l2cap_add_psm() When the user doesn't specify a psm we have the choose one for the channel. Now we do this inside l2cap_add_psm(). Signed-off-by: Gustavo F. Padovan commit 9e4425fff9e0a0fb6a8c705777ed861f991f8747 Author: Gustavo F. Padovan Date: Mon Apr 18 18:38:43 2011 -0300 Bluetooth: Add l2cap_add_psm() and l2cap_add_scid() The intention is to get rid of the l2cap_sk_list usage inside l2cap_core.c. l2cap_sk_list will soon be replaced by a list that does not depend on socket usage. Signed-off-by: Gustavo F. Padovan commit eaef6a93bd52a2cc47b9fce201310010707afdb4 Author: Mohammed Shafi Shajakhan Date: Thu May 5 10:59:24 2011 +0530 mac80211: Fix a warning due to skipping tailroom reservation for IV The devices that require IV generation in software need tailroom reservation for ICVs used in TKIP or WEP encryptions. Currently, decision to skip the tailroom reservation in the tx path was taken only on whether driver wants MMIC to be generated in software or not. Following patch appends IV generation check for such decisions and fixes the following warning. WARNING: at net/mac80211/wep.c:101 ieee80211_wep_add_iv+0x56/0xf3() Hardware name: 64756D6 Modules linked in: ath9k ath9k_common ath9k_hw Pid: 0, comm: swapper Tainted: G W 2.6.39-rc5-wl Call Trace: [] warn_slowpath_common+0x65/0x7a [] ? ieee80211_wep_add_iv+0x56/0xf3 [] warn_slowpath_null+0xf/0x13 [] ieee80211_wep_add_iv+0x56/0xf3 [] ieee80211_crypto_wep_encrypt+0x63/0x88 [] ieee80211_tx_h_encrypt+0x2f/0x63 [] invoke_tx_handlers+0x93/0xe1 [] ieee80211_tx+0x4b/0x6d [] ieee80211_xmit+0x180/0x188 [] ? ieee80211_skb_resize+0x95/0xd9 [] ieee80211_subif_start_xmit+0x64f/0x668 [] dev_hard_start_xmit+0x368/0x48c [] sch_direct_xmit+0x4d/0x101 [] dev_queue_xmit+0x2c1/0x43f [] ? eth_header+0x1e/0x90 [] ? eth_type_trans+0x91/0xc2 [] ? eth_rebuild_header+0x53/0x53 [] neigh_resolve_output+0x223/0x27e [] ip_finish_output2+0x1d4/0x1fe [] ip_finish_output+0x79/0x7d [] T.1075+0x43/0x48 [] ip_output+0x75/0x7b [] dst_output+0xc/0xe [] ip_local_out+0x17/0x1a [] ip_queue_xmit+0x2aa/0x2f8 [] ? sk_setup_caps+0x21/0x92 [] ? __tcp_v4_send_check+0x7e/0xb7 [] tcp_transmit_skb+0x6a1/0x6d7 [] ? tcp_established_options+0x20/0x8b [] tcp_retransmit_skb+0x43a/0x527 [] tcp_retransmit_timer+0x32e/0x45d [] tcp_write_timer+0x87/0x16c [] run_timer_softirq+0x156/0x1f9 [] ? tcp_retransmit_timer+0x45d/0x45d [] __do_softirq+0x97/0x14a [] ? irq_enter+0x4d/0x4d Cc: Yogesh Powar Reported-by: Fabio Rossi Tested-by: Fabio Rossi Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 588da3b3be8b3225c2dd192aa782bf6c5c32eb84 Author: Steven Whitehouse Date: Thu May 5 12:36:38 2011 +0100 GFS2: Don't use a try lock when promoting to a higher mode Previously we marked all locks being promoted to a higher mode with the try flag to avoid any potential deadlocks issues. The DLM is able to detect these and report them in way that GFS2 can deal with them correctly. So we can just request the required mode and wait for a response without needing to perform this check. Signed-off-by: Steven Whitehouse commit d192a8e5c6fec4fe8cdafebccc415db4074dee88 Author: Steven Whitehouse Date: Thu May 5 12:35:40 2011 +0100 GFS2: Double check link count under glock To avoid any possible races relating to the link count, we need to recheck it under the inode's glock in all cases where it matters. Also to ensure we never get any nasty surprises, this patch also ensures that once the link count has hit zero it can never be elevated by rereading in data from disk. The only place we cannot provide a proper solution is in rename in the case where we are removing a target inode and we discover that the target inode has been already unlinked on another node. The race window is very small, and we return EAGAIN in this case to indicate what has happened. The proper solution would be to move the lookup parts of rename from the vfs into library calls which the fs could call directly, but that is potentially a very big job and this fix should cover most cases for now. Signed-off-by: Steven Whitehouse commit c8d55a9d9e257e67d02a6f673a943dd77e6bf24e Author: Kurt Van Dijck Date: Tue May 3 18:42:04 2011 +0000 can: rename can_try_module_get to can_get_proto can: rename can_try_module_get to can_get_proto can_try_module_get does return a struct can_proto. The name explains what is done in so much detail that a caller may not notice that a struct can_proto is locked/unlocked. Signed-off-by: Kurt Van Dijck Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 1650629d1800bf05ad775f974e931ca2fa03b0ff Author: Kurt Van Dijck Date: Tue May 3 18:40:57 2011 +0000 can: make struct can_proto const commit 53914b67993c724cec585863755c9ebc8446e83b had the same message. That commit did put everything in place but did not make can_proto const itself. Signed-off-by: Kurt Van Dijck Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 5a412ad7f4c95bb5b756aa12b52646e857e7c75d Merge: 301102c 6716344 Author: David S. Miller Date: Wed May 4 13:54:50 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net-next-2.6 commit 301102cc832f9f3e24c5748705f152eaa7c307f6 Author: David S. Miller Date: Wed May 4 12:46:24 2011 -0700 ipv6: Use flowi4->{daddr,saddr} in ipip6_tunnel_xmit(). Instead of rt->rt_{dst,src} Signed-off-by: David S. Miller commit cbb1e85f9cfd2bd9b7edfd21d167e89a4279faf0 Author: David S. Miller Date: Wed May 4 12:33:34 2011 -0700 ipv4: Kill rt->rt_{src, dst} usage in IP GRE tunnels. First, make callers pass on-stack flowi4 to ip_route_output_gre() so they can get at the fully resolved flow key. Next, use that in ipgre_tunnel_xmit() to avoid the need to use rt->rt_{dst,src}. Signed-off-by: David S. Miller commit 9a1b9496cd2b013f74885218947fa7120d53e74c Author: David S. Miller Date: Wed May 4 12:18:54 2011 -0700 ipv4: Pass explicit saddr/daddr args to ipmr_get_route(). This eliminates the need to use rt->rt_{src,dst}. Signed-off-by: David S. Miller commit 6716344c521bb585c1b89987c918d4b83b81adbe Author: Don Skidmore Date: Tue Apr 26 08:00:00 2011 +0000 ixgbe: Cleanup PCIe bus speed info PCIe connections should be expressed as GT/s (GigaTransfers per second) instead of the current Gb/s (Gigabits per second). In addition, it is incorrect because (due to PCIe gen 1 & 2 having a 20% overhead) the actually data rate, when expressed in Gb/s, is only 80% of the rate of GT/s. Signed-off-by: Don Skidmore Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 68c7005d664724eab87627b042e149a736622d54 Author: Emil Tantilov Date: Wed Apr 20 08:49:06 2011 +0000 ixgbe: improve EEPROM read/write operations Introduce buffered read/writes which greatly improves performance on parts with large EEPROMs. Previously reading/writing a word requires taking/releasing of synchronization semaphores which adds 10ms to each operation. The optimization is to read/write in buffers, but make sure the semaphore is not held for >500ms according to the datasheet. Since we can't read the EEPROM page size ixgbe_detect_eeprom_page_size() is used to discover the EEPROM size when needed and keeps the result in word_page_size for the rest of the run time. Use buffered reads for ethtool -e. Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 95a46011843a3c49e1a002eddb6b2735c201e378 Author: Emil Tantilov Date: Thu Apr 14 07:46:41 2011 +0000 ixgbe: fix sparse warning warning: symbol 'before' shadows an earlier one Convert large macros to functions similar to e1000e. Signed-off-by: Emil Tantilov Acked-by: Don Skidmore Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 2698b20842884d7d4de55ea559baa57e2f2ebea4 Author: Don Skidmore Date: Wed Apr 13 07:01:52 2011 +0000 ixgbe: fix typo error with software defined pins on 82599 Correcting a simple typo with enabling software defined pins. I don't believe this was causing any issues but this is how it was meant to be implemented. Signed-off-by: Don Skidmore Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 6d980c3e50189e5437fdb5ef2c6e6d3c282035dc Author: Emil Tantilov Date: Wed Apr 13 04:56:15 2011 +0000 ixgbe: Use function pointer for ixgbe_acquire/release_swfw_sync() Change remaining direct calls to function pointers. Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 97322b3303a1de979b973dc1d0a43091f27258ac Author: stephen hemminger Date: Tue Apr 5 04:26:27 2011 +0000 igbvf: remove bogus phys_id This device lies about supporting phys_id. Remove it and just let the upper layer report not supported. Signed-off-by: Stephen Hemminger Tested-by: Signed-off-by: Jeff Kirsher commit f6b1bfd17d42f9dc1d799b7e0eed817ed75005ec Author: Carolyn Wyborny Date: Wed May 4 04:29:51 2011 +0000 igb: Add check for invalid size to igb_get_invariants_82575() Recent commits have changed how EEPROM size is checked and if the size word is misconfigured, the driver will fail to load. This patch adds a check for invalid size word in the EEPROM and uses default size instead for 82576 parts. Reported-by: Stefan Assmann Signed-off-by: Carolyn Wyborny Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher commit ec7e97e9a0265255485e217f4f2d3513949e7083 Author: Jeff Kirsher Date: Tue May 3 05:17:34 2011 +0000 ixgb: convert to set_phys_id Based on the original patch sent by Stephen Hemminger. This version incorporates the ethtool changes that Bruce Allan submitted. CC: Stephen Hemminger Signed-off-by: Jeff Kirsher Tested-by: Evan Swanson commit dd927a2694ee412b440284dd72dd8e32caada3fc Author: David S. Miller Date: Wed May 4 12:03:30 2011 -0700 ipv4: In ip_build_and_send_pkt() use 'saddr' and 'daddr' args passed in. Instead of rt->rt_{dst,src} The only tricky part is source route option handling. If the source route option is enabled we can't just use plain 'daddr', we have to use opt->opt.faddr. Signed-off-by: David S. Miller commit dca97ad2ec37aa98c45dfe1d531d9ba7048e814e Author: Emil Tantilov Date: Wed Apr 27 08:51:29 2011 +0000 e100: fix build warning In function 'e100_hw_init': warning: 'err' may be used uninitialized in this function Signed-off-by: Emil Tantilov Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 69458cb194e82972347a004054e0baed719ed008 Author: David S. Miller Date: Wed May 4 11:10:28 2011 -0700 ipv4: Use flowi4->{daddr,saddr} in ipip_tunnel_xmit(). Instead of rt->rt_{dst,src} Signed-off-by: David S. Miller commit 9cddf15f18865c4f7124d829be41799f59aaa5cf Author: Randy Dunlap Date: Wed May 4 11:06:05 2011 -0700 x86/net: only select BPF_JIT when NET is enabled Fix kconfig unmet dependency warning: HAVE_BPF_JIT depends on NET, so make the "select" of it depend on NET also. warning: (X86) selects HAVE_BPF_JIT which has unmet direct dependencies (NET) Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 1a8e1463a49aaa452da1cefe184a00d4df47f1ef Author: Kees Cook Date: Wed May 4 08:38:56 2011 -0700 [CPUFREQ] remove redundant sprintf from request_module call. Since format string handling is part of request_module, there is no need to construct the module name. As such, drop the redundant sprintf and heap usage. Signed-off-by: Kees Cook Signed-off-by: Dave Jones commit 469057d587a9de2cd6087d71a008b908e785a5b6 Author: Karthigan Srinivasan Date: Fri Apr 1 17:34:47 2011 -0500 [CPUFREQ] cpufreq_stats.c: Fixed brace coding style issue Fixed brace coding style issue. Signed-off-by: Karthigan Srinivasan Signed-off-by: Dave Jones commit 98586ed8b8878e10691203687e89a42fa3355300 Author: steven finney Date: Mon May 2 11:29:17 2011 -0700 [CPUFREQ] Fix memory leak in cpufreq_stat When a CPU is taken offline in an SMP system, cpufreq_remove_dev() nulls out the per-cpu policy before cpufreq_stats_free_table() can make use of it. cpufreq_stats_free_table() then skips the call to sysfs_remove_group(), leaving about 100 bytes of sysfs-related memory unclaimed each time a CPU-removal occurs. Break up cpu_stats_free_table into sysfs and table portions, and call the sysfs portion early. Signed-off-by: Steven Finney Signed-off-by: Dave Jones Cc: stable@kernel.org commit 335dc3335ff692173bc766b248f7a97f3a23b30a Author: Thiago Farina Date: Thu Apr 28 20:42:53 2011 -0300 [CPUFREQ] cpufreq.h: Fix some checkpatch.pl coding style issues. Before: $ scripts/checkpatch.pl --file --terse include/linux/cpufreq.h total: 14 errors, 11 warnings, 419 lines checked After: $ scripts/checkpatch.pl --file --terse include/linux/cpufreq.h total: 2 errors, 4 warnings, 422 lines checked Signed-off-by: Thiago Farina Signed-off-by: Dave Jones commit 2d06d8c49afdcc9bb35a85039fa50f0fe35bd40e Author: Dominik Brodowski Date: Sun Mar 27 15:04:46 2011 +0200 [CPUFREQ] use dynamic debug instead of custom infrastructure With dynamic debug having gained the capability to report debug messages also during the boot process, it offers a far superior interface for debug messages than the custom cpufreq infrastructure. As a first step, remove the old cpufreq_debug_printk() function and replace it with a call to the generic pr_debug() function. How can dynamic debug be used on cpufreq? You need a kernel which has CONFIG_DYNAMIC_DEBUG enabled. To enabled debugging during runtime, mount debugfs and $ echo -n 'module cpufreq +p' > /sys/kernel/debug/dynamic_debug/control for debugging the complete "cpufreq" module. To achieve the same goal during boot, append ddebug_query="module cpufreq +p" as a boot parameter to the kernel of your choice. For more detailled instructions, please see Documentation/dynamic-debug-howto.txt Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones commit 27ecddc2a9f99ce4ac9a59a0acd77f7100b6d034 Author: Jacob Shin Date: Wed Apr 27 13:32:11 2011 -0500 [CPUFREQ] CPU hotplug, re-create sysfs directory and symlinks When we discover CPUs that are affected by each other's frequency/voltage transitions, the first CPU gets a sysfs directory created, and rest of the siblings get symlinks. Currently, when we hotplug off only the first CPU, all of the symlinks and the sysfs directory gets removed. Even though rest of the siblings are still online and functional, they are orphaned, and no longer governed by cpufreq. This patch, given the above scenario, creates a sysfs directory for the first sibling and symlinks for the rest of the siblings. Please note the recursive call, it was rather too ugly to roll it out. And the removal of redundant NULL setting (it is already taken care of near the top of the function). Signed-off-by: Jacob Shin Acked-by: Mark Langsdorf Reviewed-by: Thomas Renninger Signed-off-by: Dave Jones Cc: stable@kernel.org commit 904cc1e637a00dba1b58e7752f485f90ebf2a568 Author: Naga Chumbalkar Date: Tue Apr 26 17:05:18 2011 +0000 [CPUFREQ] Fix _OSC UUID in pcc-cpufreq UUID needs to be written out the way it is described in Sec 18.5.124 of ACPI 4.0a Specification. Platform firmware's use of this UUID/_OSC is optional, which is why we didn't notice this bug earlier. Signed-off-by: Naga Chumbalkar Signed-off-by: Dave Jones Cc: stable@kernel.org commit 931aeeda0dca81152aec48f30be01e86a268bf89 Author: Vladimir Davydov Date: Tue May 3 22:31:07 2011 +0400 sched: Remove unused 'this_best_prio arg' from balance_tasks() It's passed across multiple functions but is never really used, so remove it. Signed-off-by: Vladimir Davydov Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/1304447467-29200-1-git-send-email-vdavydov@parallels.com Signed-off-by: Ingo Molnar commit e7e7ee2eab2080248084d71fe0a115ab745eb2aa Author: Ingo Molnar Date: Wed May 4 08:42:29 2011 +0200 perf events: Clean up definitions and initializers, update copyrights Fix a few inconsistent style bits that were added over the past few months. Cc: Peter Zijlstra Link: http://lkml.kernel.org/n/tip-yv4hwf9yhnzoada8pcpb3a97@git.kernel.org Signed-off-by: Ingo Molnar commit cce36444173b943f7b27e726ab38b3340cdebc41 Author: Robert P. J. Day Date: Thu Apr 21 10:00:18 2011 +0000 powerpc/pseries/bsr: Remove redundant initialization of bsr dev_t declaration. Remove the unnecessary initialization of "dev_t bsr_dev" since it's subsequently used in an "alloc_chrdev_region()" call which uses that variable in an output-only fashion. Signed-off-by: Robert P. J. Day Signed-off-by: Benjamin Herrenschmidt commit ecb7390211fe9cb14ff0bae116a3f4f1149c0b6c Author: Richard A Lary Date: Fri Apr 22 10:00:05 2011 +0000 powerpc/pseries/eeh: Handle functional reset on non-PCIe device Fundamental reset is an optional reset type supported only by PCIe adapters. Handle the unexpected case where a non-PCIe device has requested a fundamental reset. Try hot-reset as a fallback to handle this case. Signed-off-by: Richard A Lary Signed-off-by: Benjamin Herrenschmidt commit 308fc4f8e10b5239cde46104bb9fca79b46230c8 Author: Richard A Lary Date: Fri Apr 22 09:59:47 2011 +0000 powerpc/pseries/eeh: Propagate needs_freset flag to device at PE For multifunction adapters with a PCI bridge or switch as the device at the Partitionable Endpoint(PE), if one or more devices below PE sets dev->needs_freset, that value will be set for the PE device. In other words, if any device below PE requires a fundamental reset the PE will request a fundamental reset. Signed-off-by: Richard A Lary Signed-off-by: Benjamin Herrenschmidt commit 9ee820fa005254dfc816330f6654f14dcb2beee1 Author: Brian King Date: Wed May 4 16:01:20 2011 +1000 powerpc/pseries: Add page coalescing support Adds support for page coalescing, which is a feature on IBM Power servers which allows for coalescing identical pages between logical partitions. Hint text pages as coalesce candidates, since they are the most likely pages to be able to be coalesced between partitions. This patch also exports some page coalescing statistics available from firmware via lparcfg. [BenH: Moved a couple of things around to fix compile problems] Signed-off-by: Brian King Signed-off-by: Benjamin Herrenschmidt commit 7707e4110e5692fe85e7e6c471c9bb2a9254d313 Author: Ben Hutchings Date: Sun Apr 24 15:04:31 2011 +0000 powerpc/kexec: Fix build failure on 32-bit SMP Commit b987812b3fcaf70fdf0037589e5d2f5f2453e6ce left crash_kexec_wait_realmode() undefined for UP. Commit 7c7a81b53e581d727d069cc45df5510516faac31 defined it for UP but left it undefined for 32-bit SMP. Seems like people are getting confused by nested #ifdef's, so move the definitions of crash_kexec_wait_realmode() after the #ifdef CONFIG_SMP section. Compile-tested with 32-bit UP, 32-bit SMP and 64-bit SMP configurations. Signed-off-by: Ben Hutchings Tested-by: Paul Gortmaker Signed-off-by: Benjamin Herrenschmidt commit 104699c0ab473535793b5fea156adaf309afd29b Author: KOSAKI Motohiro Date: Thu Apr 28 05:07:23 2011 +0000 powerpc: Convert old cpumask API into new one Adapt new API. Almost change is trivial. Most important change is the below line because we plan to change task->cpus_allowed implementation. - ctx->cpus_allowed = current->cpus_allowed; Signed-off-by: KOSAKI Motohiro Signed-off-by: Benjamin Herrenschmidt commit 48404f2e95ef0ffd8134d89c8abcd1a15e15f1b0 Author: Paul Mackerras Date: Sun May 1 19:48:20 2011 +0000 powerpc: Save Come-From Address Register (CFAR) in exception frame Recent 64-bit server processors (POWER6 and POWER7) have a "Come-From Address Register" (CFAR), that records the address of the most recent branch or rfid (return from interrupt) instruction for debugging purposes. This saves the value of the CFAR in the exception entry code and stores it in the exception frame. We also make xmon print the CFAR value in its register dump code. Rather than extend the pt_regs struct at this time, we steal the orig_gpr3 field, which is only used for system calls, and use it for the CFAR value for all exceptions/interrupts other than system calls. This means we don't save the CFAR on system calls, which is not a great problem since system calls tend not to happen unexpectedly, and also avoids adding the overhead of reading the CFAR to the system call entry path. Signed-off-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 1977b502120d44b9b4897703adfb2e2fab346880 Author: Paul Mackerras Date: Sun May 1 19:46:44 2011 +0000 powerpc: Save register r9-r13 values accurately on interrupt with bad stack When we take an interrupt or exception from kernel mode and the stack pointer is obviously not a kernel address (i.e. the top bit is 0), we switch to an emergency stack, save register values and panic. However, on 64-bit server machines, we don't actually save the values of r9 - r13 at the time of the interrupt, but rather values corrupted by the exception entry code for r12-r13, and nothing at all for r9-r11. This fixes it by passing a pointer to the register save area in the paca through to the bad_stack code in r3. The register values are saved in one of the paca register save areas (depending on which exception this is). Using the pointer in r3, the bad_stack code now retrieves the saved values of r9 - r13 and stores them in the exception frame on the emergency stack. This also stores the normal exception frame marker ("regshere") in the exception frame. Signed-off-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 851d2e2fe8dbcbe3afcad6fc4569c881d8ad4ce9 Author: Tseng-Hui (Frank) Lin Date: Mon May 2 20:43:04 2011 +0000 powerpc: Add Initiate Coprocessor Store Word (icswx) support Icswx is a PowerPC instruction to send data to a co-processor. On Book-S processors the LPAR_ID and process ID (PID) of the owning process are registered in the window context of the co-processor at initialization time. When the icswx instruction is executed the L2 generates a cop-reg transaction on PowerBus. The transaction has no address and the processor does not perform an MMU access to authenticate the transaction. The co-processor compares the LPAR_ID and the PID included in the transaction and the LPAR_ID and PID held in the window context to determine if the process is authorized to generate the transaction. The OS needs to assign a 16-bit PID for the process. This cop-PID needs to be updated during context switch. The cop-PID needs to be destroyed when the context is destroyed. Signed-off-by: Sonny Rao Signed-off-by: Tseng-Hui (Frank) Lin Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit a32e252f7cdfb3675a4e50215cfac356ed8952c4 Author: Michael Neuling Date: Wed Apr 6 18:23:29 2011 +0000 powerpc: Use new CPU feature bit to select 2.06 tlbie This removes MMU_FTR_TLBIE_206 as we can now use CPU_FTR_HVMODE_206. It also changes the logic to select which tlbie to use to be based on this new CPU feature bit. This also duplicates the ASM_FTR_IF/SET/CLR defines for CPU features (copied from MMU features). Signed-off-by: Michael Neuling Signed-off-by: Benjamin Herrenschmidt commit de2954d66408da3ae34effda777bb564fd17781b Author: Kim Phillips Date: Mon May 2 18:29:17 2011 -0500 crypto: caam - fix printk recursion for long error texts during recent descriptor development, an Invalid Sequence Command error triggered a: BUG: recent printk recursion! due to insufficient memory allocated for the error text. The Invalid Sequence Command error text is the longest. The length of the maximum error string is computed as the sum of: "DECO: ": 6 "jump tgt desc idx 255: ": 23 Invalid Sequence Command text: 272 zero termination character: 1 i.e, 302 characters. Define this maximum error string length in error.h and fix caam_jr_strstatus callsites. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 701af31ce0cc6a1114001d792c21108c7f49ac86 Author: Kim Phillips Date: Mon May 2 18:27:41 2011 -0500 crypto: caam - remove unused keylen from session context Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 3023b5b6f1d9e3f12827d0437f6bf096dddac944 Author: Dmitry Eremin-Solenikov Date: Wed Apr 27 23:21:16 2011 +0400 hwrng: amd - enable AMD hw rnd driver for Maple PPC boards PPC 970FX Evaluation kit (Maple) boards bear AMD8111 southbridge. Allow this driver to be compiled in if PPC_MAPLE is selected. Signed-off-by: Dmitry Eremin-Solenikov Acked-by: Matt Mackall Signed-off-by: Herbert Xu commit bd68ccb390f0d91e26e6f3252ba457ee4e06974a Author: Dmitry Eremin-Solenikov Date: Wed Apr 27 23:21:15 2011 +0400 hwrng: amd - manage resource allocation As amd driver doesn't bind to PCI device, we'd better manage reource allocation on our own to disallow (possible) conflicts. Signed-off-by: Dmitry Eremin-Solenikov Acked-by: Matt Mackall Signed-off-by: Herbert Xu commit 0200f3ecc19660bebeabbcbaf212957fcf1dbf8f Author: Gerald Schaefer Date: Wed May 4 15:09:44 2011 +1000 crypto: s390 - add System z hardware support for CTR mode This patch adds System z hardware acceleration support for AES, DES and 3DES in CTR mode. The hardware support is available starting with System z196. Signed-off-by: Gerald Schaefer Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit 9996e3421cae20a17c99881b2ac0f7562f760e04 Author: Jan Glauber Date: Tue Apr 26 16:34:01 2011 +1000 crypto: tcrypt - CTR mode speed test for AES Add the CTR mode speed test for AES. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit d393d9b8ca7f3296b50cb6fd0dc550ed6f72cdbc Author: Jan Glauber Date: Tue Apr 19 21:29:19 2011 +0200 crypto: s390 - cleanup s390 Kconfig options Cleanup the remaining s390 crypto options by mentioning the earliest machine type that supports an accelerated algorithm. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit df1309ce955a490eac6697a41159b43e24d35995 Author: Gerald Schaefer Date: Tue Apr 19 21:29:18 2011 +0200 crypto: s390 - add System z hardware support for GHASH This patch adds System z hardware acceleration support for the GHASH algorithm for GCM (Galois/Counter Mode). The hardware support is available beginning with System z196. Signed-off-by: Jan Glauber Signed-off-by: Gerald Schaefer Signed-off-by: Herbert Xu commit 99d97222150a24e6096805530e141af94183b9a1 Author: Gerald Schaefer Date: Tue Apr 26 16:12:42 2011 +1000 crypto: s390 - add System z hardware support for XTS mode This patch adds System z hardware acceleration support for the AES XTS mode. The hardware support is available beginning with System z196. Signed-off-by: Jan Glauber Signed-off-by: Gerald Schaefer Signed-off-by: Herbert Xu commit 98971f8439b1bb9a61682fe24a865ddd25167a6b Author: Jan Glauber Date: Tue Apr 19 21:29:15 2011 +0200 crypto: s390 - cleanup DES code Remove a stale file left over from 1efbd15c3bc2b79d33e033e898211109c32159fa and and cleanup the DES code a bit to make it easier to add new code. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit 1822bc9093e05059e4144d6041b0f5450ad275e1 Author: Jan Glauber Date: Tue Apr 19 21:29:14 2011 +0200 crypto: s390 - extend crypto facility check The specification which crypto facility is required for an algorithm is added as a parameter to the availability check which is done before an algorithm is registered. With this change it is easier to add new algorithms that require different facilities. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit ba0e14acc417eceb895efda1ff46366f4d1728f8 Author: Puneet Saxena Date: Wed May 4 15:04:10 2011 +1000 crypto: testmgr - add support for aes ofb mode the fix add testcase for testing aes ofb mode. Signed-off-by: Puneet Saxena Signed-off-by: Herbert Xu commit 476eb4912601a8c01e6702b9a029f476b4b131d2 Author: Grant Likely Date: Wed May 4 15:02:15 2011 +1000 powerpc/irq: Stop exporting irq_map First step in eliminating irq_map[] table entirely Signed-off-by: Benjamin Herrenschmidt commit 18a353f42817f08e3501162ceda9d2efddb08a40 Author: David S. Miller Date: Tue May 3 20:55:05 2011 -0700 sctp: Use flowi4's {saddr,daddr} in sctp_v4_dst_saddr() and sctp_v4_get_dst() Instead of rt->rt_{src,dst} Signed-off-by: David S. Miller commit 492f64ce12e259abd85714d05b885e105bd8aeef Author: David S. Miller Date: Tue May 3 20:53:12 2011 -0700 ipv4: Use flowi4's {saddr,daddr} in igmpv3_newpack() and igmp_send_report() Instead of rt->rt_{src,dst} Signed-off-by: David S. Miller commit f4bfd99f8519e2d35541cc4fc383b1b3141a657a Author: David S. Miller Date: Tue May 3 20:43:40 2011 -0700 libcxgbi: Use flowi4's saddr in cxgbi_check_route(). Instead of rt->rt_src Signed-off-by: David S. Miller commit 28c90da02ed7367fc5714adefce2a961e5bae306 Author: David S. Miller Date: Tue May 3 20:41:42 2011 -0700 pptp: Use flowi4's daddr/saddr in pptp_xmit(). Instead of rt->rt_{src,dst} Signed-off-by: David S. Miller commit 31e4543db29fb85496a122b965d6482c8d1a2bfe Author: David S. Miller Date: Tue May 3 20:25:42 2011 -0700 ipv4: Make caller provide on-stack flow key to ip_route_output_ports(). Signed-off-by: David S. Miller commit f1390160ddcd64a3cfd48b3280d0a616a31b9520 Author: David S. Miller Date: Tue May 3 20:06:41 2011 -0700 dccp: Use flowi4->saddr in dccp_v4_connect() Signed-off-by: David S. Miller commit 475949d8e86bbde5ea3ffa4d95e022ca69233b14 Author: David S. Miller Date: Tue May 3 19:45:15 2011 -0700 ipv4: Renamt struct rtable's rt_tos to rt_key_tos. To more accurately reflect that it is purely a routing cache lookup key and is used in no other context. Signed-off-by: David S. Miller commit 417da66fa9d2f14b1a90b04095413b87907d8183 Author: David S. Miller Date: Tue May 3 19:42:43 2011 -0700 ipv4: Rework ipmr_rt_fib_lookup() flow key initialization. Use information from the skb as much as possible, currently this means daddr, saddr, and TOS. Signed-off-by: David S. Miller commit 57a503c61db077b923e23f36050c02166a4a1db2 Author: Viresh KUMAR Date: Mon May 2 18:36:45 2011 +0000 net/stmmac: Move "#include " to linux/stmmac.h stmmac.h uses struct platform_device and doesn't include . Whereas drivers/net/stmmac/stmmac.h includes it, but doesn't directly use it. And so we get following compilation warning while using this file: warning: ‘struct platform_device’ declared inside parameter list This patch includes in linux/stmmac.h and removes it from drivers/net/stmmac/stmmac.h Signed-off-by: Viresh Kumar Acked-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 48dbb6dc86ca5d1b2224937d774c7ba98bc3a485 Author: Borislav Petkov Date: Tue May 3 15:26:43 2011 +0200 hw breakpoints: Move to kernel/events/ As part of the events sybsystem unification, relocate hw_breakpoint.c into its new destination. Cc: Frederic Weisbecker Signed-off-by: Borislav Petkov commit fae85b7c8bcc7de9c0a2698587e20c15beb7d5a6 Author: Borislav Petkov Date: Tue Oct 26 20:24:03 2010 +0200 perf: Start the restructuring mv kernel/perf_event.c -> kernel/events/core.c. From there, all further sensible splitting can happen. The idea is that due to perf_event.c becoming pretty sizable and with the advent of the marriage with ftrace, splitting functionality into its logical parts should help speeding up the unification and to manage the complexity of the subsystem. Signed-off-by: Borislav Petkov commit 8f065d36508f283ee6cbeb05829f032d0b782a16 Author: Steven Whitehouse Date: Tue May 3 11:49:19 2011 +0100 GFS2: Improve bug trap code in ->releasepage() If the buffer is dirty or pinned, then as well as printing a warning, we should also refuse to release the page in question. Currently this can occur if there is a race between mmap()ed writers and O_DIRECT on the same file. With the addition of ->launder_page() in the future, we should be able to close this gap. Signed-off-by: Steven Whitehouse commit 4f1de018215fb56940ce5793e11becd1e8cd6e44 Author: Steven Whitehouse Date: Tue Apr 26 10:23:56 2011 +0100 GFS2: Fix ail list traversal In the recent patches to update the AIL list code, I managed to forget that the ail list lock got dropped, even though I added a comment specifically to remind myself :( Reported-by: Barry Marson Signed-off-by: Steven Whitehouse commit 6905d9e4dda6112f007e9090bca80507da158e63 Author: Benjamin Marzinski Date: Tue Apr 26 01:13:24 2011 -0500 GFS2: make sure fallocate bytes is a multiple of blksize The GFS2 fallocate code chooses a target size to for allocating chunks of space. Whenever it can't find any resource groups with enough space free, it halves its target. Since this target is in bytes, eventually it will no longer be a multiple of blksize. As long as there is more space available in the resource group than the target, this isn't a problem, since gfs2 will use the actual space available, which is always a multiple of blksize. However, when gfs couldn't fallocate a bigger chunk than the target, it was using the non-blksize aligned number. This caused a BUG in later code that required blksize aligned offsets. GFS2 now ensures that bytes is always a multiple of blksize Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit ec8e8dfe5f862a01bf1b5cdac441c083ce0a2a22 Author: Kim Phillips Date: Mon Apr 11 19:15:28 2011 -0500 crypto: caam - remove duplicate dev_err keep the hex error value reporting version (a) to be consistent with decrypt_done(), and (b) to keep our hardware guys happy. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit d37d36e31cb8b4bd7c4e052e29674bf897ea466c Author: Kim Phillips Date: Mon Apr 11 19:15:24 2011 -0500 crypto: caam - remove WAIT-FOR-COMPLETIONs from givencrypt descriptor remains from descriptor debugging - not required for normal operation. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit f3af98681f16063d110075eba79a8621ae9a376a Author: Kim Phillips Date: Mon Apr 11 19:15:21 2011 -0500 crypto: caam - fix queue interface detection The presence of a h/w Queue Interface would fail due to this cut-n-paste snafu. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 9620fd959fb169358f2ba349c9fd1bcd96944c28 Author: Kim Phillips Date: Mon Apr 11 19:15:16 2011 -0500 crypto: caam - handle interrupt lines shared across rings - add IRQF_SHARED to request_irq flags to support parts such as the p1023 that has one IRQ line per couple of rings. - resetting a job ring triggers an interrupt, so move request_irq prior to jr_reset to avoid 'got IRQ but nobody cared' messages. - disable IRQs in h/w to avoid contention between reset and interrupt status - delete invalid comment - if there were incomplete jobs, module would be in use, preventing an unload. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit e67f88dd12f610da98ca838822f2c9b4e7c6100e Author: Eric Dumazet Date: Wed Apr 27 22:56:07 2011 +0000 net: dont hold rtnl mutex during netlink dump callbacks Four years ago, Patrick made a change to hold rtnl mutex during netlink dump callbacks. I believe it was a wrong move. This slows down concurrent dumps, making good old /proc/net/ files faster than rtnetlink in some situations. This occurred to me because one "ip link show dev ..." was _very_ slow on a workload adding/removing network devices in background. All dump callbacks are able to use RCU locking now, so this patch does roughly a revert of commits : 1c2d670f366 : [RTNETLINK]: Hold rtnl_mutex during netlink dump callbacks 6313c1e0992 : [RTNETLINK]: Remove unnecessary locking in dump callbacks This let writers fight for rtnl mutex and readers going full speed. It also takes care of phonet : phonet_route_get() is now called from rcu read section. I renamed it to phonet_route_get_rcu() Signed-off-by: Eric Dumazet Cc: Patrick McHardy Cc: Remi Denis-Courmont Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit dcfd9cdc1222f14d6180514e533289493a0716fb Merge: 5615787 32ae9b2 Author: David S. Miller Date: Mon May 2 15:04:46 2011 -0700 Merge branch 'batman-adv/next' of git://git.open-mesh.org/ecsv/linux-merge commit 5615787257742aab42ecf17c11e3244d9536a48d Author: David S. Miller Date: Mon May 2 14:37:45 2011 -0700 ipv4: Make sure flowi4->{saddr,daddr} are always set. Slow path output route resolution always makes sure that ->{saddr,daddr} are set, and also if we trigger into IPSEC resolution we initialize them as well, because xfrm_lookup() expects them to be fully resolved. But if we hit the fast path and flowi4->flowi4_proto is zero, we won't do this initialization. Therefore, move the IPSEC path initialization to the route cache lookup fast path to make sure these are always set. Signed-off-by: David S. Miller commit 942c3c5c329274fa6de5998cb911cf3d0a42d0b1 Author: Mike Frysinger Date: Mon May 2 15:24:27 2011 -0400 hrtimer: Make lookup table const Signed-off-by: Mike Frysinger Link: http://lkml.kernel.org/r/%3C1304364267-14489-1-git-send-email-vapier%40gentoo.org%3E Signed-off-by: Thomas Gleixner commit 3687a2c0d81b23d30db4384ca804a701fc686e16 Merge: b4d246b c7bcecb Author: Thomas Gleixner Date: Mon May 2 21:37:03 2011 +0200 Merge branch 'linus' into timers/core Reason: Pick up the hrtimer_clock_to_base_table fix from mainline Signed-off-by: Thomas Gleixner commit b4d246b12410b53506c311e5e0b6abb71ead65c6 Author: John Stultz Date: Fri Apr 29 15:03:11 2011 -0700 RTC: Disable CONFIG_RTC_CLASS from being built as a module The RTC subsystem has a number of accessors that are available via include/linux/rtc.h. However many of these interfaces are not available for use if CONFIG_RTC_CLASS=m. So in order to support wider use of the RTC in the kernel, I'm removing the tristate config option for a bool, so that code can easily be conditionalized if the RTC class is present or not. Signed-off-by: John Stultz Cc: Ingo Molnar Signed-off-by: Thomas Gleixner commit 472647dcd7e351dbeda750e5ab3e8f7b06d1199a Author: John Stultz Date: Fri Apr 29 15:03:10 2011 -0700 timers: Fix alarmtimer build issues when CONFIG_RTC_CLASS=n Ingo pointed out that the alarmtimers won't build if CONFIG_RTC_CLASS=n. This patch adds proper ifdefs to the alarmtimer code to disable the rtc usage if it is not built in. Reported-by: Ingo Molnar Signed-off-by: John Stultz Signed-off-by: Thomas Gleixner commit 1a5b306f5d7398c7ffb0f69fe9a2d0023f28deb9 Author: Bing Zhao Date: Mon May 2 11:00:45 2011 -0700 mwifiex: fix missing tsf_val TLV In mwifiex_cmd_append_tsf_tlv(), two tsf_val TLVs should be filled in the buffer and then sent to firmware. The missing first TLV for tsf_val is added back in this patch. Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 982d96bbb7f084644ee10214812ab167e52c2c5d Author: Larry Finger Date: Sun May 1 22:30:54 2011 -0500 rtlwifi: Fix typo in pci.c Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 1c0bcf89d85cc97a0d9ce4cd909351a81fa4fdde Author: Ivo van Doorn Date: Sat Apr 30 17:18:18 2011 +0200 rt2x00: Add autowake support for USB hardware The USB drivers don't support automatically waking up when in powersaving mode, add a work object which will wakeup the device in time to receive the next beacon. Based on that beacon, we either go back into powersaving mode, or we remain awake to receive the buffered frames for our station. Some part of the code, especially rt2x00lib_find_ie and rt2x00lib_rxdone_check_ps are inspired on the code from carl9170. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fdbc7b0a262e24a3ee00f1f9acb5a97309a173d5 Author: Gertjan van Wingerde Date: Sat Apr 30 17:15:37 2011 +0200 rt2x00: Introduce capability flag for Bluetooth co-existence. Use flag instead of re-reading the eeprom every time. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9328fdac499b969ec57a195845f168e7c5168ccd Author: Gertjan van Wingerde Date: Sat Apr 30 17:15:13 2011 +0200 rt2x00: Streamline rt2800 eeprom initialisations. In rt2800lib.c the rt2800_init_eeprom function the same eeprom words were read multiple times, due to inefficient ordering of the eeprom checks. Reorder the checks so that each EEPROM word only has to be read once. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d4c838ef5e5c2c7e205adf9e011d2e8bd6eae738 Author: Ivo van Doorn Date: Sat Apr 30 17:14:49 2011 +0200 rt2x00: Fix optimize register access for rt2800pci The patch rt2x00: Optimize register access in rt2800pci from Helmut Schaa missed one register call, namely the rt2800_register_multiwrite which should be changed to rt2x00pci_register_multiwrite. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit a073fdef46d50440ee573452a436023dcf4f9edf Author: Ivo van Doorn Date: Sat Apr 30 17:14:23 2011 +0200 rt2x00: Optimize TX_STA_FIFO register reading Add recycling functionality to rt2x00usb_register_read_async. When the callback function returns true, resubmit the urb to read the register again. This optimizes the rt2800usb driver when multiple TX status reports are pending in the register, because now we don't need to allocate the rt2x00_async_read_data and urb structure each time. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 16763478892c271293d02872475a67a648ae12fc Author: Ivo van Doorn Date: Sat Apr 30 17:13:46 2011 +0200 rt2x00: Reduce tx status reading timeout When no TX status was available, the default timeout of 20ms is a bit high. The frame is highly likely already send out, so the TX status should be available within only a few milliseconds. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 816c04fe7ef01dd9649f5ccfe796474db8708be5 Author: Christian Lamparter Date: Sat Apr 30 15:24:30 2011 +0200 mac80211: consolidate MIC failure report handling Currently, mac80211 handles MIC failures differently depending on whenever they are detected by the stack's own software crypto or when are handed down from the driver. This patch tries to unify both by moving the special branch out of mac80211 rx hotpath and into into the software crypto part. This has the advantage that we can run a few more sanity checks on the data and verify if the key type was TKIP. This is very handy because several devices generate false postive MIC failure reports. Like carl9170, ath9k and wl12xx: "mac80211: report MIC failure for truncated packets in AP mode" Cc: Luciano Coelho Cc: Arik Nemtsov Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 0ca699552c441e2c4201a6f60eac98b8865c1743 Author: Rafał Miłecki Date: Wed Apr 27 17:40:11 2011 +0200 ssb: cc: prepare clockmode support for cores rev 10+ Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit c42321c76b0ef472e3bae4bfcb0f46ab19e038ef Author: Thomas Gleixner Date: Mon May 2 18:16:22 2011 +0200 genirq: Make generic irq chip depend on CONFIG_GENERIC_IRQ_CHIP Only compile it in when there are users. Signed-off-by: Thomas Gleixner Cc: linux-arm-kernel@lists.infradead.org commit e5a10c1bd12a5d71bbb6406c1b0dbbc9d8958397 Author: Yinghai Lu Date: Mon May 2 17:24:49 2011 +0200 x86, NUMA: Trim numa meminfo with max_pfn in a separate loop During testing 32bit numa unifying code from tj, found one system with more than 64g fails to use numa. It turns out we do not trim numa meminfo correctly against max_pfn in case start address of a node is higher than 64GiB. Bug fix made it to tip tree. This patch moves the checking and trimming to a separate loop. So we don't need to compare low/high in following merge loops. It makes the code more readable. Also it makes the node merge printouts less strange. On a 512GiB numa system with 32bit, before: > NUMA: Node 0 [0,a0000) + [100000,80000000) -> [0,80000000) > NUMA: Node 0 [0,80000000) + [100000000,1080000000) -> [0,1000000000) after: > NUMA: Node 0 [0,a0000) + [100000,80000000) -> [0,80000000) > NUMA: Node 0 [0,80000000) + [100000000,1000000000) -> [0,1000000000) Signed-off-by: Yinghai Lu [Updated patch description and comment slightly.] Signed-off-by: Tejun Heo commit a56bca80db8903bb557b9ac38da68dc5b98ea672 Author: Yinghai Lu Date: Mon May 2 17:24:49 2011 +0200 x86, NUMA: Rename setup_node_bootmem() to setup_node_data() After using memblock to replace bootmem, that function only sets up node_data now. Change the name to reflect what it actually does. tj: Minor adjustment to the patch description. Signed-off-by: Yinghai Lu Signed-off-by: Tejun Heo commit 1b7e03ef7570568d2fb9e6640d7006a0edd728f6 Author: Tejun Heo Date: Mon May 2 17:24:48 2011 +0200 x86, NUMA: Enable emulation on 32bit too Now that NUMA init path is unified, NUMA emulation can be enabled on 32bit. Make numa_emluation.c safe on 32bit by doing the followings. * Define MAX_DMA32_PFN on 32bit too. * Include bootmem.h for max_pfn declaration. * Use u64 explicitly and always use PFN_PHYS() when converting page number to address. * Avoid __udivdi3() generation on 32bit by doing number of pages calculation instead in split_nodes_interleave(). And drop X86_64 dependency from Kconfig. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit 2706a0bf7b02693ed88752df877f10c2206292ff Author: Tejun Heo Date: Mon May 2 17:24:48 2011 +0200 x86, NUMA: Enable CONFIG_AMD_NUMA on 32bit too Now that NUMA init path is unified, amdtopology can be enabled on 32bit. Make amdtopology.c safe on 32bit by explicitly using u64 and drop X86_64 dependency from Kconfig. Inclusion of bootmem.h is added for max_pfn declaration. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit c6f58878204b0414e00b43f9bcebf754284f95b4 Author: Tejun Heo Date: Mon May 2 17:24:48 2011 +0200 x86, NUMA: Rename amdtopology_64.c to amdtopology.c amdtopology is going to be used by 32bit too drop _64 suffix. This is pure rename. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit 752d4f372f90a2f6eb562aaffb639957890cbcab Author: Tejun Heo Date: Mon May 2 17:24:48 2011 +0200 x86, NUMA: Make numa_init_array() static numa_init_array() no longer has users outside of numa.c. Make it static. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit bd6709a91a593d8fe35d08da542e9f93bb74a304 Author: Tejun Heo Date: Mon May 2 17:24:48 2011 +0200 x86, NUMA: Make 32bit use common NUMA init path With both _numa_init() methods converted and the rest of init code adjusted, numa_32.c now can switch from the 32bit only init code to the common one in numa.c. * Shim get_memcfg_*()'s are dropped and initmem_init() calls x86_numa_init(), which is updated to handle NUMAQ. * All boilerplate operations including node range limiting, pgdat alloc/init are handled by numa_init(). 32bit only implementation is removed. * 32bit numa_add_memblk(), numa_set_distance() and memory_add_physaddr_to_nid() removed and common versions in numa_32.c enabled for 32bit. This change causes the following behavior changes. * NODE_DATA()->node_start_pfn/node_spanned_pages properly initialized for 32bit too. * Much more sanity checks and configuration cleanups. * Proper handling of node distances. * The same NUMA init messages as 64bit. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit 7888e96b264fad27f97f58c0f3a4d20326eaf181 Author: Tejun Heo Date: Mon May 2 14:18:54 2011 +0200 x86, NUMA: Initialize and use remap allocator from setup_node_bootmem() setup_node_bootmem() is taken from 64bit and doesn't use remap allocator. It's about to be shared with 32bit so add support for it. If NODE_DATA is remapped, it's noted in the debug message and node locality check is skipped as the __pa() of the remapped address doesn't reflect the actual physical address. On 64bit, remap allocator becomes noop and doesn't affect the behavior. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit 99cca492ea8ced305bfd687521ed69fb9e0147aa Author: Tejun Heo Date: Mon May 2 14:18:54 2011 +0200 x86-32, NUMA: Add @start and @end to init_alloc_remap() Instead of dereferencing node_start/end_pfn[] directly, make init_alloc_remap() take @start and @end and let the caller be responsible for making sure the range is sane. This is to prepare for use from unified NUMA init code. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit 38f3e1ca24cc3ec416855e02676f91c898a8a262 Author: Tejun Heo Date: Mon May 2 14:18:53 2011 +0200 x86, NUMA: Remove long 64bit assumption from numa.c Code moved from numa_64.c has assumption that long is 64bit in several places. This patch removes the assumption by using {s|u}64_t explicity, using PFN_PHYS() for page number -> addr conversions and adjusting printf formats. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit 744baba0c4072b04664952a89292e4708eaf949a Author: Tejun Heo Date: Mon May 2 14:18:53 2011 +0200 x86, NUMA: Enable build of generic NUMA init code on 32bit Generic NUMA init code was moved to numa.c from numa_64.c but is still guaraded by CONFIG_X86_64. This patch removes the compile guard and enables compiling on 32bit. * numa_add_memblk() and numa_set_distance() clash with the shim implementation in numa_32.c and are left out. * memory_add_physaddr_to_nid() clashes with 32bit implementation and is left out. * MAX_DMA_PFN definition in dma.h moved out of !CONFIG_X86_32. * node_data definition in numa_32.c removed in favor of the one in numa.c. There are places where ulong is assumed to be 64bit. The next patch will fix them up. Note that although the code is compiled it isn't used yet and this patch doesn't cause any functional change. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit a4106eae650a4d5d30fcdd36d998edfa5ccb0ec4 Author: Tejun Heo Date: Mon May 2 14:18:53 2011 +0200 x86, NUMA: Move NUMA init logic from numa_64.c to numa.c Move the generic 64bit NUMA init machinery from numa_64.c to numa.c. * node_data[], numa_mem_info and numa_distance * numa_add_memblk[_to](), numa_remove_memblk[_from]() * numa_set_distance() and friends * numa_init() and all the numa_meminfo handling helpers called from it * dummy_numa_init() * memory_add_physaddr_to_nid() A new function x86_numa_init() is added and the content of numa_64.c::initmem_init() is moved into it. initmem_init() now simply calls x86_numa_init(). Constants and numa_off declaration are moved from numa_{32|64}.h to numa.h. This is code reorganization and doesn't involve any functional change. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit 299a180aec6a8ee3069cf0fe90d722ac20c1f837 Author: Tejun Heo Date: Mon May 2 14:18:53 2011 +0200 x86-32, NUMA: Update numaq to use new NUMA init protocol Update numaq such that it calls numa_add_memblk() and sets numa_nodes_parsed instead of directly diddling with NUMA states. The original get_memcfg_numaq() is renamed to numaq_numa_init() and new get_memcfg_numaq() is created in numa_32.c. The shim numa_add_memblk() implementation handles node_start/end_pfn[] and node_set_online() for nodes with memory. The new get_memcfg_numaq() exactly the same with get_memcfg_from_srat() other than calling the numaq init function. Things get_memcfgs_numaq() do are not strictly necessary for numaq but added for consistency and to help unifying NUMA init handling. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit 5acd91ab837c9d066af7345aea6462dc55695db7 Author: Tejun Heo Date: Mon May 2 14:18:53 2011 +0200 x86-32, NUMA: Replace srat_32.c with srat.c SRAT support implementation in srat_32.c and srat.c are generally similar; however, there are some differences. First of all, 64bit implementation supports more types of SRAT entries. 64bit supports x2apic, affinity, memory and SLIT. 32bit only supports processor and memory. Most other differences stem from different initialization protocols employed by 64bit and 32bit NUMA init paths. On 64bit, * Mappings among PXM, node and apicid are directly done in each SRAT entry callback. * Memory affinity information is passed to numa_add_memblk() which takes care of all interfacing with NUMA init. * Doesn't directly initialize NUMA configurations. All the information is recorded in numa_nodes_parsed and memblks. On 32bit, * Checks numa_off. * Things go through one more level of indirection via private tables but eventually end up initializing the same mappings. * node_start/end_pfn[] are initialized and memblock_x86_register_active_regions() is called for each memory chunk. * node_set_online() is called for each online node. * sort_node_map() is called. There are also other minor differences in sanity checking and messages but taking 64bit version should be good enough. This patch drops the 32bit specific implementation and makes the 64bit implementation common for both 32 and 64bit. The init protocol differences are dealt with in two places - the numa_add_memblk() shim added in the previous patch and new temporary numa_32.c:get_memcfg_from_srat() which wraps invocation of x86_acpi_numa_init(). The shim numa_add_memblk() handles the folowings. * node_start/end_pfn[] initialization. * node_set_online() for memory nodes. * Invocation of memblock_x86_register_active_regions(). The shim get_memcfg_from_srat() handles the followings. * numa_off check. * node_set_online() for CPU nodes. * sort_node_map() invocation. * Clearing of numa_nodes_parsed and active_ranges on failure. The shims are temporary and will be removed as the generic NUMA init path in 32bit is replaced with 64bit one. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit b0d310801a4c1f95b44357e4ebc22a9903e3bf3d Author: Tejun Heo Date: Mon May 2 14:18:53 2011 +0200 x86-32, NUMA: implement temporary NUMA init shims To help transition to common NUMA init, implement temporary 32bit shims for numa_add_memblk() and numa_set_distance(). numa_add_memblk() registers the memblk and adjusts node_start/end_pfn[]. numa_set_distance() is noop. These shims will allow using 64bit NUMA init functions on 32bit and gradual transition to common NUMA init path. For detailed description, please read description of commits which make use of the shim functions. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit e6df595b37c7c033ef7400b4fdd382a2dc4f4131 Author: Tejun Heo Date: Mon May 2 14:18:53 2011 +0200 x86, NUMA: Move numa_nodes_parsed to numa.[hc] Move numa_nodes_parsed from numa_64.[hc] to numa.[hc] to prepare for NUMA init path unification. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit daf4f480ae24270bac06db4293908d36b4834e21 Author: Tejun Heo Date: Mon May 2 14:18:53 2011 +0200 x86-32, NUMA: Move get_memcfg_numa() into numa_32.c There's no reason get_memcfg_numa() to be implemented inline in mmzone_32.h. Move it to numa_32.c and also make get_memcfg_numa_flag() static. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit eca9ad313293c41021bfcf23e985a14f6991a121 Author: Tejun Heo Date: Mon May 2 14:18:52 2011 +0200 x86, NUMA: make srat.c 32bit safe Make srat.c 32bit safe by removing the assumption that unsigned long is 64bit. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit 7b2600f8ee0536bb738f3387cf2c30e8e334e149 Author: Tejun Heo Date: Mon May 2 14:18:52 2011 +0200 x86, NUMA: rename srat_64.c to srat.c Rename srat_64.c to srat.c. This is to prepare for unification of NUMA init paths between 32 and 64bit. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit 1201e10a092adc9c88a6ce5f27740cc5cd0d26e5 Author: Tejun Heo Date: Mon May 2 14:18:52 2011 +0200 x86, NUMA: trivial cleanups * Kill no longer used struct bootnode. * Kill dangling declaration of pxm_to_nid() in numa_32.h. * Make setup_node_bootmem() static. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit 797390d8554b1e07aabea37d0140933b0412dba0 Author: Tejun Heo Date: Mon May 2 14:18:52 2011 +0200 x86-32, NUMA: use sparse_memory_present_with_active_regions() Instead of calling memory_present() for each region from NUMA init, call sparse_memory_present_with_active_regions() from paging_init() similarly to x86-64. For flat and numaq, this results in exactly the same memory_present() calls. For srat, if there are multiple memory chunks for a node, after this change, memory_present() will be called separately for each chunk instead of being called once to encompass the whole range, which doesn't cause any harm and actually is the better behavior. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit 84914ed0ec6787d38e84b510f92ad4ca3a572fd8 Author: Tejun Heo Date: Mon May 2 14:18:52 2011 +0200 x86-32, NUMA: Make apic->x86_32_numa_cpu_node() optional NUMAQ is the only meaningful user of this callback and setup_local_APIC() the only callsite. Stop torturing everyone else by making the callback optional and removing all the boilerplate implementations and assignments. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit 6bd262731bf7559bab8c749786e8652e2df1fb4e Author: Tejun Heo Date: Mon May 2 14:18:52 2011 +0200 x86, NUMA: Unify 32/64bit numa_cpu_node() implementation Currently, the only meaningful user of apic->x86_32_numa_cpu_node() is NUMAQ which returns valid mapping only after CPU is initialized during SMP bringup; thus, the previous patch to set apicid -> node in setup_local_APIC() makes __apicid_to_node[] always contain the correct mapping whether custom apic->x86_32_numa_cpu_node() is used or not. So, there is no reason to keep separate 32bit implementation. We can always consult __apicid_to_node[]. Move 64bit implementation from numa_64.c to numa.c and remove 32bit implementation from numa_32.c. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit c4b90c11992e61123071977c0e5556e59a70852c Author: Tejun Heo Date: Mon May 2 14:18:52 2011 +0200 x86-32, NUMA: Automatically set apicid -> node in setup_local_APIC() Some x86-32 NUMA implementations (NUMAQ) don't initialize apicid -> node mapping using set_apicid_to_node() during NUMA init but implement custom apic->x86_32_numa_cpu_node() instead. This patch automatically initializes the default apic -> node mapping table from apic->x86_32_numa_cpu_node() from setup_local_APIC() such that the mapping table is in sync with the actual mapping. As the table isn't used by custom implementations, this doesn't make any difference at this point. This is in preparation of unifying numa_cpu_node() between x86-32 and 64. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit acd26d611e60c1a7c2a14269ab99760f779121f4 Author: Tejun Heo Date: Mon May 2 14:18:51 2011 +0200 x86-64, NUMA: simplify nodedata allocation With top-down memblock allocation, the allocation range limits in ealry_node_mem() can be simplified - try node-local first, then any node but in any case don't allocate below DMA limit. Remove early_node_mem() and implement simplified allocation directly in setup_node_bootmem(). Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit ebe685f24eeb85fbdb0f33792f1dabdbf35eff38 Author: Tejun Heo Date: Mon May 2 14:18:51 2011 +0200 x86-64, NUMA: trivial cleanups for setup_node_bootmem() Make the following trivial changes in preparation for further updates. * nodeid -> nid, nid -> tnid * use nd_ prefix for nodedata related variables * remove start/end_pfn and use start/end directly Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit 9688678a6670c7f0ae3872450a8047c0ad401efb Author: Tejun Heo Date: Mon May 2 14:18:51 2011 +0200 x86-64, NUMA: Simplify hotadd memory handling The only special handling NUMA needs to do for hotadd memory is determining the node for the hotadd memory given the address of it and there's nothing specific to specific config method used. srat_64.c does somewhat elaborate error checking on ACPI_SRAT_MEM_HOT_PLUGGABLE regions, remembers them and implements memory_add_physaddr_to_nid() which determines the node for given hotadd address. This is almost completely redundant. All the information is already available to the generic NUMA code which already performs all the sanity checking and merging. All that's necessary is not using __initdata from numa_meminfo and providing a function which uses it to map address to node. Drop the specific implementation from srat_64.c and add generic memory_add_physaddr_to_nid() in numa_64.c, which is enabled if CONFIG_MEMORY_HOTPLUG is set. Other than dropping the code, srat_64.c doesn't need any change as it already calls numa_add_memblk() for hot pluggable regions which is enough. While at it, change CONFIG_MEMORY_HOTPLUG_SPARSE in srat_64.c to CONFIG_MEMORY_HOTPLUG, for NUMA on x86-64, the two are always the same. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Yinghai Lu Cc: David Rientjes Cc: Thomas Gleixner Cc: "H. Peter Anvin" commit ba67cf5cf2ce10ad86a212b70f8c7c75d93a5016 Merge: aff3648 2be1910 Author: Tejun Heo Date: Mon May 2 14:16:37 2011 +0200 Merge branch 'x86/urgent' into x86-mm Merge reason: Pick up the following two fix commits. 2be19102b7: x86, NUMA: Fix empty memblk detection in numa_cleanup_meminfo() 765af22da8: x86-32, NUMA: Fix ACPI NUMA init broken by recent x86-64 change Scheduled NUMA init 32/64bit unification changes depend on these. Signed-off-by: Tejun Heo commit aff364860aa105b2deacc6f21ec8ef524460e3fc Merge: c7a7b814 993ba15 Author: Tejun Heo Date: Mon May 2 14:08:43 2011 +0200 Merge branch 'x86/numa' into x86-mm Merge reason: Pick up x86-32 remap allocator cleanup changes - 14 commits, 3fe14ab541^..993ba1585c. 3fe14ab541: x86-32, numa: Fix failure condition check in alloc_remap() 993ba1585c: x86-32, numa: Update remap allocator comments Scheduled NUMA init 32/64bit unification changes depend on them. Signed-off-by: Tejun Heo commit 25eaea30cd7b009ba2ca693708330d2f395cbc4d Author: Luciano Coelho Date: Mon May 2 12:37:33 2011 +0300 Revert "wl12xx: support FW TX inactivity triggers" This reverts commit 47684808fd89d6809c0886e06f8ac324252499d8. Conflicts: drivers/net/wireless/wl12xx/conf.h drivers/net/wireless/wl12xx/main.c commit 2d66bee7fbd38d28e9ed12f45b8e9db8e6aa0c49 Author: Arik Nemtsov Date: Mon Apr 18 14:15:29 2011 +0300 wl12xx: export driver state to debugfs By reading the "driver_state" debugfs value we get all the important state information from the wl12xx driver. This helps testing and debugging, particularly in situations where the driver seems "stuck". Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 7dece1c8e1044287287d44ac183a946333b55fc3 Author: Arik Nemtsov Date: Mon Apr 18 14:15:28 2011 +0300 wl12xx: fix race condition during recovery in AP mode When operating as AP, the TX queues are not stopped when we start recovery. mac80211 is notified only after the fact. When there is pending TX, it will be queued even after the FW is down. This leads to situations where the TX queues are stopped (because of the TX-watermark mechanism), and are never woken up when we return from recovery. Fix this by explicitly stopping the TX queues when before initiating recovery. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 2dc5a5c2c656b9029a0e635bb3a1cbcfbcb4ca5c Author: Arik Nemtsov Date: Mon Apr 18 14:15:27 2011 +0300 wl12xx: add debugfs entry for starting recovery This entry is useful for debugging the driver state machine during recovery. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit c45a85b5a3c0ca841a7ffc700bdece8ee01486be Author: Arik Nemtsov Date: Mon Apr 18 14:15:26 2011 +0300 wl12xx: AP-mode - reconfigure templates after basic rates change When there's a change in the basic rates of the AP, reconfigure relevant templates with the new rates. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 70f474241b3d5fb633635a2ce39ea9da4afeea6c Author: Arik Nemtsov Date: Mon Apr 18 14:15:25 2011 +0300 wl12xx: AP-mode - overhaul rate policy configuration Use the minimal rate configured in the basic rates set as the AP broadcast and multicast rate. The minimal rate is used to ensure weak links can still communicate. When the basic rates contains at least one OFDM rate, configure all unicast TX rates to OFDM only. Unify rate configuration on initialization and on change notification into a single function. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 52dcaf577f3b6d878a337a44a99a122017c85ff6 Author: Arik Nemtsov Date: Mon Apr 18 14:15:24 2011 +0300 wl12xx: print firmware program counter during recovery When performing recovery, print the firmware version and program counter (by reading the SCR_PAD4 register). The value of the firmware program counter during assert can be useful for debugging. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit f482b76202f4ac0f62a77b0e55ac1a1cfe480e2b Author: Arik Nemtsov Date: Mon Apr 18 14:15:23 2011 +0300 wl12xx: schedule recovery on command timeout We use a long timeout (2 seconds) when sending commands to the FW. When a command times out, it means the FW is stuck, and we should commence recovery. This should make recovery times shorter as we'll recover on the first timeout indication. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 521a4a23261354885c01bf75b42150629004ed83 Author: Arik Nemtsov Date: Mon Apr 18 14:15:22 2011 +0300 wl12xx: AP-mode - disable beacon filtering on start up New AP-mode FWs filter external beacons by default. Disable this filtering on start up so we can properly configure ERP protection. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 5f704d180e448d05859e1cb6572822ba27dbcdc7 Author: Arik Nemtsov Date: Mon Apr 18 14:15:21 2011 +0300 wl12xx: use wiphy values for setting rts, frag thresholds on init Use the wiphy RTS and fragmentation thresholds for initializing the FW when possible. This mitigates a bug where previously set values are forgotten after interface down/up. Add checks before settings these values to ensure they are valid. Use default values when invalid thresholds are configured. Update the default RTS threshold to the maximum value given by the specification. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 801f870bc0524bad7ebef9cea52d20e4d4992e4a Author: Arik Nemtsov Date: Mon Apr 18 14:15:20 2011 +0300 wl12xx: add BT-coexistance for AP Initialize AP specific BT coexitance parameters to default values and enable them in AP mode. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit f7c7c7e69cbc3c5b660a32cc2cb31720b2b420c8 Author: Luciano Coelho Date: Fri Apr 29 22:25:28 2011 +0300 wl12xx: strict_stroul introduced converted to kstrtoul One new patch applied added a couple of new strict_strtoul calls. Converted those to kstroul(). Signed-off-by: Luciano Coelho commit 86c438f40cf3e0f6ce2da80f2d759e61d3e85ad7 Author: Hauke Mehrtens Date: Tue Apr 26 23:27:44 2011 +0200 wl12xx: do not set queue_mapping directly It is preferred to use the setter that to set queue_mapping directly. This also helps backporting in compat-wireless. Signed-off-by: Hauke Mehrtens Signed-off-by: Luciano Coelho commit 34c8e3d2bb901b2920d2a8930c0de82e7fefac76 Author: Arik Nemtsov Date: Tue Apr 26 23:35:40 2011 +0300 wl12xx: discard corrupted packets in RX When packets arrive with a RX descriptor indicating corruption, discard them. In general white-list the RX descriptor status to prevent rouge data from being sent up. Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 33437893025aa3c0195b933ac99ef7de924019f4 Author: Arik Nemtsov Date: Tue Apr 26 23:35:39 2011 +0300 wl12xx: implement the tx_frames_pending mac80211 callback Frames are considered pending when they reside in the driver TX queue or already queued in the FW. This notion of "pending" is appropriate for power save considerations in STA mode, but not necessarily in other modes (for instance P2P-GO). [Fixed a sparse warning about missing "static" in a function declaration -- Luca] Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 4cf557fcf01e352fb418e110dd013e4128493c5f Author: Ido Yariv Date: Mon Apr 18 16:45:10 2011 +0300 wl12xx: Enable dynamic memory for 127x The FW can dynamically manage its internal TX & RX memory pools, moving blocks from one pool to another when necessary. This can significantly improve performance. Currently this feature is enabled only for 128x. Enable dynamic memory for 127x as well. Other parameters in the memory configuration structure may need to be fine tuned, as the optimal values for these may change once dynamic memory is enabled. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit ef2e3004855e90d2919105e4a91d7df6ab9845a9 Author: Ido Yariv Date: Mon Apr 18 16:44:11 2011 +0300 wl12xx: Restart TX when TX descriptors are available The driver stops sending TX packets when either there aren't enough memory blocks, or it runs out of TX descriptors. The driver continues to send packets to the FW only when more memory blocks are available. The FW might free TX descriptors without freeing the corresponding memory blocks, especially when dynamic memory is enabled. In cases where memory blocks are not freed at all, the driver will keep waiting for more memory blocks indefinitely. Fix this by clearing the WL1271_FLAG_FW_TX_BUSY flag when there are available TX descriptors. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit ae825e4ba81203e1b3d3159f24327cdc2629dbd8 Author: Ido Yariv Date: Mon Apr 18 16:40:14 2011 +0300 wl12xx: Modify memory configuration for 128x/AP The 128x/AP firmware does not yet support dynamic memory. Temporarily, the memory configuration for the 127x was used both for 127x/AP as well as 128x/AP. Since the two chips don't have the same number of memory blocks, TP was significantly degraded. This hasn't been fine tuned yet, but using the base 128x numbers (without dynamic memory) seems to yield much better results (around 30% more). Additional fine tuning will be required in the future. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit 1fe9e2464c667903d7eec0314db26c462ca9d276 Author: Eliad Peller Date: Sun Apr 17 11:20:47 2011 +0300 wl12xx: add debugfs entries for dtim_interval and beacon_interval When configuring ACX_WAKE_UP_CONDITIONS (before entering psm), we tell the firmware to wake up once in N DTIMs/beacons. Allow control of this value via debugfs (for debugging purposes). Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 2370841bf1a735661db3d3ae63385be3475b7452 Author: Shahar Levi Date: Wed Apr 13 14:52:50 2011 +0300 wl12xx: Update Power Save Exit Retries Packets Reducing the retries of sending PS exit packets to the peer AP. That fix is to avoid sending unrealizable number of PS exit packets in case of ap lost. Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit ff86843dfbb368766d0aecd0147821d9a2b60edb Author: Shahar Levi Date: Mon Apr 11 15:41:46 2011 +0300 wl12xx: FM WLAN coexistence Add support to FM WLAN coexistence (STA only). Some WiFi harmonics may interfere with FM operation, to avoid this problem special coexistence techniques are activated around some FM frequencies. Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit cb5ae0530e0e2af86d128ce758645b6b4a9132e1 Author: Eliad Peller Date: Thu Apr 7 15:52:05 2011 +0300 wl12xx: configure rates when working in ibss mode When working in ibss mode, we don't configure rate policy per station (as we use the same link for multiple stations), so currently the 1mb/s rate is being used. Instead, configure the firmware to use the whole 11b rates by default. Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 30df14d0d35dd166d50b8ea80d5f0b7ef1edb6da Author: Eliad Peller Date: Tue Apr 5 19:13:28 2011 +0300 wl12xx: avoid redundant join on interface reconfiguration ieee80211_reconfig() sets most of the "changed" flags regardless of the actual change (e.g. BSS_CHANGED_ASSOC will be set even if the interface is still not associated). in this case the driver will issue some unneeded commands. Since the driver relies solely on the BSS_CHANGED_ASSOC flag, without checking if there was an actual change, it will end up issuing unjoin() and dummy_join() commands, although it was never associated and should just remain idle. Avoid it by checking the actual state change, in addition to the "changed" flag. (there seem to be more redundant configuration commands being issued, but they shouldn't harm) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit a20a5b7e48e24c1bf9c10ba27cb1862f8f777d00 Author: Eliad Peller Date: Tue Apr 5 18:21:31 2011 +0300 wl12xx: print actual rx packet size (without padding) When debugging, reduce the padding size from each rx packet, to get the actual packet size (so comparing it against a cap file will be easier) Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit b03acadea4f46884aa3c3e4d3a6ce03d283525e6 Author: Shahar Levi Date: Sun Apr 3 13:54:54 2011 +0300 wl12xx: Set correct REF CLK and TCXO CLK values to the FW Fix mismatch between the REF CLK and TCXO CLK information that is set in the platform data and the NVS, so we override what comes from the NVS and replace it with what comes from the platform data. [Small fix in a comment -- Luca] Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit a665d6e260f0233aac73f74d15bb6a029cc5ec47 Author: Eliad Peller Date: Sun Apr 3 02:01:59 2011 +0300 wl12xx: avoid premature elp entrance The elp_work is being enqueued on wl1271_ps_elp_sleep, but doesn't get cancelled on wl1271_ps_elp_wakeup. This might cause immediate entrance to elp when the wl->mutex is being released, rather than using the delayed enqueueing optimization. Cancel elp_work on wakeup request, and add a new WL1271_FLAG_ELP_REQUESTED flag to further synchronize the elp actions. [Fixed a couple of typos in some comments -- Luca] Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit c75bbcdb200e2815c855e42a4685d170858af306 Author: Eliad Peller Date: Mon Apr 4 10:38:47 2011 +0300 wl12xx: sleep instead of wakeup after tx work commit d05c806 ("wl12xx: rearrange some ELP wake_up/sleep calls") introduced a bug in which wl1271_ps_elp_wakeup() was called instead of wl1271_ps_elp_sleep() after completing the tx work. Reported-by: Arik Nemtsov Signed-off-by: Eliad Peller Signed-off-by: Luciano Coelho commit 564f59509e26355965949c677f9d6eb064a3aa0b Author: Shahar Levi Date: Mon Apr 4 10:20:39 2011 +0300 wl12xx: Set End-of-transaction Flag at Wl127x AP Mode End-of-transaction flag should be set when working with wl127x chip on AP mode. Thanks Ido Yariv for the guidance with that. Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit 8a025bbc8ff897c36c6e2b91c2e852ea5e569394 Author: Jayamohan Kallickal Date: Fri Apr 29 14:30:08 2011 -0500 [SCSI] be2iscsi: update version Bump version. Signed-off-by: Jayamohan Kallickal Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 069adc7b0617348dd4c5cace1b35a90d6ddf1013 Author: Jayamohan Kallickal Date: Fri Apr 29 14:30:07 2011 -0500 [SCSI] be2iscsi: fix chip cleanup This patch fixes a bug where proper queue id's were not passed to chip for cleanup. Signed-off-by: Jayamohan Kallickal Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 665d6d94b73f1d706d6c006264cce7537ac708f4 Author: Jayamohan Kallickal Date: Fri Apr 29 14:30:06 2011 -0500 [SCSI] be2iscsi: fix boot hang due to interrupts not getting rearmed This patch fixes a bug where the interrupts were not rearmed if the Interrupt Mask was enabled. This patch checks for Interrupt mask enabled and still rearms interrupt generation even if the Interrupt mask was enabled Signed-off-by: Jayamohan Kallickal Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 87f76152dfb1bf3de18dc01cf97c70a5c9d2583e Author: Tomas Henzl Date: Fri Apr 29 16:28:30 2011 +0200 [SCSI] arcmsr: simplify assumptions in dma_alloc_coherent() The code currently computes an offset into a dma_alloc_coherent() area on the assumption that the alignment is imprecise. In fact, the API guarantees PAGE_SIZE alignment, so the offset calculation is always zero: remove it. [jejb: make description actually descriptive] Signed-off-by: Tomas henzl Acked-by: Nick Cheng Signed-off-by: James Bottomley commit 8b7eb86f61a10132aad7f90e89a15dc89e495d9e Author: Tomas Henzl Date: Fri Apr 29 16:28:24 2011 +0200 [SCSI] arcmsr: simplify some double loops in sleeping functions I removed outer loops in ...wait_msgint_ready the sleeptime and retrycount are in fact never changed so I changed them into defines. In arcmsr_flush_hba_cache is a loop removed, which printed the same printk 100 times, one line in log is enough I think. The arcmsr_sleep_for_bus_reset has lost a functionality with the latest patches, The only thing the function does is a long sleep, so it's replaced with a ssleep. [jejb: checkpatch fixes] Signed-off-by: Tomas henzl Acked-by: Nick Cheng Signed-off-by: James Bottomley commit 134a4e27a2c4372f23b94fd3be041133cb69b52a Author: Vasu Dev Date: Thu Apr 28 15:55:44 2011 -0700 [SCSI] bnx2fc: setup em for npiv port Use fc_exch_mgr_list_clone to setup em for npiv port. Also remove redundant vport and lport initializations. Signed-off-by: Vasu Dev Acked-by: Bhanu Prakash Gollapudi Signed-off-by: James Bottomley commit 32ae9b221e788413ce68feaae2ca39e406211a0a Author: Marek Lindner Date: Wed Apr 20 15:40:58 2011 +0200 batman-adv: Make bat_priv->primary_if an rcu protected pointer The rcu protected macros rcu_dereference() and rcu_assign_pointer() for the bat_priv->primary_if need to be used, as well as spin/rcu locking. Otherwise we might end up using a primary_if pointer pointing to already freed memory. Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit 71e4aa9c465fd66c110667ab5d620fb6a4ef2157 Author: Antonio Quartulli Date: Mon Apr 25 22:44:32 2011 +0200 batman-adv: fix gw_node_update() and gw_election() This is a regression from c4aac1ab9b973798163b34939b522f01e4d28ac9 - gw_node_update() doesn't add a new gw_node in case of empty curr_gw. This means that at the beginning no gw_node is added, leading to an empty gateway list. - gw_election() is terminating in case of curr_gw == NULL. It has to terminate in case of curr_gw != NULL Signed-off-by: Antonio Quartulli Signed-off-by: Sven Eckelmann commit 5f657ec0d2103571a31707711926b443a27b0c66 Author: Antonio Quartulli Date: Wed Apr 20 09:52:56 2011 +0200 batman-adv: Move definition of atomic_dec_not_zero() into main.h atomic_dec_not_zero() is very useful and it is currently defined multiple times. So it is possible to move it in main.h Signed-off-by: Antonio Quartulli Signed-off-by: Sven Eckelmann commit b5a6f69c5ca024bea43496d517c3b7ccfdb084a6 Author: Antonio Quartulli Date: Sat Apr 16 11:30:57 2011 +0200 batman-adv: orig_hash_find() manages rcu_lock/unlock internally orig_hash_find() manages rcu_lock/unlock internally and doesn't need to be surrounded by rcu_read_lock() / rcu_read_unlock() anymore Signed-off-by: Antonio Quartulli Acked-by: Marek Lindner Signed-off-by: Sven Eckelmann commit e37c4913c555bd149eba3af953fb5d3a1686dfbd Author: Jeff Mahoney Date: Wed Apr 27 16:22:20 2011 -0400 [SCSI] iterate over devices individually for /proc/scsi/scsi On systems with very large numbers (> 1600 or so) of SCSI devices, cat /proc/scsi/scsi ends up failing with -ENOMEM. This is due to the show routine simply iterating over all of the devices with bus_for_each_dev(), and trying to dump all of them into the buffer at the same time. On my test system (using scsi_debug with 4064 devices), the output ends up being ~ 632k, far more than kmalloc will typically allow. This patch defines its own seq_file opreations to iterate over the scsi devices.The result is that each show() operation only dumps ~ 180 bytes into the buffer at a time so we don't run out of memory. If the "Attached devices" header isn't required, we can dump the sfile->private bit completely. Signed-off-by: Jeff Mahoney Signed-off-by: James Bottomley commit 9de4966a4d218f29c68e96e8e7b4d2840dedec79 Author: Bart Van Assche Date: Sun May 1 14:09:21 2011 +0200 x86: Fix spelling error in the memcpy() source code comment Signed-off-by: Bart Van Assche Cc: "H. Peter Anvin" Link: http://lkml.kernel.org/r/201105011409.21629.bvanassche@acm.org Signed-off-by: Ingo Molnar commit ac0a3260f37b8616da8d33488ec94b94e6ae5b31 Merge: 809435f b9df92d Author: Ingo Molnar Date: Sun May 1 19:11:42 2011 +0200 Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core commit 9c324b8ba8e3ee8772a0c716d557e1582699d481 Author: Kleber Sacilotto de Souza Date: Wed Apr 27 14:43:40 2011 -0300 [SCSI] ipr: Driver version 2.5.2 Bump the driver version. Signed-off-by: Kleber Sacilotto de Souza Signed-off-by: James Bottomley commit 201aed678482f247aa96bd8fcd9e960fefd82d59 Author: Brian King Date: Wed Apr 27 10:27:08 2011 -0500 [SCSI] ibmvscsi: Improve CRQ reset reliability This patch fixes an issue seen where an event occurs which causes the ibmvscsi driver to reset its CRQ. Upon re-registering its CRQ, it receives H_CLOSED, indicating the Virtual I/O Server is not yet ready to receive commands. This resulted in the ibmvscsi driver essentially offlining the adapter and not recovering. The fix is to re-enable our interrupt so that when the Virtual I/O server is ready and sends a CRQ init, we will be able to receive it and resume initialization of the VSCSI adapter. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 809435ff4f43a5c0cb0201b3b89176253d5ade18 Merge: 3267382 058e297 Author: Ingo Molnar Date: Sun May 1 19:09:39 2011 +0200 Merge branch 'tip/perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core commit 4d4dd7065572225bf6d97e5eb9915d94f9d53548 Author: Kleber Sacilotto de Souza Date: Tue Apr 26 19:23:29 2011 -0300 [SCSI] ipr: increase the dump size for 64 bit adapters Currently the size of the dump generated by the driver is limited in 4MB, which is insufficient to gather much useful data from the new 64 bit adapters. This patch makes the needed changes to increase the dump limit for the 64 bit adapters to 32MB, or even to a bigger value in the future, but keeping the current limitations for the legacy 32 bit adapters. Signed-off-by: Kleber Sacilotto de Souza Acked-by: Brian King Signed-off-by: James Bottomley commit 0b15fb1fdfd403726542cb6111bc916b7a9f7fad Author: Xiangliang Yu Date: Tue Apr 26 06:36:51 2011 -0700 [SCSI] mvsas: add support for Task collector mode and fixed relative bugs 1. Add support for Task collector mode. 2. Fixed relative collector mode bug: - I/O failed when disks is on two ports - system hang when hotplug disk - system hang when unplug disk during run IO 3. Unlock ap->lock within .lldd_execute_task for direct mode to improve performance Signed-off-by: Xiangliang Yu Signed-off-by: James Bottomley commit 8214028344b4a38aabf73d95347e1e35538c75f6 Author: Xiangliang Yu Date: Tue Apr 26 06:34:01 2011 -0700 [SCSI] mvsas: add support for Marvell 88SE9445/88SE9485 This is support for Marvell 88SE9445/88SE9485 SAS/SATA HBA, which is based on Marvell 88SE9480. Signed-off-by: Xiangliang Yu Signed-off-by: James Bottomley commit c0d289b3e59577532c45ee9110ef81bd7b341272 Author: Martin George Date: Tue Apr 26 18:27:05 2011 +0530 [SCSI] scsi_dh_alua: Attach to UNAVAILABLE/OFFLINE AAS devices The SCSI ALUA handler currently fails to attach to devices reporting an UNAVAILABLE/OFFLINE AAS. But given that an UNAVAILABLE/OFFLINE AAS can transition to other states like ACTIVE/OPTIMIZED, ACTIVE/NON-OPTIMIZED, etc. as per SPC4, this ALUA handler behavior should be rectified so as to attach to devices which also report an UNAVAILABLE/OFFLINE AAS. Signed-off-by: Martin George Reviewed-by: Mike Christie Signed-off-by: James Bottomley commit cbc78ae73bcab6b3277977a6a30e74d1be3cedfa Author: Kashyap, Desai Date: Tue Apr 26 12:10:08 2011 +0530 [SCSI] mptfusion: Bump version 3.4.19 Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 19fff154e7ee35d1297eb27d7d41e6f8742101ec Author: Kashyap, Desai Date: Tue Apr 26 12:09:46 2011 +0530 [SCSI] mptfusion: Adding inline data padding support for TAPE drive. Adding support for inline data padding for TAPE drive when running U320. [jejb: whitespace fixes] Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 56cee8d57744ec5782e3a8722c1bc45951d2c037 Author: Kashyap, Desai Date: Tue Apr 26 12:09:15 2011 +0530 [SCSI] mptfusion: Remove debug print from mptscsih_qcmd() Remove debug print from mptscsih_qcmd function call. This debug print cause flood of prints and difficult to debug other issues. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit befc9b4dda55a146f3e7e1d00abcb4a18fd75887 Author: Nithin Nayak Sujir Date: Mon Apr 25 12:30:10 2011 -0700 [SCSI] bnx2fc: increase cleanup wait time FW may take more time cleaning up IOs issued to multiple targets. Signed-off-by: Nithin Nayak Sujir Signed-off-by: Bhanu Prakash Gollapudi Signed-off-by: James Bottomley commit 068bdce41297b69e75f72a029d42e70c282273f6 Author: Nithin Nayak Sujir Date: Mon Apr 25 12:30:09 2011 -0700 [SCSI] bnx2fc: Do not use HBA_DBG macro when lport is not available Use MISC_DBG instead. Signed-off-by: Nithin Nayak Sujir Signed-off-by: Bhanu Prakash Gollapudi Signed-off-by: James Bottomley commit 35dd71ae82afaef3980638c528b21f018c46211a Author: Nithin Nayak Sujir Date: Mon Apr 25 12:30:08 2011 -0700 [SCSI] bnx2fc: call scsi_done if session goes to not ready from ready If the session is not ready yet, we ask the SCSI-ml to retry. However, if the session is just uploaded, we should not retry, but instead call scsi_done to fail the IO. Signed-off-by: Nithin Nayak Sujir Signed-off-by: Bhanu Prakash Gollapudi Signed-off-by: James Bottomley commit 0117ddb0c8df8e107bc8e9713c6638270638fff9 Author: Nithin Nayak Sujir Date: Mon Apr 25 12:30:07 2011 -0700 [SCSI] bnx2fc: Release the reference to hba only after the interface is destroyed Prematurely decrementing the reference may lead to cmd_mgr becoming NULL with the cmds are still active. Signed-off-by: Nithin Nayak Sujir Signed-off-by: Bhanu Prakash Gollapudi Signed-off-by: James Bottomley commit 112f661d6dac9af1235d2d05299fc2c9cb876ae7 Author: Nithin Nayak Sujir Date: Mon Apr 25 12:30:06 2011 -0700 [SCSI] scsi_transport_fc: Fix deadlock during fc_remove_host Creating and destroying fcoe interface in a tight loop leads to a system deadlock with the following call traces: Call Trace: [] schedule_timeout+0x1fd/0x2c0 [] ? wait_for_common+0x4f/0x190 [] ? wait_for_common+0x4f/0x190 [] wait_for_common+0xe7/0x190 [] ? default_wake_function+0x0/0x20 [] ? trace_hardirqs_on+0xd/0x10 [] wait_for_completion+0x1d/0x20 [] flush_workqueue+0x290/0x5f0 [] ? flush_workqueue+0x0/0x5f0 [] destroy_workqueue+0x38/0x340 [] fc_remove_host+0x1b9/0x1f0 [scsi_transport_fc] [] bnx2fc_if_destroy+0xc5/0x1f0 [bnx2fc] [] bnx2fc_destroy+0x7a/0x100 [bnx2fc] [] fcoe_transport_destroy+0x9b/0x1b0 [libfcoe] [] param_attr_store+0x52/0x80 [] module_attr_store+0x26/0x30 [] sysfs_write_file+0xe6/0x170 [] vfs_write+0xd0/0x1a0 [] sys_write+0x54/0xa0 [] system_call_fastpath+0x16/0x1b Call Trace: [] async_synchronize_cookie_domain+0x75/0x120 [] ? autoremove_wake_function+0x0/0x40 [] async_synchronize_cookie+0x15/0x20 [] async_synchronize_full+0x1c/0x40 [] sd_remove+0x36/0xc0 [sd_mod] [] __device_release_driver+0x75/0xe0 [] device_release_driver+0x2f/0x50 [] bus_remove_device+0xbe/0x120 [] device_del+0x12f/0x1e0 [] __scsi_remove_device+0xbd/0xc0 [] scsi_remove_device+0x35/0x50 [] __scsi_remove_target+0xe7/0x110 [] ? __remove_child+0x0/0x30 [] __remove_child+0x23/0x30 [] device_for_each_child+0x4c/0x80 [] scsi_remove_target+0x33/0x60 [] fc_starget_delete+0x26/0x30 [scsi_transport_fc] [] fc_rport_final_delete+0xaa/0x200 [scsi_transport_fc] [] process_one_work+0x1aa/0x540 [] ? process_one_work+0x13b/0x540 [] ? fc_rport_final_delete+0x0/0x200 [scsi_transport_fc] [] worker_thread+0x179/0x410 [] ? worker_thread+0x0/0x410 [] kthread+0xb6/0xc0 [] ? finish_task_switch+0x4b/0xe0 [] kernel_thread_helper+0x4/0x10 [] ? restore_args+0x0/0x30 [] ? kthread+0x0/0xc0 [] ? kernel_thread_helper+0x0/0x10 fc_remove_host() waits for flushing the workqueue, but it is stuck at flushing the first work. The first work doesnt complete, because it is waiting for async layer to complete the IOs. The async layer cannot complete the IO as the terminate_rport_io for the second work was not called, which will be called only when the first work completes. Hence the deadlock. To resolve this deadlock, the workqueue allocation has been modified from create_singlethread_workqueue() to alloc_workqueue(). In addition, fc_terminate_rport_io() should be called before the scsi_flush_work() to avoid the similar deadlock as above. scsi fc alloc queue. move terminate rport io before flush Signed-off-by: Nithin Nayak Sujir Signed-off-by: Bhanu Prakash Gollapudi Signed-off-by: James Bottomley commit b413f498e12faaf5912de89e7ac7e882956e0b0a Author: James Smart Date: Sat Apr 16 11:03:52 2011 -0400 [SCSI] lpfc 8.3.23: Update driver version to 8.3.23 Update driver version to 8.3.22 Signed-off-by: Alex Iannicelli Signed-off-by: James Smart Signed-off-by: James Bottomley commit b6e3b9c606f271824bdeb6a40a080452eb086598 Author: James Smart Date: Sat Apr 16 11:03:43 2011 -0400 [SCSI] lpfc 8.3.23: BSG additions and fixes - Fixed the mixed declarations and codes which violate ISO C90 (declarations in subsections that assign at declaration) - Add BSG data transfer size protection in mailbox command pass-through path - Invoke BSG job_done while holding spinlock to fix deadlock - Added support for checking SLI_CONFIG subcommands - Fixed bug in BSG mailbox size check to non-embedded external buffer Signed-off-by: Alex Iannicelli Signed-off-by: James Smart Signed-off-by: James Bottomley commit c31098cef5e091e22a02ff255f911e0ad71cc393 Author: James Smart Date: Sat Apr 16 11:03:33 2011 -0400 [SCSI] lpfc 8.3.23: Fixes related to new hardware Fixes related to new hardware - Restrict driver to look at BAR2 or BAR4 only for if_type 0. - Allow SLI4 with FCOE_MODE not set for new SLI4 FC adapters. - Add Temporary RPI field to the ELS request WQE. - Do not override CT field in issue_els_flogi for SLI4 IF type 2 - For RQ_CREATE_V2 mbx cmd: fill in the rqe_size and page_size for RQ_CREATE. Signed-off-by: Alex Iannicelli Signed-off-by: James Smart Signed-off-by: James Bottomley commit 9589b062f53e314ea3abfaca8de7a260b4ef69c2 Author: James Smart Date: Sat Apr 16 11:03:17 2011 -0400 [SCSI] lpfc 8.3.23: Miscellaneous fixes Miscellaneous fixes - Do not limit RPI Count to a minimum of 64 - Fix FCFI incorrect on received unsolicited frames. - Save the FCFI returned in the REG_FCFI mailbox command if it was successful. - Fixed Vports not sending FDISC after lips. - Align based on the SLI4_PAGE_SIZE. - Fixed double byte swap on received RRQ. - Fixed mask size for the wq_id mask from 0x7F to 0x7FFF. - Clear FC_FABRIC flag when NPIV LOGO completes (and add a log message). - Modified driver to skip round robin only when ulpStatus==LOCAL_REJECT and word4=SEQUENCE_TIMEOUT to prevent FLOGI to disconnected FCF. - Don't add rport if driver unloading Signed-off-by: Alex Iannicelli Signed-off-by: James Smart Signed-off-by: James Bottomley commit 86a80846a68eeb8575119db61f6b262f49522e6f Author: James Smart Date: Sat Apr 16 11:03:04 2011 -0400 [SCSI] lpfc 8.3.23: Debugfs enhancements Debugfs enhancements - Added iDiag support for new adapters. - Added queue entry access methods. - Fix host/port index in decimal - Added Doorbell register access methods. Signed-off-by: Alex Iannicelli Signed-off-by: James Smart Signed-off-by: James Bottomley commit 7c38c05b3ef1a8a9f7e0416072a8ea2730841c91 Author: Krishna Gudipati Date: Thu Apr 14 16:50:35 2011 -0700 [SCSI] bfa: Move debugfs initialization before bfa init. Move the initialization of debugfs before bfa init, to enable us to collect driver/firmware traces if init fails. Also add a printk to display message on bfa_init failure. Signed-off-by: Krishna Gudipati Signed-off-by: James Bottomley commit 61338a0b3493fddfca2980ece4423839748fcbab Author: Jing Huang Date: Wed Apr 13 11:44:03 2011 -0700 [SCSI] bfa: firmware download fix This patch includes fixes for two issues releated to firmware download implementation: 1) Merged memory leak fix provided by Jesper Juhl . Basically we need to call release_firmware() after request_firmware(). 2) fixed issues with the firmware download interface as pointed out by Rolf Eike Beer in linux-scsi. Rearranged the code and fixed related function protypes. Signed-off-by: Jing Huang Signed-off-by: James Bottomley commit 7dacb64f49848f1f28018fd3e58af8d6ba234960 Author: Wayne Boyer Date: Tue Apr 12 10:29:02 2011 -0700 [SCSI] ipr: improve interrupt service routine performance During performance testing on P7 machines it was observed that the interrupt service routine was doing unnecessary MMIO operations. This patch rearranges the logic of the routine and moves some of the code out of the main routine. The result is that there are now fewer MMIO operations in the performance path of the code. As a result of the above change, an existing condition was exposed where the driver could get an "unexpected" hrrq interrupt. The original code would flag the interrupt as unexpected and then reset the adapter. After further analysis it was confirmed that this condition can occasionally occur and that the interrupt can safely be ignored. Additional code in this patch detects this condition, clears the interrupt and allows the driver to continue without resetting the adapter. Signed-off-by: Wayne Boyer Acked-by: Brian King Signed-off-by: James Bottomley commit 3425fbfe2293244abba72c80b215d09ead32d1ad Author: Moger, Babu Date: Fri Apr 8 11:39:30 2011 -0600 [SCSI] scsi_dh_rdac : decide whether to send mode select based on operating mode Based on the operating modes, handler decides whether to send mode select or not. Purpose here is to reduce io-shipping as much as possible whenever there is an option. Signed-off-by: Babu Moger Reviewed-by: Yanling Qi Reviewed-by: Sudhir Dachepalli Reviewed-by: Somasundaram Krishnasamy Reviewed-by: Bob Stankey Reviewed-by: Vijay Chauhan Signed-off-by: James Bottomley commit 1c3afc423460035a6c2d0e4f01217e953bad3fd7 Author: Moger, Babu Date: Fri Apr 8 11:38:33 2011 -0600 [SCSI] scsi_dh_rdac : Detect the different RDAC operating modes This patch detects different operating RDAC modes during the discovery. It also collects the information about the preferred path. Signed-off-by: Babu Moger Reviewed-by: Yanling Qi Reviewed-by: Sudhir Dachepalli Reviewed-by: Somasundaram Krishnasamy Reviewed-by: Bob Stankey Reviewed-by: Vijay Chauhan Signed-off-by: James Bottomley commit eebe9b96dda9018cc68a2855ca506ec26a1e449e Author: Moger, Babu Date: Fri Apr 8 11:37:40 2011 -0600 [SCSI] scsi_dh_rdac : Add definitions for different RDAC operating modes This patch adds definitions to support for different operating modes for LSI rdac storage. Currently, rdac support 3 operation modes. 1. RDAC mode(legacy) 2. AVT mode 3. IOSHIP mode These definitions are used while activating the path(rdac_activate). Signed-off-by: Babu Moger Reviewed-by: Yanling Qi Reviewed-by: Sudhir Dachepalli Reviewed-by: Somasundaram Krishnasamy Reviewed-by: Bob Stankey Reviewed-by: Vijay Chauhan Signed-off-by: James Bottomley commit 630ad8317feed51c55fa5c1c701e67430923aad8 Author: Wayne Boyer Date: Thu Apr 7 12:12:30 2011 -0700 [SCSI] ipr: remove unneeded volatile declarations This patch removes three volatile declarations based on some feedback and code analysis. Signed-off-by: Wayne Boyer Acked-by: Brian King Signed-off-by: James Bottomley commit 0bdccdb0a090ad8dc5f851cad5e843244c410ee8 Author: Kashyap, Desai Date: Thu Apr 7 12:32:49 2011 +0530 [SCSI] mpt2sas : WarpDrive New product SSS6200 support added This patch has Support for the new solid state device product SSS6200 from LSI and relavent features w.r.t SSS6200. The major feature added in this driver is supporting Direct-I/O to the SSS6200 storage.There are some additional changes done to avoid exposing the RAID member disks to the OS and hiding/exposing drives based on the OEM Specific Flag in Manufacturing Page10 (this is required to handle specific changes in the SSS6200 firmware). Each and every changes are listed below. 1. Hiding IR related messages. For SSS6200, the driver is modified not to print IR related events. Even if the debugging is enabled the IR related messages will not be displayed. In some places if there is a need to display a message related to IR the string "IR" is replaced with string "DD" and the string "volume" is replaced with "direct drive". But the function names are not changed hence there are some places where the reference to volume can be seen if debug level is set. 2. Removed RAID transport support In Linux the user can retrieve RAID volume information from the sysfs directory. This support is removed for SSS6200. 3. Direct I/O support. The driver tries to enable direct I/O when a volume is reported to the driver by the firmware through IRCC events and the driver does this just before reporting to the OS, hence all the OS issued I/O can go through direct path if they can, The first validation is to see whether the manufacturing page10 flag is set to expose all drives always. If that is set, the driver will not enable direct I/O and displays the message "DDIO" is disabled globally as drives are exposed. The driver checks whether there is more than one volume in the controller, if so the direct I/O will be disabled globally for all volumes in the controller and the message displayed will be "DDIO is disabled globally as number of drives > 1. If retrieving number of PD is failed the driver will not enable direct I/O and displays the message Failure in computing number of drives DDIO disabled. If memory allocation for RAIDVolumePage0 is failed, the driver will not enable direct I/O and displays the message Memory allocation failure for RVPG0 DDIO disabled. If retrieving RAIDVolumePage0 is failed the driver will not enable direct I/O and displays the message Failure in retrieving RVPG0 DDIO disabled If the number of PD in a volume is greater than 8, then the direct I/O will be disabled. If any of individual drives handle retrieval is failed then the DD-IO will be disabled. If the volume is not RAID0 or if the block size is not 512 then the DD-IO will be disabled. If the volume size is greater than 2TB then the DD-IO will be disabled. If the driver is not able to find a valid stripe exponent using the configured stripe size then the DD-IO will be disabled When the DD-IO is enabled the driver will check every I/O request issued to the storage and checks whether the request is either READ6/WRITE6/READ10/WRITE10, if it is and if the complete I/O transfer is within a stripe size then the I/O is redirected to the drive directly instead of the volume. On completion of every I/O, if the completion is failure means if the reply is address reply with a reply frame associated with it, then the type of I/O will be checked, if the I/O is direct then the I/O will be retried to the volume once. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Reviewed-by: Sathya Prakash Signed-off-by: James Bottomley commit aeaeb5cec5a5477b392e627883fdb46d8a5dcc1f Author: Christoph Hellwig Date: Mon Apr 4 09:42:41 2011 -0400 [SCSI] fusion: do not check serial_number in the abort handler The SCSI midlayer stops all command processing when in error handling, which means there is no chance for command reuse when the abort handler is called. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit a7c44d4ad147d54f041ba3885cc28549da72f55a Author: Christoph Hellwig Date: Mon Apr 4 09:42:30 2011 -0400 [SCSI] mpt2sas: do not check serial_number in the abort handler The SCSI midlayer stops all command processing when in error handling, which means there is no chance for command reuse when the abort handler is called. Signed-off-by: Christoph Hellwig Acked-by: "Moore, Eric" Signed-off-by: James Bottomley commit 05d1091fd9fe3672bde444506fe426d864c52013 Author: Christoph Hellwig Date: Mon Apr 4 09:42:22 2011 -0400 [SCSI] usb-storage: do not increment cmd->serial_number The isd200 sub-driver increments the command serial number despite not using it at all in it's routine for sending internal scsi commands. Remove the increment to prepare for removing the serial_number field. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 5cd049a59913f359e7d30c11d2dc6187822e77b1 Author: Christoph Hellwig Date: Mon Apr 4 09:42:14 2011 -0400 [SCSI] remove cmd->serial_number litter Stop using cmd->serial_number in printks. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit f04ca1b65480df9ecbaaa797e62b063387429410 Author: Vasu Dev Date: Fri Apr 1 16:06:45 2011 -0700 [SCSI] fcoe: have fcoe log off and lport destroy before ndo_fcoe_disable Currently fcoe interface cleanup is done after ndo_fcoe_disable and that prevents logoff going out to the peer, so this patch moves all netdev cleanup and its releasing inside fcoe_interface_cleanup to have log off before ndo_fcoe_disable disables the fcoe. This patch also fixes asymmetric rtnl locking around fcoe_if_destroy, as currently this function requires rtnl held by its caller and then have this func drops the lock, instead now don't have any processing under rtnl inside fcoe_if_destroy, this required moving few func to get build working again. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit f2817ec2e0faece03959888050730ed35e5f2bd2 Author: Vasu Dev Date: Fri Apr 1 16:06:40 2011 -0700 [SCSI] libfc: rec tov value and REC_TOV_CONST units usages is incorrect Added REC_TOV_CONST intent was to have rec tov as e_d_tov + 1s but currently it is e_d_tov + 1ms since e_d_tov is stored in ms unit. Also returned rec tov by get_fsp_rec_tov is in ms and this ms tov is used as-is with fc_fcp_timer_set expecting jiffies tov. Fixed this by having get_fsp_rec_tov return rec tov in jiffies as e_d_tov + 1s and then use jiffies tov w/ fc_fcp_timer_set. Also some cleanup, no need to cache get_fsp_rec_tov return value in local rec_tov at various places. Signed-off-by: Vasu Dev Tested-by: Ross Brattain Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 66a5b3acba563b53cfbca96c7fff2207c94a87e2 Author: Vasu Dev Date: Fri Apr 1 16:06:35 2011 -0700 [SCSI] libfc: remove duplicate ema_list init As ema_list is already initialized by libfc_host_alloc. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 4ef7fb150f3002c5e494b2a327fa532bf8fd0927 Author: Yi Zou Date: Fri Apr 1 16:06:30 2011 -0700 [SCSI] libfcoe: fix wrong comment in fcoe_transport_detach fix typo of '_attach' -> '_detach' in the comment. Reported-by: Frank Zhang Signed-off-by: Yi Zou Tested-by: Ross Brattain Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a01a5a5789287113cd6bb25c79cf2a826874c918 Author: Yi Zou Date: Fri Apr 1 16:06:25 2011 -0700 [SCSI] libfcoe: fix possible buffer overflow in fcoe_transport_show possible buffer overflow in fcoe_transport_show when reaching the end of buffer and crossing PAGE_SIZE boundary. Signed-off-by: Yi Zou Signed-off-by: Tomas Henzl Tested-by: Ross Brattain Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 69922fcd534cfc82e2d44374fa219e7c3b27c492 Author: Yi Zou Date: Fri Apr 1 16:06:19 2011 -0700 [SCSI] libfcoe: clean up netdev mapping properly when the transport goes away When rmmoving the underlying fcoe transport driver module by force when it's attached and in use, the correspoding netdev mapping should be cleaned up properly as well, otherwise the lookup for a given netdev for the transport would still return non NULL pointer, causing "unable to handle paging request" bug. Signed-off-by: Yi Zou Tested-by: Ross Brattain Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 9c8cce8e416b3286720379b5efa1c7fa81b2ec36 Author: Robert Love Date: Fri Apr 1 16:06:14 2011 -0700 [SCSI] libfc: Move host_lock usage into ramp_up/down routines The host_lock is still used to protect the can_queue value in the Scsi_Host, but it doesn't need to be held and released by each caller. This patch moves the lock usage into the fc_fcp_can_queue_ramp_up and fc_fcp_can_queue_ramp_down routines. Signed-off-by: Robert Love Tested-by: Ross Brattain Signed-off-by: James Bottomley commit 63ce2499947683dcc026373e24a4cb5a9d086e7d Author: Kirill A. Shutemov Date: Fri Apr 1 16:06:09 2011 -0700 [SCSI] esp, scsi_tgt_lib, fcoe: use list_move() instead of list_del()/list_add() combination Signed-off-by: Kirill A. Shutemov Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 38b34aca30ef1296bbc552505d80c69f274f0872 Author: Yi Zou Date: Fri Apr 1 16:06:04 2011 -0700 [SCSI] fcoe: remove unnecessary module state check The check of module state being MODULE_STATE_LIVE is no longer needed for the individual fcoe transport driver, e.g., fcoe.ko, as sysfs entries now go to libfcoe now, if it reaches fcoe.ko, it has to be already registered. The module state check for libfcoe will guard the possible race condition of sysfs being writable before module_init function is called and after module_exit. Signed-off-by: Yi Zou Tested-by: Ross Brattain Signed-off-by: Robert Love Signed-off-by: James Bottomley commit ee5df628c1d7f3ff4db3174f7c00873c94f616d9 Author: Robert Love Date: Fri Apr 1 16:05:59 2011 -0700 [SCSI] fcoe: Remove mutex_trylock/restart_syscall checks These checks were initially added to avoid a lockdep false positive when dealing with the s_active, rtnl and fcoe_config_mutex mutexes. Recently the create, destroy, enable and disable sysfs entries were moved from fcoe.ko to libfcoe.ko. With this change the mutex usage was shuffled around and the lockdep false positive stopped happening. We can now remove these checks. Signed-off-by: Robert Love Tested-by: Ross Brattain Signed-off-by: James Bottomley commit b3960afe0477781c84faa2e92dfb00016d6d4e30 Author: Robert Love Date: Fri Apr 1 16:05:53 2011 -0700 [SCSI] libfcoe: Remove mutex_trylock/restart_syscall checks This code was incorrectly ported from fcoe.c when the fcoe transport infrastructure was put into place. It was originally needed in fcoe.c when dealing with the rtnl mutex. In that code it was only needed to avoid a lockdep false positive. In libfcoe we don't deal with the rtnl mutex, we don't get the lockdep false positive and therefore we don't need these checks. Signed-off-by: Robert Love Tested-by: Ross Brattain Signed-off-by: James Bottomley commit 5c2dce26fd670607b5ff04f18efa38739805f6d6 Author: Julia Lawall Date: Fri Apr 1 16:23:46 2011 +0200 [SCSI] bnx2fc: 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 Acked-by: Bhanu Prakash Gollapudi Signed-off-by: James Bottomley commit ab6c10b136d5f8eb856a0f17247edc7c19805e1b Author: Wayne Boyer Date: Thu Mar 31 09:56:10 2011 -0700 [SCSI] ipr: fix synchronous request flags for better performance In testing it was noticed that Extended Delay after Reset flag was being set for gscsi and volume set devices. This had a negative effect on performance for volume sets. The fix is to only set the flag for gscsi devices. Signed-off-by: Wayne Boyer Acked-by: Brian King Signed-off-by: James Bottomley commit c9c2a14047447251838334045e7af99b3b15f725 Author: Madhuranath Iyengar Date: Wed Mar 30 11:46:33 2011 -0700 [SCSI] qla2xxx: Update version number to 8.03.07.03-k. A minor change in the versioning. We'll be attaching the "-k" in the end. Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit ec426e106c410b000ac590b6e776d5a6cd9bccd9 Author: Chad Dupuis Date: Wed Mar 30 11:46:32 2011 -0700 [SCSI] qla2xxx: Log fcport state transitions when debug messages are enabled. Add the inline function qla2x00_set_port_state() so that when a fcport state transition happens we can log the state transition if debug messages are enabled. Signed-off-by: Chad Dupuis Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit a4f92a32a0fb827f7bd40c69f021cf57d3dc4249 Author: Andrew Vasquez Date: Wed Mar 30 11:46:31 2011 -0700 [SCSI] qla2xxx: Verify login-state has transitioned to PRLI-completed. Before driver's own internal state is marked as PLOGI/PRLI complete. This additional check closes a window seen with dual-personality initiator/target devices where a driver's PLOGI/PRLI request occurs within the window after the target's PLOGI request has completed, but prior to the target's PRLI arriving and processed by the firmware. Without this additional check, the firmware will return port-information stating that the port neither supports target nor initiator functions, causing the driver to register the rport prematurely to the FC-transport without the proper 'roles' being set. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit 92dbf273921eb53a9d5b760a8f3b32eefd776b1b Author: Giridhar Malavali Date: Wed Mar 30 11:46:30 2011 -0700 [SCSI] qla2xxx: Limit the logs in case device state does not change for ISP82xx. Signed-off-by: Giridhar Malavali Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit ed0de87ce6be92bd84858ad496ffaf60344495a3 Author: Giridhar Malavali Date: Wed Mar 30 11:46:29 2011 -0700 [SCSI] qla2xxx: Add the ql2xdontresethba module_param. Also, change the ISP82xx code to only reset if this module_param is set and reset is intended via the QLA82XX_DEV_NEED_RESET case. Signed-off-by: Giridhar Malavali Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit 0e8edb0303a97717a9518428329adad3d6fe3b4d Author: Giridhar Malavali Date: Wed Mar 30 11:46:28 2011 -0700 [SCSI] qla2xxx: Display hardware/firmware registers to get more information about the error for ISP82xx. Signed-off-by: Giridhar Malavali Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit 03bcfb57c098016e318e2672028f93ec072a2333 Author: Joe Carnuccio Date: Wed Mar 30 11:46:27 2011 -0700 [SCSI] qla2xxx: Add test for valid loop id to qla2x00_relogin(). If fabric device has invalid loop id (FC_NO_LOOP_ID) then call qla2x00_find_new_loop_id() to attempt to obtain valid loop id. Signed-off-by: Joe Carnuccio Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit 8f7daead3c7861f9d0caa55269773136ab443b41 Author: Giridhar Malavali Date: Wed Mar 30 11:46:26 2011 -0700 [SCSI] qla2xxx: Perform FCoE context reset before trying adapter reset for ISP82xx. For certain failures, try to recover first by doing FCoE context reset before attempting big hammer approach(adpater reset). Signed-off-by: Giridhar Malavali Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit aee3dbcdd1f8f7dea4500824ae1ac9cfbbe71700 Author: Giridhar Malavali Date: Wed Mar 30 11:46:25 2011 -0700 [SCSI] qla2xxx: Remove extra call to qla82xx_check_fw_alive(). The stanadlone call to qla82xx_check_fw_alive() in qla82xx_watchdog() is a typo, so remove it. Signed-off-by: Giridhar Malavali Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit 02be22155689d4e3a8bd04243547262b2915f4e3 Author: Giridhar Malavali Date: Wed Mar 30 11:46:24 2011 -0700 [SCSI] qla2xxx: Updated the reset sequence for ISP82xx. Signed-off-by: Giridhar Malavali Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit 07e264b76d1db5794614ca3d726fdf1c0399dac0 Author: Andrew Vasquez Date: Wed Mar 30 11:46:23 2011 -0700 [SCSI] qla2xxx: Update copyright banner. Signed-off-by: Andrew Vasquez Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit 2fb0ee8a7f23e5f4df31f73da06731990ebb0044 Author: Madhuranath Iyengar Date: Wed Mar 30 11:46:22 2011 -0700 [SCSI] qla2xxx: Update License file. Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit c8d6691b95eccce0033e925ba88b04eef4deac05 Author: Andrew Vasquez Date: Wed Mar 30 11:46:21 2011 -0700 [SCSI] qla2xxx: Free firmware PCB on logout request. Signed-off-by: Andrew Vasquez Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit a74ec14ffb17bb8033e7b41470019d30c8300707 Author: Mike Hernandez Date: Wed Mar 30 11:46:20 2011 -0700 [SCSI] qla2xxx: Include request queue ID in the upper 16-bits of the I/O handle for Abort I/O IOCBs. The upper 16-bits of the handle for all I/O in multi-queue supported drivers carries the ID of the request queue it was submitted on. When using Abort I/O IOCB, the driver needs to also populate the upper 16-bits in the handle_to_abort field so the fw can correlate with the actual I/O. Signed-off-by: Mike Hernandez Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit 3e8bb8410fafb36739beeb27e1c2fe76261a80dc Author: Andrew Vasquez Date: Wed Mar 30 11:46:19 2011 -0700 [SCSI] qla2xxx: Remove extraneous setting of FCF_ASYNC_SENT during login-done completion. The bit is already set upon entry. Signed-off-by: Andrew Vasquez Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit f28a0a96130e7557d0cdcba0bcd394735eadfad8 Author: Andrew Vasquez Date: Wed Mar 30 11:46:18 2011 -0700 [SCSI] qla2xxx: Check for a match before attempting to set FCP-priority information. Modifying qla24xx_get_fcp_prio() to return a 'found' status allows the driver to short circuit the 'set FCP-priority' call and reduce the amount of noise generated in the messages file: scsi(5): Unable to activate fcp priority, ret=0x102 scsi(5): Unable to activate fcp priority, ret=0x102 Also make qla24xx_get_fcp_prio() static. Signed-off-by: Andrew Vasquez Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit 80d79440ad98a660bd6d81e5c06e85581ff6ac46 Author: Andrew Vasquez Date: Wed Mar 30 11:46:17 2011 -0700 [SCSI] qla2xxx: Correct calling contexts of qla2x00_mark_device_lost() in async paths. The respective done() functions are called from process context, so there's no reason to 'defer' the request. Signed-off-by: Andrew Vasquez Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit 1940ce7317826c230055e826727acb891fb8bece Author: Andrew Vasquez Date: Wed Mar 30 11:46:16 2011 -0700 [SCSI] qla2xxx: Display PortID information during FCP command-status handling. To provide a clearer translation of the command-status origin in relation to the midlayer's standard SCSI nexus. Signed-off-by: Andrew Vasquez Signed-off-by: Madhuranath Iyengar Signed-off-by: James Bottomley commit d6d023a1948d13652d719238f8039c09acceda8c Author: Wey-Yi Guy Date: Sat Apr 30 09:10:53 2011 -0700 iwlagn: remove un-necessary debugfs callback After driver split, no need for debugfs callback, remove those Signed-off-by: Wey-Yi Guy commit ebf8dc8060e4b10e8e13abbf98544f5c6cc8b25e Author: Johannes Berg Date: Wed Apr 27 05:19:34 2011 -0700 iwlagn: prefer BSS context If an interface type changes from a type that is only supported on the PAN context (e.g. P2P GO) to a type that is supported on the BSS context, and the BSS context is not in use, then we need to use the BSS context instead of changing the device type within the context. To achieve this, refuse the type change, which causes a down/up cycle that will allocate the BSS context for the interface. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit c914ac26caf462567078f9615ffcedf1962087f2 Author: Johannes Berg Date: Thu Apr 21 10:57:23 2011 -0700 iwlagn: improve RXON checking The current RXON checking doesn't verify that the channel is valid (or at least non-zero), so add that. Also, add a WARN() so we get a stacktrace, and capture a bitmask of errors in order to capture all necessary information in the warning itself (in case the previous messages are snipped off.) Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit bbf18ff1be8a3c6567bc052e690189b55e16b8eb Author: Johannes Berg Date: Thu Apr 21 07:09:43 2011 -0700 iwlagn: remove spectrum measurement header This header file isn't used, and if we ever need these definitions they shouldn't be added to a driver but rather to the common 802.11 include file that has all frame definitions. Thus, just remove it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 16b80b714f8ef86d47680e4afa0eeb8cc61daef4 Author: Don Fry Date: Wed Apr 20 15:25:14 2011 -0700 iwlagn: semaphore and calib cleanup All agn devices use the same eeprom semaphore and calib version routines. Delete the indirection and move the semaphore routines to where they are used and make static. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit 9d143e9a0d68025efe902d86eb6207cbec36dcdb Author: Don Fry Date: Wed Apr 20 15:23:57 2011 -0700 iwlagn: mod param cleanup All agn devices use the same module parameter structure. Delete the indirection and access the structure diretly. Signed-off-by: Don Fry Signed-off-by: Wey-Yi Guy commit b4ed221daba1b129c3efff8a7352d9791d034330 Author: Wey-Yi Guy Date: Sat Apr 30 08:55:16 2011 -0700 iwlagn: new 105 series device Correction for new 105 series devices Signed-off-by: Wey-Yi Guy commit d2690c0db7146b12e4fc2d572053c823e512758a Author: Johannes Berg Date: Wed Apr 20 09:10:39 2011 -0700 iwlagn: use proper good CRC threshold behaviour New microcode versions use the good CRC threshold field differently, as a flag, and in that case we should set it to 1/0 instead of 1/65535 for an active/passive scan. The new behaviour is advertised by the uCode with a feature flag. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit c1821c95c13240c2c8d3da8845c2021e575e29c6 Author: Wey-Yi Guy Date: Tue Apr 19 16:52:59 2011 -0700 iwlagn: connect and disconnect sequence for RXON No functional changes, separate the connect and disconnect sequences in RXON commit function, easier to read and understand. Signed-off-by: Wey-Yi Guy commit 89e746b244064406c3bfe442bb64c3230f42fa98 Author: Wey-Yi Guy Date: Tue Apr 19 16:52:58 2011 -0700 iwlagn: remove 5000 from rxon_assoc structure The data structure is shared by all _agn devices, remove the reference to 5000 Signed-off-by: Wey-Yi Guy commit c3f6e9cff950c312d409e5767365aeb2475b2ab7 Author: Wey-Yi Guy Date: Tue Apr 19 16:52:57 2011 -0700 iwlagn: make rxon_assoc static function Move rxon_assoc to static function from ops Signed-off-by: Wey-Yi Guy commit e43e85c40d83f0a7a6ff5631d1009d142b72dbca Author: Johannes Berg Date: Tue Apr 19 07:45:16 2011 -0700 iwlagn: refactor restart The WoWLAN resume code will have to essentially do a restart, but without going through the work struct. To support that, refactor the restart by splitting out the preparation code into a new function. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 4119904f3ebf30c25afb42195740f9ee5dc7749c Author: Johannes Berg Date: Tue Apr 19 07:42:03 2011 -0700 iwlagn: introduce silent grabbing of NIC access There are a few cases like the WoWLAN support I'm writing that require attempting to access the NIC when it is known that it might not be accessible, e.g. after the system woke up and the platform might have reset the device. To avoid messages in this case, introduce the new function iwl_grab_nic_access_silent(), it will only return an error status. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 9d39e5bad76a8830a8fa0c03cadc1e36ce2ec2ef Author: Johannes Berg Date: Tue Apr 19 07:38:23 2011 -0700 iwlagn: avoid hangs when restarting device If a device error happens while the uCode is being loaded or initialised, we will attempt to restart the device (which will likely fail again, but that's not the issue here). During this new restart, we turn off the device, but as the uCode failed to initialise it already is turned off. As a consequence, grabbing NIC access will fail and cause excessive messages and hangs. To fix this issue, introduce a new status bit and only attempt to reprogram the device when it isn't already disabled. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit b9df92d2a94eef8811061aecb1396290df440e2e Author: Steven Rostedt Date: Thu Apr 28 20:32:08 2011 -0400 ftrace: Consolidate the function match routines for normal and mods The code used for matching functions is almost identical between normal selecting of functions and using the :mod: feature of set_ftrace_notrace. Consolidate the two users into one function. Signed-off-by: Steven Rostedt commit 491d0dcfb9707e1f83eff93ca503eb7573162ef2 Author: Steven Rostedt Date: Wed Apr 27 21:43:36 2011 -0400 ftrace: Consolidate updating of ftrace_trace_function There are three locations that perform almost identical functions in order to update the ftrace_trace_function (the ftrace function variable that gets called by mcount). Consolidate these into a single function called update_ftrace_function(). Signed-off-by: Steven Rostedt commit 996e87be7f537fb34638875dd37083166c733425 Author: Steven Rostedt Date: Tue Apr 26 16:11:03 2011 -0400 ftrace: Move record update for normal and modules into a separate function The updating of a function record is moved to a single function. This will allow us to add specific changes in one location for both modules and kernel functions. Later patches will determine if the function record itself needs to be updated (which enables the mcount caller), or just the ftrace_ops needs the update. Signed-off-by: Steven Rostedt commit d2c8c3eafbf715306ec891e7ca52d3d999acbe31 Author: Steven Rostedt Date: Mon Apr 25 14:32:42 2011 -0400 ftrace: Remove FTRACE_FL_CONVERTED flag Since we disable all function tracer processing if we detect that a modification of a instruction had failed, we do not need to track that the record has failed. No more ftrace processing is allowed, and the FTRACE_FL_CONVERTED flag is pointless. The FTRACE_FL_CONVERTED flag was used to denote records that were successfully converted from mcount calls into nops. But if a single record fails, all of ftrace is disabled. Signed-off-by: Steven Rostedt commit 45a4a2372b364107cabea79f255b333236626416 Author: Steven Rostedt Date: Thu Apr 21 23:16:46 2011 -0400 ftrace: Remove FTRACE_FL_FAILED flag Since we disable all function tracer processing if we detect that a modification of a instruction had failed, we do not need to track that the record has failed. No more ftrace processing is allowed, and the FTRACE_FL_FAILED flag is pointless. Removing this flag simplifies some of the code, but some ftrace_disabled checks needed to be added or move around a little. Signed-off-by: Steven Rostedt commit 3499e461147636bf55c41128d83b679ac6ab2d86 Author: Steven Rostedt Date: Thu Apr 21 22:59:12 2011 -0400 ftrace: Remove failures file The failures file in the debugfs tracing directory would list the functions that failed to convert when the old dead ftrace daemon tried to update code but failed. Since this code is now dead along with the daemon the failures file is useless. Remove it. Signed-off-by: Steven Rostedt commit 8ab2b7efd3e2ccf2c2dda3206b8171ecdbd0af40 Author: Steven Rostedt Date: Thu Apr 21 22:41:35 2011 -0400 ftrace: Remove unnecessary disabling of irqs The disabling of interrupts around ftrace_update_code() was used to protect against the evil ftrace daemon from years past. But that daemon has long been killed. It is safe to keep interrupts enabled while updating the initial mcount into nops. The ftrace_mutex is also held which keeps other users at bay. Signed-off-by: Steven Rostedt commit 0778d9ad33898faab7bf6316108b471790376e35 Author: Steven Rostedt Date: Fri Apr 29 10:36:31 2011 -0400 ftrace: Make FTRACE_WARN_ON() work in if condition Let FTRACE_WARN_ON() be used as a stand alone statement or inside a conditional: if (FTRACE_WARN_ON(x)) Signed-off-by: Steven Rostedt commit 058e297d34a404caaa5ed277de15698d8dc43000 Author: Steven Rostedt Date: Fri Apr 29 22:35:33 2011 -0400 ftrace: Only update the function code on write to filter files If function tracing is enabled, a read of the filter files will cause the call to stop_machine to update the function trace sites. It should only call stop_machine on write. Cc: stable@kernel.org Signed-off-by: Steven Rostedt commit a1d9a09ae8003380a7f2297ee4367947cbdf874f Author: Mike Waychison Date: Fri Apr 29 17:39:31 2011 -0700 Introduce CONFIG_GOOGLE_FIRMWARE In order to keep Google's firmware drivers organized amongst themselves, all Google firmware drivers are gated on CONFIG_GOOGLE_FIRMWARE=y, which defaults to 'n' in the kernel build. Signed-off-by: Mike Waychison Signed-off-by: Greg Kroah-Hartman commit e561bc45920aade3f8a5aad9058a00e750af1345 Author: Mike Waychison Date: Fri Apr 29 17:39:25 2011 -0700 driver: Google Memory Console This patch introduces the 'memconsole' driver. Our firmware gives us access to an in-memory log of the firmware's output. This gives us visibility in a data-center of headless machines as to what the firmware is doing. The memory console is found by the driver by finding a header block in the EBDA. The buffer is then copied out, and is exported to userland in the file /sys/firmware/log. Signed-off-by: San Mehat Signed-off-by: Mike Waychison Signed-off-by: Greg Kroah-Hartman commit 74c5b31c6618f01079212332b2e5f6c42f2d6307 Author: Mike Waychison Date: Fri Apr 29 17:39:19 2011 -0700 driver: Google EFI SMI The "gsmi" driver bridges userland with firmware specific routines for accessing hardware. Currently, this driver only supports NVRAM and eventlog information. Deprecated functions have been removed from the driver, though their op-codes are left in place so that they are not re-used. This driver works by trampolining into the firmware via the smi_command outlined in the FADT table. Three protocols are used due to various limitations over time, but all are included herein. This driver should only ever load on Google boards, identified by either a "Google, Inc." board vendor string in DMI, or "GOOGLE" in the OEM strings of the FADT ACPI table. This logic happens in gsmi_system_valid(). Signed-off-by: Duncan Laurie Signed-off-by: Aaron Durbin Signed-off-by: Mike Waychison Signed-off-by: Greg Kroah-Hartman commit 85eb8c8d0b0900c073b0e6f89979ac9c439ade1a Author: Rafael J. Wysocki Date: Sat Apr 30 00:25:44 2011 +0200 PM / Runtime: Generic clock manipulation rountines for runtime PM (v6) Many different platforms and subsystems may want to disable device clocks during suspend and enable them during resume which is going to be done in a very similar way in all those cases. For this reason, provide generic routines for the manipulation of device clocks during suspend and resume. Convert the ARM shmobile platform to using the new routines. Signed-off-by: Rafael J. Wysocki commit c63ca0c01d73563d4e2ab174bb3dd1e5efb907e6 Author: David Ahern Date: Fri Apr 29 16:04:15 2011 -0600 perf stat: Tell user about unsupported events in the list Similar to perf-record, tell user about unsupported events that will not be counted if invoked in verbose mode. e.g., $ perf stat -e dTLB-prefetch-misses -v -- sleep 1 dTLB-prefetch-misses event is not supported by the kernel. dTLB-prefetch-misses: 0 0 0 Performance counter stats for 'sleep 1': dTLB-prefetch-misses 1.001884783 seconds time elapsed Signed-off-by: David Ahern Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/r/1304114655-10600-1-git-send-email-dsahern@gmail.com Signed-off-by: Ingo Molnar commit f548ccd47d608e88d432745091e13f927ced83f7 Author: Mike Waychison Date: Mon Mar 14 23:58:50 2011 -0700 x86: Better comments for get_bios_ebda() Make the comments a bit clearer for get_bios_ebda so that it actually tells us what it is returning. Signed-off-by: Mike Waychison Signed-off-by: Greg Kroah-Hartman commit 57d5f9f808b7650a92f31e9cd3acd3f415a22530 Author: Mike Waychison Date: Mon Mar 14 23:58:45 2011 -0700 x86: get_bios_ebda_length() Add a wrapper routine that tells us the length of the EBDA if it is present. This guy also ensures that the returned length doesn't let the EBDA run past the 640KiB mark. Signed-off-by: Mike Waychison Signed-off-by: Greg Kroah-Hartman commit 773d67903ad608d3f64cc5b00e2f881473413c13 Author: Randy Dunlap Date: Tue Apr 26 09:18:51 2011 -0700 misc: fix ti-st build issues st_drv uses skb*() interfaces, so it should depend on NET. It also uses GPIO interfaces, so it should depend on GPIOLIB. st_kim.c uses syss_*() calls, so it should #include . Fixes these observed build errors: ERROR: "skb_queue_purge" [drivers/misc/ti-st/st_drv.ko] undefined! ERROR: "skb_pull" [drivers/misc/ti-st/st_drv.ko] undefined! ERROR: "skb_queue_tail" [drivers/misc/ti-st/st_drv.ko] undefined! ERROR: "__alloc_skb" [drivers/misc/ti-st/st_drv.ko] undefined! ERROR: "kfree_skb" [drivers/misc/ti-st/st_drv.ko] undefined! ERROR: "skb_dequeue" [drivers/misc/ti-st/st_drv.ko] undefined! ERROR: "skb_put" [drivers/misc/ti-st/st_drv.ko] undefined! Signed-off-by: Randy Dunlap Cc: Pavan Savoy Signed-off-by: Greg Kroah-Hartman commit 14ad2513ed5b709e566a853f4b515d91c5d83311 Author: David Decotigny Date: Wed Apr 27 18:32:43 2011 +0000 net/igb/e1000/e1000e: more robust ethtool duplex/speed configuration This makes sure that one cannot request a 99Mbps full-duplex and get a 100Mbps half-duplex configuration in return due to the way the speed/duplex parameters are handled internally. Tested: e1000 works Signed-off-by: David Decotigny Signed-off-by: David S. Miller commit fbef7139a8b89a7f49ba1410593ed894b4c8b017 Author: David Decotigny Date: Wed Apr 27 18:32:42 2011 +0000 tulip/de2104x: don't report different speeds depending on port type Initial driver reported different speeds depending on the port being used. This advertises the speed to be 10Mbps in any case, which is what it actually is on the wire. Signed-off-by: David Decotigny Signed-off-by: David S. Miller commit 1258c076edcf4a253657320cfc2bd24fd5981d79 Author: David Decotigny Date: Wed Apr 27 18:32:41 2011 +0000 acenic: Fix using the specified speed when configuring NIC This tells the NIC to take the speed specified by ethtool into account when configuring the NIC, instead of keeping the previous speed. Signed-off-by: David Decotigny Signed-off-by: David S. Miller commit 707394972093e2056e1e8cc39be19cf9bcb3e7b3 Author: David Decotigny Date: Wed Apr 27 18:32:40 2011 +0000 ethtool: cosmetic: Use ethtool ethtool_cmd_speed API This updates the network drivers so that they don't access the ethtool_cmd::speed field directly, but use ethtool_cmd_speed() instead. For most of the drivers, these changes are purely cosmetic and don't fix any problem, such as for those 1GbE/10GbE drivers that indirectly call their own ethtool get_settings()/mii_ethtool_gset(). The changes are meant to enforce code consistency and provide robustness with future larger throughputs, at the expense of a few CPU cycles for each ethtool operation. All drivers compiled with make allyesconfig ion x86_64 have been updated. Tested: make allyesconfig on x86_64 + e1000e/bnx2x work Signed-off-by: David Decotigny Signed-off-by: David S. Miller commit 25db0338813a8915457636b1f6abe6a28fa73f8d Author: David Decotigny Date: Wed Apr 27 18:32:39 2011 +0000 ethtool: Use full 32 bit speed range in ethtool's set_settings This makes sure the ethtool's set_settings() callback of network drivers don't ignore the 16 most significant bits when ethtool calls their set_settings(). All drivers compiled with make allyesconfig on x86_64 have been updated. Signed-off-by: David Decotigny Signed-off-by: David S. Miller commit 8ae6daca85c8bbd6a32c382db5e2a2a989f8bed2 Author: David Decotigny Date: Wed Apr 27 18:32:38 2011 +0000 ethtool: Call ethtool's get/set_settings callbacks with cleaned data This makes sure that when a driver calls the ethtool's get/set_settings() callback of another driver, the data passed to it is clean. This guarantees that speed_hi will be zeroed correctly if the called callback doesn't explicitely set it: we are sure we don't get a corrupted speed from the underlying driver. We also take care of setting the cmd field appropriately (ETHTOOL_GSET/SSET). This applies to dev_ethtool_get_settings(), which now makes sure it sets up that ethtool command parameter correctly before passing it to drivers. This also means that whoever calls dev_ethtool_get_settings() does not have to clean the ethtool command parameter. This function also becomes an exported symbol instead of an inline. All drivers visible to make allyesconfig under x86_64 have been updated. Signed-off-by: David Decotigny Signed-off-by: David S. Miller commit 36504605432996590f889e33d47e2d9c581f7569 Author: David Decotigny Date: Wed Apr 27 18:32:37 2011 +0000 ethtool: cosmetics: enforce const-ness in ethtool_cmd_speed The 'ep' argument of ethtool_cmd_speed is not altered: advertise it in protoype. +Indentation fix. Also add comments to advise using the ethtool_cmd_speed API to get/set the link speed. Signed-off-by: David Decotigny Signed-off-by: David S. Miller commit 947b4ad1d198b7303ecc961f4939a331be0c48f0 Author: Ingo Molnar Date: Fri Apr 29 22:52:42 2011 +0200 perf list: Fix max event string size Recent stalled-cycles event names were larger than the 40 chars printout used by perf list. Extend that, make it robust for future extensions and also adjust alignments in face of wider event names. Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-7y40wib8n009io7hjpn1dsrm@git.kernel.org Signed-off-by: Ingo Molnar commit 7e610caaa5b32d3be9216f040f178e4a23b678b2 Author: Sony Chacko Date: Thu Apr 28 11:48:19 2011 +0000 qlcnic: Support for GBE port settings Enable setting speed and auto negotiation parameters for GbE ports. Hardware do not support half duplex setting currently. o Update driver version to 5.0.17. Signed-off-by: Sony Chacko Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit f94bc1e70281c5a587049015af8f3e024d45ad66 Author: Sucheta Chakraborty Date: Thu Apr 28 11:48:18 2011 +0000 qlcnic: support rcv ring configuration through ethtool o Support ethtool command ETHTOOL_GCHANNELS and ETHTOOL_SCHANNELS. o Number of rcv rings configuration depend upon number of msix vector. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit ad246c992bea6d33c6421ba1f03e2b405792adf9 Author: Ben Hutchings Date: Tue Apr 26 15:25:52 2011 +0000 ipv4, ipv6, bonding: Restore control over number of peer notifications For backward compatibility, we should retain the module parameters and sysfs attributes to control the number of peer notifications (gratuitous ARPs and unsolicited NAs) sent after bonding failover. Also, it is possible for failover to take place even though the new active slave does not have link up, and in that case the peer notification should be deferred until it does. Change ipv4 and ipv6 so they do not automatically send peer notifications on bonding failover. Change the bonding driver to send separate NETDEV_NOTIFY_PEERS notifications when the link is up, as many times as requested. Since it does not directly control which protocols send notifications, make num_grat_arp and num_unsol_na aliases for a single parameter. Bump the bonding version number and update its documentation. Signed-off-by: Ben Hutchings Signed-off-by: Jay Vosburgh Acked-by: Brian Haley Signed-off-by: David S. Miller commit ff776cecec92fe7cac4a9ce1919576ad6e737e08 Author: Yogesh Ashok Powar Date: Thu Apr 28 17:34:48 2011 +0530 mwl8k: Reducing extra_tx_headroom for tx optimization in AP mode The tx_headroom required for mwl8k driver is 32 bytes and it can use the space for 802.11 header received from mac80211. mwl8k considers the smallest 802.11 frame (CTS2self of 10 bytes) that can be received from mac80211 to compute the extra_tx_headroom as 22 (32 - 10) bytes. When the wireless interface is part of bridge, this extra_tx_headroom requirement results in a memcpy in mac80211 (in function pskb_expand_head) for all the data frames needing L2 forwarding/bridging, when NET_SKB_PAD is defined as 32. This patch reduces the extra_tx_headroom by 8 bytes so that memcpy of data frames in mac80211 is avoided in this case. The resize will be required in driver for frames with 802.11 header size of less than 18 bytes. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Pradeep Nemavat Signed-off-by: John W. Linville commit d244f21e79162b829c9af09845421d9b4fac4253 Author: Sujith Manoharan Date: Thu Apr 28 16:14:05 2011 +0530 ath9k_htc: Revamp LED management Remove all the convoluted hacks in the driver and simplify things by making use of mac80211's LED triggers. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 22450902e4a13479acf6f4e93475af7ca1829d92 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:33 2011 +0200 iwlegacy: remove sync_cmd_mutex We now use priv->mutex to serialize sync command, remove old priv->sync_cmd_mutex and add assertion that priv->mutex must be locked. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 28a6e577c65cc317fed5265efc43ce9282928bd4 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:32 2011 +0200 iwlegacy: more priv->mutex serialization Check status bits with mutex taken, because when we wait for mutex unlock, status can change. Patch should also make remaining sync commands be send with priv->mutex taken. That will prevent execute these commands when we are currently reset firmware, what could possibly cause troubles. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 81e63263aa3c5bfa64aa3206f4be3e59afc1c183 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:31 2011 +0200 iwlegacy: fix enqueue hcmd race conditions We mark command as huge by using meta->flags from other (non huge) command, but flags can be possibly overridden, when non huge command is enqueued, what can lead to: WARNING: at lib/dma-debug.c:696 dma_debug_device_change+0x1a3/0x1f0() DMA-API: device driver has pending DMA allocations while released from device [count=1] To fix introduce additional CMD_MAPPED to mark command as mapped and serialize iwl_enqueue_hcmd() with iwl_tx_cmd_complete() using hcmd_lock. Serialization will also fix possible race conditions, because q->read_ptr, q->write_ptr are modified/used in parallel. Do not change callback, I did (and fixed) that mistake in iwlagn. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 93fd74e3d5471c4c91a239599a88fa7e52686e71 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:30 2011 +0200 iwlegacy: comment typo fix diable -> disable Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 7a55237ac9f133c1d48fbe54d22dc2bd715e7b51 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:29 2011 +0200 iwlegacy: remove scan_tx_antennas Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 5855c7d81530aaf82293aaa252c4f9ff69ef33f9 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:28 2011 +0200 iwlegacy: remove unneeded __packed struct iwl_queue is not part of firmware interface, so __packed is not needed. Remove it since is may affect performance. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 8eb0ac70a7a53cf851027d022616c01591ee4c33 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:27 2011 +0200 iwlegacy: remove unneeded disable_hw_scan check We never set STATUS_SCANNING in softwre scanning mode, disable_hw_scan check is unneeded. Correct debug message while at it. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 3e41de85f8e3419257df62dd6fe6bdd95a1fdcab Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:26 2011 +0200 iwlegacy: simplify init geos Don't need to use conditional as ch->band is already assigned to IEEE80211_BAND_5GHZ or IEEE80211_BAND_2GHZ Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit a078a1fde11b350161e7db2c44353dfae7749212 Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:25 2011 +0200 iwlegacy: enable only rfkill interrupt when device is down Add two below iwlwifi commits to iwlegacy: commit 554d1d027b19265c4aa3f718b3126d2b86e09a08 Author: Stanislaw Gruszka Date: Thu Dec 23 12:38:21 2010 +0100 iwlagn: enable only rfkill interrupt when device is down commit 3dd823e6b86407aed1a025041d8f1df77e43a9c8 Author: Don Fry Date: Sun Feb 6 09:29:45 2011 -0800 iwlagn: Re-enable RF_KILL interrupt when down Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit ab42b4041707f075533845ecb320c7a1c5621f1b Author: Stanislaw Gruszka Date: Thu Apr 28 11:51:24 2011 +0200 iwlegacy: remove duplicate initialization in iwl4956_down() Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 75d80cadf4ceb238e55487ff6d3f9a0706e1028d Author: Stanislaw Gruszka Date: Thu Apr 28 11:12:10 2011 +0200 iwlagn: fix tx power initialization Since commit f844a709a7d8f8be61a571afc31dfaca9e779621 Author: Stanislaw Gruszka Date: Fri Jan 28 16:47:44 2011 +0100 iwlwifi: do not set tx power when channel is changing we set device tx power during initialization to priv->tx_power_next, which itself is initialized to minimum power. That changed default behaviour of driver. Previously we initialized device to transmit at maximum available power by default. Patch change again to previous behaviour and cleanup tx power initialization. Fortunately this is not critical fix, as mac80211 layer setup tx power lately to 14dB, hence device does not operate at minimal transmit power all the time. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 44368796b87d321e6ea84295a23b2e8eb415d300 Author: Sujith Manoharan Date: Thu Apr 28 14:28:51 2011 +0530 ath9k_htc: Dump modal eeprom header for UB91/94/95 Debugfs file location: /ieee80211/phy#/ath9k_htc/modal_eeprom Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 80d887c3b4566f4d14cd7cd5374eba30131d020f Author: Sujith Manoharan Date: Thu Apr 28 14:28:33 2011 +0530 ath9k_htc: Dump base eeprom header for UB91/94/95 Debugfs file location: /ieee80211/phy#/ath9k_htc/base_eeprom Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit dee04cac28b5f8a99e002ec1b2e0a49f3155bda0 Merge: ce6cac8 7cbc9bd Author: John W. Linville Date: Fri Apr 29 15:28:49 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 commit ce6cac88a4f1e52a51a31c31562f4da347543147 Author: John W. Linville Date: Fri Apr 29 15:09:39 2011 -0400 p54: avoid uninitialized variable warning for freq CC [M] drivers/net/wireless/p54/eeprom.o drivers/net/wireless/p54/eeprom.c: In function ‘p54_parse_rssical’: drivers/net/wireless/p54/eeprom.c:494:8: warning: ‘freq’ may be used uninitialized in this function Signed-off-by: John W. Linville commit f9c2fdbab1f1854f2bfcc75c326d0f4537ec2a7e Author: John W. Linville Date: Fri Apr 29 15:04:58 2011 -0400 mwifiex: fix copy-n-paste 'thinko' for tsf_val CC [M] drivers/net/wireless/mwifiex/join.o drivers/net/wireless/mwifiex/join.c: In function ‘mwifiex_cmd_802_11_associate’: drivers/net/wireless/mwifiex/join.c:119:8: warning: ‘tsf_val’ may be used uninitialized in this function drivers/net/wireless/mwifiex/join.c:103:12: note: ‘tsf_val’ was declared here Looks like a copy-n-paste error, identical lines are a few lines below the ones removed, with an actual memcpy to tsf_val in between... Signed-off-by: John W. Linville commit 2eeb6fd063d812a528118536857d078bca5a1e05 Author: John W. Linville Date: Fri Apr 29 14:54:27 2011 -0400 b43: avoid uninitialized variable warnings in phy_n CC [M] drivers/net/wireless/b43/phy_n.o drivers/net/wireless/b43/phy_n.c: In function ‘b43_nphy_set_channel’: drivers/net/wireless/b43/phy_n.c:3848:47: warning: ‘tabent_r2’ may be used uninitialized in this function drivers/net/wireless/b43/phy_n.c:3849:47: warning: ‘tabent_r3’ may be used uninitialized in this function drivers/net/wireless/b43/phy_n.c: In function ‘b43_nphy_poll_rssi.clone.14’: drivers/net/wireless/b43/phy_n.c:2270:6: warning: ‘save_regs_phy$7’ may be used uninitialized in this function drivers/net/wireless/b43/phy_n.c:2270:6: warning: ‘save_regs_phy$8’ may be used uninitialized in this function FWIW, the usage of these variables is goverened by checks that match their initializations. So, I think these are actually false warnings. Still, I would rather avoid the warning SPAM... Signed-off-by: John W. Linville commit e245292e0a98bfbf2b54c5c0f079033f4d06dd32 Author: John W. Linville Date: Fri Apr 29 14:35:14 2011 -0400 ath5k: fix uninitialized var warning for txf2txs CC [M] drivers/net/wireless/ath/ath5k/reset.o drivers/net/wireless/ath/ath5k/reset.c: In function ‘ath5k_hw_init_core_clock’: drivers/net/wireless/ath/ath5k/reset.c:100:51: warning: ‘txf2txs’ may be used uninitialized in this function Signed-off-by: John W. Linville commit 7d36a991e8d36b8ae87e2aa1158d3735e656253b Author: amit salecha Date: Fri Apr 22 16:22:20 2011 +0000 pktgen: create num frags requested Pktgen doesn't generate number of frags requested. Divide packet size by number of frags and fill that in every frags. Example: With packet size 1470, it generate only 11 frags. Initial frags get lenght 706, 353, 177....so on. Last frag get divided by 2. Now with this fix, each frags will get 78 bytes. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit b6202f97897a13ef531b822ab326dfc7eb90bdaf Author: Eric Dumazet Date: Fri Apr 29 10:20:53 2011 -0700 bpf: depends on MODULES module_alloc() and module_free() are available only if CONFIG_MODULES=y Reported-by: Randy Dunlap Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 301120396b766ae4480e52ece220516a1707822b Author: Ingo Molnar Date: Sat Apr 30 09:14:54 2011 +0200 perf events, x86: Add Westmere stalled-cycles-frontend/backend events Extend the Intel Westmere PMU driver with definitions for generic front-end and back-end stall events. ( These are only approximations. ) Reported-by: David Ahern Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-7y40wib8n008io7hjpn1dsrm@git.kernel.org Signed-off-by: Ingo Molnar commit 370faf1dd0461ad811852c8abbbcd3d73b1e4fc4 Author: Ingo Molnar Date: Fri Apr 29 16:11:03 2011 +0200 perf stat: Fail softly on unsupported events David Ahern reported this perf stat failure: > # /tmp/build-perf/perf stat -- sleep 1 > Error: stalled-cycles-frontend event is not supported. > Fatal: Not all events could be opened. > > This is a Dell R410 with an E5620 processor. Fail in a softer fashion on unknown/unsupported events. Reported-by: David Ahern Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-7y40wib8n006io7hjpn1dsrm@git.kernel.org Signed-off-by: Ingo Molnar commit fce3c786d3a49eff397583b4b62fa38df90db937 Author: Ingo Molnar Date: Sat Apr 30 09:03:15 2011 +0200 perf stat: Leave more room for percentages Triple digit percentages do not fit otherwise. Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-7y40wib8n005io7hjpn1dsrm@git.kernel.org Signed-off-by: Ingo Molnar commit 2b427e14b77dbf3e05f1bd0785f1d07ea5fe924e Author: Ingo Molnar Date: Fri Apr 29 14:16:18 2011 +0200 perf stat: Adjust stall cycles warning percentages Adjust to color thresholds to better match the percentages seen in real workloads. Both are now a bit more sensitive. Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-7y40wib8n004io7hjpn1dsrm@git.kernel.org Signed-off-by: Ingo Molnar commit d3d1e86da07b4565815e3dbcd082f53017d215f8 Author: Ingo Molnar Date: Fri Apr 29 13:49:08 2011 +0200 perf stat: Analyze front-end and back-end stall counts Sample output: Performance counter stats for './loop_1b': 873.691065 task-clock # 1.000 CPUs utilized 1 context-switches # 0.000 M/sec 1 CPU-migrations # 0.000 M/sec 96 page-faults # 0.000 M/sec 2,012,637,222 cycles # 2.304 GHz (66.58%) 1,001,397,911 stalled-cycles-frontend # 49.76% frontend cycles idle (66.58%) 7,523,398 stalled-cycles-backend # 0.37% backend cycles idle (66.76%) 2,004,551,046 instructions # 1.00 insns per cycle # 0.50 stalled cycles per insn (66.80%) 1,001,304,992 branches # 1146.063 M/sec (66.76%) 39,453 branch-misses # 0.00% of all branches (66.64%) 0.874046121 seconds time elapsed Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-7y40wib8n003io7hjpn1dsrm@git.kernel.org Signed-off-by: Ingo Molnar commit 129c04cb8ce2e4bf3f17223f58ef16aa8a2cb3b8 Author: Ingo Molnar Date: Fri Apr 29 14:41:28 2011 +0200 perf tools: Add front-end and back-end stalled cycles support Update perf tooling to deal with front-end and back-end stalled cycles events. Add both the default 'perf stat' output. Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-7y40wib8n002io7hjpn1dsrm@git.kernel.org Signed-off-by: Ingo Molnar commit 91fc4cc00099986bc1ba50e1f421c3548cffae42 Author: Ingo Molnar Date: Fri Apr 29 14:17:19 2011 +0200 perf, x86: Add new stalled cycles events for Intel and AMD CPUs Extend the Intel and AMD event definitions with generic front-end and back-end stall events. ( These are only approximations - suggestions are welcome for better events. ) Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-7y40wib8n001io7hjpn1dsrm@git.kernel.org Signed-off-by: Ingo Molnar commit 8f62242246351b5a4bc0c1f00c0c7003edea128a Author: Ingo Molnar Date: Fri Apr 29 13:19:47 2011 +0200 perf events: Add generic front-end and back-end stalled cycle event definitions Add two generic hardware events: front-end and back-end stalled cycles. These events measure conditions when the CPU is executing code but its capabilities are not fully utilized. Understanding such situations and analyzing them is an important sub-task of code optimization workflows. Both events limit performance: most front end stalls tend to be caused by branch misprediction or instruction fetch cachemisses, backend stalls can be caused by various resource shortages or inefficient instruction scheduling. Front-end stalls are the more important ones: code cannot run fast if the instruction stream is not being kept up. An over-utilized back-end can cause front-end stalls and thus has to be kept an eye on as well. The exact composition is very program logic and instruction mix dependent. We use the terms 'stall', 'front-end' and 'back-end' loosely and try to use the best available events from specific CPUs that approximate these concepts. Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-7y40wib8n000io7hjpn1dsrm@git.kernel.org Signed-off-by: Ingo Molnar commit ad227425c9ca907b5498e2558320b7e585d86ec9 Author: David S. Miller Date: Thu Apr 28 23:50:49 2011 -0700 ipv4: Get route daddr from flow key in l2tp_ip_connect(). Now that output route lookups update the flow with destination address selection, we can fetch it from fl4->daddr instead of rt->rt_dst Signed-off-by: David S. Miller commit d4fb3d74d7a17833de2ba8cbd4f029b30feb4825 Author: David S. Miller Date: Thu Apr 28 23:50:32 2011 -0700 ipv4: Get route daddr from flow key in tcp_v4_connect(). Now that output route lookups update the flow with destination address selection, we can fetch it from fl4->daddr instead of rt->rt_dst Signed-off-by: David S. Miller commit 072d8c94142a3a95151774975f6c1fd1dc1f1e1b Author: David S. Miller Date: Thu Apr 28 23:50:09 2011 -0700 ipv4: Get route daddr from flow key in inet_csk_route_req(). Now that output route lookups update the flow with destination address selection, we can fetch it from fl4->daddr instead of rt->rt_dst Signed-off-by: David S. Miller commit 87321c839fb4a65b5d78c16d79d1674cf223a452 Author: David S. Miller Date: Thu Apr 28 23:49:45 2011 -0700 ipv4: Get route daddr from flow key in ip4_datagram_connect(). Now that output route lookups update the flow with destination address selection, we can fetch it from fl4->daddr instead of rt->rt_dst Signed-off-by: David S. Miller commit 91ab0b60a12833b4715b838474f23496af8de30c Author: David S. Miller Date: Thu Apr 28 23:49:30 2011 -0700 ipv4: Get route daddr from flow key in dccp_v4_connect(). Now that output route lookups update the flow with destination address selection, we can fetch it from fl4->daddr instead of rt->rt_dst Signed-off-by: David S. Miller commit 44901666a1a736b3f43eac7894b07183f127e9a9 Author: David S. Miller Date: Thu Apr 28 23:17:58 2011 -0700 ipv4: Fetch route saddr from flow key in l2tp_ip_connect(). Now that output route lookups update the flow with source address selection, we can fetch it from fl4->saddr instead of rt->rt_src Signed-off-by: David S. Miller commit 4071cfff84c5b084762fe288781cd7faab14cb4b Author: David S. Miller Date: Thu Apr 28 23:17:31 2011 -0700 ipv4: Fetch route saddr from flow key in tcp_v4_connect(). Now that output route lookups update the flow with source address selection, we can fetch it from fl4->saddr instead of rt->rt_src Signed-off-by: David S. Miller commit a406b611b5f26a18773e4237d79f6df3eaed1d32 Author: David S. Miller Date: Thu Apr 28 23:17:16 2011 -0700 ipv4: Fetch route saddr from flow key in ip4_datagram_connect(). Now that output route lookups update the flow with source address selection, we can fetch it from fl4->saddr instead of rt->rt_src Signed-off-by: David S. Miller commit b883187785004cacea053569f1655fada0dfc299 Author: David S. Miller Date: Thu Apr 28 23:16:53 2011 -0700 ipv4: Fetch route saddr from flow key in inet_sk_reselect_saddr(). Now that output route lookups update the flow with source address selection, we can fetch it from fl4->saddr instead of rt->rt_src Signed-off-by: David S. Miller commit 6706b6ebab85dfca4e2886e35ec9c3c4ee13e27e Author: David S. Miller Date: Thu Apr 28 23:13:17 2011 -0700 ipv4: Remove now superfluous code in ip_route_connect(). Now that output route lookups update the flow with source address et al. selections, the fl4->{saddr,daddr} assignments here are no longer necessary. Signed-off-by: David S. Miller commit c7a7b814c9dca9ee01b38e63b4a46de87156d3b6 Author: Tim Gardner Date: Thu Apr 28 11:00:30 2011 -0600 ioremap: Delay sanity check until after a successful mapping While tracking down the reason for an ioremap() failure I was distracted by the WARN_ONCE() in __ioremap_caller(). Performing a WARN_ONCE() sanity check before the mapping is successful seems pointless if the caller sends bad values. A case in point is when the BIOS provides erroneous screen_info values causing vesafb_probe() to request an outrageuous size. The WARN_ONCE is then wasted on bogosity. Move the warning to a point where the mapping has been successfully allocated. Addresses: http://bugs.launchpad.net/bugs/772042 Reviewed-by: Suresh Siddha Signed-off-by: Tim Gardner Link: http://lkml.kernel.org/r/4DB99D2E.9080106@canonical.com Signed-off-by: Ingo Molnar commit 813b3b5db831ddbd92b5ce0fdeb74e3368f1323c Author: David S. Miller Date: Thu Apr 28 14:48:42 2011 -0700 ipv4: Use caller's on-stack flowi as-is in output route lookups. Signed-off-by: David S. Miller commit cf91166223772ef4a2ed98b9874958bf6a2470df Author: David S. Miller Date: Thu Apr 28 14:31:47 2011 -0700 net: Use non-zero allocations in dst_alloc(). Make dst_alloc() and it's users explicitly initialize the entire entry. The zero'ing done by kmem_cache_zalloc() was almost entirely redundant. Signed-off-by: David S. Miller commit 5c1e6aa300a7a669dc469d2dcb20172c6bd8fed9 Author: David S. Miller Date: Thu Apr 28 14:13:38 2011 -0700 net: Make dst_alloc() take more explicit initializations. Now the dst->dev, dev->obsolete, and dst->flags values can be specified as well. Signed-off-by: David S. Miller commit 1d2b71f61b6a10216274e27b717becf9ae101fc7 Author: Rafael J. Wysocki Date: Fri Apr 29 00:36:53 2011 +0200 PM / Runtime: Add subsystem data field to struct dev_pm_info Some subsystems need to attach PM-related data to struct device and they need to use devres for this purpose. For their convenience and to make code more straightforward, add a new field called subsys_data to struct dev_pm_info and let subsystems use it for attaching PM-related information to devices. Convert the ARM shmobile platform to using the new field. Signed-off-by: Rafael J. Wysocki commit 638080c37ae08fd0c44cec13d7948ca5385ae851 Author: Kevin Hilman Date: Fri Apr 29 00:36:42 2011 +0200 OMAP2+ / PM: move runtime PM implementation to use device power domains In commit 7538e3db6e015e890825fbd9f8659952896ddd5b (PM: add support for device power domains) a better way for handling platform-specific power hooks was introduced. Rather than using the platform_bus dev_pm_ops overrides (platform_bus_set_pm_ops()), this patch moves the OMAP runtime PM implementation over to using device power domains. Since OMAP is the only user of platform_bus_set_pm_ops(), that interface can be removed (and will be in a forthcoming patch.) [rjw: Rebased on top of a previous change modifying the handling of power domains by the PM core so that power domain callbacks take precendence over subsystem-level PM callbacks.] Signed-off-by: Kevin Hilman Acked-by: Grant Likely Signed-off-by: Rafael J. Wysocki commit 8b313a38ecffc0ff0b4c5115f0a461f73b7dfdb6 Author: Rafael J. Wysocki Date: Fri Apr 29 00:36:32 2011 +0200 PM / Platform: Use generic runtime PM callbacks directly Once shmobile platforms have been converted to using power domains for overriding the platform bus type's PM callbacks, it isn't necessary to use the __weakly defined wrappers around the generinc runtime PM callbacks in the platform bus type any more. Signed-off-by: Rafael J. Wysocki commit 38ade3a1fa0421c12627c7b48c33e89414fc9b76 Author: Rafael J. Wysocki Date: Fri Apr 29 00:36:21 2011 +0200 shmobile: Use power domains for platform runtime PM shmobile platforms replace the runtime PM callbacks of the platform bus type with their own routines, but this means that the callbacks are replaced system-wide. This may not be the right approach if the platform devices on the system are not of the same type (e.g. some of them belong to an SoC and the others are located in separate chips), because in those cases they may require different handling. Thus it is better to use power domains to override the platform bus type's PM handling, as it generally is possible to use different power domains for devices with different PM requirements. Define a default power domain for shmobile in both the SH and ARM falvors and use it to override the platform bus type's PM callbacks. Since the suspend and hibernate callbacks of the new "default" power domains need to be the same and the platform bus type's suspend and hibernate callbacks for the time being, export those callbacks so that can be used outside of the platform bus type code. Signed-off-by: Rafael J. Wysocki commit 69c9dd1ecf446ad8a830e4afc539a2a1adc85b78 Author: Rafael J. Wysocki Date: Fri Apr 29 00:36:05 2011 +0200 PM: Export platform bus type's default PM callbacks Export the default PM callbacks defined for the platform bus type so that they can be used by power domains for suspending and resuming platform devices in the future. Signed-off-by: Rafael J. Wysocki commit 4d27e9dcff00a6425d779b065ec8892e4f391661 Author: Rafael J. Wysocki Date: Fri Apr 29 00:35:50 2011 +0200 PM: Make power domain callbacks take precedence over subsystem ones Change the PM core's behavior related to power domains in such a way that, if a power domain is defined for a given device, its callbacks will be executed instead of and not in addition to the device subsystem's PM callbacks. The idea behind the initial implementation of power domains handling by the PM core was that power domain callbacks would be executed in addition to subsystem callbacks, so that it would be possible to extend the subsystem callbacks by using power domains. It turns out, however, that this wouldn't be really convenient in some important situations. For example, there are systems in which power can only be removed from entire power domains. On those systems it is not desirable to execute device drivers' PM callbacks until it is known that power is going to be removed from the devices in question, which means that they should be executed by power domain callbacks rather then by subsystem (e.g. bus type) PM callbacks, because subsystems generally have no information about what devices belong to which power domain. Thus, for instance, if the bus type in question is the platform bus type, its PM callbacks generally should not be called in addition to power domain callbacks, because they run device drivers' callbacks unconditionally if defined. While in principle the default subsystem PM callbacks, or a subset of them, may be replaced with different functions, it doesn't seem correct to do so, because that would change the subsystem's behavior with respect to all devices in the system, regardless of whether or not they belong to any power domains. Thus, the only remaining option is to make power domain callbacks take precedence over subsystem callbacks. Signed-off-by: Rafael J. Wysocki Acked-by: Grant Likely Acked-by: Kevin Hilman commit 778865a550e7958c1211242cc481f48d46de0f04 Author: David S. Miller Date: Thu Apr 28 13:54:06 2011 -0700 l2tp: Fix inet_opt conversion. We don't actually hold the socket lock at this point, so the rcu_dereference_protected() isn't' correct. Thanks to Eric Dumazet for pointing this out. Thankfully, we're only interested in fetching the faddr value if srr is enabled, so we can simply make this an RCU sequence and use plain rcu_dereference(). Reported-by: Eric Dumazet Signed-off-by: David S. Miller commit b801a4e7092bb869fb5a7d8ee11a9435c5c7b2b1 Author: Michał Mirosław Date: Thu Apr 28 11:59:15 2011 +1000 net: ibmveth: force reconfiguring checksum settings on startup Commit b9367bf3ee6d ("net: ibmveth: convert to hw_features") accidentally removed call to ibmveth_set_csum_offload() in ibmveth_probe(). Put the call back where it was, but with additional error checking provided by ibmveth_set_features(). Signed-off-by: Michał Mirosław Reported-by: Stephen Rothwell [sfr: dev -> netdev] Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 89b4208e2861bc7dc325840b44bae302a4e30add Author: Sucheta Chakraborty Date: Wed Apr 27 14:43:44 2011 +0000 qlcnic: fix memory leak in qlcnic_blink_led. o Memory allocated in ETHTOOL_ACTIVE mode, is not getting freed. So, in ETHTOOL_ID_INACTIVE mode, return after freeing allocated memory. o Using set bit instead of blink_down field, as it is also required in internal Loopback test and etc. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 63c3a66fe6c827a731dcbdee181158b295626f83 Author: Joe Perches Date: Tue Apr 26 08:12:10 2011 +0000 tg3: Convert u32 flag,flg2,flg3 uses to bitmap Using a bitmap instead of separate u32 flags allows a consistent, simpler and more extensible mechanism to determine capabilities. Convert bitmasks to enum. Add tg3_flag, tg3_flag_clear and tg3_flag_set. Convert the flag & bitmask tests. Signed-off-by: Joe Perches Acked-by: Matt Carlson Signed-off-by: David S. Miller commit 7068b7a16270f1e85a8893d74b0f3c58d7826883 Author: John Stultz Date: Thu Apr 28 13:29:18 2011 -0700 timers: Remove delayed irqwork from alarmtimers implementation Thomas asked about the delayed irq work in the alarmtimers code, and I realized that it was a legacy from when the alarmtimer base lock was a mutex (due to concerns that we'd be interacting with the RTC device, which is protected by mutexes). Since the alarmtimer base is now protected by a spinlock, we can simply execute alarmtimer functions directly from the hrtimer callback. Should any future alarmtimer functions sleep, they can simply manage scheduling any delayed work themselves. CC: Thomas Gleixner Signed-off-by: John Stultz commit 180bf812ceaf01eb8ac69b86f3be0bd57f697668 Author: John Stultz Date: Thu Apr 28 12:58:11 2011 -0700 timers: Improve alarmtimer comments and minor fixes This patch addresses a number of minor comment improvements and other minor issues from Thomas' review of the alarmtimers code. CC: Thomas Gleixner Signed-off-by: John Stultz commit fa2bd7ff9247f4218dfc907db14d000cd7edd862 Author: Michał Mirosław Date: Fri Apr 22 06:31:16 2011 +0000 net: allow user to change NETIF_F_HIGHDMA NETIF_F_HIGHDMA is like any other TX offloads, so allow user to toggle it. This is needed later for bridge and bonding convertsion to hw_features. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit c4d27ef957cd9261c0bc8488edaf8390e412cd35 Author: Michał Mirosław Date: Fri Apr 22 06:31:16 2011 +0000 bridge: convert br_features_recompute() to ndo_fix_features Note: netdev_update_features() needs only rtnl_lock as br->port_list is only changed while holding it. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 1742f183fc218798dab6fcf0ded25b6608fc0a48 Author: Michał Mirosław Date: Fri Apr 22 06:31:16 2011 +0000 net: fix netdev_increment_features() Simplify and fix netdev_increment_features() to conform to what is stated in netdevice.h comments about NETIF_F_ONE_FOR_ALL. Include FCoE segmentation and VLAN-challedged flags in computation. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 96339d6c490a32de35fa798ca7922d13a8538ecd Author: Shan Wei Date: Fri Apr 22 19:07:41 2011 +0800 net:use help function of skb_checksum_start_offset to calculate offset Although these are equivalent, but the skb_checksum_start_offset() is more readable. Signed-off-by: Shan Wei Signed-off-by: David S. Miller commit f6d8bd051c391c1c0458a30b2a7abcd939329259 Author: Eric Dumazet Date: Thu Apr 21 09:45:37 2011 +0000 inet: add RCU protection to inet->opt We lack proper synchronization to manipulate inet->opt ip_options Problem is ip_make_skb() calls ip_setup_cork() and ip_setup_cork() possibly makes a copy of ipc->opt (struct ip_options), without any protection against another thread manipulating inet->opt. Another thread can change inet->opt pointer and free old one under us. Use RCU to protect inet->opt (changed to inet->inet_opt). Instead of handling atomic refcounts, just copy ip_options when necessary, to avoid cache line dirtying. We cant insert an rcu_head in struct ip_options since its included in skb->cb[], so this patch is large because I had to introduce a new ip_options_rcu structure. Signed-off-by: Eric Dumazet Cc: Herbert Xu Signed-off-by: David S. Miller commit 7cbc9bd99542752ff570abca79d0027669a01fb8 Author: Johan Hedberg Date: Thu Apr 28 11:29:04 2011 -0700 Bluetooth: Fix updating conn->auth_type in hci_io_capa_request_evt In some circumstances hci_get_auth_req will return a value different from the current conn->auth_type. In these cases update conn->auth_type so that when a user confirm request comes it doesn't falsely trigger auto-accept. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 4df378a10e31698df1679f3329301d773a654b61 Author: Johan Hedberg Date: Thu Apr 28 11:29:03 2011 -0700 Bluetooth: Add store_hint parameter to mgmt_new_key Even for keys that shouldn't be stored some use cases require the knowledge of a new key having been created so that the conclusion of a successful pairing can be made. Therefore, always send the mgmt_new_key event but add a store_hint parameter to it to indicate to user space whether the key should be stored or not. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 4748fed2d1a2a7a816277754498b8aa70850e051 Author: Johan Hedberg Date: Thu Apr 28 11:29:02 2011 -0700 Bluetooth: Remove old_key_type from mgmt_ev_new_key User space shouldn't have any need for the old key type so remove it from the corresponding Management interface event. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 655fe6ece7e71b37c17577ae485d11bf701c95f7 Author: Johan Hedberg Date: Thu Apr 28 11:29:01 2011 -0700 Bluetooth: Fix connection key type updating for buggy controllers If a controller generates a changed combination key as its first key the connection key type will not be correctly set. In these situations make sure the update the connection key type when such a buggy controller is detected. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 12adcf3a953c3aa4006d855aa638133bf018ceac Author: Johan Hedberg Date: Thu Apr 28 11:29:00 2011 -0700 Bluetooth: Fix old_key_type logic for non-persistent keys Even if there's no previous key stored the connection might still be secured with a non-persistent key and in that case the key type in the hci_conn struct should be checked. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit d25e28abe58d2bcedf6025a6ccc532c29a19046f Author: Johan Hedberg Date: Thu Apr 28 11:28:59 2011 -0700 Bluetooth: Fix link key persistent storage criteria Link keys should only be stored if very specific criteria of the authentication process are fulfilled. This patch essentially copies the criteria that user space has so far been using to the kernel side so that the management interface works properly. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 582fbe9ef9d6fc089ff20956595f046d4899e74e Author: Johan Hedberg Date: Thu Apr 28 11:28:58 2011 -0700 Bluetooth: Fix logic in hci_pin_code_request_evt The mgmt_ev_pin_code_request event should not be sent to user space if the request gets rejected by the kernel due to the pairable flag not being set. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit be77159c3f37e73a18ecc5c1eab3c67e07c6ce22 Author: Johan Hedberg Date: Thu Apr 28 11:28:57 2011 -0700 Bluetooth: Fix reason code for pairing rejection "Pairing not allowed" is 0x18 and not 0x16. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 55bc1a378cc35f21a26e07af2ff2b71820808cd4 Author: Johan Hedberg Date: Thu Apr 28 11:28:56 2011 -0700 Bluetooth: Add confirm_hint parameter to user confirmation requests When accepting a pairing request which fulfills the SSP auto-accept criteria we need to push the request all the way to the user for confirmation. This patch adds a new hint to the user_confirm_request management event so user space can know when to show a numeric comparison dialog and when to show a simple yes/no confirmation dialog. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 79c6c70cbe35c270e7b59207ab76b44183a1030a Author: Johan Hedberg Date: Thu Apr 28 11:28:55 2011 -0700 Bluetooth: Fix HCI_CONN_AUTH_PEND flag for all authentication requests The HCI_CONN_AUTH_PEND flag should be set whenever requesting authentication so that multiple pending requests can't occur. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 9f61656a60c9506e3e4cd41af5efbcf6a30ee3b9 Author: Johan Hedberg Date: Thu Apr 28 11:28:54 2011 -0700 Bluetooth: Add variable SSP auto-accept delay support Some test systems require an arbitrary delay to the auto-accept test cases for Secure Simple Pairing in order for the tests to pass. Previously when this was handled in user space it was worked around by code modifications and recompilation, but now that it's on the kernel side it's more convenient if there's a debugfs interface for it. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 7a828908a026d801c6192fd32cfb35d6843f1539 Author: Johan Hedberg Date: Thu Apr 28 11:28:53 2011 -0700 Bluetooth: Add automated SSP user confirmation responses This patch adds automated negative and positive (auto-accept) responses for Secure Simple Pairing user confirmation requests. The responses are only sent if the HCI_MGMT flag is set in order not to confuse older user space versions (without management interface support). Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 030fe7974f48bd86bb706ec05188ebab0cb7af80 Author: Amitkumar Karwar Date: Wed Apr 27 19:13:13 2011 -0700 mwifiex: fix bug in mwifiex_save_curr_bcn() Since timestamp in beacon buffer keeps changing all the time, the memcmp check in mwifiex_save_curr_bcn() is redundant. Remove that memcmp check and also avoid freeing and allocation of buffer if required beacon buffer size is same as previous one. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit a46b7b5c13b9ecfe2b4e045e06aaec644dcf55d8 Author: Amitkumar Karwar Date: Wed Apr 27 19:13:12 2011 -0700 mwifiex: HT capability information handling 1) Initialise HT capabilities in cfg80211 properly. 2) Cfg80211 stack may modify "sband->ht_cap" to disable 40Mhz operation in 2.4GHz band (after recent patch "cfg80211: module_param to disable HT40 in 2.4GHz band") Therefore read "sband->ht_cap" instead of an adapter variable "hw_dot_11n_dev_cap" to get HT capabilities. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit adc89595732b92f78940fc0ccdb52afaec582a48 Author: Amitkumar Karwar Date: Wed Apr 27 19:13:11 2011 -0700 mwifiex: check firmware capabilities while initialising 5GHz band parameters There are some SD8787 cards which don't support 5GHz band. Therefore initialise 5GHz band parameters only if hardware supports the band. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 49adc5ceb2b95e517baf625e0c8e06e91073009b Author: John W. Linville Date: Wed Apr 27 15:04:28 2011 -0400 mwl8k: replace rateinfo bitfields with mask and shift macros AFAICT, this driver is claiming that 24 bits of rate info fit into a 16-bit field in the Tx descriptor. Anyway, the use of bitfields is frowned-upon for a variety of well-documented reasons... Signed-off-by: John W. Linville commit af335a6cbc3dfcba64ad31561c0da563d1c43a2d Author: Rafał Miłecki Date: Wed Apr 27 18:21:34 2011 +0200 ssb: pci: early fix for SPROM core index Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 5890a3ca34aae94dd736557ad8cb898ac2802aa0 Author: Rafał Miłecki Date: Wed Apr 27 17:39:48 2011 +0200 ssb: pci: update PCIe workarounds Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6e914101d47c76e09b0568d094ef44257dd3d6e9 Author: Rafał Miłecki Date: Wed Apr 27 17:39:47 2011 +0200 ssb: pci: separate workarounds Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit aac6af5534fade2b18682a0b9efad1a6c04c34c6 Author: Yogesh Ashok Powar Date: Wed Apr 27 18:40:29 2011 +0530 mac80211: Skip tailroom reservation for full HW-crypto devices In xmit path, devices that do full hardware crypto (including TKIP MMIC) need no tailroom. For such devices, tailroom reservation can be skipped if all the keys are programmed into the hardware (i.e software crypto is not used for any of the keys) and none of the keys wants software to generate Michael MIC. Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit e2186b7c25ef9cdb6d631c8dd6a672f41abe22d5 Author: Sujith Manoharan Date: Wed Apr 27 17:13:40 2011 +0530 ath9k_htc: Add set_bitrate_mask() callback This callback is used to set the minimum rate for management frames. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit a55bb94aa37782fe9457751a3e508b1129fbbc7a Author: Sujith Manoharan Date: Wed Apr 27 17:13:23 2011 +0530 ath9k_htc: Add a new WMI command to set a rate mask This patch adds WMI_BITRATE_MASK_CMDID which can be used by the set_bitrate_mask() handler. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 155dcda6f11a58e4e1443d5fad530b0bf68370b7 Author: Sujith Manoharan Date: Wed Apr 27 17:13:09 2011 +0530 ath9k_htc: Remove unused WMI_AGGR_LIMIT_CMD Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 484b1829c6a3c5bc38fe0cd626ce2e8a3dfd844c Author: Sujith Manoharan Date: Wed Apr 27 17:12:56 2011 +0530 ath9k_htc: Increase credit size for AR7010 devices Bump the firmware version to 1.2 Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit bdbfd6b582f55384059d9ac5e65b3653092e6adf Author: Sujith Manoharan Date: Wed Apr 27 16:56:51 2011 +0530 mac80211: Add new API for rate selection This patch adds a new API for setting a TX rate mask in drivers that have rate control in either the firmware or hardware. This can be used for various purposes, for example, masking out the 11b rates in P2P operation. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 8973a6e770fc891f92daacbc1c92c7cd396fcf7e Author: Randy Dunlap Date: Tue Apr 26 15:25:29 2011 -0700 libertas: use kernel-doc notation, fix comment style Convert all libertas/ files to use kernel-doc notation instead of whatever it was (doxygen?). Add or fix function parameters in several places. Use expected style for multi-line comments in lots of places. Remove erroneous /** in multiple places. Signed-off-by: Randy Dunlap Acked-by: Dan Williams Signed-off-by: John W. Linville commit 47684808fd89d6809c0886e06f8ac324252499d8 Author: Arik Nemtsov Date: Tue Apr 26 23:21:51 2011 +0300 wl12xx: support FW TX inactivity triggers In AP mode we register for the MAX_TX_RETRY and INACTIVE_STA events. Both are reported to the upper layers as a TX failure in the offending stations. In STA mode we register only for the MAX_TX_RETRY event. A TX failure is interpreted as a loss of connection. Support for IEEE80211_HW_REPORTS_TX_ACK_STATUS has been removed to avoid the inherent race condition of a mac80211 TX failure counter in addition to the FW counter. This patch depends on "mac80211: allow low level driver to report packet loss" Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit a039a993496d79d09ae9709c82b545b9800954c9 Author: Vivek Natarajan Date: Tue Apr 26 10:39:55 2011 +0530 ath9k: Use ps wrappers for btcoex logic. Use ps wrappers before accessing hw registers in btcoex. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit f78eb657f067ce87e19da94138d22cde8236c7db Author: Vivek Natarajan Date: Tue Apr 26 10:39:54 2011 +0530 ath9k_hw: Enable generic timer interrupt. Generic timer interrupt was not triggered unless autosleep was disabled. Since autosleep is enabled in the newer chipsets, enable generic timer for using with bt coex logic. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit a6ef530f2b0bc7e871e8c2f2b2a0905eed57fead Author: Vivek Natarajan Date: Tue Apr 26 10:39:53 2011 +0530 ath9k_hw: Add support for btcoexistence in AR9300. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 978f78bf71372a48785ac9407ebc10170f14f56c Author: Vivek Natarajan Date: Tue Apr 26 10:39:52 2011 +0530 ath9k_hw: Move bt_stomp to hw from common. Move bt_stomp to ath9k_hw and add its support for latest chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 8178d38b704f0a08a74b030c35e6eca5f5019d3d Author: Arik Nemtsov Date: Mon Apr 18 14:22:28 2011 +0300 mac80211: allow low level drivers to report packet loss Add API that allows low level drivers to notify mac80211 about TX packet loss. This is useful when there are FW triggers to notify the low level driver about these events. Signed-off-by: Arik Nemtsov Signed-off-by: John W. Linville commit a770bb5aea84ee2509d4775f9959665f96da3b9d Author: Waldemar Rymarkiewicz Date: Thu Apr 28 12:07:59 2011 +0200 Bluetooth: Add secure flag for mgmt_pin_code_req Extend the mgmt_pin_code_request interface to require secure pin code (16 digit) for authentication. This is a kernel part of the secure pin code requirement notification to user space agent. Code styling fix by Johan Hedberg. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 58797bf77234154a84827186bda316a1205bde05 Author: Waldemar Rymarkiewicz Date: Thu Apr 28 12:07:58 2011 +0200 Bluetooth: Respect local MITM req in io_cap reply If host requires MITM protection notify that to controller in io capabilities reply even if the remote device requires no bonding. If it is not respected, host can get an unauthenticated link key while it expects authenticated one. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit 60b83f571cf17a7a8ca9ddf2090db63e6a594571 Author: Waldemar Rymarkiewicz Date: Thu Apr 28 12:07:56 2011 +0200 Bluetooth: Ignore key unauthenticated for high security High security level for pre v2.1 devices requires combination link key authenticated by at least 16 digit PIN code. It's also necessary to update key_type and pin_length when the key exists and is sufficently secured for the connection as there will be no link key notify event in that case. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit 13d39315c22b128f4796fc008b04914a7c32bb1a Author: Waldemar Rymarkiewicz Date: Thu Apr 28 12:07:55 2011 +0200 Bluetooth: Map sec_level to link key requirements Keep the link key type together with connection and use it to map security level to link key requirements. Authenticate and/or encrypt connection if the link is insufficiently secure. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit 9003c4e220c2954a53c5da0d739ed15a46c13429 Author: Waldemar Rymarkiewicz Date: Thu Apr 28 12:07:54 2011 +0200 Bluetooth: Don't modify sec_level if auth failed If authentication fails the security level should stay as it was set before the process has started. Setting BT_SECURITY_LOW can hide real security level on a link eg. having BT_SECURITY_MEDIUM on the link, re-authenticate with failure to get BT_SECURITY_HIGH, as a result we get BT_SECURITY_LOW on the link while the real security is still medium. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit b6020ba055c7f1ca901dc8751ecc7c9de58164db Author: Waldemar Rymarkiewicz Date: Thu Apr 28 12:07:53 2011 +0200 Bluetooth: Add definitions for link key types Introduce the link key types defs and use them instead of magic numbers. Signed-off-by: Waldemar Rymarkiewicz Signed-off-by: Gustavo F. Padovan commit b013c399245a88a73aaa031279f0c4d7cea7fe68 Author: Oleg Nesterov Date: Thu Apr 28 11:36:20 2011 +0200 signal: cleanup sys_sigprocmask() Cleanup. Remove the unneeded goto's, we can simply read blocked.sig[0] unconditionally and then copy-to-user it if oset != NULL. Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo Reviewed-by: Matt Fleming commit 702a5073fdb71eb29cd4912575289fb5044c1894 Author: Oleg Nesterov Date: Wed Apr 27 22:01:27 2011 +0200 signal: rename signandsets() to sigandnsets() As Tejun and Linus pointed out, "nand" is the wrong name for "x & ~y", it should be "andn". Rename signandsets() as suggested. Suggested-by: Tejun Heo Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo commit b182801ab35f7a0afb3cdf8ba5df464d04206b46 Author: Oleg Nesterov Date: Wed Apr 27 21:56:14 2011 +0200 signal: do_sigtimedwait() needs retarget_shared_pending() do_sigtimedwait() changes current->blocked and thus it needs set_current_blocked()->retarget_shared_pending(). We could use set_current_blocked() directly. It is fine to change ->real_blocked from all-zeroes to ->blocked and vice versa lockless, but this is not immediately clear, looks racy, and needs a huge comment to explain why this is correct. To keep the things simple this patch adds the new static helper, __set_task_blocked() which should be called with ->siglock held. This way we can change both ->real_blocked and ->blocked atomically under ->siglock as the current code does. This is more understandable. Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo Reviewed-by: Matt Fleming commit 943df1485a8ff0e600729e082e568ece04d4de9e Author: Oleg Nesterov Date: Wed Apr 27 21:44:14 2011 +0200 signal: introduce do_sigtimedwait() to factor out compat/native code Factor out the common code in sys_rt_sigtimedwait/compat_sys_rt_sigtimedwait to the new helper, do_sigtimedwait(). Add the comment to document the extra tick we add to timespec_to_jiffies(ts), thanks to Linus who explained this to me. Perhaps it would be better to move compat_sys_rt_sigtimedwait() into signal.c under CONFIG_COMPAT, then we can make do_sigtimedwait() static. Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo Reviewed-by: Matt Fleming commit fe0faa005d43bc44c357631d51c273806086caa4 Author: Oleg Nesterov Date: Wed Apr 27 21:24:19 2011 +0200 signal: sys_rt_sigtimedwait: simplify the timeout logic No functional changes, cleanup compat_sys_rt_sigtimedwait() and sys_rt_sigtimedwait(). Calculate the timeout before we take ->siglock, this simplifies and lessens the code. Use timespec_valid() to check the timespec. Signed-off-by: Oleg Nesterov Acked-by: Tejun Heo Reviewed-by: Matt Fleming commit bb7efee2ca63b08795ffb3cda96fc89d2e641b79 Author: Oleg Nesterov Date: Wed Apr 27 21:18:10 2011 +0200 signal: cleanup sys_rt_sigprocmask() sys_rt_sigprocmask() looks unnecessarily complicated, simplify it. We can just read current->blocked lockless unconditionally before anything else and then copy-to-user it if needed. At worst we copy 4 words on mips. We could copy-to-user the old mask first and simplify the code even more, but the patch tries to keep the current behaviour: we change current->block even if copy_to_user(oset) fails. Signed-off-by: Oleg Nesterov Reviewed-by: Matt Fleming Acked-by: Tejun Heo commit e9bd3f0faa90084f188830d77723bafe422e486b Author: Oleg Nesterov Date: Wed Apr 27 21:09:39 2011 +0200 x86: signal: sys_rt_sigreturn() should use set_current_blocked() Normally sys_rt_sigreturn() restores the old current->blocked which was changed by handle_signal(), and unblocking is always fine. But the debugger or application itself can change frame->uc_sigmask and thus we need set_current_blocked()->retarget_shared_pending(). Signed-off-by: Oleg Nesterov Reviewed-by: Matt Fleming Acked-by: Tejun Heo commit e6a585801b451443480ff66914a522b482457460 Author: Oleg Nesterov Date: Wed Apr 27 21:04:28 2011 +0200 x86: signal: handle_signal() should use set_current_blocked() This is ugly, but if sigprocmask() needs retarget_shared_pending() then handle signal should follow this logic. In theory it is newer correct to add the new signals to current->blocked, the signal handler can sleep/etc so we should notify other threads in case we block the pending signal and nobody else has TIF_SIGPENDING. Of course, this change doesn't make signals faster :/ Signed-off-by: Oleg Nesterov Reviewed-by: Matt Fleming Acked-by: Tejun Heo commit e6fa16ab9c1e9b344428e6fea4d29e3cc4b28fb0 Author: Oleg Nesterov Date: Wed Apr 27 20:59:41 2011 +0200 signal: sigprocmask() should do retarget_shared_pending() In short, almost every changing of current->blocked is wrong, or at least can lead to the unexpected results. For example. Two threads T1 and T2, T1 sleeps in sigtimedwait/pause/etc. kill(tgid, SIG) can pick T2 for TIF_SIGPENDING. If T2 calls sigprocmask() and blocks SIG before it notices the pending signal, nobody else can handle this pending shared signal. I am not sure this is bug, but at least this looks strange imho. T1 should not sleep forever, there is a signal which should wake it up. This patch moves the code which actually changes ->blocked into the new helper, set_current_blocked() and changes this code to call retarget_shared_pending() as exit_signals() does. We should only care about the signals we just blocked, we use "newset & ~current->blocked" as a mask. We do not check !sigisemptyset(newblocked), retarget_shared_pending() is cheap unless mask & shared_pending. Note: for this particular case we could simply change sigprocmask() to return -EINTR if signal_pending(), but then we should change other callers and, more importantly, if we need this fix then set_current_blocked() will have more callers and some of them can't restart. See the next patch as a random example. Signed-off-by: Oleg Nesterov Reviewed-by: Matt Fleming Acked-by: Tejun Heo commit 73ef4aeb61b53fce464a7e24ef03a26f98b2f617 Author: Oleg Nesterov Date: Wed Apr 27 19:54:20 2011 +0200 signal: sigprocmask: narrow the scope of ->siglock No functional changes, preparation to simplify the review of the next change. 1. We can read current->block lockless, nobody else can ever change this mask. 2. Calculate the resulting sigset_t outside of ->siglock into the temporary variable, then take ->siglock and change ->blocked. Also, kill the stale comment about BKL. Signed-off-by: Oleg Nesterov Reviewed-by: Matt Fleming Acked-by: Tejun Heo commit fec9993db093acfc3999a364e31f8adae41fcb28 Author: Oleg Nesterov Date: Wed Apr 27 19:50:21 2011 +0200 signal: retarget_shared_pending: optimize while_each_thread() loop retarget_shared_pending() blindly does recalc_sigpending_and_wake() for every sub-thread, this is suboptimal. We can check t->blocked and stop looping once every bit in shared_pending has the new target. Note: we do not take task_is_stopped_or_traced(t) into account, we are not trying to speed up the signal delivery or to avoid the unnecessary (but harmless) signal_wake_up(0) in this unlikely case. Signed-off-by: Oleg Nesterov Reviewed-by: Matt Fleming Acked-by: Tejun Heo commit f646e227b88a164a841d6b6dd969d8a45272dd83 Author: Oleg Nesterov Date: Wed Apr 27 19:18:39 2011 +0200 signal: retarget_shared_pending: consider shared/unblocked signals only exit_signals() checks signal_pending() before retarget_shared_pending() but this is suboptimal. We can avoid the while_each_thread() loop in case when there are no shared signals visible to us. Add the "shared_pending.signal & ~blocked" check. We don't use tsk->blocked directly but pass ~blocked as an argument, this is needed for the next patch. Note: we can optimize this more. while_each_thread(t) can check t->blocked into account and stop after every pending signal has the new target, see the next patch. Signed-off-by: Oleg Nesterov Reviewed-by: Matt Fleming Acked-by: Tejun Heo commit 0edceb7bcd82802f721f3c94eed9b3e2869d3740 Author: Oleg Nesterov Date: Wed Apr 27 19:17:37 2011 +0200 signal: introduce retarget_shared_pending() No functional changes. Move the notify-other-threads code from exit_signals() to the new helper, retarget_shared_pending(). Signed-off-by: Oleg Nesterov Reviewed-by: Matt Fleming Acked-by: Tejun Heo commit e11feaa1192a079ba8e88a12121e9b12d55d4239 Author: Jeff Mahoney Date: Wed Apr 27 14:27:24 2011 -0400 watchdog, hung_task_timeout: Add Kconfig configurable default This patch allows the default value for sysctl_hung_task_timeout_secs to be set at build time. The feature carries virtually no overhead, so it makes sense to keep it enabled. On heavily loaded systems, though, it can end up triggering stack traces when there is no bug other than the system being underprovisioned. We use this patch to keep the hung task facility available but disabled at boot-time. The default of 120 seconds is preserved. As a note, commit e162b39a may have accidentally reverted commit fb822db4, which raised the default from 120 seconds to 480 seconds. Signed-off-by: Jeff Mahoney Acked-by: Mandeep Singh Baines Link: http://lkml.kernel.org/r/4DB8600C.8080000@suse.com Signed-off-by: Ingo Molnar commit ede70290046043b2638204cab55e26ea1d0c6cd9 Author: Ingo Molnar Date: Thu Apr 28 08:48:42 2011 +0200 perf stat: Fix compatibility behavior Instead of failing on an unknown event, when new perf stat is run on older kernels: $ ./perf stat true Error: open_counter returned with 22 (Invalid argument). /bin/dmesg may provide additional information. Fatal: Not all events could be opened. Just ignore EINVAL and ENOSYS, we'll print the results as not counted: Performance counter stats for 'true': 0.239483 task-clock # 0.493 CPUs utilized 0 context-switches # 0.000 M/sec 0 CPU-migrations # 0.000 M/sec 86 page-faults # 0.359 M/sec 704,766 cycles # 2.943 GHz stalled-cycles 381,961 instructions # 0.54 insns per cycle 69,626 branches # 290.735 M/sec 4,594 branch-misses # 6.60% of all branches 0.000485883 seconds time elapsed Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-7y40wib8n1eqio5hjpn3dsrm@git.kernel.org Signed-off-by: Ingo Molnar commit f9cef0a90c4e7637f1ec98474a1a099aec45eb65 Author: Ingo Molnar Date: Thu Apr 28 18:17:11 2011 +0200 perf stat: Add --sync/-S option --sync will tell perf stat to run sync() before starting a command. This allows IO-heavy tests to be used with --repeat, without one iteration impacting the other. Elapsed time will stabilize for example: before: 3.971525714 seconds time elapsed ( +- 8.56% ) after: 3.211098537 seconds time elapsed ( +- 1.52% ) So measurements will be more accurate. Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-7y40wib8n1eqio7hjpn1dsrm@git.kernel.org Signed-off-by: Ingo Molnar commit 8a850cadca0e387c87a0911a61e99fd66aeb57ec Author: Ingo Molnar Date: Thu Apr 28 11:16:44 2011 +0200 perf event, x86: Use better stalled cycles metric Use the UOPS_EXECUTED.*,c=1,i=1 event on Intel CPUs - it is a rather good indicator of CPU execution stalls, more sensitive and more inclusive than the 0xa2 resource stalls event (which does not count nearly as many stall types). Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-7y40wib8n1eqio7hjpn2dsrm@git.kernel.org Signed-off-by: Ingo Molnar commit 0a14842f5a3c0e88a1e59fac5c3025db39721f74 Author: Eric Dumazet Date: Wed Apr 20 09:27:32 2011 +0000 net: filter: Just In Time compiler for x86-64 In order to speedup packet filtering, here is an implementation of a JIT compiler for x86_64 It is disabled by default, and must be enabled by the admin. echo 1 >/proc/sys/net/core/bpf_jit_enable It uses module_alloc() and module_free() to get memory in the 2GB text kernel range since we call helpers functions from the generated code. EAX : BPF A accumulator EBX : BPF X accumulator RDI : pointer to skb (first argument given to JIT function) RBP : frame pointer (even if CONFIG_FRAME_POINTER=n) r9d : skb->len - skb->data_len (headlen) r8 : skb->data To get a trace of generated code, use : echo 2 >/proc/sys/net/core/bpf_jit_enable Example of generated code : # tcpdump -p -n -s 0 -i eth1 host 192.168.20.0/24 flen=18 proglen=147 pass=3 image=ffffffffa00b5000 JIT code: ffffffffa00b5000: 55 48 89 e5 48 83 ec 60 48 89 5d f8 44 8b 4f 60 JIT code: ffffffffa00b5010: 44 2b 4f 64 4c 8b 87 b8 00 00 00 be 0c 00 00 00 JIT code: ffffffffa00b5020: e8 24 7b f7 e0 3d 00 08 00 00 75 28 be 1a 00 00 JIT code: ffffffffa00b5030: 00 e8 fe 7a f7 e0 24 00 3d 00 14 a8 c0 74 49 be JIT code: ffffffffa00b5040: 1e 00 00 00 e8 eb 7a f7 e0 24 00 3d 00 14 a8 c0 JIT code: ffffffffa00b5050: 74 36 eb 3b 3d 06 08 00 00 74 07 3d 35 80 00 00 JIT code: ffffffffa00b5060: 75 2d be 1c 00 00 00 e8 c8 7a f7 e0 24 00 3d 00 JIT code: ffffffffa00b5070: 14 a8 c0 74 13 be 26 00 00 00 e8 b5 7a f7 e0 24 JIT code: ffffffffa00b5080: 00 3d 00 14 a8 c0 75 07 b8 ff ff 00 00 eb 02 31 JIT code: ffffffffa00b5090: c0 c9 c3 BPF program is 144 bytes long, so native program is almost same size ;) (000) ldh [12] (001) jeq #0x800 jt 2 jf 8 (002) ld [26] (003) and #0xffffff00 (004) jeq #0xc0a81400 jt 16 jf 5 (005) ld [30] (006) and #0xffffff00 (007) jeq #0xc0a81400 jt 16 jf 17 (008) jeq #0x806 jt 10 jf 9 (009) jeq #0x8035 jt 10 jf 17 (010) ld [28] (011) and #0xffffff00 (012) jeq #0xc0a81400 jt 16 jf 13 (013) ld [38] (014) and #0xffffff00 (015) jeq #0xc0a81400 jt 16 jf 17 (016) ret #65535 (017) ret #0 Signed-off-by: Eric Dumazet Cc: Arnaldo Carvalho de Melo Cc: Ben Hutchings Cc: Hagen Paul Pfeifer Signed-off-by: David S. Miller commit 314b2381a79c6bfe3ddc4ba3806ecb6aec27a3db Author: Johan Hedberg Date: Wed Apr 27 10:29:57 2011 -0400 Bluetooth: Add discovering event to the Management interface This patch adds a new event to the Management interface to track when local adapters are discovering remote devices. For now this only tracks BR/EDR discovery procedures. Signed-off-by: Johan Hedberg Signed-off-by: Anderson Briglia Signed-off-by: Gustavo F. Padovan commit 14a53664138a8407382745bb470045d1817b7801 Author: Johan Hedberg Date: Wed Apr 27 10:29:56 2011 -0400 Bluetooth: Add basic discovery commands to the management interface This patch adds start_discovery and stop_discovery commands to the management interface. Right now their implementation is fairly simplistic and the parameters are fixed to what user space has defaulted to so far. This is the very initial phase for discovery implementation into the kernel. Next steps include name resolution, LE scanning and bdaddr type handling. Signed-off-by: Johan Hedberg Signed-off-by: Anderson Briglia Signed-off-by: Gustavo F. Padovan commit cf2f90f59bbf2c2a539d171cde6e1dfe72048555 Author: Gustavo F. Padovan Date: Wed Apr 27 18:40:39 2011 -0300 Bluetooth: Don't export l2cap_sock_ops l2cap_sk_ops can be static, it's not used outside l2cap_sock.c Signed-off-by: Gustavo F. Padovan commit 6ff5abbf4e4aa88feb9c2367d4fbd9ea081bf98c Author: Gustavo F. Padovan Date: Mon Apr 25 15:10:41 2011 -0300 Bluetooth: Fix memory leak with L2CAP channels A new l2cap_chan_free() is added to free the channels. Signed-off-by: Gustavo F. Padovan commit 8c1d787be4b62d2d1b6f04953eca4bcf7c839d44 Author: Gustavo F. Padovan Date: Wed Apr 13 20:23:55 2011 -0300 Bluetooth: Move conn to struct l2cap_chan There is no need to the socket deal directly with the channel, most of the time it cares about the channel only. Signed-off-by: Gustavo F. Padovan commit fe4128e0aabc3c748786c00da21e6eff9d3aeddb Author: Gustavo F. Padovan Date: Wed Apr 13 19:50:45 2011 -0300 Bluetooth: Move more vars to struct l2cap_chan In this commit, psm, scid and dcid. Signed-off-by: Gustavo F. Padovan commit 0c1bc5c626e9783034264ccca4b262b3acc628f1 Author: Gustavo F. Padovan Date: Wed Apr 13 17:20:49 2011 -0300 Bluetooth: Move more channel info to struct l2cap_chan In this commit, omtu, imtu, flush_to, mode and sport. It also remove the pi var from l2cap_sock_sendmsg(). Signed-off-by: Gustavo F. Padovan commit 47d1ec6161da2c7b9dbc56a5200fa26b17d5fdc1 Author: Gustavo F. Padovan Date: Wed Apr 13 15:57:03 2011 -0300 Bluetooth: Move more vars to struct l2cap_chan In this commit all ERTM and Streaming Mode specific vars. Signed-off-by: Gustavo F. Padovan commit 4343478f3a4806394136d8141b2e451aa5443f03 Author: Gustavo F. Padovan Date: Tue Apr 12 18:31:57 2011 -0300 Bluetooth: Move some more elements to struct l2cap_chan In this commit sec_level, force_reliable, role_switch and flushable. Signed-off-by: Gustavo F. Padovan commit 77a74c7e0861e6ebac7effe233fd7e83f1ad9ecc Author: Gustavo F. Padovan Date: Tue Apr 12 18:17:14 2011 -0300 Bluetooth: Rename l2cap_do_connect() to l2cap_chan_connect() l2cap_chan_connect() is a much better name and reflects what this functions is doing (or will do once socket dependence is removed from the core). Signed-off-by: Gustavo F. Padovan commit b44500351845e4f6df0d752a8870da246be8216f Author: Gustavo F. Padovan Date: Tue Apr 12 18:15:09 2011 -0300 Bluetooth: Move conf_state to struct l2cap_chan First move of elements depending on user data. Signed-off-by: Gustavo F. Padovan commit 5d41ce1dd91bce01d50aff79786dc5d5eedcfab7 Author: Gustavo F. Padovan Date: Fri Apr 8 15:40:02 2011 -0300 Bluetooth: Refactor L2CAP channel allocation If the allocation happens at l2cap_sock_create() will be able to use the struct l2cap_chan to store channel info that comes from the user via setsockopt. Signed-off-by: Gustavo F. Padovan commit 0c61227094b3ddaca2f847ee287c4a2e3762b5a2 Author: Gleb Natapov Date: Tue Apr 26 11:21:32 2011 +0300 x86, setup: Fix EDD3.0 data verification. Check for nonzero path in edd_has_edd30() has no sense. First, it looks at the wrong memory. Device path starts at offset 30 of the info->params structure which is at offset 8 from the beginning of info structure, but code looks at info + 4 instead. This was correct when code was introduced, but around v2.6.4 three more fields were added to edd_info structure (commit 66b61a5c in history.git). Second, even if it will check correct memory it will always succeed since at offset 30 (params->key) there will be non-zero values otherwise previous check would fail. The patch replaces this bogus check with one that verifies checksum. Signed-off-by: Gleb Natapov Link: http://lkml.kernel.org/r/20110426082132.GG2265@redhat.com Signed-off-by: H. Peter Anvin commit b678027cb77b079bc8e5b94172995d173bdb494b Author: David S. Miller Date: Tue Apr 26 14:58:35 2011 -0700 ipv4: Kill RTO_CONN. It's not used by anything in the kernel, and defined in net/route.h so never exported to userspace. Therefore we can safely remove it. Signed-off-by: David S. Miller commit 2e97e980b5653c23d01c911af6a0ab2d3431d7f1 Author: David S. Miller Date: Tue Apr 26 13:57:47 2011 -0700 ipv4: Remove erroneous check in igmpv3_newpack() and igmp_send_report(). Output route resolution never returns a route with rt_src set to zero (which is INADDR_ANY). Even if the flow key for the output route lookup specifies INADDR_ANY for the source address, the output route resolution chooses a real source address to use in the final route. This test has existed forever in igmp_send_report() and David Stevens simply copied over the erroneous test when implementing support for IGMPv3. Signed-off-by: David S. Miller Reviewed-by: Eric Dumazet commit 2d7192d6cbab20e153c47fa1559ffd41ceef0e79 Author: David S. Miller Date: Tue Apr 26 13:28:44 2011 -0700 ipv4: Sanitize and simplify ip_route_{connect,newports}() These functions are used together as a unit for route resolution during connect(). They address the chicken-and-egg problem that exists when ports need to be allocated during connect() processing, yet such port allocations require addressing information from the routing code. It's currently more heavy handed than it needs to be, and in particular we allocate and initialize a flow object twice. Let the callers provide the on-stack flow object. That way we only need to initialize it once in the ip_route_connect() call. Later, if ip_route_newports() needs to do anything, it re-uses that flow object as-is except for the ports which it updates before the route re-lookup. Also, describe why this set of facilities are needed and how it works in a big comment. Signed-off-by: David S. Miller Reviewed-by: Eric Dumazet commit 15ecd039b7182d725f4294e01f2fb12c3a88db17 Author: Francois Romieu Date: Wed Apr 27 13:52:22 2011 -0700 r8169: fix merge conflict fix. - use adequate MAC_VER id (see 01dc7fec4025f6bb72b6b98ec88b375346b6dbbb) - remove duplicate rtl_firmware_info record - remove duplicate functions Signed-off-by: Francois Romieu Cc: Realtek linux nic maintainers Signed-off-by: David S. Miller commit da0420bee24a1ba54e55a61e95b1a53205d7e62d Author: Vlad Yasevich Date: Tue Apr 26 21:54:17 2011 +0000 sctp: clean up route lookup calls Change the call to take the transport parameter and set the cached 'dst' appropriately inside the get_dst() function calls. This will allow us in the future to clean up source address storage as well. Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit af1384703f8a4ff3d245925d6596ef1c5c6e469e Author: Vlad Yasevich Date: Tue Apr 26 21:53:20 2011 +0000 sctp: remove useless arguments from get_saddr() call There is no point in passing a destination address to a get_saddr() call. Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 9c6a02f41d10dc9fbf5dd42058e8846f38dd2d9a Author: Vlad Yasevich Date: Tue Apr 26 21:52:27 2011 +0000 sctp: make sctp over IPv6 work with IPsec SCTP never called xfrm_output after it's v6 route lookups so that never really worked with ipsec. Additioanlly, we never passed port nubmers and protocol in the flowi, so any port based policies were never applied as well. Now that we can fixed ipv6 routing lookup code, using ip6_dst_lookup_flow() and pass port numbers. Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 9914ae3ca770389a3bec3114d0a07532a7f235dd Author: Vlad Yasevich Date: Tue Apr 26 21:51:31 2011 +0000 sctp: cache the ipv6 source after route lookup The ipv6 routing lookup does give us a source address, but instead of filling it into the dst, it's stored in the flowi. We can use that instead of going through the entire source address selection again. Also the useless ->dst_saddr member of sctp_pf is removed. And sctp_v6_dst_saddr() is removed, instead by introduce sctp_v6_to_addr(), which can be reused to cleanup some dup code. Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 625034113bd45c71fb9e329f52f25fef9e6993a3 Author: Weixing Shi Date: Tue Apr 26 21:36:32 2011 +0000 sctp: fix sctp to work with ipv6 source address routing In the below test case, using the source address routing, sctp can not work. Node-A 1)ifconfig eth0 inet6 add 2001:1::1/64 2)ip -6 rule add from 2001:1::1 table 100 pref 100 3)ip -6 route add 2001:2::1 dev eth0 table 100 4)sctp_darn -H 2001:1::1 -P 250 -l & Node-B 1)ifconfig eth0 inet6 add 2001:2::1/64 2)ip -6 rule add from 2001:2::1 table 100 pref 100 3)ip -6 route add 2001:1::1 dev eth0 table 100 4)sctp_darn -H 2001:2::1 -P 250 -h 2001:1::1 -p 250 -s root cause: Node-A and Node-B use the source address routing, and at begining, source address will be NULL,sctp will search the routing table by the destination address, because using the source address routing table, and the result dst_entry will be NULL. solution: walk through the bind address list to get the source address and then lookup the routing table again to get the correct dst_entry. Signed-off-by: Weixing Shi Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 9ceb1c3d1fe15c2f9b55eaa8978019ef0e0a06ac Author: Ingo Molnar Date: Thu Apr 28 02:57:53 2011 +0200 perf stat: Fix printout vertical alignment Before: | | Performance counter stats for '/home/mingo/hackbench 20' (5 runs): | | 71,321,607 instructions:u # 0.42 insns per cycle ( +- 0.00% ) | 168,040,009 cycles:u # 0.000 GHz ( +- 0.81% ) | | 1.468002368 seconds time elapsed ( +- 1.33% ) | After: | | Performance counter stats for '/home/mingo/hackbench 20' (5 runs): | | 71,321,607 instructions:u # 0.42 insns per cycle ( +- 0.00% ) | 168,040,009 cycles:u # 0.000 GHz ( +- 0.81% ) | | 1.468002368 seconds time elapsed ( +- 1.33% ) | The last column (stddev noise) is properly aligned, vertically. Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-7y40wib8n1eqio7hjpn0dsrm@git.kernel.org Signed-off-by: Ingo Molnar commit 66e6961c8e53c0c0079d5b67faf9b7fe33525892 Author: Emil Tantilov Date: Sat Apr 16 06:12:51 2011 +0000 ixgbe: convert to ethtool set_phys_id Based on the original patch submitted by Stephen Hemminger. This patch makes the following changes: - Change ETHTOOL_ID_INACTIVE return value to 2 (blinks/sec) - Fix restoring of IXGBE_LEDCTL CC: Stephen Hemminger Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit e7fd9253d83703838953160ebb2899c5f6e2eee1 Author: Don Skidmore Date: Sat Apr 16 05:29:14 2011 +0000 ixgbe: fix X540 ethtool loopback test. On X540 we need to set the MACC.FLU bit to 1 in order to force the link up before entering MAC loopback. This is only used in the ethtool loopback test, which was failing. This patch corrects it. Signed-off-by: Don Skidmore Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit c89c7112d347acc3f4a6fe1459bcb6de02594dc9 Author: Don Skidmore Date: Thu Apr 14 07:40:11 2011 +0000 ixgbe: Bump version Bump the driver version number to better match up with the out of tree driver that has similar functionality. Signed-off-by: Don Skidmore Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 58be7666a897bb756477da72859f515da35ab805 Author: Don Skidmore Date: Tue Apr 12 09:42:11 2011 +0000 ixgbe: enable SCTP checksum offload for X540 X540 supports SCTP checksum offload so enable it. It was overlooked when X540 support was initially added to the driver. Signed-off-by: Don Skidmore Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 7aba7b077f638deb9569e0b36256cd9ae76e468c Author: Yi Zou Date: Sat Apr 9 08:34:12 2011 +0000 ixgbe: do not clear FCoE DDP error status for received ABTS The ddp->err is initialized to be 1 to make sure outstanding DDP context is guaranteed to be invalidated when HW is not auto-invalidating it. However, in case of receiving ABTS response for a DDPed I/O, the ddp->err was cleared, bypassing the invalidating of the DDP context from upper protocol stack when ixgbe_fcoe_ddp_put() is called. This bug is fixed here by updating the error only when FCP_RSP is received. Signed-off-by: Yi Zou Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit b32c8dcc33a74fb4f1e73ed2263504f5947ca76b Author: John Fastabend Date: Tue Apr 12 02:44:55 2011 +0000 ixgbe: fix static functions Define functions as static added C=1 (sparse) to my make line brought these to my attention. Signed-off-by: John Fastabend Signed-off-by: Jeff Kirsher commit 11b1d38e705fa05282661d2b1710f7a81a7f7045 Author: Alexander Duyck Date: Sat Apr 9 05:34:06 2011 +0000 ixgbe: remove ntuple display support This change removes the ntuple display support from ixgbe. The reason for this change is to resolve a number of issues in the way display filtering is handled. I plan to add support for displaying these filters via the network flow classifier interface. Signed-off-by: Alexander Duyck Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 98508c93003d8d24662f32c66dbe4746340c33d4 Author: Emil Tantilov Date: Fri Apr 8 01:24:05 2011 +0000 ixgbe: add LED blink code for x540 Implement blink_led_start and blink_led_stop functions for x540 using the MACC register. Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 0665b09f81760c38a882bed65d495a4bd31a5767 Author: Emil Tantilov Date: Fri Apr 1 08:17:19 2011 +0000 ixgbe: add support for 64k EEPROM for 82599 82599 supports up to 32k EEPROM addressing via EERD register. If we wish to address larger EEPROM this have to be done via serial interface. This patch adds function ixgbe_read_eeprom_82599 which selects the best method to read the EEPROM. Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 83dfde405322320d538b7087ba741fc9a4780161 Author: Emil Tantilov Date: Thu Mar 31 09:36:24 2011 +0000 ixgbe: register defines cleanup Remove duplicates. Fix incorrect defines. Fix/Update comments. Fix whitespace. Add new register defines. Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 50c022e7936354d854091ebdc699872d3432e874 Author: Emil Tantilov Date: Thu Mar 31 09:36:12 2011 +0000 ixgbe: explicitly disable 100H for x540 100H is not supported on this HW, but the bit is set on the PHY. This can result in link at 100F when advertising only 1000F. Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit dbf80dcbd8ca0c50f343401fedd2d6200cb8097e Author: Bruce Allan Date: Sat Apr 16 00:34:40 2011 +0000 e1000e: implement ethtool set_phys_id Based on a patch from Stephen Hemminger . The new ethtool set_phys_id takes over controlling the LED for identifying boards. This fixes the lockout during that period. For this device lots of extra infrastructure can also be removed by using set_phys_id. v2: - return blink frequency for parts that do not support blink in h/w - add blink_led function pointers for devices that do support blink in h/w to cleanup the test for this functionality Signed-off-by: Bruce Allan Cc: Stephen Hemminger Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 32673822e440eb92eb334631eb0a199d0c532d13 Merge: fa7b694 5373db8 Author: Ingo Molnar Date: Wed Apr 27 10:38:30 2011 +0200 Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core Conflicts: include/linux/perf_event.h Merge reason: pick up the latest jump-label enhancements, they are cooked ready. Signed-off-by: Ingo Molnar commit 65f47f1339dfcffcd5837a307172fb41aa39e479 Author: Richard A. Lary Date: Wed Apr 6 12:50:45 2011 +0000 powerpc/eeh: Add support for ibm,configure-pe RTAS call Added support for ibm,configure-pe RTAS call introduced with PAPR 2.2. Signed-off-by: Richard A. Lary Signed-off-by: Benjamin Herrenschmidt commit 44ae3ab3358e962039c36ad4ae461ae9fb29596c Author: Matt Evans Date: Wed Apr 6 19:48:50 2011 +0000 powerpc: Free up some CPU feature bits by moving out MMU-related features Some of the 64bit PPC CPU features are MMU-related, so this patch moves them to MMU_FTR_ bits. All cpu_has_feature()-style tests are moved to mmu_has_feature(), and seven feature bits are freed as a result. Signed-off-by: Matt Evans Signed-off-by: Benjamin Herrenschmidt commit eca590f402332ab873d13f2d8d00fa0b91cfff36 Author: Anton Blanchard Date: Thu Apr 7 01:54:07 2011 +0000 powerpc/rtas: Only sleep in rtas_busy_delay if we have useful work to do RTAS returns extended error codes as a hint of how long the OS might want to wait before retrying a call. If we have nothing else useful to do we may as well call back straight away. This was found when testing the new dynamic dma window feature. Firmware split the zeroing of the TCE table into 32k chunks but returned 9901 (which is a suggested wait of 10ms). All up this took about 10 minutes to complete since msleep is jiffies based and will round 10ms up to 20ms. With the patch below we take 3 seconds to complete the same test. The hint firmware is returning in the RTAS call should definitely be decreased, but even if we slept 1ms each iteration this would take 32s. Signed-off-by: Anton Blanchard Acked-by: Nishanth Aravamudan Signed-off-by: Benjamin Herrenschmidt commit a7b8ad405862fb10e496ce839d423dfc94ac821b Author: Michael Ellerman Date: Thu Apr 7 21:22:23 2011 +0000 powerpc/book3e: Fix extlb size The calculation of the size for the exception save area of the TLB miss handler is wrong, luckily it's too big not too small. Rework it to make it a bit clearer, and also correct. We want 3 save areas, each EX_TLB_SIZE _bytes_. Signed-off-by: Michael Ellerman Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit b91e136cdf88e19e998dbf4631ead266de4b80b5 Author: Michael Ellerman Date: Thu Apr 7 21:56:04 2011 +0000 powerpc: Use MSR_64BIT in sstep.c, fix kprobes on BOOK3E We check MSR_SF a lot in sstep.c, to decide if we need to emulate the truncation of values when running in 32-bit mode. Factor out that code into a helper, and convert it and the other uses to use MSR_64BIT. This fixes a bug on BOOK3E where kprobes would end up returning to a 32-bit address, because regs->nip was truncated, because (msr & MSR_SF) was false. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 9f0b079320ad1cc71ad7ea4e0ed0b64cd72bbd6d Author: Michael Ellerman Date: Thu Apr 7 21:56:03 2011 +0000 powerpc: Use MSR_64BIT in places Use the new MSR_64BIT in a few places. Some of these are already ifdef'ed for BOOKE vs BOOKS, but it's still clearer, MSR_SF does not immediately parse as "MSR bit for 64bit". Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 9d4a2925c290a053bb279e75e7a649069fdcaf6b Author: Michael Ellerman Date: Thu Apr 7 21:56:02 2011 +0000 powerpc: Add MSR_64BIT The MSR bit which indicates 64-bit-ness is different between server and booke, so add a #define which gives you the right mask regardless. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 0407a31429500e7e56da33a326ca7cf35c2c9d65 Author: Wanlong Gao Date: Sat Apr 9 08:09:46 2011 +0000 powerpc: Fix build warning of the defconfigs BT_L2CAP and BT_SCO have changed to bool . Value 'm' has invalid . Signed-off-by: Wanlong Gao Signed-off-by: Benjamin Herrenschmidt commit b618d2f043506e45b1d72b48a4ff7cb5b1a7011c Author: Geert Uytterhoeven Date: Sat Apr 9 22:59:07 2011 +0000 powerpc/ps3: Update debug message for irq_set_chip_data() commit ec775d0e70eb6b7116406b3441cb8501c2849dd2 ("powerpc: Convert to new irq_* function names") changed a call from set_irq_chip_data() to irq_set_chip_data(), but forgot to update the corresponding debug message Signed-off-by: Geert Uytterhoeven Acked-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit 73706c3283d755d3725c6a48a18e677a15ced8be Author: Michael Ellerman Date: Sun Apr 10 20:26:15 2011 +0000 powerpc/irq: Dump chip data pointer in virq_mapping This can be useful for differentiating interrupts on the same host but with different chip data. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit e70606eb9beb683ce3991936267deab64ab56d95 Author: Michael Ellerman Date: Sun Apr 10 20:42:05 2011 +0000 powerpc/numa: Look for ibm, associativity-reference-points at the root If we don't find ibm,associativity-reference-points as a child of /rtas, look for it at the root of the tree instead. We use this on Book3E where we have no RTAS but still use the sPAPR conventions for NUMA. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 69b123684b50040b0926eed1e02795dac8cb9587 Author: Michael Ellerman Date: Mon Apr 11 21:25:02 2011 +0000 powerpc/pci: Properly initialize IO workaround "private" Even when no initfunc is provided. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit d1109b7529f362c06c47140ae09dbd2b853ffddc Author: Michael Ellerman Date: Mon Apr 11 21:25:02 2011 +0000 powerpc/pci: Make IO workarounds init implicit when first bus is registered Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 3cc30d0726d258ac336283bcde66a8ab58283b61 Author: Michael Ellerman Date: Mon Apr 11 21:25:01 2011 +0000 powerpc/pci: Move IO workarounds to the common kernel dir Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 21176fed25c3b0cb17c6c42d71b4e3d68b8f9dd4 Author: Michael Ellerman Date: Mon Apr 11 21:25:01 2011 +0000 powerpc/pci: Split IO vs MMIO indirect access hooks The goal is to avoid adding overhead to MMIO when only PIO is needed Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit e297d9dd5cfafbeb2e7585bb444941848e030454 Author: Nishanth Aravamudan Date: Mon Mar 14 10:36:11 2011 +0000 cxgb4: use pgprot_writecombine() on powerpc Commit fe3cc0d99de6a9bf99b6c279a8afb5833888c1f7 ("powerpc: Add pgprot_writecombine") in benh's tree exposes the pgprot_writecombine() API to drivers on powerpc. cxgb4 has an open-coded version of the same, so use the common API now that it's available. Signed-off-by: Nishanth Aravamudan Cc: Steve Wise Cc: Anton Blanchard Acked-by: Steve Wise Signed-off-by: Benjamin Herrenschmidt commit efcac6589a277c10060e4be44b9455cf43838dc1 Author: Alexey Kardashevskiy Date: Wed Mar 2 15:18:48 2011 +0000 powerpc: Per process DSCR + some fixes (try#4) The DSCR (aka Data Stream Control Register) is supported on some server PowerPC chips and allow some control over the prefetch of data streams. This patch allows the value to be specified per thread by emulating the corresponding mfspr and mtspr instructions. Children of such threads inherit the value. Other threads use a default value that can be specified in sysfs - /sys/devices/system/cpu/dscr_default. If a thread starts with non default value in the sysfs entry, all children threads inherit this non default value even if the sysfs value is changed later. Signed-off-by: Alexey Kardashevskiy Signed-off-by: Benjamin Herrenschmidt commit f0aae3238fc1c28b543cbaaa0e7c5d57685f5f89 Author: Jack Miller Date: Thu Apr 14 22:32:05 2011 +0000 powerpc/book3e: Flush IPROT protected TLB entries leftover by firmware When we set up the TLB for ourselves on Book3E, we need to flush out any old mappings established by the firmware or bootloader. At present we attempt this with a tlbilx to flush everything, but this will leave behind any entries with the IPROT bit set. There are several good reason firmware might establish mappings with IPROT, and in fact ePAPR compliant firmwares are required to establish their initial mapped area with IPROT. This patch, therefore adds more complex code to scan through the TLB upon entry and flush away any entries that are not our own. Signed-off-by: Jack Miller Signed-off-by: David Gibson Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 1a51dde139d5305b2592c716c50c005d6ab9624b Author: Benjamin Herrenschmidt Date: Thu Apr 14 22:32:04 2011 +0000 powerpc/book3e: Use way 3 for linear mapping bolted entry An erratum on A2 can lead to the bolted entry we insert for the linear mapping being evicted, to avoid that write the bolted entry to way 3. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit ca1769f7a372898f5e3dbb8e4ff53f53f0626ef4 Author: Michael Ellerman Date: Thu Apr 14 22:32:04 2011 +0000 powerpc: Index crit/dbg/mcheck stacks using cpu number on 64bit In exc_lvl_ctx_init() we index into the crit/dbg/mcheck stacks using the hard cpu id, but that assumes the hard cpu id is zero based and contiguous. That is not the case on A2. The root of the problem is that the 32bit code has no equivalent of the paca to allow it to do the hard->soft mapping in assembler. Until the 32bit code is updated to handle that, index the stacks using the soft cpu ids on 64bit and hard on 32 bit. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit bd491781097f150687906008d639936a0c00ed90 Author: Benjamin Herrenschmidt Date: Thu Apr 14 22:32:02 2011 +0000 powerpc: Add TLB size detection for TYPE_3E MMUs Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 76b4eda866c4936af8d696f040abea56bf688e16 Author: Benjamin Herrenschmidt Date: Thu Apr 14 22:32:01 2011 +0000 powerpc: Add A2 cpu support Add the cputable entry, regs and setup & restore entries for the PowerPC A2 core. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 9a7adcf5c6dea63d2e47e6f6d2f7a6c9f48b9337 Author: John Stultz Date: Tue Jan 11 09:54:33 2011 -0800 timers: Posix interface for alarm-timers This patch exposes alarm-timers to userland via the posix clock and timers interface, using two new clockids: CLOCK_REALTIME_ALARM and CLOCK_BOOTTIME_ALARM. Both clockids behave identically to CLOCK_REALTIME and CLOCK_BOOTTIME, respectively, but timers set against the _ALARM suffixed clockids will wake the system if it is suspended. Some background can be found here: https://lwn.net/Articles/429925/ The concept for Alarm-timers was inspired by the Android Alarm driver (by Arve Hjønnevåg) found in the Android kernel tree. See: http://android.git.kernel.org/?p=kernel/common.git;a=blob;f=drivers/rtc/alarm.c;h=1250edfbdf3302f5e4ea6194847c6ef4bb7beb1c;hb=android-2.6.36 While the in-kernel interface is pretty similar between alarm-timers and Android alarm driver, the user-space interface for the Android alarm driver is via ioctls to a new char device. As mentioned above, I've instead chosen to export this functionality via the posix interface, as it seemed a little simpler and avoids creating duplicate interfaces to things like CLOCK_REALTIME and CLOCK_MONOTONIC under alternate names (ie:ANDROID_ALARM_RTC and ANDROID_ALARM_SYSTEMTIME). The semantics of the Android alarm driver are different from what this posix interface provides. For instance, threads other then the thread waiting on the Android alarm driver are able to modify the alarm being waited on. Also this interface does not allow the same wakelock semantics that the Android driver provides (ie: kernel takes a wakelock on RTC alarm-interupt, and holds it through process wakeup, and while the process runs, until the process either closes the char device or calls back in to wait on a new alarm). One potential way to implement similar semantics may be via the timerfd infrastructure, but this needs more research. There may also need to be some sort of sysfs system level policy hooks that allow alarm timers to be disabled to keep them from firing at inappropriate times (ie: laptop in a well insulated bag, mid-flight). CC: Arve Hjønnevåg CC: Thomas Gleixner CC: Alessandro Zummo Acked-by: Arnd Bergmann Signed-off-by: John Stultz commit ff3ead96d17f47ee70c294a5cc2cce9b61e82f0f Author: John Stultz Date: Tue Jan 11 09:42:13 2011 -0800 timers: Introduce in-kernel alarm-timer interface This provides the in kernel interface and infrastructure for alarm-timers. Alarm-timers are a hybrid style timer, similar to hrtimers, but when the system is suspended, the RTC device is set to fire and wake the system for when the soonest alarm-timer expires. The concept for Alarm-timers was inspired by the Android Alarm driver (by Arve Hjønnevåg) found in the Android kernel tree. See: http://android.git.kernel.org/?p=kernel/common.git;a=blob;f=drivers/rtc/alarm.c;h=1250edfbdf3302f5e4ea6194847c6ef4bb7beb1c;hb=android-2.6.36 This in-kernel interface should be fairly compatible with the Android alarm driver in-kernel interface, but has the advantage of utilizing the new RTC timerqueue code instead of doing direct RTC manipulation. CC: Arve Hjønnevåg CC: Thomas Gleixner CC: Alessandro Zummo Acked-by: Arnd Bergmann Signed-off-by: John Stultz commit 88d19cf37952a7e1e38b2bf87a00f0e857e63180 Author: John Stultz Date: Mon Jan 3 18:59:43 2011 -0800 timers: Add rb_init_node() to allow for stack allocated rb nodes In cases where a timerqueue_node or some structure that utilizes a timerqueue_node is allocated on the stack, gcc would give warnings caused by the timerqueue_init()'s calling RB_CLEAR_NODE, which self-references the nodes uninitialized data. The solution is to create an rb_init_node() function that zeros the rb_node structure out and then calls RB_CLEAR_NODE(), and then call the new init function from timerqueue_init(). CC: Thomas Gleixner Acked-by: Arnd Bergmann Signed-off-by: John Stultz commit 304529b1b6f8612ccbb4582e997051b48b94f4a4 Author: John Stultz Date: Fri Apr 1 14:32:09 2011 -0700 time: Add timekeeping_inject_sleeptime Some platforms cannot implement read_persistent_clock, as their RTC devices are only accessible when interrupts are enabled. This keeps them from being used by the timekeeping code on resume to measure the time in suspend. The RTC layer tries to work around this, by calling do_settimeofday on resume after irqs are reenabled to set the time properly. However, this only corrects CLOCK_REALTIME, and does not properly adjust the sleep time value. This causes btime in /proc/stat to be incorrect as well as making the new CLOCK_BOTTTIME inaccurate. This patch resolves the issue by introducing a new timekeeping hook to allow the RTC layer to inject the sleep time on resume. The code also checks to make sure that read_persistent_clock is nonfunctional before setting the sleep time, so that should the RTC's HCTOSYS option be configured in on a system that does support read_persistent_clock we will not increase the total_sleep_time twice. CC: Arve Hjønnevåg CC: Thomas Gleixner Acked-by: Arnd Bergmann Signed-off-by: John Stultz commit c989bb15e95a93e20fc86783264f6298116e8651 Author: Luis R. Rodriguez Date: Mon Apr 25 18:35:48 2011 -0700 cfg80211: fix regresion on reg user timeout The patch "cfg80211: add a timer for invalid user reg hints" introduced a regression for the case where a secondary identical regulatory hint from a user is sent. What would happen is the second hint would schedule delayed work in to catch a timeout but since we are never processing it given that the hint was already applied we'd always hit the timeout and and restore regulatory settings back to world regulatory domain. This is fixed by simply avoiding sheduling work if the hint was already applied. Tested-by: Felix Fietkau Reported-by: Felix Fietkau Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d3bb1429a2c1470d1f84646c00e34dc6784ee06e Author: Larry Finger Date: Mon Apr 25 13:23:20 2011 -0500 rtlwifi: rtl8192ce: rtl8192cu: Fix most sparse warnings Fix most sparse warnings in rtlwifi, rtl8192ce and rtl8192cu drivers. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 76c34f910a5c99a402de5068444563d4c151e794 Author: Chaoming_Li Date: Mon Apr 25 12:54:05 2011 -0500 rtlwifi: rtl8192ce: Change rtl8192ce routines phy and trx and modify rtl8192cu for addition of rtl8192se and rtl8192de Change rtl8192ce routines phy and trx for addition of RTL8192SE and RTL8192DE. In addition, make necessary modifications to rtl8192cu. This patch also removes the temporary patches needed to enable intermediate steps to build without error. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit e0b5a5078675f58736787982af811244eeb98081 Author: Chaoming_Li Date: Mon Apr 25 12:54:00 2011 -0500 rtlwifi: rtl8192ce: Change phy and rc routines for addition of rtl8192se and rtl8192de Change rtl8192ce routines phy and rc for addition of RTL8192SE and RTL8192DE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 2b8359f85b81dfe02a631e570582290859191756 Author: Chaoming_Li Date: Mon Apr 25 12:53:55 2011 -0500 rtlwifi: rtl8192ce: Change sw and LED routines for addition of rtl8192se and rtl8192de Change rtl8192ce sw and LED routines for addition of RTL8192SE and RTL8192DE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f73b279cdb5fc850b4be355307905f2914b2c0bb Author: Chaoming_Li Date: Mon Apr 25 12:53:50 2011 -0500 rtlwifi: rtl8192ce: Change hw routine for addition of rtl8192se and rtl8192de Change rtl8192ce hw routine for addition of RTL8192SE and RTL8192DE. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c07ccff326a2b3d81520e8c7a8e0f5e8cbc77416 Author: Chaoming_Li Date: Mon Apr 25 12:53:45 2011 -0500 rtlwifi: rtl8192c-common: Change common PHY routines for addition of rtl8192se and rtl8192de Change common PHY routines for addition of RTL8192SE and RTL8192DE code. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3ac5e26a1e935469a8bdae1d624bc3b59d1fcdc5 Author: Chaoming_Li Date: Mon Apr 25 12:53:40 2011 -0500 rtlwifi: rtl8192c-common: Change common firmware routines for addition of rtl8192se and rtl8192de Change common firmware routines for addition of RTL8192SE and RTL8192DE code. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit beb5bc4020436ee50bd50e82c5a64eb087f0e3b3 Author: Chaoming_Li Date: Mon Apr 25 12:53:35 2011 -0500 rtlwifi: rtl8192c-common: Convert common dynamic management routines for addition of rtl8192se and rtl8192de Convert common dynamic management routines for addition of RTL8192SE and RTL8192DE code. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit d93cdee975bc6894b0a7c3f3eb4f2b34303163f8 Author: Chaoming_Li Date: Mon Apr 25 12:53:29 2011 -0500 rtlwifi: Convert usb routines for addition of rtl8192se and rtl8192de Convert usb routines for addition of RTL8192SE and RTL8192DE code Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 81b290451122e93b9731bc333c6be2e49fa5bc0c Author: Chaoming_Li Date: Mon Apr 25 12:53:24 2011 -0500 rtlwifi: Convert regulatory domain routines for addition of rtl8192se and rtl8192de Convert regulatory domain routines for addition of RTL8192SE and RTL8192DE code. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c6a9de0823e6f1335c93594f7b904f345860dafc Author: Chaoming_Li Date: Mon Apr 25 12:53:19 2011 -0500 rtlwifi: Convert rc routines for addition of rtl8192se and rtl8192de Convert rc routines for addition of RTL8192SE and RTL8192DE code Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit cc7dc0c4ff7c091fb70ff0436f7e3b557e0ac1c3 Author: Chaoming_Li Date: Mon Apr 25 12:53:14 2011 -0500 rtlwifi: Convert ps routines for addition of rtl8192se and rtl8192de Convert ps routines for addition of RTL8192SE and RTL8192DE code Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c7cfe38ee0f946415b0b39e3905a91a51d99cf7d Author: Chaoming_Li Date: Mon Apr 25 13:23:15 2011 -0500 rtlwifi: Convert pci routines for addition of rtl8192se and rtl8192de Convert pci routines for addition of RTL8192SE and RTL8192DE code These changes allow the upper-level driver to specify the BAR to be used as it is different for rtl8192se than for the others. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0baa0fd76f3f5a134461d6cf30294f6bb1bb824c Author: Chaoming_Li Date: Mon Apr 25 13:23:10 2011 -0500 rtlwifi: Convert core routines for addition of rtl8192se and rtl8192de Convert core routines for addition of RTL8192SE and RTL8192DE code. Additional files are changed to allow compilation. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 46a6272c20d4f639093ad2ad8db1eba622187bee Author: Chaoming_Li Date: Mon Apr 25 13:23:05 2011 -0500 rtlwifi: Change cam routines for addition of rtl8192se and rtl8192de Change cam routines for addition of RTL8192SE and RTL8192DE code Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit acd48572c396364bb480175d7de83944eefa2563 Author: Chaoming_Li Date: Mon Apr 25 12:52:54 2011 -0500 rtlwifi: Change base routines for addition of rtl8192se and rtl8192de Change base routines for addition of RTL8192SE and RTL8192DE code. Additional files are modified to allow compilation. Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3dad618b7b929010f05b179bbc4d56e3d5956083 Author: Chaoming_Li Date: Mon Apr 25 12:52:49 2011 -0500 rtlwifi: Change wifi.h for rtl8192se and rtl8192de Change wifi.h for addition of RTL8192SE and RTL8192DE code Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit e25f51d4f9f8c45382a33b6283418be46425195c Author: Chaoming_Li Date: Mon Apr 25 12:52:44 2011 -0500 rtlwifi: Change efuse routines addition of RTL8192SE and RTL8192DE Change efuse routines for addition of RTL8192SE and RTL8192DE code Signed-off-by: Chaoming_Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0915cba394268e68b6a8242b15f8c7283453df43 Author: Rajkumar Manoharan Date: Mon Apr 25 15:56:17 2011 +0530 mac80211: Fix warnings due to -Wunused-but-set-variable These warnings are exposed by gcc 4.6. net/mac80211/sta_info.c: In function 'sta_info_cleanup_expire_buffered': net/mac80211/sta_info.c:590:32: warning: variable 'sdata' set but not used net/mac80211/ibss.c: In function 'ieee80211_rx_mgmt_auth_ibss': net/mac80211/ibss.c:43:34: warning: variable 'status_code' set but not used net/mac80211/work.c: In function 'ieee80211_send_assoc': net/mac80211/work.c:203:9: warning: variable 'len' set but not used net/mac80211/tx.c: In function '__ieee80211_parse_tx_radiotap': net/mac80211/tx.c:1039:35: warning: variable 'sband' set but not used net/mac80211/mesh.c: In function 'ieee80211_mesh_rx_queued_mgmt': net/mac80211/mesh.c:616:28: warning: variable 'ifmsh' set but not used ... Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 334df731976ee4042c9bf18b2eec9c0a71f45389 Author: Christian Lamparter Date: Sun Apr 24 20:41:16 2011 +0200 mac80211: fix too early reorder release timer The release timer has to expire "just" after a frame is up for release. Currently, if the timer callback starts on time, the "!time_after" check above will start a new timer instead of releasing the frames. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit caf1eae206688210f61f3b48627ce4ca3c709784 Author: Christian Lamparter Date: Sun Apr 24 17:44:19 2011 +0200 carl9170: improve unicast PS buffering Using the ieee80211_sta_block allows the PS code to handle awake->doze->awake transitions of our clients in a race-free manner. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit be8d98eab81d1f6445461a1631513f7091805e53 Author: Christian Lamparter Date: Sun Apr 24 17:22:59 2011 +0200 p54: implement multicast filter "For best CPU usage and power consumption, having as few frames as possible percolate through the stack is desirable. Hence, the hardware should filter as much as possible." Note: Not all firmwares include the multicast filter feature and the stack does not filter them either. The ARP filter on the other hand was dropped from the patch since it does not work correctly: Quote from: Max Filippov "In the ARP case, when there's no other traffic on p54spi, all ARP requests are dropped. But if there's some egress traffic from p54spi, filter seems to work correctly: only ARP requests that match filter pass through. In the multicast case filter seems to work correctly, but it treats broadcast as subject to that filtering too. By default only 01:00:5e:00:00:01 gets into priv->mc_maclist, so we miss all broadcasts. These two filters seem to interfere: - if we set ARP filter and multicast filter without bc => we miss all ARPs if there's no egress traffic; - if we set ARP filter and multicast filter with bc or don't set mc filter at all => we get all ARPs. This effect does not depend on filter setup order." Signed-off-by: Christian Lamparter Tested-by: Max Filippov Signed-off-by: John W. Linville commit 04ad1fb2640a4f23e99ccb705c179d64abac03f2 Author: Rafał Miłecki Date: Sat Apr 23 19:30:29 2011 +0200 ssb: update reject bit for Target State Low My 14e4:4315 is SSB_IDLOW_SSBREV_26: read32 0xfaafcff8 -> 0x600422d5 My 14e4:4328 is SSB_IDLOW_SSBREV_24: read32 0xfaafcff8 -> 0x400422c5 My 14e4:432b is SSB_IDLOW_SSBREV_26 again: read32 0xfaafcff8 -> 0x600422d5 For all of them wl driver is using 0x2 reject bit: write32(0xf98) <- 0x00010002 So it seems SSB 2.3 is the exception using another bit. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit a6ef8143839a8640532ba473906beb1a38b03e29 Author: Rafał Miłecki Date: Sat Apr 23 19:30:28 2011 +0200 ssb: mark bus as powered up earlier ssb_chipco_set_clockmode may want to touch CC registers to control power of the bus. However touching registers without powered_up set causes warnings. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 25f63a5a37f9cd925a01840bbb4c3ad9d5034175 Author: Adrian Chadd Date: Sat Apr 23 12:48:53 2011 +0800 ath9k: fix AR9160 xpaBiasLvlFreq endianness handling The xpaBiasLvlFreq parameter array is made up of 16 bit words which aren't byte-swapped like the other 16-bit eeprom parameters are. It's only used by the AR9160. Signed-off-by: Adrian Chadd Signed-off-by: John W. Linville commit 92c6f76c6d44a869bf3b252dbb2e358ae7399a96 Author: Rajkumar Manoharan Date: Fri Apr 22 14:50:39 2011 +0530 ath9k: set beacon related ps flags on bss_info change Requesting beacon sync up to configure beacon timers properly in hw, has be done after doing beacon config with default values. Setting the flags in beacon config is causing the device to not enter into network sleep on idle state. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 3782c69d6e35e698bcc2aefe803e62d06c5c4997 Author: Rajkumar Manoharan Date: Sun Apr 24 21:34:39 2011 +0530 ath9k_hw: Fix Tx IQ Calibration hang issue in AR9003 chips On AR9003 chips, doing three IQ calibrations will possibly cause chip in stuck state. In noisy environment, chip could receive a packet during the middle of three calibrations and it causes the conflict of HW access and the eventual failure. It also causes IQ calibration outliers which results in poor Tx EVM. The IQ Cal procedure is after resetting the chip, run IQ cal 3 times per each cal cycle and find the two closest readings and average of two. The advantage of running Tx IQ cal more than once is that we can compare calibration results for the same gain setting over multiple iterations. Most of the cases the IQ failures were observed after first pass. For the AR9485 and later chips, Tx IQ Calibration is performed along with AGC cal. But for pre-AR9485 chips, Tx IQ cal HW has to be separated from the rest of calibration HW to avoid chip hang. After all calibrations are done in HW, we can start SW post-processing. By doing this way, we minimize the SW difference among all chips. The order of calibration (run IQ cal before other calibration) is also needed to avoid chip hang for chips before AR9485. This issue was originally observed with AR9382. During the issue kernel log was filled with following message ath: timeout (100000 us) on reg 0xa640: 0x00000001 & 0x00000001 != 0x00000000 ath: timeout (100000 us) on reg 0xa2c4: 0x00158dd9 & 0x00000001 != 0x00000000 ath: Unable to reset channel (2412 MHz), reset status -5 ath: Unable to set channel Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 429576b97c623b9c4e3375fb7c37bce377f51e68 Merge: 9835a30 069f40f Author: John W. Linville Date: Tue Apr 26 15:39:10 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 2bd93d7af1581d40e3c4b25242472661cb7c637a Merge: 64cad2a 0972ddb Author: David S. Miller Date: Tue Apr 26 12:16:46 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Resolved logic conflicts causing a build failure due to drivers/net/r8169.c changes using a patch from Stephen Rothwell. Signed-off-by: David S. Miller commit c6264deff7ea6125492b442edad885e5429679af Author: Ingo Molnar Date: Wed Apr 27 13:50:47 2011 +0200 perf stat: Add -d/--detailed flag to run with a lot of events Add the new -d/--detailed flag, which generates a pretty detailed event list: Performance counter stats for './hackbench 10' (10 runs): 1514.287888 task-clock # 10.897 CPUs utilized ( +- 3.05% ) 39,698 context-switches # 0.026 M/sec ( +- 12.19% ) 8,147 CPU-migrations # 0.005 M/sec ( +- 16.55% ) 17,918 page-faults # 0.012 M/sec ( +- 0.37% ) 2,944,504,050 cycles # 1.944 GHz ( +- 3.89% ) (32.60%) 1,043,971,283 stalled-cycles # 35.45% of all cycles are idle ( +- 5.22% ) (44.48%) 1,655,906,768 instructions # 0.56 insns per cycle # 0.63 stalled cycles per insn ( +- 1.95% ) (55.09%) 338,832,373 branches # 223.757 M/sec ( +- 1.96% ) (64.47%) 3,892,416 branch-misses # 1.15% of all branches ( +- 5.49% ) (73.12%) 606,410,482 L1-dcache-loads # 400.459 M/sec ( +- 1.29% ) (71.21%) 31,204,395 L1-dcache-load-misses # 5.15% of all L1-dcache hits ( +- 3.04% ) (60.43%) 3,922,751 LLC-loads # 2.590 M/sec ( +- 6.80% ) (46.87%) 5,037,288 LLC-load-misses # 3.327 M/sec ( +- 3.56% ) (13.00%) 0.138966828 seconds time elapsed ( +- 4.11% ) This can be used "at a glance" for narrower analysis. -d can also be used in addition to other -e events, to further expand an event list. Acked-by: Peter Zijlstra Acked-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-cxs98quixs3qyvdqx3goojc4@git.kernel.org Signed-off-by: Ingo Molnar commit 8bb6c79f24e66538f606076915e918242c02ec7c Author: Ingo Molnar Date: Wed Apr 27 13:25:24 2011 +0200 perf stat: Print out miss/hit ratio for L1 data-cache events Print out this kind of l1-dcache-misses percentage: Performance counter stats for './bw_tcp localhost': 29,956,262,201 cycles # 3.002 GHz (scaled from 85.14%) 8,255,209,558 stalled-cycles # 27.56% of all cycles are idle (scaled from 86.56%) 1,206,130,308 l1-dcache-misses # 40.49% of all L1-dcache hits (scaled from 86.30%) 2,978,756,779 l1-dcache-refs # 298.512 M/sec (scaled from 70.02%) 8,861,956,159 instructions # 0.30 insns per cycle # 0.93 stalled cycles per insn (scaled from 84.27%) 1,644,306,068 branches # 164.782 M/sec (scaled from 86.43%) 74,778,443 branch-misses # 4.55% of all branches (scaled from 70.69%) 9978.695711 task-clock # 0.693 CPUs utilized 14.404347983 seconds time elapsed And color the result depending on the severity of cache-trashing. Acked-by: Peter Zijlstra Acked-by Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-54gmz0zymaid84zcs7joq02p@git.kernel.org Signed-off-by: Ingo Molnar commit c78df6c1d49b5d798f1579141e3a12be7c325d1e Author: Ingo Molnar Date: Wed Apr 27 12:16:10 2011 +0200 perf stat: Print branch misses warning colors Print the missed-branches percentage with different warning level ASCII colors, as the percentage passes the 5%/10%/20% thresholds. These thresholds are set to relatively low levels, because on most CPUs even a moderate percentage of branch-misses already shows up as a slowdown. Acked-by: Peter Zijlstra Acked-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-ybqukg7p86leiup7gl03ecgk@git.kernel.org Signed-off-by: Ingo Molnar commit a5d243d04a150acbfa79d641154f49e5d920f64f Author: Ingo Molnar Date: Wed Apr 27 05:39:24 2011 +0200 perf stat: Print stalled cycles warning colors Print the stalled-cycles percentage with different warning level ASCII colors, as the percentage passes the 25%/50%/75% thresholds. Acked-by: Peter Zijlstra Acked-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-e25zz44rcms7mu9az4fu5zp0@git.kernel.org Signed-off-by: Ingo Molnar commit f99844cb76b7d347711c22cdcb94266b7214141f Author: Ingo Molnar Date: Wed Apr 27 05:35:39 2011 +0200 perf stat: Fix -nan% output in perf stat noise printouts Before: 0 CPU-migrations # 0.000 M/sec ( +- -nan% ) After: 0 CPU-migrations # 0.000 M/sec ( +- 0.00% ) Also factor out the noise printing function. Acked-by: Peter Zijlstra Acked-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-z89h2v1bk1mikcbsf7e6v34q@git.kernel.org Signed-off-by: Ingo Molnar commit 1fc570ad89e55dc32dfa4dda1311948b38f26524 Author: Ingo Molnar Date: Wed Apr 27 05:20:22 2011 +0200 perf stat: Add stalled cycles to the default output The new default output looks like this: Performance counter stats for './loop_1b_instructions': 236.010686 task-clock # 0.996 CPUs utilized 0 context-switches # 0.000 M/sec 0 CPU-migrations # 0.000 M/sec 99 page-faults # 0.000 M/sec 756,487,646 cycles # 3.205 GHz 354,938,996 stalled-cycles # 46.92% of all cycles are idle 1,001,403,797 instructions # 1.32 insns per cycle # 0.35 stalled cycles per insn 100,279,773 branches # 424.895 M/sec 12,646 branch-misses # 0.013 % of all branches 0.236902540 seconds time elapsed We dropped cache-refs and cache-misses and added stalled-cycles - this is a more generic "how well utilized is the CPU" metric. If the stalled-cycles ratio is too high then more specific measurements can be taken to figure out the source of the inefficiency. Acked-by: Peter Zijlstra Acked-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-pbpl2l4mn797s69bclfpwkwn@git.kernel.org Signed-off-by: Ingo Molnar commit 481f988a016f7a0327a5537bde4794349fc4625c Author: Ingo Molnar Date: Wed Apr 27 04:34:16 2011 +0200 perf stat: Add stalled cycles accounting, prettify the resulting output Add stalled cycles accounting and use it to print the "cycles stalled per instruction" value. Also change the unit of the cycles output from M/sec to GHz - this is more intuitive. Prettify the output to: Performance counter stats for './loop_1b_instructions': 239.775036 task-clock # 0.997 CPUs utilized 761,903,912 cycles # 3.178 GHz 356,620,620 stalled-cycles # 46.81% of all cycles are idle 1,001,578,351 instructions # 1.31 insns per cycle # 0.36 stalled cycles per insn 14,782 cache-references # 0.062 M/sec 5,694 cache-misses # 38.520 % of all cache refs 0.240493656 seconds time elapsed Also adjust the --repeat output to make the percentages align vertically: Performance counter stats for './loop_1b_instructions' (10 runs): 236.096793 task-clock # 0.997 CPUs utilized ( +- 0.011% ) 756,553,086 cycles # 3.204 GHz ( +- 0.002% ) 354,942,692 stalled-cycles # 46.92% of all cycles are idle ( +- 0.008% ) 1,001,389,700 instructions # 1.32 insns per cycle # 0.35 stalled cycles per insn ( +- 0.000% ) 10,166 cache-references # 0.043 M/sec ( +- 0.742% ) 468 cache-misses # 4.608 % of all cache refs ( +- 13.385% ) 0.236874136 seconds time elapsed ( +- 0.01% ) Acked-by: Peter Zijlstra Acked-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-uapziqny39601apdmmhoz7hk@git.kernel.org Signed-off-by: Ingo Molnar commit dcd9936a5a6d89512b5323c1145647f2dbe0236f Author: Ingo Molnar Date: Wed Apr 27 04:36:37 2011 +0200 perf stat: Factor our shadow stats Create update_shadow_stats() which is then used in both read_counter_aggr() and read_counter(). This not only simplifies the code but also fixes a bug: HW_CACHE_REFERENCES was not updated in read_counter(). Acked-by: Peter Zijlstra Acked-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-9uc55z3g88r47exde7zxjm6p@git.kernel.org Signed-off-by: Ingo Molnar commit 749141d926faf23ef811686a8050e7cf13dc223f Author: Ingo Molnar Date: Wed Apr 27 04:24:57 2011 +0200 perf stat: Make all displayed event names parseable as well Right now we display this by default: 0.202204 task-clock-msecs # 0.282 CPUs 0 context-switches # 0.000 M/sec 0 CPU-migrations # 0.000 M/sec 85 page-faults # 0.420 M/sec The task-clock-msecs event cannot actually be passed back as an event name, the event name we recognize is 'task-clock'. So change the output of the cpu-clock and task-clock events to be idempotent. ( Units should be printed out in the right-side column, if needed. ) Acked-by: Peter Zijlstra Acked-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-lexrnbzy09asscgd4f7oac4i@git.kernel.org Signed-off-by: Ingo Molnar commit ceb53fbf6dbb1df26d38379a262c6981fe73dd36 Author: Ingo Molnar Date: Wed Apr 27 04:06:33 2011 +0200 perf stat: Fail more clearly when an invalid modifier is specified Currently we fail without printing any error message on "perf stat -e task-clock-msecs". The reason is that the task-clock event is matched and the "-msecs" postfix is assumed to be an event modifier - but is not recognized. This patch changes the code to be more informative: $ perf stat -e task-clock-msecs true invalid event modifier: '-msecs' Run 'perf list' for a list of valid events and modifiers And restructures the return value of parse_event_modifier() to allow the printing of all variants of invalid event modifiers. Acked-by: Peter Zijlstra Acked-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-wlaw3dvz1ly6wple8l52cfca@git.kernel.org Signed-off-by: Ingo Molnar commit b908debd4eef91471016138569f7a9e292be682e Author: Ingo Molnar Date: Wed Apr 27 03:55:40 2011 +0200 perf tools: Accept case-insensitive symbolic event variants We currently fail on something like '-e CPU-migrations', with: invalid or unsupported event: 'CPU-migrations' While 'CPU-migrations' is how we actually print out the event in the default perf stat output: Performance counter stats for 'true': 0.202204 task-clock-msecs # 0.282 CPUs 0 context-switches # 0.000 M/sec 0 CPU-migrations # 0.000 M/sec So change the matching to be case-insensitive. Acked-by: Peter Zijlstra Acked-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-omcm3edjjtx83a4kh2e244se@git.kernel.org Signed-off-by: Ingo Molnar commit d58f4c82fed69fdd4a79fa54fe17fd14d98c27aa Author: Ingo Molnar Date: Wed Apr 27 03:42:18 2011 +0200 perf stat: Print cache misses as percentage Before: 113,393,041 cache-references # 83.636 M/sec 7,052,454 cache-misses # 5.202 M/sec After: 112,589,441 cache-references # 87.925 M/sec 6,556,354 cache-misses # 5.823 % misses/hits percentages are more expressive than absolute numbers or rates. (Also prettify the CPUs printout line to not have a trailing whitespace.) Acked-by: Peter Zijlstra Acked-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-axm28f43x439bl41zkvfzd63@git.kernel.org Signed-off-by: Ingo Molnar commit 11ba2b85f506306c8dfc9fe144aa4ddc43242855 Author: Ingo Molnar Date: Sun Apr 24 15:05:10 2011 +0200 perf stat: Print stalled cycles percentage Print: 611,527 cycles 400,553 instructions # ( 0.71 instructions per cycle ) 77,809 stalled-cycles # ( 12.71% of all cycles ) 0.000610987 seconds time elapsed Acked-by: Peter Zijlstra Acked-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Signed-off-by: Ingo Molnar Link: http://lkml.kernel.org/n/tip-fd6x8r1cpyb6zhlrc4ix8m45@git.kernel.org commit 5c543e3c442d6382db127152c7096ca6a55283de Author: Ingo Molnar Date: Wed Apr 27 12:02:04 2011 +0200 perf events, x86: Mark constrant tables read mostly Various constraint tables were not marked read-mostly. Acked-by: Peter Zijlstra Acked-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-wpqwwvmhxucy5e718wnamjiv@git.kernel.org Signed-off-by: Ingo Molnar commit 94403f8863d0d1d2005291b2ef0719c2534aa303 Author: Ingo Molnar Date: Sun Apr 24 08:18:31 2011 +0200 perf events: Add stalled cycles generic event - PERF_COUNT_HW_STALLED_CYCLES The new PERF_COUNT_HW_STALLED_CYCLES event tries to approximate cycles the CPU does nothing useful, because it is stalled on a cache-miss or some other condition. Acked-by: Peter Zijlstra Acked-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Link: http://lkml.kernel.org/n/tip-fue11vymwqsoo5to72jxxjyl@git.kernel.org Signed-off-by: Ingo Molnar commit 7bd5fafeb414cf00deee32c82834f8bf1426b9ac Merge: fa7b694 ec75a71 Author: Ingo Molnar Date: Tue Apr 26 19:36:14 2011 +0200 Merge branch 'perf/urgent' into perf/stat Merge reason: We want to queue up dependent changes. Signed-off-by: Ingo Molnar commit 1437f5bca3c2d162f058cba37dfbeb20f619040d Author: Hillf Danton Date: Sat Apr 23 21:29:05 2011 +0800 sched: Remove noop in alloc_rt_sched_group() The rq varible, though computed for each possible cpu, has nothing to do in the function, so it can be removed. This also eliminates a build warning. Signed-off-by: Hillf Danton Reviewed-by: Yong Zhang Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/BANLkTin-FfQfqW5ym1iuEmrk8s777Y1LAg@mail.gmail.com Signed-off-by: Ingo Molnar commit e01255d698ad00a6f4c6b3e0bf061e27ab238969 Author: Florian Tobias Schandinat Date: Tue Apr 26 08:10:33 2011 +0000 viafb: remove unused CEA mode This trivial patch removes unused mode tables. Signed-off-by: Florian Tobias Schandinat commit 64cad2ade1e6f890531a58318ca9ee013f92ef2f Author: Matt Carlson Date: Mon Apr 25 12:42:50 2011 +0000 tg3: Update version to 3.118 This patch updates the tg3 version to 3.118. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit bea8a63b27eb8e705a957938aadeb975178c5ea6 Author: Matt Carlson Date: Mon Apr 25 12:42:49 2011 +0000 tg3: Whitespace cleanups This patch gets rid of some harmless whitespace errors. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit b45aa2f6192e34a837ebdbb3548039c24440bc04 Author: Matt Carlson Date: Mon Apr 25 12:42:48 2011 +0000 tg3: Add EEH support This patch adds EEH support to the tg3 driver. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit bb158d696489244f79fd4c3abd47968a06b48c79 Author: Matt Carlson Date: Mon Apr 25 12:42:47 2011 +0000 tg3: Add TSO loopback test This patch adds code to exercise the TSO portion of the device through a phy loopback test. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 00c266b794d589dcf7d280926dfc27c5896a410a Author: Matt Carlson Date: Mon Apr 25 12:42:46 2011 +0000 tg3: Organize loopback test failure flags As more test modes are added to each loopback mode, the need to organise the results increases. This patch groups the results by loopback mode, and then by test mode. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 0aebff4871d26410ae485b521870bb0ffe1736f0 Author: Matt Carlson Date: Mon Apr 25 12:42:45 2011 +0000 tg3: Fix int generation hw bug for 5719 / 5720 On the 5719 and 5720, there is a bug where the hardware will misinterpret a status tag update and leave interrupts permanently disabled. This patch enables a hardware fix that works around the issue. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit bf362759034cf208966dff262c7d740a6b1b3edd Author: Dmitry Kasatkin Date: Wed Apr 20 13:34:58 2011 +0300 crypto: omap-sham - hmac calculation bug fix for sha1 base hash This patch fixes 2 hmac inter-dependent bugs. 1. "omap-sham: hash-in-progress is stored in hw format" commit introduced optimization where temporary hash had been stored in OMAP specific format (big endian). For SHA1 it is different to real hash format, which is little endian. Final HMAC value was calculated using incorrect hash. Because CONFIG_CRYPTO_MANAGER_TESTS was disabled this error remained unnoticed. After enabling this option, bug has been found. 2. HMAC was calculated using temporrary hash value. For a single-request updates, temporary hash was the final one and HMAC result was correct. But in fact only the final hash had to be used. All crypto tests for HMAC produces only single request and could not catch the problem. This problem is fixed here. Signed-off-by: Dmitry Kasatkin Signed-off-by: Herbert Xu commit 528d26f57acd112fef78cd455db78e69a1ac39fd Author: Dmitry Kasatkin Date: Wed Apr 20 13:34:57 2011 +0300 crypto: omap-sham - enable driver for EMU chips EMU chips also have crypto HW as HS chips. Signed-off-by: Dmitry Kasatkin Signed-off-by: Herbert Xu commit 07aab762feb6b49e8004bfba2659db17f7b64e35 Author: Dmitry Kasatkin Date: Wed Apr 20 13:34:56 2011 +0300 crypto: omap-sham - remove debug print Signed-off-by: Dmitry Kasatkin Signed-off-by: Herbert Xu commit 455e33898e65108b379e74bcc3c9d6d2b50da9a6 Author: Markku Kylanpaa Date: Wed Apr 20 13:34:55 2011 +0300 crypto: omap-sham - fix concurrent sha1 calculations SHA1 accelerator can also be busy. Add -EBUSY status return option and return busy status from omap_sham_finup(). Signed-off-by: Markku Kylanpaa Signed-off-by: Herbert Xu commit e7e09cd667a43d8287f85d453a16fc0ec1e2c7b7 Author: Jonathan Cameron Date: Tue Apr 19 12:43:47 2011 +0100 params.c: Use new strtobool function to process boolean inputs No functional changes. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 8705b48e7159655c116154928fe104fd6561fa94 Author: Jonathan Cameron Date: Tue Apr 19 12:43:46 2011 +0100 debugfs: move to new strtobool No functional changes requires that we eat errors from strtobool. If people want to not do this, then it should be fixed at a later date. V2: Simplification suggested by Rusty Russell removes the need for additional variable ret. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit ad58671cf32c74a8d6e8f51e63e9cf4e7a73bf1e Author: Jonathan Cameron Date: Tue Apr 19 12:43:45 2011 +0100 Add a strtobool function matching semantics of existing in kernel equivalents This is a rename of the usr_strtobool proposal, which was a renamed, relocated and fixed version of previous kstrtobool RFC Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 85723943537bf6a73bdf1140b2088fbe0c17c3c2 Author: Wanlong Gao Date: Sat Apr 23 22:18:26 2011 +0800 drivers:base:fix the coding format of memory.c Fix the line longer than 80 of memory_uevent function . Signed-off-by: Wanlong Gao Signed-off-by: Greg Kroah-Hartman commit bf734843120b905bacc3d24c88d7455ae70bf6e1 Author: David S. Miller Date: Mon Apr 25 13:03:02 2011 -0700 bluetooth: Fix use-before-initiailized var. net/bluetooth/l2cap_core.c: In function ‘l2cap_recv_frame’: net/bluetooth/l2cap_core.c:3612:15: warning: ‘sk’ may be used uninitialized in this function net/bluetooth/l2cap_core.c:3612:15: note: ‘sk’ was declared here Actually the problem is in the inline function l2cap_data_channel(), we branch to the label 'done' which tests 'sk' before we set it to anything. Initialize it to NULL to fix this. Signed-off-by: David S. Miller commit 9d5f96f61837b1242dd8c576c6110593475fcf86 Author: Florian Tobias Schandinat Date: Mon Apr 25 20:01:46 2011 +0000 viafb: try to map less memory in case of failure The current code might result in trying to remap 512MB video ram on a 32 bit system which is quite likely to fail. This patch tries to map less of it down to 8MB as this should still be enough to get a reasonably well working framebuffer. This should make viafb work for many people without requiring them to manually allocate more space. Signed-off-by: Florian Tobias Schandinat commit 345578d97c549995ddbcc178f16f710602cc06bb Merge: fe2a70e cfef604 Author: David S. Miller Date: Mon Apr 25 12:46:37 2011 -0700 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit fe2a70eefa18a3e419dd9a23e16af14258b7cc20 Author: Somnath Kotur Date: Thu Apr 21 03:18:12 2011 +0000 be2net: Fixed a bug in be_cmd_get_regs(). Same WRB entry was being reused over different iterations of a loop while issuing non-embedded IOCTL requests.Fixed couple of minor bugs in this path as well. Re-factored code to alloc/free memory for DMA outside of loop Signed-off-by: Somnath Kotur Signed-off-by: David S. Miller commit 3aba891dde3842d89ad022237b99c1ed308040b0 Author: Jiri Pirko Date: Tue Apr 19 03:48:16 2011 +0000 bonding: move processing of recv handlers into handle_frame() Since now when bonding uses rx_handler, all traffic going into bond device goes thru bond_handle_frame. So there's no need to go back into bonding code later via ptype handlers. This patch converts original ptype handlers into "bonding receive probes". These functions are called from bond_handle_frame and they are registered per-mode. Note that vlan packets are also handled because they are always untagged thanks to vlan_untag() Note that this also allows arpmon for eth-bond-bridge-vlan topology. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 22d5969fb450afd3a4aff606360f7d52c5a3a628 Author: Michał Mirosław Date: Thu Apr 21 12:42:15 2011 +0000 net: make WARN_ON in dev_disable_lro() useful Signed-off-by: Michał Mirosław Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9835a30e980561082beb02ce724f6e555787bc19 Author: Rafał Miłecki Date: Sun Apr 24 11:04:19 2011 +0200 ssb: cc: clear GPIOPULL registers on init Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6dde1aabf6759848512f19d76b89ee473584c46a Author: Mohammed Shafi Shajakhan Date: Fri Apr 22 17:27:01 2011 +0530 ath9k: Add TSFOOR interrupt stats in debug info This helped the developers to fix an issue of chip not entering network sleep during idle state, previously this was only available as a debug message Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit cedc7e3d0c847d602d2970120d0e4cca72f364a4 Author: Mohammed Shafi Shajakhan Date: Fri Apr 22 13:12:23 2011 +0530 ath9k: remove the unlikely check for autosleep newer chipsets support auto sleep feature, so remove the unlikely check which does not seems to help anything Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit b84628eb574f04db714d34276383edbe6d8bfd96 Author: Senthil Balasubramanian Date: Fri Apr 22 11:32:12 2011 +0530 ath9k: Add power save wrappers and modularize hw_pll handler We should protect hw_pll handler with power save wrappers and also modularize hw_pll handler properly for better readability. Also add a debug message to track chip resets on pll hang condition. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 9eab61c2bff2f769ee771a7a9301fb720cec9b56 Author: Senthil Balasubramanian Date: Fri Apr 22 11:32:11 2011 +0530 ath9k: cleanup hw pll work handler There is no reason why pll work handler should be part of xmit file. move it to main.c so that reading hw check routines are all in the same place. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 515139066928da040d1482f201ef1b769bc29aa0 Author: Senthil Balasubramanian Date: Fri Apr 22 11:32:10 2011 +0530 ath9k: optimize the usage of power save wrappers. We need not wake up the chip even before mutex lock is acquired and also that it is required only if we are going to drain the txq. So place the wrappers accordingly and this change is also useful when there are no pending frames in the txq as we do not wake up the chip unnecessarily. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit d1c038d620c45fbbc65bcadf813a86bca686dd31 Author: Senthil Balasubramanian Date: Fri Apr 22 11:32:09 2011 +0530 ath9k_hw: Fix incorrect baseband PLL phase shift for AR9485 we should program the AR9485 baseband PLL phase shift to 6 and a redundant setting overwrites the correct value. Remove the incorrect and unwnated register setting. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 353e5019e048562dc8f434c6237d41ef5e758922 Author: Senthil Balasubramanian Date: Fri Apr 22 11:32:08 2011 +0530 ath9k: Fix LED gpio for AR93xx chipsets. The LED gpio is incorrectly programmed for AR9300 and so the led is not working propelry. AR93xx uses gpio 10 for LED and not the default. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 40db6c77ab48c3f3240422ff92fd6da222e2eb95 Author: Amitkumar Karwar Date: Thu Apr 21 14:10:27 2011 -0700 cfg80211: module_param to disable HT40 in 2.4GHz band Currently mac80211 uses ieee80211_disable_40mhz_24ghz module parameter to allow disabling 40MHz operation in the 2.4GHz band. Move this handling from mac80211 to cfg80211 so that the feature will be more generic. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 0a6c9b1b666671a22905d38bc41ec1a04b85832f Author: Vasanthakumar Thiagarajan Date: Thu Apr 21 18:33:28 2011 +0530 ath9k: Fix warning: symbol 'ath9k_platform_id_table' was not declared. Should it be static? Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 788f6875fcf5d2bce221fbfd2318ac48df299031 Author: Vasanthakumar Thiagarajan Date: Thu Apr 21 18:33:27 2011 +0530 ath9k: Fix bug in configuring hw timer Hw next tigger time is configured as current_tsf + (timer_period * 10) which is wrong, it should be current_tsf + timer_period. The wrong hw timer configuration would cause btcoex related issues. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ca45de77ad706e86b135b8564e21aa2c8a63f09b Author: Johannes Berg Date: Thu Apr 21 13:38:00 2011 +0200 mac80211: tear down BA sessions properly on suspend Currently, the code to tear down BA sessions will execute after queues are stopped, but attempt to send frames, so those frames will just get queued, which isn't intended. Move this code to before to tear down the sessions properly. Additionally, after stopping queues, flush the TX queues in the driver driver to make sure all the frames went out. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 31d291a769b4318cbf7943ca149e04d201e2c931 Author: Nishant Sarmukadam Date: Thu Apr 21 16:34:59 2011 +0530 mwl8k: Enable life time expiry for tx packets in the hardware Tell the firmware to enable the life time expiry of tx packets in the hardware. The hardware will now refer to the timestamp in every tx packet and decide whether the packet needs to be dropped or transmitted. Signed-off-by: Nishant Sarmukadam Signed-off-by: Pradeep Nemavat Signed-off-by: John W. Linville commit 3a769888797b7117005e9c60d4cd73a2efc92f8d Author: Nishant Sarmukadam Date: Thu Apr 21 16:34:58 2011 +0530 mwl8k: Reserve buffers for tx management frames Since queues are not stopped anymore, management frames would be dropped if the corresponding tx queue is full. This can cause issues say when we want to setup an ampdu stream and action frames i.e addba requests keep getting dropped frequently. Fix this by reserving some buffers to allow management frames to go through in queue full conditions. Signed-off-by: Nishant Sarmukadam Signed-off-by: Pradeep Nemavat Signed-off-by: John W. Linville commit 566875db5058f582ea56da891f9c3cabc01efff5 Author: Pradeep Nemavat Date: Thu Apr 21 16:34:57 2011 +0530 mwl8k: Add timestamp information for tx packets Timestamp tx packets using a HW micro-second timer. This timestamp will be compared to the current timestamp in the hardware and if the difference is greater than 500ms, the packet will be dropped. Signed-off-by: Pradeep Nemavat Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit 3a7dbc3b2ac545efac75d4145839eaa7b59d9741 Author: Pradeep Nemavat Date: Thu Apr 21 16:34:56 2011 +0530 mwl8k: Do not stop tx queues This is in preparation to support life time expiry of packets in the hardware to avoid head-of-line blocking where a slow client can hog a tx queue and affect the traffic to a faster client from the same queue. Time stamp the packets in driver to allow dropping them in the hardware if they are queued for more than 500ms. If queues are stopped, packets will be queued up outside the driver. Since we will be able to timestamp the packets only after they hit the driver, the timestamp will be less accurate since we cannot consider the time the packets spent in queues outside the driver. With this commit, to achieve accurate timestamping, the tx queues will not be stopped in normal conditions. The only scenarios where the queues will be stopped are when firmware commands are executing or if the interface is brought down. Now, we need to be prepared for a situation where packets hit the driver even after the tx queues are full. Drop all such packets in the driver itself. Signed-off-by: Pradeep Nemavat Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit 2624e96ce16bacae0e422d5775eac6d4fc33239a Author: Stanislaw Gruszka Date: Wed Apr 20 16:02:58 2011 +0200 iwlwifi: fix possible data overwrite in hcmd callback My commit 3598e1774c94e55c71b585340e7dc4538f310e3f "iwlwifi: fix enqueue hcmd race conditions" move hcmd callback after command queue reclaim, to avoid call it with hcmd_lock. But since queue read index was updated, cmd data can be overwritten. Fix problem by calling callback before taking hcmd_lock and queue reclaim. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 9f2e731d1d278d853def1567735d8a823668a3c8 Author: Rafał Miłecki Date: Wed Apr 20 11:12:30 2011 +0200 ssb: cc: add & fix defines We probably got false positive results for checking PLL being down. Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 767ad6a0a2342d42f6f03b50198418b1475e0a7b Author: Sujith Manoharan Date: Wed Apr 20 11:01:25 2011 +0530 ath9k_htc: Remove unused macros and structures Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit c58ca5b5083befda31009a64abd95ae6ac315265 Author: Sujith Manoharan Date: Wed Apr 20 11:01:10 2011 +0530 ath9k_htc: Use power save wrappers when accessing HW Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit f0dd49803b0c0f3a002f073ec1a82cac5795af2d Author: Sujith Manoharan Date: Wed Apr 20 11:01:00 2011 +0530 ath9k_htc: Fix max A-MPDU size handling Set the maximum ampdu size of a station correctly in the target by using the ampdu_factor. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 3a0593efd191c7eb13c79179c4c5ddbc519b2510 Author: Sujith Manoharan Date: Wed Apr 20 14:33:28 2011 +0530 ath9k_htc: Fix AMPDU subframe handling * Register the driver's maximum ampdu subframe limit to mac80211. * Cleanup the target capabilities structure and fix an endian issue. * Fix BTCOEX by sending a command to the target when the BT priority changes. * Bump the required firmware version to 1.1 Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 0ff2b5c05d4dd84222a8e163335c5b550e2ca195 Author: Sujith Manoharan Date: Wed Apr 20 11:00:34 2011 +0530 ath9k: Fix warnings from -Wunused-but-set-variable Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 3c35c84a70fc7d76cf7d975481fcb30468c68818 Author: Rafał Miłecki Date: Tue Apr 19 22:40:23 2011 +0200 ssb: cc: use correct min_msk for 0x4312 Default min_msk on my 0x4312 is 0x80000CBB, not 0xCBB. Now we follow specs and wl (noticed in MMIO dumps). Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 9be1cb39c6551231a4f210097685da11aa6a537b Author: Rafał Miłecki Date: Tue Apr 19 22:40:22 2011 +0200 ssb: pci: trivial: correct amount of maximum retries Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit bca04689a2260ca4da227e7f7fa35f28f40e6a00 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:20 2011 +0530 ath9k_hw: Enable AR9340 support AR9340 is a AR9003 family built-in 2x2 wmac of ar934x SOCs. It is single band in ar9341 SOC and dual band in ar9344/ar9342 SOCs. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 79d1d2b8a34fd36e63cc7f5267cf79217a44edcc Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:19 2011 +0530 ath9k_hw: Disable INTR_HOST1_FATAL to avoid interrupt strom with ar9430 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ecb1d385ad61001ff85407e5370a40934a1cc50b Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:18 2011 +0530 ath9k_hw: Assign macversion based on devid for built-in wmac Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 247eee0e4ee3e23fd4f2918cdffa1e20d2261fa8 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:17 2011 +0530 ath9k: Add AR9340 platform id to id table Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 5d48ae78cf81b4006ee1b7690b850db84820dc14 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:16 2011 +0530 ath9k_hw: Read iq calibration data only for active chains Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 2976bc5ebfb6c6dd37b4513540e567de0a2313f7 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:15 2011 +0530 ath9k_hw: Configure chain switch table and attenuation control only for active chains Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 2be7bfe0b454bc7c60ede777907ec817baa6196e Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:14 2011 +0530 ath9k_hw: Enable byte Tx/Rx data swap for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit a969c09184e7cb7d14838598b54c6effbef8b584 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:13 2011 +0530 ath9k_hw: Configure tuning capacitance value for AR9340 as well Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 3594beae705523982823f84bf4997f680b2cf75f Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:12 2011 +0530 ath9k_hw: Skip internal regulator configuration for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 160b7fb4a07f52a6ba883b52fbb992f0086f99f6 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:11 2011 +0530 ath9k_hw: Don't configure AR_CH0_THERM for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 66953d438576938b02e6ff0ade1958f3e90af4a9 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:10 2011 +0530 ath9k_hw: Fix register offset AR_PHY_65NM_CH0_THERM for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit e758ff8f7fc9ce96e94131b13e70af2c197fa05e Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:09 2011 +0530 ath9k_hw: Clean up rx/tx chain configuration before AGC/IQ cal Use hw supported chains instead of hard coded values. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 17869f4fe940407b5b80039110c0257c90e18a99 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:08 2011 +0530 ath9k_hw: Configure RF channel freqency for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit d1395d85fa58438c70b77185b7c5780b94046348 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:07 2011 +0530 ath9k_hw: Read spur frequency information from eeprom for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit d7fd52a80f9537970da1f80d785cac67375c05df Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:06 2011 +0530 ath9k_hw: Initialize tx and rx gain table from initvals.h for ar9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 070c4d509b1edcd0b8a40177a02e4302416c56d7 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:05 2011 +0530 ath9k_hw: Don't do ani initialization for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit d89baac8b477d8f9eca72d186863a554d7137b40 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:04 2011 +0530 ath9k_hw: Initialize mode registers from initvals.h for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 9aa5a8d5fd519d61a947c797cb917b38fd156cff Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:03 2011 +0530 ath9k_hw: Add initvals.h for ar9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 0b488ac6ece598fda69b5f3348015994129c48b9 Author: Vasanthakumar Thiagarajan Date: Wed Apr 20 10:26:15 2011 +0530 ath9k_hw: Configure pll control register accordingly for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f2f5f2a1cedc803a5a517557d436e6cb10c007de Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:01 2011 +0530 ath9k_hw: Get AHB clock information from ath9k_platform_data Add a bool in ath9k_platform_data to pass AHB clock speed information. Driver needs this to configure PLL on some SOCs. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 35d5f56125aba8667ac12277dff02ce51efbee16 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:29:00 2011 +0530 ath9k_hw: Take care of few host interface register changes for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit b99a7be47dc37c60b6524d761ecfce432de84c01 Author: Vasanthakumar Thiagarajan Date: Tue Apr 19 19:28:59 2011 +0530 ath9k_hw: Define devid and mac version for AR9340 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 534f0e29282a007a589a659d31baa1ef828c22da Merge: e55034e 4cd2bf7 Author: John W. Linville Date: Mon Apr 25 14:42:51 2011 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit e55034e978970f5a058dfa9c9cc923ff75fc6a12 Merge: 73b4809 cf27d86 Author: John W. Linville Date: Mon Apr 25 14:36:35 2011 -0400 Merge branch 'for-linville' of git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx commit cfef6047c4027a8448ec8dafeaf2bb362cc882e4 Merge: b71d1d4 73b4809 Author: John W. Linville Date: Mon Apr 25 14:34:25 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: drivers/net/wireless/iwlwifi/iwl-core.c drivers/net/wireless/rt2x00/rt2x00queue.c drivers/net/wireless/rt2x00/rt2x00queue.h commit 2a9e9507011440a57d6356ded630ba0c0f5d4b77 Author: David S. Miller Date: Sun Apr 24 10:54:56 2011 -0700 net: Remove __KERNEL__ cpp checks from include/net These header files are never installed to user consumption, so any __KERNEL__ cpp checks are superfluous. Projects should also not copy these files into their userland utility sources and try to use them there. If they insist on doing so, the onus is on them to sanitize the headers as needed. Signed-off-by: David S. Miller commit 67f9cbf9affe39f67cd3f1d2e2a2a43089d9ab3a Author: Rafael J. Wysocki Date: Fri Apr 22 22:03:31 2011 +0200 PM / Blackfin: Use struct syscore_ops instead of sysdevs for PM Convert some Blackfin architecture's code to using struct syscore_ops objects for power management instead of sysdev classes and sysdevs. This simplifies the code and reduces the kernel's memory footprint. It also is necessary for removing sysdevs from the kernel entirely in the future. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman Acked-by: Mike Frysinger commit bb072c3cf21d1c9a5a2eeb5a00679ee7bf39675b Author: Rafael J. Wysocki Date: Fri Apr 22 22:03:21 2011 +0200 ARM / Samsung: Use struct syscore_ops for "core" power management Replace sysdev classes and struct sys_device objects used for "core" power management by Samsung platforms with struct syscore_ops objects that are simpler. This generally reduces the code size and the kernel memory footprint. It also is necessary for removing sysdevs entirely from the kernel in the future. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman Acked-by: Kukjin Kim commit 2eaa03b5bebd1e80014f780d7bf27c3e66daefd6 Author: Rafael J. Wysocki Date: Fri Apr 22 22:03:11 2011 +0200 ARM / PXA: Use struct syscore_ops for "core" power management Replace sysdev classes and struct sys_device objects used for "core" power management by the PXA platform code with struct syscore_ops objects that are simpler. This reduces the code size and the kernel memory footprint. It also is necessary for removing sysdevs entirely from the kernel in the future. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman commit 905339807bde7bb726001b69fbdf69ab0cf69a9e Author: Rafael J. Wysocki Date: Fri Apr 22 22:03:03 2011 +0200 ARM / SA1100: Use struct syscore_ops for "core" power management Replace the sysdev class and struct sys_device used for power management by the SA1100 interrupt-handling code with a struct syscore_ops object which is simpler. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman commit b7808056141bc4d67213036921a5a685ebec0274 Author: Rafael J. Wysocki Date: Fri Apr 22 22:02:55 2011 +0200 ARM / Integrator: Use struct syscore_ops for core PM Replace the sysdev class and struct sys_device used for power management by the Integrator interrupt-handling code with a struct syscore_ops object which is simpler. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman commit 3c437ffd20329619672b12a97bee944bccdd4ec9 Author: Rafael J. Wysocki Date: Fri Apr 22 22:02:46 2011 +0200 ARM / OMAP: Use struct syscore_ops for "core" power management Replace the sysdev class and struct sys_device used for power management in the OMAP's GPIO code with a struct syscore_ops object which is simpler. Signed-off-by: Rafael J. Wysocki Acked-by: Kevin Hilman Acked-by: Greg Kroah-Hartman commit 328f5cc30290a92ea3ca62b2a63d2b9ebcb0d334 Author: Rafael J. Wysocki Date: Fri Apr 22 22:02:33 2011 +0200 ARM: Use struct syscore_ops instead of sysdevs for PM in common code Convert some ARM architecture's common code to using struct syscore_ops objects for power management instead of sysdev classes and sysdevs. This simplifies the code and reduces the kernel's memory footprint. It also is necessary for removing sysdevs from the kernel entirely in the future. Signed-off-by: Rafael J. Wysocki Acked-by: Greg Kroah-Hartman commit cace71b318aa0126e7cfe49fe5e9133e0395c478 Author: Florian Tobias Schandinat Date: Sun Apr 24 17:08:44 2011 +0000 viafb: use write combining for video ram This can give a speed up of factor 6-9, which is quite notable. Signed-off-by: Florian Tobias Schandinat commit f33f6f0ccc5ff7415da3feb18b1ff966ed2d80d1 Merge: 75ec72f 2946294 Author: Florian Tobias Schandinat Date: Sun Apr 24 13:18:48 2011 +0000 Merge branch 'viafb-pll' into viafb-next Conflicts: drivers/video/via/viamode.c Signed-off-by: Florian Tobias Schandinat commit 75ec72f8c53b9f981e68704432a2e425a01f79b7 Merge: 567b99f cd00b11 Author: Florian Tobias Schandinat Date: Sun Apr 24 13:17:09 2011 +0000 Merge branch 'viafb-cleanup' into viafb-next commit 567b99f84ea8efe979e020bd382dd735746b526b Merge: b4ce6a2 c5a4e6d Author: Florian Tobias Schandinat Date: Sun Apr 24 13:16:41 2011 +0000 Merge branch 'viafb-olpc' into viafb-next commit 15d6aba24d88231415f4e7e091c0f1e60c3e6fd5 Author: Avi Kivity Date: Sun Apr 24 11:11:51 2011 +0300 x86: Demacro CONFIG_PARAVIRT cpu accessors Recently, we had a build failure on !CONFIG_PARAVIRT due to a callback ->wbinvd() clashing with a macro wbinvd(). While we worked around the issue, avoid it in the future by changing the macro (and a few surrounding ones) to an inline function. Signed-off-by: Avi Kivity Cc: "H. Peter Anvin" Link: http://lkml.kernel.org/r/1303632711-21662-1-git-send-email-avi@redhat.com Signed-off-by: Ingo Molnar commit 625f2a378e5a10f45fdc37932fc9f8a21676de9e Author: Jonathan Corbet Date: Fri Apr 22 11:19:10 2011 -0600 sched: Get rid of lock_depth Neil Brown pointed out that lock_depth somehow escaped the BKL removal work. Let's get rid of it now. Note that the perf scripting utilities still have a bunch of code for dealing with common_lock_depth in tracepoints; I have left that in place in case anybody wants to use that code with older kernels. Suggested-by: Neil Brown Signed-off-by: Jonathan Corbet Cc: Arnd Bergmann Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110422111910.456c0e84@bike.lwn.net Signed-off-by: Ingo Molnar commit fa7b69475a6c192853949ba496dd9c37b497b548 Author: Justin P. Mattock Date: Fri Apr 22 10:08:52 2011 -0700 perf events, x86, P4: Fix typo in comment Signed-off-by: Justin P. Mattock Acked-by: Cyrill Gorcunov Cc: trivial@kernel.org Link: http://lkml.kernel.org/r/1303492132-3004-1-git-send-email-justinmattock@gmail.com Signed-off-by: Ingo Molnar commit 2946294f9aa734efc5873ea2f34131d0a8c0f89a Author: Florian Tobias Schandinat Date: Sat Apr 23 23:52:45 2011 +0000 viafb: add X server compatibility mode This patch adds a config option to be compatible with X servers like OpenChrome. This is required as for example the X server does not handle things like disabled IGAs/PLLs resulting in a potential freeze on X startup. With this option disabled we can provide some nice features like power management and not reinitializing the hardware on every mode switch (taking long time, causing flickering). Signed-off-by: Florian Tobias Schandinat commit c5a4e6d725654045e548b1a1f33059a44a06910f Author: Florian Tobias Schandinat Date: Sat Apr 23 22:24:52 2011 +0000 viafb: reduce OLPC refresh a bit When allowing some PLL calculation we get a frequency that seems to be a bit higher than what the OLPC DCON likes resulting in a still readable but not so good image. We don't really know whether this is a problem with the calculation formula or the OLPC but as other displays seem to be happy with the other modes adjusting the OLPC refresh looks like the better thing. This patch prevents a regression when dynamic PLL calculation is allowed. Signed-off-by: Florian Tobias Schandinat commit 32fab7bcc79ee0b97277627f456c94202858d851 Author: Florian Tobias Schandinat Date: Sat Apr 23 22:06:18 2011 +0000 viafb: fix OLPC XO 1.5 device connection This patch fixes the devices connected on OLPC. The OLPC panel seems to be connected to DVP1 and LVDS2 for some reasons and if not both are handled correct the display does not work correct or not at all. This patch prevents regressions on the OLPC where it worked by accident but would break in future as the driver did not know the correct devices connected. This might also fix hardware scaling. Hopefully the OLPC is the only device with such a requirement but it will be certainly better to actually know what devices are actually connected and to not work by accident. Signed-off-by: Florian Tobias Schandinat commit cfefd21e693dca791bf9ecfc9dd3794facad533c Author: Thomas Gleixner Date: Fri Apr 15 22:36:08 2011 +0200 genirq: Add chip suspend and resume callbacks These callbacks are only called in the syscore suspend/resume code on interrupt chips which have been registered via the generic irq chip mechanism. Calling those callbacks per irq would be rather icky, but with the generic irq chip mechanism we can call this per registered chip. Signed-off-by: Thomas Gleixner Cc: linux-arm-kernel@lists.infradead.org commit 7d8280624797bbe2f5170bd3c85c75a8c9c74242 Author: Thomas Gleixner Date: Sun Apr 3 11:42:53 2011 +0200 genirq: Implement a generic interrupt chip Implement a generic interrupt chip, which is configurable and is able to handle the most common irq chip implementations. Signed-off-by: Thomas Gleixner Cc: linux-arm-kernel@lists.infradead.org Tested-by: H Hartley Sweeten Tested-by: Tony Lindgren Tested-by; Kevin Hilman commit 7f1b1244e159a8490d7fb13667c6cb7e1e75046b Author: Paul Mundt Date: Thu Apr 7 06:01:44 2011 +0900 genirq: Support per-IRQ thread disabling. This adds support for disabling threading on a per-IRQ basis via the IRQ status instead of the IRQ flow, which is necessary for interrupts that don't follow the natural IRQ flow channels, such as those that are virtually created. The new APIs added are simply: irq_set_thread() irq_set_nothread() which follow the rest of the IRQ status routines. Chained handlers also have IRQ_NOTHREAD set on them automatically, making the lack of threading explicit rather than implicit. Subsequently, the nothread flag can be viewed through the standard genirq debugging facilities. [ tglx: Fixed cleanup fallout ] Signed-off-by: Paul Mundt Link: http://lkml.kernel.org/r/%3C20110406210135.GF18426%40linux-sh.org%3E Signed-off-by: Thomas Gleixner commit 770767787c23040dc152e7ae230597ff55b39470 Author: Geert Uytterhoeven Date: Sun Apr 10 11:01:52 2011 +0200 genirq: irq_desc: Document preflow_handler and affinity_hint [ tglx: Filled in the FIXME place holders ] Signed-off-by: Geert Uytterhoeven Link: http://lkml.kernel.org/r/%3C1302426113-13808-2-git-send-email-geert%40linux-m68k.org%3E Signed-off-by: Thomas Gleixner commit ee430599bf63c13ee521a352f562a4281cba5e61 Author: Geert Uytterhoeven Date: Sun Apr 10 11:01:53 2011 +0200 genirq: Update DocBook comments Fix some parts to match the actual code. [ tglx: Resolved the FIXMEs Gerd put in ] Signed-off-by: Geert Uytterhoeven Link: http://lkml.kernel.org/r/%3C1302426113-13808-3-git-send-email-geert%40linux-m68k.org%3E Signed-off-by: Thomas Gleixner Cc: linux-doc@vger.kernel.org commit 0911f124bf55357803d53197cc1ae5479f5e37e2 Author: Geert Uytterhoeven Date: Sun Apr 10 11:01:51 2011 +0200 genirq: Forgotten updates/deletions after removal of compat code commit 0c6f8a8b917ad361319c8ace3e9f28e69bfdb4c1 ("genirq: Remove compat code") removed the compat code, but forgot to update some references in comments and delete some of its documentation. Signed-off-by: Geert Uytterhoeven Link: http://lkml.kernel.org/r/%3C1302426113-13808-1-git-send-email-geert%40linux-m68k.org%3E Signed-off-by: Thomas Gleixner commit c8705082404823a5bb3e02a32ba0764399b9e6f2 Author: Uwe Kleine-König Date: Wed Apr 20 09:44:46 2011 +0200 driver core: let dev_set_drvdata return int instead of void as it can fail Before commit b402843 (Driver core: move dev_get/set_drvdata to drivers/base/dd.c) calling dev_set_drvdata with dev=NULL was an unchecked error. After some discussion about what to return in this case removing the check (and so producing a null pointer exception) seems fine. Signed-off-by: Uwe Kleine-König Signed-off-by: Greg Kroah-Hartman commit 4a03d6f7c863a039b937649a93341615f531358e Author: Uwe Kleine-König Date: Wed Apr 20 09:44:45 2011 +0200 driver core/platform_device_add_resources: free resource before overwriting Reviewed-by: Viresh Kumar Signed-off-by: Uwe Kleine-König Signed-off-by: Greg Kroah-Hartman commit cea896238fbfdbce254f51fc8fd78c59df50081f Author: Uwe Kleine-König Date: Wed Apr 20 09:44:44 2011 +0200 driver core/platform_device_add_resources: set resource to NULL if !res This makes the res = NULL case more consistant to the res != NULL case as now both overwrite pdev->resource. Reviewed-by: Viresh Kumar Signed-off-by: Uwe Kleine-König Signed-off-by: Greg Kroah-Hartman commit 251e031d132ea3d03e0a32f2240c67f449979c5d Author: Uwe Kleine-König Date: Wed Apr 20 09:44:43 2011 +0200 driver core/platform_device_add_data: free platform data before overwriting Reviewed-by: Viresh Kumar Signed-off-by: Uwe Kleine-König Signed-off-by: Greg Kroah-Hartman commit 27a33f9e8fb203e71925257cf039fe6ec623c5d1 Author: Uwe Kleine-König Date: Wed Apr 20 09:44:42 2011 +0200 driver core/platform_device_add_data: set platform_data to NULL if !data This makes the data = NULL case more consistent to the data != NULL case. The functional change is that now platform_device_add_data(somepdev, NULL, somesize) sets pdev->dev.platform_data to NULL instead of not touching it. Reviewed-by: Viresh Kumar Signed-off-by: Uwe Kleine-König Signed-off-by: Greg Kroah-Hartman commit 7f100d1566d6ee353a43be92599511fc438ec281 Author: Karthigan Srinivasan Date: Mon Apr 18 16:16:52 2011 -0500 drivers/base/core.c: Fixed brace coding style issue. Fixed brace coding style issue. Signed-off-by: Karthigan Srinivasan Signed-off-by: Greg Kroah-Hartman commit 8497d6a21c4b17052e868bd53a74c82b557a6c46 Author: Sebastian Ott Date: Tue Apr 12 19:05:37 2011 +0200 driver-core: fix race between device_register and driver_register When a device is registered to a bus it will be a) added to the list of devices of the bus and b) bind to a driver (if one matches). As a result of a driver being registered at this bus between a) and b) this device could already be bound to a driver. This leads to a warning and incorrect refcounting. To fix this add a check to device_attach to identify an already bound device. Signed-off-by: Sebastian Ott Signed-off-by: Greg Kroah-Hartman commit fc2711992b8601c20b7cc078f533e55c3106fbd4 Author: Pavan Savoy Date: Fri Apr 8 04:57:43 2011 -0500 drivers:misc:ti-st: remove rfkill dependency rfkill is no longer used by Texas Instruments shared transport driver to communicate with user-space. This patch removes the dependency of rfkill to be enabled to build shared transport driver in the Kconfig. Signed-off-by: Pavan Savoy Signed-off-by: Greg Kroah-Hartman commit 764b0c4b3256ad4431cb52eaf99c0abe6df0a085 Author: Pavan Savoy Date: Fri Apr 8 04:57:42 2011 -0500 drivers:misc:ti-st: handle delayed tty receive When certain technologies shutdown their interface without waiting for the acknowledgement from the chip. The receive_buf from the TTY would be invoked a while after the relevant technology is unregistered. This patch introduces a new flag "is_registered" which maintains the state of protocols BT, FM or GPS and thereby removes the need to clear the protocol data from ST when protocols gets unregistered. This fixes corner cases when HCI RESET is sent down from bluetooth stack and the receive_buf is called from tty after 250ms before which bluetooth would have unregistered from the system. OR - when FM application decides to close down the device without sending a power-off FM command resulting in some RDS data or interrupt data coming in after the driver is unregistered. Signed-off-by: Pavan Savoy Signed-off-by: Greg Kroah-Hartman commit b71d1d426d263b0b6cb5760322efebbfc89d4463 Author: Eric Dumazet Date: Fri Apr 22 04:53:02 2011 +0000 inet: constify ip headers and in6_addr Add const qualifiers to structs iphdr, ipv6hdr and in6_addr pointers where possible, to make code intention more obvious. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4cd2bf76a40a148bc92f4a3d17bc7f94277b0410 Author: Johannes Berg Date: Wed Apr 13 03:14:52 2011 -0700 iwlagn: remove hw_ready variable This variable is only ever checked right after the function that sets it, but the same function will also return the status, so we can pass it through instead of checking hw_ready later. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit dbf28e21ca391110e90ccad05dda79d2e2f60e0e Author: Johannes Berg Date: Sat Apr 16 08:29:24 2011 -0700 iwlagn: combine firmware code/data On new hardware, ucode images always come in pairs: code and data. Therefore, combine the variables into an appropriate struct and use that when both code and data are needed. Also, combine allocation and copying so that we have less code in total. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit ca7966c88e44233fac113579071a6f55e00ef5ac Author: Johannes Berg Date: Fri Apr 22 10:15:23 2011 -0700 iwlagn: implement synchronous firmware load The current firmware loading mechanism in iwlwifi is very hard to follow, and thus hard to maintain. To make it easier, make the firmware loading synchronous. For now, as a side effect, this removes a number of retry possibilities we had. It isn't typical for this to fail, but if it does happen we restart from scratch which this also makes easier to do should it be necessary. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit e74fe2330a5a721610b2b69652d2ec2ebbd302e0 Author: Johannes Berg Date: Wed Apr 13 03:14:49 2011 -0700 iwlagn: leave notification waits on firmware errors When the firmware encounters an error while the driver is waiting for a notification, it will never get that notification. Therefore, instead of timing out, bail out on errors when waiting for notifications. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit a8674a1efca60d863d4caa47e102cc4d70d5ff9b Author: Johannes Berg Date: Wed Apr 13 03:14:48 2011 -0700 iwlagn: make iwlagn_wait_notification return error code We're unlikely to care about the actual time spent waiting, so make the function return an error code which is less error prone in coding new uses. Also, while at it, mark __must_check. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 09f18afe766ea3f2c749e3af195bf65fde71b62e Author: Johannes Berg Date: Wed Apr 13 03:14:47 2011 -0700 iwlagn: extend notification wait function A notification wait function is called with the command, but currently has no way of passing data back to the caller -- fix that by adding a void pointer to the function that can be used between the caller and the function. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 3e14c1fd75d909bfcc6caab79c544921fd02bf73 Author: Johannes Berg Date: Wed Apr 13 03:14:46 2011 -0700 iwlagn: refactor up path Starting the device consists of many things, refactor out enabling the hardware and also return -ERFKILL when the rfkill signal is found to be asserted (which makes more sense anyway, but is also required now to make the __iwl_up function return right away.) Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit bc4f8adac6b30ee5f03dad267896add7e58db729 Author: Johannes Berg Date: Wed Apr 13 03:14:45 2011 -0700 iwlagn: refactor down path The iwl_down path really consists of multiple things, refactor out the hardware resetting (including, of course, related software state like irqs). Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 1a10f43313481b99154b3b1ce6863742475422e0 Author: Johannes Berg Date: Wed Apr 13 03:14:44 2011 -0700 iwlagn: clean up some exit code There's no point in running through iwl_down() when we never registered with mac80211, as it just cleans up internal structures that were never initialised in this case. Therefore we can also remove the special handling for this case from __iwl_down(). Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit e46f6538c24f01bb68dc374358ce85a0af666682 Author: Johannes Berg Date: Wed Apr 13 03:14:43 2011 -0700 iwlagn: simplify error table reading The current code to read the error table header just hardcodes all the offsets, which is a bit hard to understand. We can read in the entire header (as much as we need) into a structure, and then take the data from there, which makes it easier to understand. To read a bigger blob we also don't need to grab NIC access for each word read, making the code more efficient. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit e0944ee63f7249802be74454cef81c97630ae1cd Author: Steven Rostedt Date: Wed Apr 20 21:42:00 2011 -0400 lockdep: Remove cmpxchg to update nr_chain_hlocks For some reason nr_chain_hlocks is updated with cmpxchg, but this is performed inside of the lockdep global "grab_lock()", which also makes simple modification of this variable atomic. Remove the cmpxchg logic for updating nr_chain_hlocks and simplify the code. Signed-off-by: Steven Rostedt Acked-by: Peter Zijlstra Cc: Frederic Weisbecker Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110421014300.727863282@goodmis.org Signed-off-by: Ingo Molnar commit 282b5c2f6f663c008444321fd8fcdd374596046b Author: Steven Rostedt Date: Wed Apr 20 21:41:59 2011 -0400 lockdep: Print a nicer description for simple irq lock inversions Lockdep output can be pretty cryptic, having nicer output can save a lot of head scratching. When a simple irq inversion scenario is detected by lockdep (lock A taken in interrupt context but also in thread context without disabling interrupts) we now get the following (hopefully more informative) output: other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(lockA); lock(lockA); *** DEADLOCK *** Signed-off-by: Steven Rostedt Acked-by: Peter Zijlstra Cc: Frederic Weisbecker Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110421014300.436140880@goodmis.org Signed-off-by: Ingo Molnar commit 6be8c3935b914dfbc24b27c91c2b6d583645e61a Author: Steven Rostedt Date: Wed Apr 20 21:41:58 2011 -0400 lockdep: Replace "Bad BFS generated tree" message with something less cryptic The message of "Bad BFS generated tree" is a bit confusing. Replace it with a more sane error message. Thanks to Peter Zijlstra for helping me come up with a better message. Signed-off-by: Steven Rostedt Acked-by: Peter Zijlstra Cc: Frederic Weisbecker Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110421014300.135521252@goodmis.org Signed-off-by: Ingo Molnar commit dad3d7435e1d8c254d6877dc06852dc00c5da812 Author: Steven Rostedt Date: Wed Apr 20 21:41:57 2011 -0400 lockdep: Print a nicer description for irq inversion bugs Irq inversion and irq dependency bugs are only subtly different. The diffenerence lies where the interrupt occurred. For irq dependency: irq_disable lock(A) lock(B) unlock(B) unlock(A) irq_enable lock(B) unlock(B) lock(A) The interrupt comes in after it has been established that lock A can be held when taking an irq unsafe lock. Lockdep detects the problem when taking lock A in interrupt context. With the irq_inversion the irq happens before it is established and lockdep detects the problem with the taking of lock B: lock(A) irq_disable lock(A) lock(B) unlock(B) unlock(A) irq_enable lock(B) unlock(B) Since the problem with the locking logic for both of these issues is in actuality the same, they both should report the same scenario. This patch implements that and prints this: other info that might help us debug this: Chain exists of: &rq->lock --> lockA --> lockC Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(lockC); local_irq_disable(); lock(&rq->lock); lock(lockA); lock(&rq->lock); *** DEADLOCK *** Signed-off-by: Steven Rostedt Acked-by: Peter Zijlstra Cc: Frederic Weisbecker Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110421014259.910720381@goodmis.org Signed-off-by: Ingo Molnar commit 48702ecf308e53f176c1f6fdc193d622ded54ac0 Author: Steven Rostedt Date: Wed Apr 20 21:41:56 2011 -0400 lockdep: Print a nicer description for simple deadlocks Lockdep output can be pretty cryptic, having nicer output can save a lot of head scratching. When a simple deadlock scenario is detected by lockdep (lock A -> lock A) we now get the following new output: other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&(lock)->rlock); lock(&(lock)->rlock); *** DEADLOCK *** Signed-off-by: Steven Rostedt Acked-by: Peter Zijlstra Cc: Frederic Weisbecker Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110421014259.643930104@goodmis.org Signed-off-by: Ingo Molnar commit f4185812aa046ecb97e8817e10148cacdd7a6baa Author: Steven Rostedt Date: Wed Apr 20 21:41:55 2011 -0400 lockdep: Print a nicer description for normal deadlocks The lockdep output can be pretty cryptic, having nicer output can save a lot of head scratching. When a normal deadlock scenario is detected by lockdep (lock A -> lock B and there exists a place where lock B -> lock A) we now get the following new output: other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(lockB); lock(lockA); lock(lockB); lock(lockA); *** DEADLOCK *** On cases where there's a deeper chair, it shows the partial chain that can cause the issue: Chain exists of: lockC --> lockA --> lockB Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(lockB); lock(lockA); lock(lockB); lock(lockC); *** DEADLOCK *** Signed-off-by: Steven Rostedt Acked-by: Peter Zijlstra Cc: Frederic Weisbecker Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110421014259.380621789@goodmis.org Signed-off-by: Ingo Molnar commit 3003eba313dd0e0502dd71548c36fe7c19801ce5 Author: Steven Rostedt Date: Wed Apr 20 21:41:54 2011 -0400 lockdep: Print a nicer description for irq lock inversions Locking order inversion due to interrupts is a subtle problem. When an irq lockiinversion discovered by lockdep it currently reports something like: [ INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected ] ... and then prints out the locks that are involved, as back traces. Judging by lkml feedback developers were routinely confused by what a HARDIRQ->safe to unsafe issue is all about, and sometimes even blew it off as a bug in lockdep. It is not obvious when lockdep prints this message about a lock that is never taken in interrupt context. After explaining the problems that lockdep is reporting, I decided to add a description of the problem in visual form. Now the following is shown: --- other info that might help us debug this: Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(lockA); local_irq_disable(); lock(&rq->lock); lock(lockA); lock(&rq->lock); *** DEADLOCK *** --- The above is the case when the unsafe lock is taken while holding a lock taken in irq context. But when a lock is taken that also grabs a unsafe lock, the call chain is shown: --- other info that might help us debug this: Chain exists of: &rq->lock --> lockA --> lockC Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(lockC); local_irq_disable(); lock(&rq->lock); lock(lockA); lock(&rq->lock); *** DEADLOCK *** Signed-off-by: Steven Rostedt Acked-by: Peter Zijlstra Cc: Frederic Weisbecker Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110421014259.132728798@goodmis.org Signed-off-by: Ingo Molnar commit 103b3934817a7c42fba6e1ef76ecb390a2837d40 Author: Cyrill Gorcunov Date: Thu Apr 21 11:03:20 2011 -0400 perf, x86: P4 PMU -- Use perf_sample_data_init helper Instead of opencoded assignments better to use perf_sample_data_init helper. Tested-by: Lin Ming Signed-off-by: Cyrill Gorcunov Signed-off-by: Don Zickus Cc: Cyrill Gorcunov Link: http://lkml.kernel.org/r/1303398203-2918-2-git-send-email-dzickus@redhat.com Signed-off-by: Ingo Molnar commit eff430de53be6f3328c3eebe93755f1ecf499e37 Merge: 9cbdb70 91e8549 Author: Ingo Molnar Date: Fri Apr 22 10:19:26 2011 +0200 Merge branch 'linus' into perf/core Merge reason: Pick up upstream fixes. Signed-off-by: Ingo Molnar commit 5f8629c526b4f7e529a6d27bbd802c0dc7fcc357 Author: Michał Mirosław Date: Thu Apr 21 13:59:21 2011 +0000 net: fix hw_features ethtool_ops->set_flags compatibility __ethtool_set_flags() was not taking into account features set but not user-toggleable. Since GFLAGS returns masked dev->features, EINVAL is returned when passed flags differ to it, and not to wanted_features. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 470078312515f12e7cd916f1bd002acad313b9c8 Author: Matt Carlson Date: Wed Apr 20 07:57:43 2011 +0000 tg3: Add additional EEE messaging This patch adds link messages and an item to the sign-on banner to make EEE status more visible. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 1d36ba450bf8c88eda57deb028370880d09a14bc Author: Matt Carlson Date: Wed Apr 20 07:57:42 2011 +0000 tg3: Add macro for SMDSP toggling A common AUX CTRL operation in the driver is to enable and disable the SMDSP. This patch consolidates the code so that the details of the operation are in one place. This patch also adds code to make sure the SMDSP is enabled before executing code that relies on it. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit b4bd292933537e19107c3e151b27a15fefa5f8d0 Author: Matt Carlson Date: Wed Apr 20 07:57:41 2011 +0000 tg3: Add write accessor for AUX CTRL phy reg This patch adds a write accessor for the aux ctrl phy register. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 15ee95c36d355a9f47746eaa4ae8cc0ecafec550 Author: Matt Carlson Date: Wed Apr 20 07:57:40 2011 +0000 tg3: Add read accessor for AUX CTRL phy reg This patch adds a read accessor for the aux ctrl register. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit b0988c15c12c40b9680730f55a8351f30ec7a564 Author: Matt Carlson Date: Wed Apr 20 07:57:39 2011 +0000 tg3: Move phy accessor functions higher Phy accessor functions should live closer to where the base phy read / write routines are. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 34eea5ac214353ccd93ef7dd8dbd10aed87f5f46 Author: Matt Carlson Date: Wed Apr 20 07:57:38 2011 +0000 tg3: Only allow phy ioctls while netif_running When tg3 was new, phy accesses through ioctl were allowable at any time. Then, the driver started shutting down the phy when the device was closed. Phy accesses would be allowed when the driver first attached to the device, but then would be forbidden after the device had been up'd and down'd. After that, management firmware made it illegal to access the phy unless the driver "owned" the device. Now that most firmware is being moved over to the APE, it is less clear when phy accesses are safe. While it is possible to attempt to identify these conditions and code the driver to navigate through the pitfalls, it could be perplexing to the admin why phy accesses work in some cases and not others. This patch brings some uniformity to the problem by only allowing phy accesses while the driver has control of the device. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 4a85f09831329bc5a5e4b9bca3f3ecbffb78f858 Author: Matt Carlson Date: Wed Apr 20 07:57:37 2011 +0000 tg3: Nullify RSS for loopback test The loopback test assumes all traffic goes to the first rx queue. There is a 1 in 4 chance this won't be true if RSS is enabled though. This patch reprograms the RSS indirection table to route all rx packets to the first queue. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit eb07a9408e05f67caa671bdf2a509a4d2bd05abf Author: Matt Carlson Date: Wed Apr 20 07:57:36 2011 +0000 tg3: Adjust rx prod ring bd replenish thresholds The oldest tg3 devices had large rx producer ring BD caches. Back then, it made sense to make the BD cache replenish threshold only a function of the number of rx buffers posted by the driver. Since then, the BD cache sizes have shrunk to 25% of their original size and, in some cases, the ring sizes have quadrupled in size. Under such conditions, static BD cache replenish thresholds no longer match the hardware constraints. This patch attempts to factor in the BD cache size into the bd cache replenish strategy, taking the existing hardware bugs into account. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 4d95847381228639844c7197deb8b2211274ef22 Author: Matt Carlson Date: Wed Apr 20 07:57:35 2011 +0000 tg3: Workaround rx_discards stat bug The 5717, 5718, 5719 A0, and 5720 A0 has a bug where the rx_discards statistic counter will increment when dropping unwanted multicast frames. This patch works around the problem by attempting to recreate the data using other means. The resulting value will not be accurate, but it can still serve as a problem indicator. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit e138f96bf5142c400b6b00f4cf69031bccc48f32 Author: David S. Miller Date: Thu Apr 21 15:19:02 2011 -0700 mv643xx_eth: Fix build regression. From Stephen Rothwell: -------------------- After merging the final tree, today's linux-next build (powerpc chrp32_defconfig) failed like this: drivers/net/mv643xx_eth.c: In function 'port_start': drivers/net/mv643xx_eth.c:2250: error: 'dev' undeclared (first use in this function) Caused by commit aad59c431b77 ("net: mv643xx: convert to hw_features"). -------------------- Reported-by: Stephen Rothwell Signed-off-by: David S. Miller commit e1cdd553d482ceb083fac5e544e8702fccefbfd6 Author: Wei Yongjun Date: Sun Apr 17 17:29:03 2011 +0000 sctp: implement event notification SCTP_SENDER_DRY_EVENT This patch implement event notification SCTP_SENDER_DRY_EVENT. SCTP Socket API Extensions: 6.1.9. SCTP_SENDER_DRY_EVENT When the SCTP stack has no more user data to send or retransmit, this notification is given to the user. Also, at the time when a user app subscribes to this event, if there is no data to be sent or retransmit, the stack will immediately send up this notification. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit ee916fd0fdb8f43dacaab431de3e1f7225039d72 Author: Wei Yongjun Date: Sun Apr 17 17:28:01 2011 +0000 sctp: change auth event type name to SCTP_AUTHENTICATION_EVENT This patch change the auth event type name to SCTP_AUTHENTICATION_EVENT, which is based on API extension compliance. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 209ba424c2c6e5ff4dd0ff79bb23659aa6048eac Author: Wei Yongjun Date: Sun Apr 17 17:27:08 2011 +0000 sctp: implement socket option SCTP_GET_ASSOC_ID_LIST This patch Implement socket option SCTP_GET_ASSOC_ID_LIST. SCTP Socket API Extension: 8.2.6. Get the Current Identifiers of Associations (SCTP_GET_ASSOC_ID_LIST) This option gets the current list of SCTP association identifiers of the SCTP associations handled by a one-to-many style socket. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit d3bf52e998056a6002b2aecfe1d25486376382ac Author: Rakib Mullick Date: Wed Apr 20 21:27:32 2011 +0600 sched: Remove obsolete comment from scheduler_tick() scheduler_tick() is no longer called by fork code - this got discarded a long time ago by commit bc947631d1d532 ("sched: improve efficiency of sched_fork()"). So, remove the comment which still claims otherwise. Signed-off-by: Rakib Mullick Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/BANLkTimO4iGP0QpaHO1HHF1QOnVcQpc0cw@mail.gmail.com Signed-off-by: Ingo Molnar commit 42ac9e87fdd89b77fa2ca0a5226023c1c2d83226 Merge: 057f3fa f0e615c Author: Ingo Molnar Date: Thu Apr 21 11:39:21 2011 +0200 Merge commit 'v2.6.39-rc4' into sched/core Merge reason: Pick up upstream fixes. Signed-off-by: Ingo Molnar commit dffa4b2f62ff28c982144c7033001b1ece4d3532 Author: Borislav Petkov Date: Wed Apr 20 12:23:49 2011 +0200 x86, mce: Drop the default decoding notifier The default notifier doesn't make a lot of sense to call in the correctable errors case. Drop it and emit the mcelog decoding hint only in the uncorrectable errors case and when no notifier is registered. Also, limit issuing the "mcelog --ascii" message in the rare case when we dump unreported CEs before panicking. While at it, remove unused old x86_mce_decode_callback from the header. Signed-off-by: Borislav Petkov Signed-off-by: Prarit Bhargava Cc: Tony Luck Cc: Nagananda Chumbalkar Cc: Russ Anderson Link: http://lkml.kernel.org/r/20110420102349.GB1361@aftab Signed-off-by: Ingo Molnar commit e31b2b228439eee23b8ccc186d3c0e77bd69123b Author: Florian Westphal Date: Thu Apr 21 10:58:25 2011 +0200 netfilter: ebtables: only call xt_compat_add_offset once per rule The optimizations in commit 255d0dc34068a976 (netfilter: x_table: speedup compat operations) assume that xt_compat_add_offset is called once per rule. ebtables however called it for each match/target found in a rule. The match/watcher/target parser already returns the needed delta, so it is sufficient to move the xt_compat_add_offset call to a more reasonable location. While at it, also get rid of the unused COMPAT iterator macros. Signed-off-by: Florian Westphal Signed-off-by: Patrick McHardy commit 954d70388307eb1ccb328d9f960657022a316243 Author: Eric Dumazet Date: Thu Apr 21 10:57:21 2011 +0200 netfilter: fix ebtables compat support commit 255d0dc34068a976 (netfilter: x_table: speedup compat operations) made ebtables not working anymore. 1) xt_compat_calc_jump() is not an exact match lookup 2) compat_table_info() has a typo in xt_compat_init_offsets() call 3) compat_do_replace() misses a xt_compat_init_offsets() call Reported-by: dann frazier Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit 358b1361bed42f4e6cbf8956a73aebf193957d4a Author: Pablo Neira Ayuso Date: Thu Apr 21 10:55:07 2011 +0200 netfilter: ctnetlink: fix timestamp support for new conntracks This patch fixes the missing initialization of the start time if the timestamp support is enabled. libnetfilter_conntrack/utils# conntrack -E & libnetfilter_conntrack/utils# ./conntrack_create tcp 6 109 ESTABLISHED src=1.1.1.1 dst=2.2.2.2 sport=1025 dport=21 packets=0 bytes=0 [UNREPLIED] src=2.2.2.2 dst=1.1.1.1 sport=21 dport=1025 packets=0 bytes=0 mark=0 delta-time=1303296401 use=2 Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 828d7d7b19446bf5a40928da47955c575a454c75 Merge: 26954c7 069f40f Author: Gustavo F. Padovan Date: Wed Apr 20 21:47:07 2011 -0300 Merge master.kernel.org:/pub/scm/linux/kernel/git/padovan/bluetooth-2.6 Conflicts: net/bluetooth/l2cap_core.c net/bluetooth/l2cap_sock.c net/bluetooth/mgmt.c commit 8a91707d0a1a49193e23cb2d243632f2289feb24 Author: Konrad Rzeszutek Wilk Date: Wed Apr 20 11:54:10 2011 -0400 xen/p2m: Add EXPORT_SYMBOL_GPL to the M2P override functions. If the backends, which use these two functions, are compiled as a module we need these two functions to be exported. Signed-off-by: Konrad Rzeszutek Wilk commit 9cbdb702092a2d82f909312f4ec3eeded77bb82e Author: David Ahern Date: Wed Apr 6 21:54:20 2011 -0600 perf script: improve validation of sample attributes for output fields Check for required sample attributes using evsel rather than sample_type in the session header. If the attribute for a default field is not present for the event type (e.g., new command operating on file from older kernel) the field is removed from the output list. Expected event types must exist. For example, if a user specifies -f trace:time,trace -f sw:time,cpu,sym the perf.data file must contain both tracepoints and software events (ie., it is an error if either does not exist in the file). Attribute checking is done once at the beginning of perf-script rather than for each sample. v1 -> v2: - addressed comments from acme Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/1302148460-570-1-git-send-email-daahern@cisco.com Signed-off-by: David Ahern Signed-off-by: Arnaldo Carvalho de Melo commit 4c6a6f42131dd750dcfe3c71e63bfc046e5a227e Author: Wei Yongjun Date: Tue Apr 19 21:32:28 2011 +0000 sctp: move chunk from retransmit queue to abandoned list If there is still data waiting to retransmit and remain in retransmit queue, while doing the next retransmit, if the chunk is abandoned, we should move it to abandoned list. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 92c73af58e9f1b487322ce25a7a67889c9d91343 Author: Wei Yongjun Date: Tue Apr 19 21:31:47 2011 +0000 sctp: make heartbeat information in sctp_make_heartbeat() Make heartbeat information in sctp_make_heartbeat() instead of make it in sctp_sf_heartbeat() directly for common using. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit de6becdc0844ff92b38ffd9f0c4db1d3de02835f Author: Wei Yongjun Date: Tue Apr 19 21:30:51 2011 +0000 sctp: fix to check the source address of COOKIE-ECHO chunk SCTP does not check whether the source address of COOKIE-ECHO chunk is the original address of INIT chunk or part of the any address parameters saved in COOKIE in CLOSED state. So even if the COOKIE-ECHO chunk is from any address but with correct COOKIE, the COOKIE-ECHO chunk still be accepted. If the COOKIE is not from a valid address, the assoc should not be established. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 85c5ed4e44a262344ce43b4bf23204107923ca95 Author: Shan Wei Date: Tue Apr 19 21:30:01 2011 +0000 sctp: handle ootb packet in chunk order as defined Changed the order of processing SHUTDOWN ACK and COOKIE ACK refer to section 8.4:Handle "Out of the Blue" Packets. SHUTDOWN ACK chunk should be processed before processing "Stale Cookie" ERROR or a COOKIE ACK. Signed-off-by: Wei Yongjun Signed-off-by: Shan Wei Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit deb85a6ecc432a4f342004a6ac2a0dad7cba6846 Author: Vlad Yasevich Date: Tue Apr 19 21:29:23 2011 +0000 sctp: bail from sctp_endpoint_lookup_assoc() if not bound The sctp_endpoint_lookup_assoc() function uses a port hash to lookup the association and then checks to see if any of them are on the current endpoint. However, if the current endpoint is not bound, there can't be any associations on it, thus we can bail early. Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 0b8f9e25b0aaf5a5d9fd844a97e5c17746b865d4 Author: Vlad Yasevich Date: Tue Apr 19 21:28:26 2011 +0000 sctp: remove completely unsed EMPTY state SCTP does not SCTP_STATE_EMPTY and we can never be in that state. Remove useless code. Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 48669698c23339e0fa31753f04e77648fc210339 Author: Shan Wei Date: Tue Apr 19 21:27:07 2011 +0000 sctp: remove redundant check when walking through a list of TLV parameters When pos.v <= (void *)chunk + end - ntohs(pos.p->length) and ntohs(pos.p->length) >= sizeof(sctp_paramhdr_t) these two expressions are all true, pos.v <= (void *)chunk + end - sizeof(sctp_paramhdr_t) *must* be true. This patch removes this kind of redundant check. It's same to _sctp_walk_errors macro. Signed-off-by: Shan Wei Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 96ca468b86b09aa6a001ac65dba93a6c4a3692a5 Author: Shan Wei Date: Tue Apr 19 21:26:26 2011 +0000 sctp: check invalid value of length parameter in error cause RFC4960, section 3.3.7 said: If an endpoint receives an ABORT with a format error or no TCB is found, it MUST silently discard it. When an endpoint receives ABORT that parameter value is invalid, drop it. Signed-off-by: Shan Wei Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 8a00be1c89cc17fda5f438794ff27449af6f00f1 Author: Shan Wei Date: Tue Apr 19 21:25:40 2011 +0000 sctp: check parameter value of length in ERROR chunk When an endpoint receives ERROR that parameter value is invalid, send an ABORT to peer with a Protocol Violation error code. Signed-off-by: Shan Wei Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 882553752196605bf27057e7adb298ecae8058c4 Author: Michał Mirosław Date: Tue Apr 19 06:13:10 2011 +0000 net: tun: convert to hw_features This changes offload setting behaviour to what I think is correct: - offloads set via ethtool mean what admin wants to use (by default he wants 'em all) - offloads set via ioctl() mean what userspace is expecting to get (this limits which admin wishes are granted) - TUN_NOCHECKSUM is ignored, as it might cause broken packets when forwarded (ip_summed == CHECKSUM_UNNECESSARY means that checksum was verified, not that it can be ignored) If TUN_NOCHECKSUM is implemented, it should set skb->csum_* and skb->ip_summed (= CHECKSUM_PARTIAL) for known protocols and let others be verified by kernel when necessary. TUN_NOCHECKSUM handling was introduced by commit f43798c27684ab925adde7d8acc34c78c6e50df8: tun: Allow GSO using virtio_net_hdr Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 47103041e91794acdbc6165da0ae288d844c820b Author: Michał Mirosław Date: Tue Apr 19 03:35:06 2011 +0000 net: xen-netback: convert to hw_features Signed-off-by: Michał Mirosław Acked-by: Ian Campbell Signed-off-by: David S. Miller commit 135d84a9f28854f875f32f97485737b0013c99d6 Author: Michał Mirosław Date: Tue Apr 19 03:03:57 2011 +0000 net: qlcnic: convert to hw_features Bit more than minimal conversion. There might be some issues because of qlcnic_set_netdev_features() if it's called after netdev init. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit b9367bf3ee6da380e0c338bd75bb8e8e4e0b981b Author: Michał Mirosław Date: Tue Apr 19 02:14:25 2011 +0000 net: ibmveth: convert to hw_features A minimal conversion. ibmveth_set_csum_offload() can be folded into ibmveth_set_features() and adapter->rx_csum removed - left for later cleanup. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 756a6b03da98903fa22ad7f10752de11782249fc Author: Michał Mirosław Date: Tue Apr 19 01:56:12 2011 +0000 net: pch_gbe: convert to hw_features This also fixes bug in xmit path, where TX checksum offload state was used instead of skb->ip_summed to decide if the offload was needed. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 3d96c74d8983b16bc7ecb196e61a2173fcc3f09f Author: Michał Mirosław Date: Tue Apr 19 00:43:20 2011 +0000 net: infiniband/ulp/ipoib: convert to hw_features Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 6204b47ec4394f7e472885c8d05d9cda96d97a25 Author: Michał Mirosław Date: Tue Apr 19 00:43:20 2011 +0000 net: s390: convert to hw_features options.large_send was easy to get rid of. options.checksum_type has deeper roots so is left for later cleanup. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit dd6f6d024906b8f05a0832c78c16a1e818958321 Author: Michał Mirosław Date: Tue Apr 19 00:43:20 2011 +0000 net: infiniband/hw/nes: convert to hw_features Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 8727bfaa8a723009e9c6eb1bb57b90ebdb0a4126 Author: Michał Mirosław Date: Tue Apr 19 00:43:20 2011 +0000 Staging: convert hv network driver to hw_features Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 97dbee73978497c615a46d324e4f5629b9772f86 Author: Michał Mirosław Date: Tue Apr 19 00:43:20 2011 +0000 net: batman-adv: remove rx_csum ethtool_ops Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 290129f9880302d4fa468f7ff2f72de4b4d418ae Author: Michał Mirosław Date: Tue Apr 19 00:43:19 2011 +0000 net: dsa: remove ethtool_ops->set_sg Remove set_sg from DSA slave ethtool_ops. Features inheritance looks broken/not fully implemented anyway. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit c83ae9cad8776bab153a05cc466be39f14011091 Author: Steven Whitehouse Date: Mon Apr 18 14:18:38 2011 +0100 GFS2: Add an AIL writeback tracepoint Add a tracepoint for monitoring writeback of the AIL. Signed-off-by: Steven Whitehouse commit 4667a0ec32867865fd4deccf834594b3ea831baf Author: Steven Whitehouse Date: Mon Apr 18 14:18:09 2011 +0100 GFS2: Make writeback more responsive to system conditions This patch adds writeback_control to writing back the AIL list. This means that we can then take advantage of the information we get in ->write_inode() in order to set off some pre-emptive writeback. In addition, the AIL code is cleaned up a bit to make it a bit simpler to understand. There is still more which can usefully be done in this area, but this is a good start at least. Signed-off-by: Steven Whitehouse commit f42ab0852946c1fb5103682c5897eb3da908e4b0 Author: Steven Whitehouse Date: Thu Apr 14 16:50:31 2011 +0100 GFS2: Optimise glock lru and end of life inodes The GLF_LRU flag introduced in the previous patch can be used to check if a glock is on the lru list when a new holder is queued and if so remove it, without having first to get the lru_lock. The main purpose of this patch however is to optimise the glocks left over when an inode at end of life is being evicted. Previously such glocks were left with the GLF_LFLUSH flag set, so that when reclaimed, each one required a log flush. This patch resets the GLF_LFLUSH flag when there is nothing left to flush thus preventing later log flushes as glocks are reused or demoted. In order to do this, we need to keep track of the number of revokes which are outstanding, and also to clear the GLF_LFLUSH bit after a log commit when only revokes have been processed. Signed-off-by: Steven Whitehouse commit 627c10b7e471b5dcfb7101d6cc74d219619c9bc4 Author: Steven Whitehouse Date: Thu Apr 14 14:09:52 2011 +0100 GFS2: Improve tracing support (adds two flags) This adds support for two new flags. One keeps track of whether the glock is on the LRU list or not. The other isn't really a flag as such, but an indication of whether the glock has an attached object or not. This indication is reported without any locking, which is ok since we do not dereference the object pointer but merely report whether it is NULL or not. Also, this fixes one place where a tracepoint was missing, which was at the point we remove deallocated blocks from the journal. Signed-off-by: Steven Whitehouse commit dba898b02defa66e5fe493d58ec0293a940f9c93 Author: Steven Whitehouse Date: Thu Apr 14 09:54:02 2011 +0100 GFS2: Clean up fsync() This patch is designed to clean up GFS2's fsync implementation and ensure that it really does get everything on disk. Since ->write_inode() has been updated, we can call that via the vfs library function sync_inode_metadata() and the only remaining thing that has to be done is to ensure that we get any revoke records in the log after the inode has been written back. Signed-off-by: Steven Whitehouse commit efc1a9c2a70e4e49f4cf179a7ed8064b7a406e4a Author: Steven Whitehouse Date: Wed Apr 13 13:03:34 2011 +0100 GFS2: Remove unused macro The buffer_in_io() macro has been unused for some time, so remove it. Signed-off-by: Steven Whitehouse commit 29687a2ac8dfcd5363e515ea715ec226aef8c26b Author: Steven Whitehouse Date: Wed Mar 30 16:33:25 2011 +0100 GFS2: Alter point of entry to glock lru list for glocks with an address_space Rather than allowing the glocks to be scheduled for possible reclaim as soon as they have exited the journal, this patch delays their entry to the list until the glocks in question are no longer in use. This means that we will rely on the vm for writeback of all dirty data and metadata from now on. When glocks are added to the lru list they should be freeable much faster since all the I/O required to free them should have already been completed. This should lead to much better I/O patterns under low memory conditions. Signed-off-by: Steven Whitehouse commit 5ac048bb7ea6e87b06504b999017cfa1f38f4092 Author: Steven Whitehouse Date: Wed Mar 30 16:25:51 2011 +0100 GFS2: Use filemap_fdatawrite() to write back the AIL In order to ensure that the mapping stats (and thus the bdi) are correctly updated, this patch changes the AIL writeback to use the filemap_datawrite function. This helps prevent stalls in balance_dirty_pages() due to large amounts of dirty metadata when there is little or no dirty data around. Signed-off-by: Steven Whitehouse commit 1027efaa238e1b65c07b6c2d9e270e548c2bdb07 Author: Steven Whitehouse Date: Wed Mar 30 16:13:25 2011 +0100 GFS2: Make ->write_inode() really write The GFS2 ->write_inode function should be more aggressive at writing back to the filesystem. This adopts the XFS system of returning -EAGAIN when the writeback has not been completely done. Also, we now kick off in-place writeback when called with WB_SYNC_NONE, but we only wait for it and flush the log when WB_SYNC_ALL is requested. Signed-off-by: Steven Whitehouse commit 556bb17998a37dabf7e9e96aa545bcea899be745 Author: Bob Peterson Date: Tue Mar 22 13:56:37 2011 -0400 GFS2: move function foreach_leaf to gfs2_dir_exhash_dealloc The previous patches made function gfs2_dir_exhash_dealloc do nothing but call function foreach_leaf. This patch simplifies the code by moving the entire function foreach_leaf into gfs2_dir_exhash_dealloc. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit ec038c826b5c3c163ad1673390f10e869020c28c Author: Bob Peterson Date: Tue Mar 22 13:55:23 2011 -0400 GFS2: pass leaf_bh into leaf_dealloc Function foreach_leaf used to look up the leaf block address and get a buffer_head. Then it would call leaf_dealloc which did the same lookup. This patch combines the two operations by making foreach_leaf pass the leaf bh to leaf_dealloc. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit d24a7a439a329b60f8e168c03e80566519e09be2 Author: Bob Peterson Date: Tue Mar 22 13:54:03 2011 -0400 GFS2: Combine transaction from gfs2_dir_exhash_dealloc At the end of function gfs2_dir_exhash_dealloc, it was setting the dinode type to "file" to prevent directory corruption in case of a crash. It was doing so in its own journal transaction. This patch makes the change occur when the last call is make to leaf_dealloc, since it needs to rewrite the directory dinode at that time anyway. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 0d95326d9bd39f6eae80b91392b308c5fa8b1a0f Author: Bob Peterson Date: Tue Mar 22 13:52:44 2011 -0400 GFS2: remove *leaf_call_t and simplify leaf_dealloc Since foreach_leaf is only called with leaf_dealloc as its only possible call function, we can simplify the code by making it call leaf_dealloc directly. This simplifies the code and eliminates the need for leaf_call_t, the generic call method. This is a first small step in simplifying the directory leaf deallocation code. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 95c8e17f2f00f6af7474fac0e4050a79db6c3cea Author: Bob Peterson Date: Tue Mar 22 10:49:12 2011 -0400 GFS2: Dump better debug info if a bitmap inconsistency is detected On rare occasions we encounter gfs2 problems where an invalid bitmap state transition is attempted. For example, trying to "unlink" a free block. In these cases, there is really no useful information logged to debug the problem. This patch adds more debug details that should allow us to more closely examine the problem and possibly solve it. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 411e689d929d5fc2e9066e30de55e8bcdbd573ad Author: Benjamin Herrenschmidt Date: Thu Apr 14 22:32:00 2011 +0000 powerpc/nvram: Search for nvram using compatible As well as searching for nodes with type = "nvram", search for nodes that have compatible = "nvram". This can't be converted into a single call to of_find_compatible_node() with a non-NULL type, because that searches for a node that has _both_ type & compatible = "nvram". Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 5ca123760177ed16cbd9bab609bff69eb8fc45bd Author: Michael Ellerman Date: Thu Apr 14 22:31:59 2011 +0000 powerpc/xics: Move irq_host matching into the ics backend An upcoming new ics backend will need to implement different matching semantics to the current ones, which are essentially the RTAS ics backends. So move the current match into the RTAS backend, and allow other ics backends to override. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit ab814b938d1d372bd2ac6268c15d4e0e6a5245c4 Author: Benjamin Herrenschmidt Date: Thu Apr 14 22:31:58 2011 +0000 powerpc: Add SCOM infrastructure SCOM is a side-band configuration bus implemented on some processors. This code provides a way for code to map and operate on devices via SCOM, while the details of how that is implemented is left up to a SCOM "controller" in the platform code. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit cd852579055bd8ad848415aaabb78b65d522fce0 Author: Michael Ellerman Date: Thu Apr 14 22:31:58 2011 +0000 powerpc/xics: xics.h relies on linux/interrupt.h Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 0b2e9a8e10ad2d191e5c37e77f1ce23e148e7a0b Author: Michael Ellerman Date: Thu Apr 14 22:31:57 2011 +0000 of: Export of_irq_find_parent() We have platform code that needs to find a node's interrupt parent, so export of_irq_find_parent() so we can use it. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 931e1241a266e701157d3478d0d44fc58d6e84b4 Author: Benjamin Herrenschmidt Date: Thu Apr 14 22:31:56 2011 +0000 powerpc/a2: Add some #defines for A2 specific instructions Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit b68a70c49686db0bff4637995d91b4db8abe5281 Author: Anton Blanchard Date: Mon Apr 4 23:56:18 2011 +0000 powerpc: Replace open coded instruction patching with patch_instruction/patch_branch There are a few places we patch instructions without using patch_instruction and patch_branch, probably because they predated it. Fix it. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit f5be2dc0bd8d27a39d84a89e4ff90ba38cd2b285 Author: Michael Ellerman Date: Mon Apr 4 20:57:27 2011 +0000 powerpc/nohash: Allocate stale_map[cpu] on CPU_UP_PREPARE not CPU_ONLINE Currently we allocate the stale_map for a cpu when it comes online, this leaves open a small window where a process can be scheduled on the cpu before the stale_map is allocated. Instead allocate the stale_map at CPU_UP_PREPARE time, that way it will be always available before tasks start running. It is possible the cpu fails to come up, in which case we should free the stale_map, so add a CPU_UP_CANCELED case to do that. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit de300974761d92f71cb583730ac9e1d4eb1b7156 Author: Michael Ellerman Date: Mon Apr 11 21:46:19 2011 +0000 powerpc/smp: smp_ops->kick_cpu() should be able to fail When we start a cpu we use smp_ops->kick_cpu(), which currently returns void, it should be able to fail. Convert it to return int, and update all uses. Convert all the current error cases to return -ENOENT, which is what would eventually be returned by __cpu_up() currently when it doesn't detect the cpu as coming up in time. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 6c5b59b913874cae535a324a671b7ed4f17e6397 Author: David Gibson Date: Thu Apr 14 18:29:16 2011 +0000 powerpc/boot: Add an ePAPR compliant boot wrapper This is a first cut at making bootwrapper code which will produce a zImage compliant with the requirements set down by ePAPR. This is a very simple bootwrapper, taking the device tree blob supplied by the ePAPR boot program and passing it on to the kernel. It builds on the earlier patch to build a relocatable ET_DYN zImage to meet the other ePAPR image requirements. For good measure we have some paranoid checks which will generate warnings if some of the ePAPR entry condition guarantees are not met. Signed-off-by: David Gibson Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 6975a783d7b40c79be4b7a7ea450e023ff7e5e02 Author: Michael Ellerman Date: Tue Apr 12 20:38:55 2011 +0000 powerpc/boot: Allow building the zImage wrapper as a relocatable ET_DYN This patch adds code, linker script and makefile support to allow building the zImage wrapper around the kernel as a position independent executable. This results in an ET_DYN instead of an ET_EXEC ELF output file, which can be loaded at any location by the firmware and will process its own relocations to work correctly at the loaded address. This is of interest particularly since the standard ePAPR image format must be an ET_DYN (although this patch alone is not sufficient to produce a fully ePAPR compliant boot image). Note for now we don't enable building with -pie for anything. Signed-off-by: Paul Mackerras Signed-off-by: David Gibson Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit ee7a2aa3d3fd10a7157dd19f737b2bafdea0458f Author: Michael Ellerman Date: Tue Apr 12 19:00:05 2011 +0000 powerpc/mm: Fix slice state initialization for Book3E On Book3E, MMU_NO_CONTEXT != 0, but the slice_mm_new_context() macro assumes that it is. This means that the map of the page sizes for each slice is always initialized to zeroes (which happens to be 4k pages), rather than to the correct default base page size value - which might be 64k. This patch corrects the problem. Signed-off-by: David Gibson Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 5e8e7b404ac965be45e25d5538676151de89aefb Author: Michael Ellerman Date: Tue Apr 12 19:00:04 2011 +0000 powerpc/mm: Standardise on MMU_NO_CONTEXT Use MMU_NO_CONTEXT as the initialiser for mm_context.id on nohash and hash64. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit c6ef006bf57fb6a8a0b134928b5c5606090ef0a0 Author: Vlad Yasevich Date: Mon Apr 18 19:15:22 2011 +0000 sctp: Release all routes when processing acks ADD_IP or DEL_IP When processing an ACK for ADD_IP parameter, we only release the routes on non-active transports. This can cause a wrong source address to be used. We can release the routes and cause new route lookups and source address selection so that new addresses can be used as source. Additionally, we don't need to lookup routes for all transports at the same time. We can let the transmit code path update the cached route when the transport actually sends something. Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit ee9cbaca7d73ea0098f00ecd10fe6e4a4792e32c Author: Vlad Yasevich Date: Mon Apr 18 19:14:47 2011 +0000 sctp: Allow bindx_del to accept 0 port We allow 0 port when adding new addresses. It only makes sence to allow 0 port when removing addresses. When removing the currently bound port will be used when the port in the address is set to 0. Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit f246a7b7c5b9df0ea0f0807a7101995af5e83213 Author: Vlad Yasevich Date: Mon Apr 18 19:13:56 2011 +0000 sctp: teach CACC algorithm about removed transports When we have have to remove a transport due to ASCONF, we move the data to a new active path. This can trigger CACC algorithm to not mark that data as missing when SACKs arrive. This is because the transport passed to the CACC algorithm is the one this data is sitting on, not the one it was sent on (that one may be gone). So, by sending the original transport (even if it's NULL), we may start marking data as missing. Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 934253a7b4ab4151037ea9532552628723a14442 Author: Shan Wei Date: Mon Apr 18 19:13:18 2011 +0000 sctp: use memdup_user to copy data from userspace Use common function to simply code. Signed-off-by: Shan Wei Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 66009927f1e7374afdc6f9fdd25c493ee4eadf7c Author: Shan Wei Date: Mon Apr 18 19:12:40 2011 +0000 sctp: kill abandoned SCTP_CMD_TRANSMIT command Remove SCTP_CMD_TRANSMIT command as it never be used. Signed-off-by: Shan Wei Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 6a435732accd9e3f4a8d9c320fabe578b1bf5add Author: Shan Wei Date: Mon Apr 18 19:11:47 2011 +0000 sctp: use common head of addr parameter to access member in addr-unrelated code The 'p' member of struct sctp_paramhdr is common part for IPv4 addr parameter and IPv6 addr parameter in union sctp_addr_param. For addr-related code, use specified addr parameter. Otherwise, use common header to access type/length member. Signed-off-by: Shan Wei Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 33c7cfdbb0d2bc021979e4947c7030c30d572532 Author: Shan Wei Date: Mon Apr 18 19:11:01 2011 +0000 sctp: fix the comment of sctp_sf_violation_paramlen() Update the comment about sctp_sf_violation_paramlen() to be more precise. Signed-off-by: Shan Wei Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit 709d38714eff234432956931437457e0de806784 Author: Shan Wei Date: Mon Apr 18 19:19:29 2011 +0000 sctp: delete unused macro definition of sctp_chunk_is_control The macro never be used. And if needed, can use !sctp_chunk_is_data instead of. Signed-off-by: Shan Wei Signed-off-by: Vlad Yasevich Signed-off-by: Wei Yongjun Signed-off-by: David S. Miller commit d0381c42aabdbd9402501d08ea44a89695ad58b4 Author: Ajit Khaparde Date: Tue Apr 19 12:11:55 2011 +0000 be2net: add code to display default value of tx rate for VFs This change will allow the default value of tx rate to be displayed when ip link show is called on a PF interface. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 187e87566d22b0d0e99b5ae7c6e18569ab5f6aee Author: Ajit Khaparde Date: Tue Apr 19 12:11:46 2011 +0000 be2net: pass domain id to be_cmd_link_status_query Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 6349935bdfa4a210fb557e7541caad1d41925ccc Author: Ajit Khaparde Date: Tue Apr 19 12:11:02 2011 +0000 be2net: fix be_mcc_compl_process to identify eth_get_stat command eth_get_statistics and vlan_config command have same opcode. Use opcode subsystem id to differentiate one from other. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 4fa9ed07e3965a809fa309a769675ac1c6dc692b Author: Ajit Khaparde Date: Tue Apr 19 12:10:53 2011 +0000 be2net: Add code to display nic speeds other than 1Gbps/10Gbps Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 16a871ef552ff55c80b6d8d895e371ea07c58281 Author: Ajit Khaparde Date: Tue Apr 19 12:10:43 2011 +0000 be2net: allow register dump only for PFs Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit ce45ee955ff53255993c9300344e6437761ce2b2 Author: Shan Wei Date: Tue Apr 19 15:38:06 2011 +0000 net:bna: fix compile warning of ‘bfa_ioc_smem_pgoff’ defined but not used Fix the below compile warning: drivers/net/bna/bfa_ioc.c:1922: warning: ‘bfa_ioc_smem_pgoff’ defined but not used Signed-off-by: Shan Wei Signed-off-by: David S. Miller commit 985762b2df4bcb4accc29fda76fc863dd79b8b58 Author: Shan Wei Date: Tue Apr 19 15:31:20 2011 +0000 net: forcedeth: fix compile warning of not used nv_set_tso function Fix the below compile warning: drivers/net/forcedeth.c:4266: warning: ‘nv_set_tso’ defined but not used commit 569e146 converts forcedeth driver to use hw_features. So, implement function of .set_tso is abandoned. Signed-off-by: Shan Wei Signed-off-by: David S. Miller commit af2771493a1bf79cd9a1ab4f30327c428b5bd67c Author: Benjamin Herrenschmidt Date: Wed Apr 6 10:51:17 2011 +1000 powerpc: Improve prom_printf() Adds the ability to print decimal numbers and adds some more format string variants Signed-off-by: Benjamin Herrenschmidt commit dd797738643cd3c2dd9cdff7e4c3a04d318ab23a Author: Benjamin Herrenschmidt Date: Tue Apr 5 14:34:58 2011 +1000 powerpc: Perform an isync to synchronize CPUs coming out of secondary_hold We need to do that to guarantee they see any code change done by dynamic patching during boot. Signed-off-by: Benjamin Herrenschmidt commit 948cf67c4726cca2fc57533dccadfb54d890689d Author: Benjamin Herrenschmidt Date: Mon Jan 24 18:42:41 2011 +1100 powerpc: Add NAP mode support on Power7 in HV mode Wakeup comes from the system reset handler with a potential loss of the non-hypervisor CPU state. We save the non-volatile state on the stack and a pointer to it in the PACA, which the system reset handler uses to restore things Signed-off-by: Benjamin Herrenschmidt commit 9d07bc841c9779b4d7902e417f4e509996ce805d Author: Benjamin Herrenschmidt Date: Wed Mar 16 14:54:35 2011 +1100 powerpc: Properly handshake CPUs going out of boot spin loop We need to wait a bit for them to have done their CPU setup or we might end up with translation and EE on with different LPCR values between threads Signed-off-by: Benjamin Herrenschmidt commit ad0693ee722b93b63a89c845e99513f242e43aa6 Author: Benjamin Herrenschmidt Date: Tue Feb 1 12:13:09 2011 +1100 powerpc: Call CPU ->restore callback earlier on secondary CPUs We do it before we loop on the PACA start flag. This way, we get a chance to set critical SPRs on all CPUs before Linux tries to start them up, which avoids problems when changing some bits such as LPCR bits that need to be identical on all threads of a core or similar things like that. Ideally, some of that should also be done before the MMU is enabled, but that's a separate issue which would require moving some of the SMP startup code earlier, let's not get there for now, it works with that change alone. Signed-off-by: Benjamin Herrenschmidt commit b144871cb5f2c268e94258ae8f1ec810db2e1120 Author: Benjamin Herrenschmidt Date: Tue Mar 1 15:46:09 2011 +1100 powerpc: Initialize TLB and LPID register on HV mode Power7 In case entry from the bootloader isn't "clean" Signed-off-by: Benjamin Herrenschmidt commit 895796a8ab548fe03b6fea410dcb1b86e1913708 Author: Benjamin Herrenschmidt Date: Mon Jan 24 13:25:55 2011 +1100 powerpc: Initialize LPCR:DPFD on power7 to a sane default This sets the default data stream prefetch size for operating systems that don't set their own value in DSCR. We use 4 which is "medium". Signed-off-by: Benjamin Herrenschmidt commit 673b189a2e3353061fa8c49515d1014dab6ad9b9 Author: Paul Mackerras Date: Tue Apr 5 13:59:58 2011 +1000 powerpc: Always use SPRN_SPRG_HSCRATCH0 when running in HV mode This uses feature sections to arrange that we always use HSPRG1 as the scratch register in the interrupt entry code rather than SPRG2 when we're running in hypervisor mode on POWER7. This will ensure that we don't trash the guest's SPRG2 when we are running KVM guests. To simplify the code, we define GET_SCRATCH0() and SET_SCRATCH0() macros like the GET_PACA/SET_PACA macros. Signed-off-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit b3e6b5dfcf0974069a8ddcce7dd071120d20d79c Author: Benjamin Herrenschmidt Date: Tue Apr 5 14:27:11 2011 +1000 powerpc: More work to support HV exceptions Rework exception macros a bit to split offset from vector and add some basic support for HDEC, HDSI, HISI and a few more. Signed-off-by: Benjamin Herrenschmidt commit a5d4f3ad3a28cf046836b9bfae61d532b8f77036 Author: Benjamin Herrenschmidt Date: Tue Apr 5 14:20:31 2011 +1000 powerpc: Base support for exceptions using HSRR0/1 Pass the register type to the prolog, also provides alternate "HV" version of hardware interrupt (0x500) and adjust LPES accordingly We tag those interrupts by setting bit 0x2 in the trap number Signed-off-by: Benjamin Herrenschmidt commit 2dd60d79e0202628a47af9812a84d502cc63628c Author: Benjamin Herrenschmidt Date: Thu Jan 20 17:50:21 2011 +1100 powerpc: In HV mode, use HSPRG0 for PACA When running in Hypervisor mode (arch 2.06 or later), we store the PACA in HSPRG0 instead of SPRG1. The architecture specifies that SPRGs may be lost during a "nap" power management operation (though they aren't currently on POWER7) and this enables use of SPRG1 by KVM guests. Signed-off-by: Benjamin Herrenschmidt commit 24cc67de62eebbda3ce0c46bdd56582c00dccd03 Author: Benjamin Herrenschmidt Date: Thu Jan 20 18:50:55 2011 +1100 powerpc: Define CPU feature for Architected 2.06 HV mode This bit indicates that we are operating in hypervisor mode on a CPU compliant to architecture 2.06 or later (currently server only). We set it on POWER7 and have a boot-time CPU setup function that clears it if MSR:HV isn't set (booting under a hypervisor). Signed-off-by: Benjamin Herrenschmidt commit f6e17f9b0bf172a5813dfef0c03d0a25ba83b0de Author: Benjamin Herrenschmidt Date: Fri Mar 4 18:25:55 2011 +1100 powerpc/xics: Make sure we have a sensible default distribution server Even when nothing is specified in the device tree, and despite the fact that we don't setup links properly yet, we still need a reasonable value in there or some interrupts won't be setup properly to point to an existing processor. Signed-off-by: Benjamin Herrenschmidt commit 50fb8ebe7c4ad60d147700d253f78bd1e615a526 Author: Benjamin Herrenschmidt Date: Wed Jan 12 17:41:28 2011 +1100 powerpc: Add more Power7 specific definitions This adds more SPR definitions used on newer processors when running in hypervisor mode. Along with some other P7 specific bits and pieces Signed-off-by: Benjamin Herrenschmidt commit 0b05ac6e24807f0c26f763b3a546c0bcbf84125f Author: Benjamin Herrenschmidt Date: Mon Apr 4 13:46:58 2011 +1000 powerpc/xics: Rewrite XICS driver This is a significant rework of the XICS driver, too significant to conveniently break it up into a series of smaller patches to be honest. The driver is moved to a more generic location to allow new platforms to use it, and is broken up into separate ICP and ICS "backends". For now we have the native and "hypervisor" ICP backends and one common RTAS ICS backend. The driver supports one ICP backend instanciation, and many ICS ones, in order to accomodate future platforms with multiple possibly different interrupt "sources" mechanisms. Signed-off-by: Benjamin Herrenschmidt commit 70a5f52165bd04cf3b33f30d5d234be28dcf29d4 Author: Andrew Morton Date: Tue Apr 12 16:13:31 2011 -0700 kmsg: properly support writev to avoid interleaved printk lines fix make `len' size_t, avoid multiple-assignments. Cc: Kay Sievers Cc: Lennart Poettering Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 7e5b58bcbcb3d7518389c1d82fb6e926f5a9f72c Author: Kay Sievers Date: Thu Apr 7 04:29:20 2011 +0200 printk: /dev/kmsg - properly support writev() to avoid interleaved printk() lines printk: /dev/kmsg - properly support writev() to avoid interleaved printk lines We should avoid calling printk() in a loop, when we pass a single string to /dev/kmsg with writev(). Cc: Lennart Poettering Signed-off-by: Kay Sievers Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 47296b1962ead8301488f0dbe8424c7db7eac635 Author: Jie Zhou Date: Wed Apr 6 14:42:40 2011 +0800 uio: clean uioinfo when uninstall uio driver The uioinfo should be cleaned up when uninstall, otherwise re-install failure of uio_pdrv_genirq.ko will happen. Signed-off-by: Jie Zhou Signed-off-by: Aisheng Dong Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit c6edc42fe1b5562abae22beabbebd9e557527ae3 Author: Hillf Danton Date: Thu Mar 31 20:38:47 2011 +0800 uio: fix allocating minor id for uio device The number of uio devices that could be used should be less than UIO_MAX_DEVICES by design, and this work guards any cases in which id more than UIO_MAX_DEVICES is utilized. Signed-off-by: Hillf Danton Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit f0c554fddd3be561542cd37acdb3adc9ec5483ee Author: Hillf Danton Date: Mon Mar 28 23:33:26 2011 +0200 uio: fix finding mm index for vma When finding mm index for vma it looks more flexible that the mm could be sparse, and both the size of mm and the pgoff of vma could give correct selection. Signed-off-by: Hillf Danton Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit d8408aef910b5d538ae07218992b270a9e01067f Author: Daniel Trautmann Date: Mon Mar 21 15:36:35 2011 +0100 uio_netx: Add support for netPLC cards This patch adds support for Hilscher / IBHsoftec netPLC cards to uio_netx userspace IO driver. Changes from v1 -> v2: Fixed whitespace errors reported by scripts/checkpatch.pl which were caused by email client. Signed-off-by: Daniel Trautmann Signed-off-by: "Hans J. Koch" Signed-off-by: Greg Kroah-Hartman commit 5934b5f3b0116858a5f950abcac344ddee054b69 Author: Tsugikazu Shibata Date: Mon Apr 4 11:47:36 2011 +0900 HOWTO: sync up Documentaion/ja_JP/HOWTO Signed-off-by: Tsugikazu Shibata Signed-off-by: Greg Kroah-Hartman commit 088ab0b4d855d68a0f0c16b72fb8e492a533aaa1 Author: Ludwig Nussel Date: Mon Feb 28 15:57:17 2011 +0100 kernel/ksysfs.c: expose file_caps_enabled in sysfs A kernel booted with no_file_caps allows to install fscaps on a binary but doesn't actually honor the fscaps when running the binary. Userspace currently has no sane way to determine whether installing fscaps actually has any effect. Since parsing /proc/cmdline is fragile this patch exposes the current setting (1 or 0) via /sys/kernel/fscaps Signed-off-by: Ludwig Nussel Signed-off-by: Greg Kroah-Hartman commit aed65af1cc2f6fc9ded5a8158f1405a02cf6d2ff Author: Stephen Hemminger Date: Mon Mar 28 09:12:52 2011 -0700 drivers: make device_type const The device_type structure does not contain data that changes during usage and should be const. This allows devices to declare the struct const. I have patches to change all the subsystems, but need the infra structure change first. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit 695cca8763078c743417886e80af8ccb78bec9f2 Author: Mike Waychison Date: Fri Mar 18 16:50:03 2011 -0700 firmware: Fix grammar in sysfs-firmware-dmi doc Fix the grammar in describing the position attribute of DMI entries in the dmi-sysfs module. While here, make a couple other small clarifying fixups to the docs. Reported-by: Signed-off-by: Mike Waychison Signed-off-by: Greg Kroah-Hartman commit 3116aabc81ccfeeb73f183ed8b1e3031520d1e59 Author: Dan Carpenter Date: Fri Mar 18 10:12:38 2011 +0300 efivars: handle errors from register_efivars() We should unwind and return an error if register_efivars() fails. Signed-off-by: Dan Carpenter Acked-by: Mike Waychison Signed-off-by: Greg Kroah-Hartman commit 051d51bc6a867d9466a975e4d7ca51b21a9c2c4e Author: Dan Carpenter Date: Fri Mar 18 10:12:14 2011 +0300 efivars: memory leak on error in create_efivars_bin_attributes() This is a cut and paste bug. We intended to free ->del_var and ->new_var but we only free ->new_var. Signed-off-by: Dan Carpenter Acked-by: Mike Waychison Signed-off-by: Greg Kroah-Hartman commit bcdd323b893ad3c9b7ef26b5e4a0bef974238501 Author: Felipe Balbi Date: Wed Mar 16 15:59:35 2011 +0200 device: add dev_WARN_ONCE it's quite useful to print the device name on the stack dump caused by WARN(), but there are other cases where we might want to use WARN_ONCE. Introduce a helper similar to dev_WARN() for that case too. Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 73b48099cc265f88fa1255f3f43e52fe6a94fd5c Author: Johannes Berg Date: Mon Apr 18 17:05:21 2011 +0200 mac80211: explain padding in place of rate field Apparently this was confusing still ... add a note that the byte is needed as padding. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0ed7b3c04434788ef03d267190c5e9e6e3f8e9ce Author: Ivo van Doorn Date: Mon Apr 18 15:35:12 2011 +0200 rt2x00: Implement get_antenna and set_antenna callback functions Implement the get_antenna and set_antenna callback functions, which will allow clients to control the antenna for all non-11n hardware (Antenna handling in rt2800 is still a bit magical, so we can't use the set_antenna for those drivers yet). To best support the set_antenna callback some modifications are needed in the diversity handling. We should never look at the default antenna settings to determine if software diversity is enabled. Instead we should set the diversity flag when possible, which will allow the link_tuner to automatically pick up the tuning. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit e7dee444263a103a9a2ac5fd5d0b5e9dc177d57c Author: Ivo van Doorn Date: Mon Apr 18 15:34:41 2011 +0200 rt2x00: Implement get_ringparam callback function With the get_ringparam callback function we can export ring parameters to ethtool through the mac80211 interface. Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 8d0a2dcfb6f965781cde6d9dfbd4540ab22a0eb9 Author: Ivo van Doorn Date: Mon Apr 18 15:34:22 2011 +0200 rt2x00: Optimize register access in rt2800usb All register reads/writes in rt2800usb were previously done with rt2800_register_read/rt2800_register_write. These however indirectly call rt2x00usb_register_read/rt2x00usb_register_write which adds an additional overhead of at least one call and several move instructions to each register access. Replacing the calls to rt2800_register_read/rt2800_register_write with direct calls to rt2x00usb_register_read/rt2x00usb_register_write gets rid of quite a number of instructions in the drivers hotpaths (IRQ handling and txdone handling). For consistency replace all references to rt2800_register_read/write with the rt2x00usb_register_read/write variants. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9a8199961b22e61221a6114b8bbbc26ddcc243f7 Author: Helmut Schaa Date: Mon Apr 18 15:34:01 2011 +0200 rt2x00: Optimize register access in rt2800pci All register reads/writes in rt2800pci were previously done with rt2800_register_read/rt2800_register_write. These however indirectly call rt2x00pci_register_read/rt2x00pci_register_write which adds an additional overhead of at least one call and several move instructions to each register access. Replacing the calls to rt2800_register_read/rt2800_register_write with direct calls to rt2x00pci_register_read/rt2x00pci_register_write gets rid of quite a number of instructions in the drivers hotpaths (IRQ handling and txdone handling). For consistency replace all references to rt2800_register_read/write with the rt2x00pci_register_read/write variants. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 46a01ec00d05581c5bd0c37e680d5b37af4953b4 Author: Gertjan van Wingerde Date: Mon Apr 18 15:33:41 2011 +0200 rt2x00: Merge rt2x00ht.c contents in other files. The two functions that are in rt2x00ht.c can be much better placed closer to the places where the call-sites of these functions are (one in rt2x00config.c and one in rt2x00queue.c) allowing us to make these functions static. Also, conditional compilations doesn't seem to be necessary anymore as 802.11n support is quite common nowadays. This makes the code a bit easier readable and searchable. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ea81966ccc2edd324c1fa382260a62a4400a032a Author: Gertjan van Wingerde Date: Mon Apr 18 15:33:20 2011 +0200 rt2x00: Enable support for RT53xx PCI devices by default. Code seems to be feature-complete, so no reason to not enable these devices by default. Also, remove the sentence about the support for these devices being non-functional. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ccd3caa4516c56540017d1af6c810940eff6afb8 Author: Gertjan van Wingerde Date: Mon Apr 18 15:33:00 2011 +0200 rt2x00: RT33xx device support is no longer experimental. The rt33xx devices support for both PCI and USB devices has been in the tree for a couple of months now, and seems to be functional and not in a worse shape than the support for rt28xx and rt30xx devices. No longer mark it as experimental and enable the support for these devices by default. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 87a3b89f34fb20f644b42fa57d579b1f2833fd4d Author: Gertjan van Wingerde Date: Mon Apr 18 15:32:33 2011 +0200 rt2x00: Add USB IDs. Add USB IDs that are listed in the latest Ralink Windows and/or Linux drivers. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e01ae27f8ce6bd3ee26ef33c704f62449ce8233b Author: Gertjan van Wingerde Date: Mon Apr 18 15:32:13 2011 +0200 rt2x00: Allow dynamic addition of PCI/USB IDs. Both USB and PCI drivers allow a system administrator to dynamically add USB/PCI IDs to the device table that a driver supports via the /sys/bus/{usb,pci,pci_express}/drivers//new_id files. However, for the rt2x00 drivers using this method currently crashes the system with a NULL pointer failure. This is due to the set-up of rt2x00 where the probe functions require a rt2x00_ops structure in the driver_info field of the probed device. As this field is empty for the dynamically added devices this fails for these devices. Fix this by introducing driver-specific probe wrappers that do nothing but calling the bus-specific probe functions with the rt2x00_ops structure as an argument, rather than depending on the driver_info field. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ce2919c9fffe2aa52f9c3e327176d03764dbf9b5 Author: Gertjan van Wingerde Date: Mon Apr 18 15:31:50 2011 +0200 rt2x00: Linksys WUSB600N rev2 is a RT3572 device. Move the USB ID entry from the unknown devices to the list of RT35xx based devices. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7a5a681a7df7d844b52f82a4388e078071eb883e Author: Helmut Schaa Date: Mon Apr 18 15:31:31 2011 +0200 rt2x00: Always inline rt2x00pci_enable_interrupt This allows the compiler to perform the necessary bitfield calculations during compile time instead of run time and thus reduces the number of instructions to run during each tasklet invocation. This should improve performance in the RX hotpath. This comes at the cost of a slight increase in the module size (for example rt2800pci): Before: text data bss dec hex filename 14133 832 4 14969 3a79 drivers/net/wireless/rt2x00/rt2800pci.ko After: text data bss dec hex filename 14149 832 4 14985 3a89 drivers/net/wireless/rt2x00/rt2800pci.ko Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 152a599274b15028604e24ae2d9c9d7f49853977 Author: Ivo van Doorn Date: Mon Apr 18 15:31:02 2011 +0200 rt2x00: Decrease association time for USB devices When powersaving is enabled, assocaition times are very high (for WPA2 networks, the time can easily be around the 3 seconds). This is caused, because the flushing of the queues takes too much time. Without the flushing callback mac80211 assumes a timeout of 100ms while scanning. Limit all flush waiting loops to the same maximum. We can apply this maximum by passing the drop status to the driver, which makes sure the driver performs extra actions during the waiting for the queue to become empty. After these changes, association times fall within the healthy range of ~0.6 seconds with powersaving enabled. The difference between association time between powersaving enabled and disabled is now only ~0.1 second (which can also be due to the measuring method). Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit f0187a1987ed6524518ff2a533eaf8394ac1a500 Author: Johannes Stezenbach Date: Mon Apr 18 15:30:36 2011 +0200 rt2800usb: add timer to handle TX_STA_FIFO TX status is reported by the hardware when a packet has been sent (or after TX failed after possible retries), which is some time after the DMA completion. Since the rt2800usb hardware can not signal interrupts we have to use a timer, otherwise the TX status would only be read by the next packet's TX DMA completion, or by the watchdog thread. Signed-off-by: Johannes Stezenbach Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6e6d6932a3f525d734f6c2f5845e9cadfaeddce9 Author: Johannes Stezenbach Date: Mon Apr 18 15:30:01 2011 +0200 rt2800usb: handle TX status timeouts The watchdog just triggers rt2800usb_work_txdone() when it detects a TX status timeout, thus rt2800usb_work_txdone() needs to handle this case. Signed-off-by: Johannes Stezenbach Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 75256f0348d38f414b7ac50ac78d4a4532bb6762 Author: Johannes Stezenbach Date: Mon Apr 18 15:29:38 2011 +0200 rt2x00: fix queue timeout checks Add a timestamp to each queue entry which is updated whenever the status of the entry changes, and remove the per-queue timestamps. The previous check was incorrect and caused both false positives and false negatives. With the corrected check it comes apparent that the TX status usually times out on rt2800usb unless there is sufficient traffic (i.e. the next TX will complete the previous TX status). Signed-off-by: Johannes Stezenbach Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0e0d39e5f3a3e59c8513b59d4feeeadcb93b707d Author: Johannes Stezenbach Date: Mon Apr 18 15:29:12 2011 +0200 rt2800usb: read TX_STA_FIFO asynchronously Trying to fix the "TX status report missed" warnings by reading the TX_STA_FIFO entries as quickly as possible. The TX_STA_FIFO is too small in hardware, thus reading it only from the workqueue is too slow and entries get lost. Start an asynchronous read of the TX_STA_FIFO directly from the TX URB completion callback (atomic context, thus it cannot use the blocking rt2800_register_read()). If the async read returns a valid FIFO entry, it is pushed into a larger FIFO inside struct rt2x00_dev, until rt2800_txdone() picks it up. A .tx_dma_done callback is added to struct rt2x00lib_ops to trigger the async read from the URB completion callback. Signed-off-by: Johannes Stezenbach Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8da3efbb4a18be30ed03dd05af18d0b026b15173 Author: Helmut Schaa Date: Mon Apr 18 15:28:50 2011 +0200 rt2x00: Use TXOP_HTTXOP for beacons Use TXOP_HTTXOP for beacons to stay in sync with the legacy drivers. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 961636ba17fa45b27ee4674430e1e775b8966b0e Author: Helmut Schaa Date: Mon Apr 18 15:28:27 2011 +0200 rt2x00: Update TX_SW_CFG2 init value Bring the TX_SW_CFG2 initialisation for rt305x devices in sync with the ralink legacy drivers. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 15a533c47f9ebb8dec8e440275136cbf9c493a1f Author: Helmut Schaa Date: Mon Apr 18 15:28:04 2011 +0200 rt2x00: Use correct TBTT_SYNC config in AP mode This seems to fix problems with some powersaving clients since a positive value in TBTT_SYNC_CFG_TBTT_ADJUST introduces beacon skew, which is not wanted in AP mode. Also update the rest of the TBTT_SYNC config according to the legacy drivers in AP mode. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 10e11568ca8b8a15f7478f6a4ceebabcbdba1018 Author: Helmut Schaa Date: Mon Apr 18 15:27:43 2011 +0200 rt2x00: Make rt2x00_queue_entry_for_each more flexible Allow passing a void pointer to rt2x00_queue_entry_for_each which in turn in provided to the callback function. Furthermore, allow the callback function to stop processing by returning true. And also notify the caller of rt2x00_queue_entry_for_each if the loop was canceled by the callback. No functional changes, just preparation for an upcoming patch. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 7dab73b37f5e8885cb73efd25e73861f9b4f0246 Author: Ivo van Doorn Date: Mon Apr 18 15:27:06 2011 +0200 rt2x00: Split rt2x00dev->flags The number of flags defined for the rt2x00dev->flags field, has been growing over the years. Currently we are approaching the maximum number of bits which are available in the field. A secondary problem, is that one part of the field are initialized only during boot, because the driver requirements are initialized or device requirements are loaded from the EEPROM. In both cases, the flags are fixed and will not change during device operation. The other flags are the device state, and will change frequently. So far this resulted in the fact that for some flags, the atomic bit accessors are used, while for the others the non-atomic variants are used. By splitting the flags up into a "flags" and "cap_flags" we can put all flags which are fixed inside "cap_flags". This field can then be read non-atomically. In the "flags" field we keep the device state, which is going to be read atomically. This adds more room for more flags in the future, and sanitizes the field access methods. Signed-off-by: Ivo van Doorn Acked-by: Helmut Schaa Signed-off-by: John W. Linville commit 62fe778412b36791b7897cfa139342906fbbf07b Author: Helmut Schaa Date: Mon Apr 18 15:26:37 2011 +0200 rt2x00: Fix stuck queue in tx failure case Since commit 0b7fde54f94979edc67bbf86b5adba702ebfefe8 "rt2x00: Protect queue control with mutex" rt2x00 used rt2x00queue_pause_queue for stopping a tx queue in mac80211. But in case of a failure in the tx path rt2x00 still called ieee80211_stop_queue which stopped the queue but prevented rt2x00queue_unpause_queue to wake the queue up again resulting in a stuck tx queue. Fix this by also using rt2x00queue_pause_queue in case of tx failures. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 44704e5d7d56625ff93d5a119ca846ae4de9061c Author: Layne Edwards Date: Mon Apr 18 15:26:00 2011 +0200 rt2x00: Enable WLAN LED on Ralink SoC (rt305x) devices This patch adds WLAN LED support to the mac80211 rt2x00 driver for Ralink SoC (rt305x) devices. The current WLAN LED drivers in rt2800lib.c set the LED brightness via an MCU request, but do nothing for SoC. This patch checks for SoC and sets the register to enable the WLAN LED (instead of an MCU request). This enables the WLAN LED for RT305x devices. Signed-off-by: Layne Edwards Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 93ae2dd2230393566738a5f211ffbaa33b056d56 Author: Felix Fietkau Date: Sun Apr 17 23:28:10 2011 +0200 ath9k: assign keycache slots to unencrypted stations Frame filtering relies on having a valid destination index (keycache slot), to keep track of the destination. Assigning a keycache slot (configured to unencrypted, with no key data attached) improves powersave handling in AP mode with no encryption. The dummy keycache entry for a station is cleared, when a real key gets added. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5519541d5a5f19893546883547e2f0f2e5934df7 Author: Felix Fietkau Date: Sun Apr 17 23:28:09 2011 +0200 ath9k: fix powersave frame filtering/buffering in AP mode This patch fixes a long standing issue of pending packets in the queue being sent (and retransmitted many times) to sleeping stations. This was made worse by aggregation through driver-internal retransmitting of A-MDPU subframes. Previously the hardware tx filter was cleared unconditionally for every single packet - with this patch it uses the IEEE80211_TX_CTL_CLEAR_PS_FILT for unaggregated frames. A sta_notify driver op is added to stop aggregation for stations when they enter powersave mode. Subframes stay buffered inside the driver, to ensure that the BlockAck window keeps a sane state. Since the driver uses software aggregation, the clearing of the tx filter needs to be handled by the driver instead of mac80211 for aggregated frames. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8e22ad323fb5b7cefb572bd8730e3abef95cdf90 Author: Rajkumar Manoharan Date: Sun Apr 17 21:38:10 2011 +0530 ath9k: Fix beacon generation on foreign channel While leaving the oper channel, beacon generation is stopped by mac80211 and beacon slots are marked as inactive. During the scan, ath9k configures beacon timers based on IEEE80211_CONF_OFFCHANNEL which inturn generates beacon alert even though bslot is inactive. ath9k fails to disable beacon alert while moving to offchannel if none of the beacon slot is active. This is causing beacon transmission on foreign channel. This patch enables swba based on active bslots. This issue was reported with two vifs (AP+STA) and triggered scan in STA vif in unassociated state. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit dcf55fb5d43bd82e1e3bf94f065cfe8f75a4bc5a Author: Felix Fietkau Date: Sun Apr 17 17:45:00 2011 +0200 mac80211: add a function for setting the TIM bit for a specific station This allows a driver to buffer frames for a PS station and tell mac80211 to wake it up even though mac80211 does not have any buffered frames for it. This is necessary for properly handling aggregation related buffering, in ath9k, because the driver needs to keep its frames in order to keep track of the Block-ACK window. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit cea3235cf578b5e952f5a0cec9bc6c2e862eb697 Author: Rajkumar Manoharan Date: Sat Apr 16 14:17:39 2011 +0530 ath9k_htc: Fix free slot value for cab queue ath9k_htc_tx_get_slot can return zero as valid index. Signed-off-by: Rajkumar Manoharan Acked-by: Sujith Manoharan Signed-off-by: John W. Linville commit 2be7859f41e9bcef5b15bd23d63e01536344e3df Author: Amitkumar Karwar Date: Fri Apr 15 20:50:42 2011 -0700 mwifiex: optimize driver initialization code 1) removal of unnecessary mwifiex_device structure 2) avoid passing adapter pointer to mwifiex_init_sw() 3) remove local variable drv_mode_info in mwifiex_add_card() 4) type change in mwifiex_bss_attr to match mwifiex_private 5) removal of more wordy comments Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit a37316586d926a10d66b5585c5d91683d6468f68 Author: Amitkumar Karwar Date: Fri Apr 15 20:50:41 2011 -0700 mwifiex: remove some macro definitions use corresponding macros defined in include/linux/ieee80211.h Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 636c4598499eeacce0893dc8d91113b904bd531e Author: Yogesh Ashok Powar Date: Fri Apr 15 20:50:40 2011 -0700 mwifiex: remove redundant local variables and comments Remove some local variables (mainly function return values) that are used only once. Also, one dummy function and some wordy comments are removed. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 7762bb02ce13c191e0a2da159bcb8d9b374b88c4 Author: Randy Dunlap Date: Fri Apr 15 16:20:05 2011 -0700 mac80211: fix debugfs printk format warning Fix printf() format warning (tm_year is long int): net/mac80211/debugfs_sta.c:113: warning: format '%d' expects type 'int', but argument 4 has type 'long int' Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit 0477ad72a12d4ee3f588de9349012948ea25702b Author: Sergei Shtylyov Date: Fri Apr 15 19:23:11 2011 +0400 iwlegacy: use pci_dev->revision Commit be663ab67077fac8e23eb8e231a8c1c94cb32e54 (iwlwifi: split the drivers for agn and legacy devices 3945/4965) added code to read the 4965's revision ID from the PCI configuration register while it's already stored by PCI subsystem in the 'revision' field of 'struct pci_dev'... Signed-off-by: Sergei Shtylyov Signed-off-by: John W. Linville commit e5facc75fa9104f074c4610437a9c717c9e5ecde Author: Rajkumar Manoharan Date: Fri Apr 15 15:42:24 2011 +0530 ath9k_htc: Cleanup HTC debugfs Move the ath9k_htc debugfs under ieee80211 to be inline with ath9k driver and it also helps to simplify debug code. Signed-off-by: Rajkumar Manoharan Acked-by: Sujith Manoharan Signed-off-by: John W. Linville commit 00bca7e2f2b58b93ce408e92d18a8c42bbe8d6e5 Author: Rajkumar Manoharan Date: Fri Apr 15 12:28:52 2011 +0530 ath9k_htc: Add debugfs support to change debug mask Signed-off-by: Rajkumar Manoharan Acked-by: Sujith Manoharan Signed-off-by: John W. Linville commit 2290a9c35df271cc33601b69e7836fa288e2fc7d Author: Luis R. Rodriguez Date: Thu Apr 14 14:55:36 2011 -0700 ath: fix 0x6C for beaconing/passive scan flags based on country IE The 0x6C regulatory domain is just like the 0x6A regulatory domain but differs in that 0x6C will allow adhoc and active scan on its channels only if we are associated to an AP with a country IE that allows those channels. The ath_reg_apply_beaconing_flags() does just this -- we respect the manufacturer's intent on only enabling beaconing modes of operation if and only if blessed by the country IE. Cc: David Quan Cc: Senthil Balasubramanian Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cbc6a6ed0900aed789b5ca77192845f2f987af70 Author: Antonio Ospite Date: Wed Apr 13 21:40:45 2011 +0200 rfkill: Regulator consumer driver for rfkill Add a regulator consumer driver for rfkill to enable controlling radio transmitters connected to voltage regulators using the regulator framework. A new "vrfkill" virtual supply is provided to use in platform code. Signed-off-by: Guiming Zhuo Signed-off-by: Antonio Ospite Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit bb411b4db2767cfd4a99b3328da843ce4ea1596a Merge: 44c866a 26954c7 Author: John W. Linville Date: Tue Apr 19 15:34:48 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 commit 44c866a0a57b08b7090be24ccb33679ed1d4f476 Merge: 34a0a20 f212b43 Author: John W. Linville Date: Tue Apr 19 15:33:54 2011 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 4805347c1eb12cfe79f42a12a5442ee01590a9c0 Merge: e194342 91eb7c0 Author: David S. Miller Date: Tue Apr 19 11:24:06 2011 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit 0ff8fbc61727c926883eec381fbd3d32d1fab504 Author: Clemens Ladisch Date: Tue Apr 12 07:54:59 2011 +0200 firewire: ohci: optimize find_branch_descriptor() When z==2, the condition "key == 2" is superfluous because it cannot occur without "b == 3", as a descriptor with b!=3 and key==2 would be an OUTPUT_MORE_IMMEDIATE descriptor which cannot be used alone. Also remove magic numbers and needless computations on the b field. Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit da28947e7e3602669e27d5e9ce787436ed662fa4 Author: Clemens Ladisch Date: Mon Apr 11 09:57:54 2011 +0200 firewire: ohci: avoid separate DMA mapping for small AT payloads For AT packet payloads of up to eight bytes, we have enough unused space in the DMA descriptors list so that we can put a copy of the payload there and thus avoid having to create a separate streaming DMA mapping for the payload buffer. In a CPU-bound microbenchmark that just sends 8-byte packets, bandwidth was measured to increase by 5.7 %, from 1009 KB/s to 1067 KB/s. In practice, the only performance-sensitive usage of small asynchronous packets is the SBP-2 driver's write to the ORB_POINTER register during SCSI command submission. Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit ecf8328e59447b83a1f79628487e0e9f8801db84 Author: Clemens Ladisch Date: Mon Apr 11 09:56:12 2011 +0200 firewire: ohci: do not start DMA contexts before link is enabled OHCI 1.1 5.7.3 not only forbids enabling or starting any DMA contexts before the linkEnable bit is set, but also explicitly warns of undefined behaviour if this order is violated. Don't violate it then. Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit 7b70bd3441437b7bc04fc9d321e17c8ed0e8f958 Author: Borislav Petkov Date: Mon Apr 18 16:00:21 2011 +0200 x86, MCE: Do not taint when handling correctable errors Correctable errors are considered something rather normal on modern hardware these days. Even more importantly, correctable errors mean exactly that - they've been corrected by the hardware - and there's no need to taint the kernel since execution hasn't been compromised so far. Also, drop tainting in the thermal throttling code for a similar reason: crossing a thermal threshold does not mean corruption. Signed-off-by: Borislav Petkov Acked-by: Tony Luck Acked-by: Nagananda Chumbalkar Cc: Prarit Bhargava Cc: Russ Anderson Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/1303135222-17118-1-git-send-email-bp@amd64.org Signed-off-by: Ingo Molnar commit 2b398bd9f8f73be706b41adcbb240ce95793049a Author: Youquan Song Date: Thu Apr 14 14:36:08 2011 +0800 x86, apic: Print verbose error interrupt reason on apic=debug End users worry about the error interrupt printout we generate currently: pr_debug("APIC error on CPU%d: %02x(%02x)\n", smp_processor_id(), v , v1); ... and would like to know the reason why error interrupts are generated. This patch prints out more detailed debug information. Another practical problem is that dynamic debug is not initialized yet when the APIC initializes, so the pr_debug() will not output the error interrupt debug information on bootup. In this patch, we use apic_printk(APIC_DEBUG, ...), so the apic=debug boot option will print verbose error interupts during bootup. Signed-off-by: Youquan Song Cc: Joe Perches Cc: hpa@linux.intel.com Cc: suresh.b.siddha@intel.com Cc: yong.y.wang@linux.intel.com Cc: jbaron@redhat.com Cc: trenn@suse.de Cc: kent.liu@intel.com Cc: chaohong.guo@intel.com Link: http://lkml.kernel.org/r/1302762968-24380-2-git-send-email-youquan.song@intel.com Signed-off-by: Ingo Molnar commit 0817a6a3a4fc7c069111083351ca33a78da2a0c9 Author: Arun Sharma Date: Thu Apr 14 10:38:18 2011 -0700 perf script: Add support for PERF_TYPE_RAW Useful for getting stack traces for hardware events not handled by PERF_TYPE_HARDWARE. Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Stephane Eranian Cc: Thomas Gleixner Cc: Tom Zanussi Signed-off-by: Arun Sharma Link: http://lkml.kernel.org/n/tip-qimdcdpekjqxuyqovy4kjusx@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo commit cf27d8677515441602f5e4e40f90448e964504b8 Author: Luciano Coelho Date: Fri Apr 1 21:08:23 2011 +0300 wl12xx: fix sparse warning about undeclared wl12xx_alloc_dummy_packet Fix sparse warning: CHECK drivers/net/wireless/wl12xx/main.c drivers/net/wireless/wl12xx/main.c:1246:17: warning: symbol 'wl12xx_alloc_dummy_packet' was not declared. Should it be static? Signed-off-by: Luciano Coelho commit 4ec23d6e136c890806f0e00bcf24e2e3a242b30a Author: Luciano Coelho Date: Fri Apr 1 20:55:01 2011 +0300 wl12xx: remove unused conf_radio_params structure This structure has not been used anymore since commit e6b190ff3c2f4e4859502c41fa17b5c595e82000. Signed-off-by: Luciano Coelho commit afb7d3cd805df7a206439a7e7b5d1167d2bb06f6 Author: Luciano Coelho Date: Fri Apr 1 20:48:02 2011 +0300 wl12xx: move hardcoded hci_io_ds value into the conf struct Instead of hardcoding the hci_io_ds configuration that we write to the SDIO_IO_DS top registed, read it from the default configuration so that it's easier to change for different platforms. Reported-by: Ido Yariv Signed-off-by: Luciano Coelho commit 6277ed65704d19377b0874618e5f23d64c9e71a6 Author: Luciano Coelho Date: Fri Apr 1 17:49:54 2011 +0300 wl12xx: use kstrtoul functions Use the new kstrtoul functions instead of the deprecated strict_strtoul(). Signed-off-by: Luciano Coelho commit 341b7cde6ccc60672fcd7fc84dd24a1b7c0b8d94 Author: Ido Yariv Date: Thu Mar 31 10:07:01 2011 +0200 wl12xx: Handle platforms without level trigger interrupts Some platforms are incapable of triggering on level interrupts. Add a platform quirks member in the platform data structure, as well as an edge interrupt quirk which can be set on such platforms. When the interrupt is requested with IRQF_TRIGGER_RISING, IRQF_ONESHOT cannot be used, as we might miss interrupts that occur after the FW status is cleared and before the threaded interrupt handler exits. Moreover, when IRQF_ONESHOT is not set, iterating more than once in the threaded interrupt handler introduces a few race conditions between this handler and the hardirq handler. Currently this is worked around by limiting the loop to one iteration only. This workaround has an impact on performance. To remove to this restriction, the race conditions will need to be addressed. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit d2f4d47d84f8c665ab9babb2cc84d2e7872a96e1 Author: Ido Yariv Date: Thu Mar 31 10:07:00 2011 +0200 wl12xx: Simplify TX blocks accounting The total number of TX memory blocks may change when the dynamic memory option is enabled. The current implementation only tracks the available memory blocks, which over-complicates TX blocks accounting. By tracking the number of allocated blocks, calculation of the number of available blocks becomes simpler and cleaner. It simply equals the total number of TX memory blocks minus the allocated ones. Also, remove some unnecessary castings and use union member accesses instead. Signed-off-by: Ido Yariv Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 990f5de7384f9e5922e4c7c7572cbf4f29a9441e Author: Ido Yariv Date: Thu Mar 31 10:06:59 2011 +0200 wl12xx: Clean up the dummy packet mechanism The current implementation allocates a skb each time one is requested by the firmware. Since dummy packets are handled differently than regular packets, the skb needs to be marked. Currently, this is done by setting the pkt_type member to 5. This might not be safe, as we cannot be sure that there won't be any other packets with this pkt_type value. Since the packet does not change from one request to another, we can simply allocate a dummy packet template and always send it. All changes to the skb done during packet preparation must be reverted, so the same skb can be reused. The dummy packets are not transmitted, therefore there's no need to set the BSSID or our own MAC address. In addition, the header portion of the packet was zeroed by mistake, so fix that as well. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit 0da13da767cd568c1fe2a7b5b936e86e521b5ae7 Author: Ido Yariv Date: Thu Mar 31 10:06:58 2011 +0200 wl12xx: Clean up the block size alignment code Simplify and clean up the block size alignment code: 1. Set the block size according to the padding field type, as it cannot exceed the maximum value this field can hold. 2. Move the alignment code into a function instead of duplicating it in multiple places. 3. In the current implementation, the block_size member can be misleading because a zero value actually means that there's no need to align. Declare a block size alignment quirk instead. Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit d29633b40e6afc6b4276a4e381bc532cc84be104 Author: Ido Yariv Date: Thu Mar 31 10:06:57 2011 +0200 wl12xx: Clean up and fix the 128x boot sequence Clean up the boot sequence code & fix the following issues: 1. Always read the registers' values and set the relevant bits instead of zeroing all other bits 2. Handle cases where wl1271_top_reg_read returns an error 3. Verify that the HW can detect the selected clock source 4. Remove 128x PG10 initialization code 5. Configure the MCS PLL to work in HP mode Signed-off-by: Ido Yariv Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 8bf69aae4cb9b196ba5ac386f83a1ca3865af11f Author: Ohad Ben-Cohen Date: Wed Mar 30 19:18:31 2011 +0200 wl12xx: fix "JOIN while associated" commentary Issuing multiple JOIN commands to the wl12xx's firmware, while we're associated, might have undesired implications, so the driver prints a message when that happens, and warn developers who check out the source. Update the commentary in order to consider the one valid scenario where this can happen: roaming. Cautiously keep the message for now, until we either gain confidence there are no unintentional JOIN-while-associated events, or until we move to the new multi-role fw who solves this multiple-join issue for good. Signed-off-by: Ohad Ben-Cohen Signed-off-by: Luciano Coelho commit c5745187a4812f2991a58e469a866582a7326d91 Author: Ohad Ben-Cohen Date: Wed Mar 30 16:35:59 2011 +0200 wl12xx: fix roaming The wl12xx device normally drops all frames coming from BSSID it is not joined with. This behavior is configured today by the wl12xx driver in response to a handful of ieee80211_bss_change and ieee80211_conf_changed notification flags, such as BSS_CHANGED_ASSOC, BSS_CHANGED_BSSID, IEEE80211_CONF_CHANGE_IDLE, etc.. This breaks when we roam to a new BSSID, where authentication frames are sent before any BSS_CHANGED/CONF_CHANGED flags are received. When this happens the hardware silently drops the authentication responses, and the roaming fails. Ideally this aggressive filtering behavior of the device should be disabled upon a notification from mac80211. Such notification will take place after multi-channel support will be added: mac80211 will likely send a remain-on-channel notification to drivers when entering sensitive states (like authentication), otherwise the firmware might jump to different channels (to serve a different role). Until those notifications materialize, disable the hw BSSID filter when authentication requests are sent, so roaming would work. Signed-off-by: Ohad Ben-Cohen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 13026decf7b74d0908df034dc6dc86c2caaec939 Author: Juuso Oikarinen Date: Tue Mar 29 16:43:50 2011 +0300 wl12xx: Handle duplicate calling of remove interface Because of the hardware recovery mechanism, its possible the __wl1271_op_remove_interface is called twice. Currently, this leads to a kernel crash even before a kernel WARNing can be issued. Fix this. Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit c1b193eb6557279d037ab18c00ab628c6c78847f Author: Eliad Peller Date: Wed Mar 23 22:22:15 2011 +0200 wl12xx: rearrange some ELP wake_up/sleep calls ELP (Extremely/Enhanced Low Power, or something like that ;)) refers to the powerstate of the 12xx chip, in which very low power is consumed, and no commands (from the host) can be issued until the chip is woken up. Wakeup/sleep commands must be protected by a wl->mutex, so it's generally a good idea to call wakeup/sleep along with the mutex lock/unlock (where needed). However, in some places the wl12xx driver calls wakeup/sleep in some "inner" functions. This result in some "nested" wakeup/sleep calls which might end up letting the chip go to sleep prematurely (e.g. during event handling). Fix it by rearranging the elp calls to come along with mutex_lock/unlock. Signed-off-by: Eliad Peller Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit 17e672d6e4b5a8a3f330a70dfd58d25a2cb497b5 Author: Arik Nemtsov Date: Tue Mar 22 10:07:47 2011 +0200 wl12xx: configure channel/band while FW is off Initialize the channel and band from mac80211 conf even when the FW is not yet loaded. This mitigates a bug in AP-mode where the channel was never changed from its initial setting after FW boot and was therefore never configured to FW. Reported-by: Alexander Boukaty Signed-off-by: Arik Nemtsov Signed-off-by: Luciano Coelho commit 4a31c11c7d8c482598754a577a8fb71abb61ffa0 Author: Luciano Coelho Date: Mon Mar 21 23:16:14 2011 +0200 wl12xx: use a bitmask instead of list of booleans in scanned_ch We were using an array of booleans to mark the channels we had already scanned. This was causing a sparse error, because bool is not a type with defined size. To fix this, use bitmasks instead, which is much cleaner anyway. Thanks Johannes Berg for the idea. Signed-off-by: Luciano Coelho commit 4623ec7d97afaf7a8489036e2c2e71e8349716b4 Author: Luciano Coelho Date: Mon Mar 21 19:26:41 2011 +0200 wl12xx: fix a couple of sparse warnings about undeclared functions Fix the following sparse warnings: drivers/net/wireless/wl12xx/main.c:1129:5: warning: symbol '__wl1271_plt_stop' was not declared. Should it be static? drivers/net/wireless/wl12xx/main.c:2988:5: warning: symbol 'wl1271_op_ampdu_action' was not declared. Should it be static? Both functions should be static. Signed-off-by: Luciano Coelho commit d9482e2b5132fd40f8de528af6bb715accbab11d Author: Luciano Coelho Date: Mon Mar 21 17:58:32 2011 +0200 wl12xx: fix SG BT load value to reflect its new meaning The Soft Gemini BT load ratio value has changed its meaning with FW version 6.1.0.0.310. It now means the passive scan compensation percentage during A2DP EDR. Instead of 50, we need to use 200. Fix the SG configuration accordingly. Signed-off-by: Luciano Coelho commit 18b92ffaf33c862e852992e82e17b9fffca8d5a4 Author: Luciano Coelho Date: Mon Mar 21 16:35:21 2011 +0200 wl12xx: set the skbuff priority for dummy packets The firmware requires dummy packets to be sent using TID 7 (WL1271_TID_MGMT). Instead of hardcoding it in the tx_fill_hdr() function, set it when creating the packet itself. This requires Eliad's fix to set the actual TID in the TX descriptor. Cc: Ido Yariv Signed-off-by: Luciano Coelho commit db674d249c1fa20fd6731048f41646b3a2e8bdf5 Author: Eliad Peller Date: Wed Mar 16 23:03:54 2011 +0200 wl12xx: set the actual tid instead of the ac When passing a tx frame, the driver incorrectly set desc->tid with the ac instead of the actual tid. It has some serious implications when using 802.11n + QoS, as the fw starts a BlockAck with the wrong tid (which finally cause beacon loss and disconnection / some fw crash) Fix it by using the actual tid stored in skb->priority. Reported-by: Shahar Levi Signed-off-by: Eliad Peller Reviewed-by: Juuso Oikarinen Signed-off-by: Luciano Coelho commit f9f774c17e19da6f98bd7b57527f55d0ec920fce Author: Juuso Oikarinen Date: Mon Mar 21 10:43:36 2011 +0200 wl12xx: Add mutex protection for interface list The interface list maintained in main.c is not mutex protected. This could cause issues, as the list is accessed from notifier chains. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 1d732e8cf3dcc09d7c862b6c12f876533529073d Author: Arik Nemtsov Date: Fri Mar 18 14:49:57 2011 +0200 wl12xx: Clamp byte mode transfers for 128x chips On wl128x based devices, when TX packets are aggregated, each packet size must be aligned to the SDIO block size, and sent using block mode transfers. The block size is set to 256 bytes, which is less than the maximum possible byte transfer. Thus, if two small packets (< 256 bytes) are aggregated, the aggregation buffer size would be 512, and will be sent using byte mode transfers. This can have undesired side effects. Fix this by setting the MMC_QUIRK_BLKSZ_FOR_BYTE_MODE mmc card quirk. For 127x chips this has no effect, as the block size is set to 512 bytes. Signed-off-by: Arik Nemtsov Signed-off-by: Ido Yariv Signed-off-by: Luciano Coelho commit 958b20e068be2c6267c2b5764babf15b0d4f5c69 Author: Ohad Ben-Cohen Date: Mon Mar 14 18:53:10 2011 +0200 wl12xx: update bet_max_consecutive Allow early termination of 50 consecutive beacons. This value is the recommended one by the 12xx's system/RF team, and tests show that power consumption is improved as expected. Reported-by: Ruthy Zaphir Tested-by: Danil Shalumov Signed-off-by: Ohad Ben-Cohen Signed-off-by: Luciano Coelho commit 871d0c3ba32c2d2e1e7d9ac0d231a440d2653fc5 Author: Shahar Levi Date: Sun Mar 13 11:24:40 2011 +0200 wl12xx: Add support for 11n Rx STBC one spatial stream The wl12xx chip supports one Rx STBC spatial stream. Announce this in the HT capabilities info field. Signed-off-by: Shahar Levi Signed-off-by: Luciano Coelho commit 0af0467f09207cbbeb387d2e09ea539534c6655c Author: Juuso Oikarinen Date: Thu Mar 10 10:01:43 2011 +0200 wl12xx: Fix potential incorrect band in rx-status The rx-status passed to mac80211 along with each received frame contains the band on which the frame was received. Under certain circumstances, this band information may be incorrect, causing in worst case a WARNING from mac80211, and causes the received frame to be dropped. This scenario mainly occurs when performing connected-mode scans, when the received scan results are from the other band than the one currently associated to. [Since desc_band doesn't exist anymore, use status->band in the later call to ieee80211_channel_to_frequency() to fix compilation -- Luca] Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit e7ddf549f3f2da156f5c12921e6699024e80a3f4 Author: Luciano Coelho Date: Thu Mar 10 15:24:57 2011 +0200 wl12xx: use 1 spare TX block instead of two All the new firmware versions (>=6.1.3.50.58 for STA and >=6.2.0.0.47 for AP) use 1 spare TX block. We still want to support older firmwares that require 2 spare blocks, so added a quirk to handle the difference. Also implemented a generic way of setting quirks that depend on the firmware revision. Signed-off-by: Luciano Coelho commit 0830ceedbfde20c9110c59597fdffbf51886565a Author: Shahar Levi Date: Sun Mar 6 16:32:20 2011 +0200 wl12xx: 1281/1283 support - enable chip support Add support to wl128x chip via chip id Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 1aed55fd784d000fb6741cefb68712d64817bd68 Author: Arik Nemtsov Date: Sun Mar 6 16:32:18 2011 +0200 wl12xx: 1281/1283 support - Use different FW file for AP mode wl127x/wl128x chips Choose a different FW for AP-mode wl127x and wl128x chips, base on chip ID at boot time. Signed-off-by: Arik Nemtsov Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit ae47c45fd02fdf88d57adc370e78e7a01e2bfcbc Author: Shahar Levi Date: Sun Mar 6 16:32:14 2011 +0200 wl12xx: 1281/1283 support - Add dummy packet support Support sending dummy packet to wl128x FW as results of dummy packet event. That is part of dynamic TX mem blocks mechanism. Only send dummy packet when not in AP mode. [Even though the DUMMY_PACKET_EVENT_ID and the STA_REMOVE_COMPLETE_EVENT_ID events are defined to the same value, we need to treat them separately in the code. Keep the check and enable STA_REMOVE_COMPLETE_EVENT_ID for AP mode and DUMMY_PACKET_EVENT_ID for STA. Moved one warning to a cleaner place. Use WL1271_TID_MGMT for dummy packets -- Luca] Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit ae77eccf04f8c36769bdba334e1bbcc7bb9d3644 Author: Shahar Levi Date: Sun Mar 6 16:32:13 2011 +0200 wl12xx: 1281/1283 support - Improve Tx & Rx path Reduced bus transactions in the Tx & Rx path. [Removed unnecessary check wl->chip.id != CHIP_ID_1283_PG20 when checking the quirk -- Luca] Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 13b107dd9808343d05627f0fba7fbc764c86738e Author: Shahar Levi Date: Sun Mar 6 16:32:12 2011 +0200 wl12xx: 1281/1283 support - use dynamic memory for the RX/TX pools Separate the memory configuration to chip-specific structures and implement dynamic memory for wl128x. This feature allows us to move TX memory blocks to the RX pool when the RX path is overloaded. Thanks for Arik Nemtsov for helping simplify the wl1271_fw_status() code. [Rewrote the commit subject and message for clarity; improved some comments and changed "spare" to "padding" for consistency; added a FIXME for the AP memory configuration -- Luca] Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 5ea417ae7749076ddaacb5b36487cae6ac920413 Author: Shahar Levi Date: Sun Mar 6 16:32:11 2011 +0200 wl12xx: 1281/1283 support - New boot sequence Boot sequence support FREF clock and TCXO clock. WL128x has two clocks input - TCXO and FREF. TCXO is the main clock of the device, while FREF is used to sync between the GPS and the cellular modem. Auto-detection checks where TCXO is 32.736MHz or 16.368MHz, in that case the FREF will be used as the WLAN/BT main clock. [Use clock enumeration as defined in linux/wl12xx.h; remove unnecessary else block in wl128x_switch_fref; remove unnecessary change in main.c; remove some unnecessary debug prints and comments; fix potential use of uninitialized value (pll_config) -- Luca] Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit bc765bf3b9a095b3e41c8cda80643901884c3dd4 Author: Shahar Levi Date: Sun Mar 6 16:32:10 2011 +0200 wl12xx: 1281/1283 support - Loading FW & NVS Take care of FW & NVS with the auto-detection between wl127x and wl128x. [Moved some common code outside if statements and added notes about NVS structure assumptions; Fixed a bug when checking the nvs size: if the size was incorrect, the local nvs variable was set to NULL, it should be wl->nvs instead. -- Luca] [Merged with potential buffer overflow fix -- Luca] Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 49d750ca14cd49e76ab039b33b5a621e0a92b9fd Author: Shahar Levi Date: Sun Mar 6 16:32:09 2011 +0200 wl12xx: 1281/1283 support - New radio structs and functions New general and radio parameters structures and functions. Implemented as separate functions due to auto-detection between wl127x and wl128x. Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit a81159edf8d64011933df177ec42f82d7896a0c7 Author: Luciano Coelho Date: Mon Mar 14 14:05:13 2011 +0200 wl12xx: 1281/1283 support - add block size handling for sdio and spi Add the the set_block_size op in the SDIO and in the SPI modules. Since it is only used with SDIO, just explicitly set the op to NULL in spi.c Signed-off-by: Luciano Coelho commit 48a61477bdc04896bd96d259388a0c42a7019943 Author: Shahar Levi Date: Sun Mar 6 16:32:08 2011 +0200 wl12xx: 1281/1283 support - Add acx commands New acx command that sets: Rx fifo enable reduced bus transactions in RX path. Tx bus transactions padding to SDIO block size that improve preference in Tx and essential for working with SDIO HS (48Mhz). The max SDIO block size is 256 when working with Tx bus transactions padding to SDIO block. Add new ops to SDIO & SPI that handles the win size change in case of transactions padding (relevant only for SDIO). [Fix endianess issues; simplify sdio-specific block_size handling; minor changes in comments; use "aligned_len" in one calculation instead of "pad" to avoid confusion -- Luca] Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 5aa42346bba2e385674eb1dd4019dfce4c2ef771 Author: Shahar Levi Date: Sun Mar 6 16:32:07 2011 +0200 wl12xx: 1281/1283 support - Add Definitions Definitions to support wl128x: - New FW file name - Chip ID - New PLL Configuration Algorithm macros that will be used at wl128x boot stage - Rename NVS macro name: wl127x and wl128x are using the same NVS file name. However, the ini parameters between them are different. The driver will validate the correct NVS size in wl1271_boot_upload_nvs(). [Cleaned up some of the definitions. -- Luca] Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit b9b0fdead0e8d964a534e5b09f40d8bd4bf7dfe8 Author: Shahar Levi Date: Sun Mar 6 16:32:06 2011 +0200 wl12xx: 1281/1283 support - move IRQ polarity In order to prevent overran of IRQ polarity via FW the polarity setting move after FW download and before IRQ enable. Signed-off-by: Shahar Levi Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho commit 62c7d085e1f2a1f2b4d89560551eff18d703b3b1 Author: Luciano Coelho Date: Thu Mar 10 16:42:47 2011 +0200 wl12xx: add new board_tcxo_clock element to the platform data This new value is a new type of clock setting that is used by wl128x chipsets. Signed-off-by: Luciano Coelho commit f18568aae5612ab37f20e5f383d6154ea69c9dfc Author: Michael Witten Date: Tue Apr 12 20:30:13 2011 +0000 perf tools: git mv tools/perf/{features-tests.mak,config/} Signed-off-by: Michael Witten Link: http://lkml.kernel.org/n/tip-a6zhefjayuounko1tk5sjji2@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo commit 7fbd065f5a2b299172502f09fc3fbde02b48f591 Author: Michael Witten Date: Tue Apr 12 20:27:59 2011 +0000 perf tools: Move `try-cc' The `try-cc' user-defined function was in tools/perf/feature-tests.mak; this commit moves it to tools/perf/config/utilities.mak. Signed-off-by: Michael Witten Link: http://lkml.kernel.org/n/tip-bqhwcuxsrve0iodn6q4ejaoi@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo commit ced465c400b23656ef2c4fbfb4add0e5b92e3d97 Author: Michael Witten Date: Sat Apr 2 21:46:09 2011 +0000 perf tools: Makefile: PYTHON{,_CONFIG} to bandage Python 3 incompatibility Currently, Python 3 is not supported by perf's code; this can cause the build to fail for systems that have Python 3 installed as the default python: python{,-config} The Correct Solution is to write compatibility code so that Python 3 works out-of-the-box. However, users often have an ancillary Python 2 installed: python2{,-config} Therefore, a quick fix is to allow the user to specify those ancillary paths as the python binaries that Makefile should use, thereby avoiding Python 3 altogether; as an added benefit, the Python binaries may be installed in non-standard locations without the need for updating any PATH variable. This commit adds the ability to set PYTHON and/or PYTHON_CONFIG either as environment variables or as make variables on the command line; the paths may be relative, and usually only PYTHON is necessary in order for PYTHON_CONFIG to be defined implicitly. Some rudimentary error checking is performed when the user explicitly specifies a value for any of these variables. In addition, this commit introduces significantly robust makefile infrastructure for working with paths and communicating with the shell; it's currently only used for handling Python, but I hope it will prove useful in refactoring the makefiles. Thanks to: Raghavendra D Prabhu for motivating this patch. Acked-by: Raghavendra D Prabhu Link: http://lkml.kernel.org/r/e987828e-87ec-4973-95e7-47f10f5d9bab-mfwitten@gmail.com Signed-off-by: Michael Witten Signed-off-by: Arnaldo Carvalho de Melo commit 3643b133f2cb8023e8cedcbef43215a99d7df561 Author: Michael Witten Date: Sat Apr 9 01:12:56 2011 +0000 perf tools: Makefile: Clean up `python/perf.so' rule There is no need for a subshell or an explicit `export'; as per the POSIX Shell Command Language specification: http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_09_01 http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_10_02 It is only necessary to include the environment variable assignment just before the command to be run. Also, it is better to use single-quotes, because GNU make might expand `$(BASIC_CFLAGS)' into something that the shell could interpret within double-quotes. Acked-by: Raghavendra D Prabhu Link: http://lkml.kernel.org/n/tip-58n38o02ocuzrm9qh096hsf5@git.kernel.org Signed-off-by: Michael Witten Signed-off-by: Arnaldo Carvalho de Melo commit aeafcbaf4fcfeb74aeed65609ea5ead48dfc09f8 Author: Arnaldo Carvalho de Melo Date: Thu Mar 31 10:56:28 2011 -0300 perf symbols: Give more useful names to 'self' parameters One more installment on an area that is mostly dormant. Suggested-by: Thomas Gleixner Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Stephane Eranian Cc: Thomas Gleixner Cc: Tom Zanussi LKML-Reference: Signed-off-by: Arnaldo Carvalho de Melo commit 057f3fadb347e9c51b07e1b277bbdda79f976768 Author: Peter Zijlstra Date: Mon Apr 18 11:24:34 2011 +0200 sched: Fix sched_domain iterations vs. RCU Vladis Kletnieks reported a new RCU debug warning in the scheduler. Since commit dce840a08702b ("sched: Dynamically allocate sched_domain/ sched_group data-structures") the sched_domain trees are protected by RCU instead of RCU-sched. This means that we need to include rcu_read_lock() protection when we iterate them since disabling preemption doesn't suffice anymore. Reported-by: Valdis.Kletnieks@vt.edu Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1302882741.2388.241.camel@twins Signed-off-by: Ingo Molnar commit 2f36825b176f67e5c5228aa33d828bc39718811f Author: Venkatesh Pallipadi Date: Thu Apr 14 10:30:53 2011 -0700 sched: Next buddy hint on sleep and preempt path When a task in a taskgroup sleeps, pick_next_task starts all the way back at the root and picks the task/taskgroup with the min vruntime across all runnable tasks. But when there are many frequently sleeping tasks across different taskgroups, it makes better sense to stay with same taskgroup for its slice period (or until all tasks in the taskgroup sleeps) instead of switching cross taskgroup on each sleep after a short runtime. This helps specifically where taskgroups corresponds to a process with multiple threads. The change reduces the number of CR3 switches in this case. Example: Two taskgroups with 2 threads each which are running for 2ms and sleeping for 1ms. Looking at sched:sched_switch shows: BEFORE: taskgroup_1 threads [5004, 5005], taskgroup_2 threads [5016, 5017] cpu-soaker-5004 [003] 3683.391089 cpu-soaker-5016 [003] 3683.393106 cpu-soaker-5005 [003] 3683.395119 cpu-soaker-5017 [003] 3683.397130 cpu-soaker-5004 [003] 3683.399143 cpu-soaker-5016 [003] 3683.401155 cpu-soaker-5005 [003] 3683.403168 cpu-soaker-5017 [003] 3683.405170 AFTER: taskgroup_1 threads [21890, 21891], taskgroup_2 threads [21934, 21935] cpu-soaker-21890 [003] 865.895494 cpu-soaker-21935 [003] 865.897506 cpu-soaker-21934 [003] 865.899520 cpu-soaker-21935 [003] 865.901532 cpu-soaker-21934 [003] 865.903543 cpu-soaker-21935 [003] 865.905546 cpu-soaker-21891 [003] 865.907548 cpu-soaker-21890 [003] 865.909560 cpu-soaker-21891 [003] 865.911571 cpu-soaker-21890 [003] 865.913582 cpu-soaker-21891 [003] 865.915594 cpu-soaker-21934 [003] 865.917606 Similar problem is there when there are multiple taskgroups and say a task A preempts currently running task B of taskgroup_1. On schedule, pick_next_task can pick an unrelated task on taskgroup_2. Here it would be better to give some preference to task B on pick_next_task. A simple (may be extreme case) benchmark I tried was tbench with 2 tbench client processes with 2 threads each running on a single CPU. Avg throughput across 5 50 sec runs was: BEFORE: 105.84 MB/sec AFTER: 112.42 MB/sec Signed-off-by: Venkatesh Pallipadi Acked-by: Rik van Riel Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1302802253-25760-1-git-send-email-venki@google.com Signed-off-by: Ingo Molnar commit 69c80f3e9d3c569f8a3cee94ba1a324b5a7fa6b9 Author: Venkatesh Pallipadi Date: Wed Apr 13 18:21:09 2011 -0700 sched: Make set_*_buddy() work on non-task entities Make set_*_buddy() work on non-task sched_entity, to facilitate the use of next_buddy to cache a group entity in cases where one of the tasks within that entity sleeps or gets preempted. set_skip_buddy() was incorrectly comparing the policy of task that is yielding to be not equal to SCHED_IDLE. Yielding should happen even when task yielding is SCHED_IDLE. This change removes the policy check on the yielding task. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1302744070-30079-2-git-send-email-venki@google.com Signed-off-by: Ingo Molnar commit c8e5910edf8bbe2e5c6c35a4ef2a578cc7893b25 Author: Robert Richter Date: Sat Apr 16 02:27:55 2011 +0200 perf, x86: Use ALTERNATIVE() to check for X86_FEATURE_PERFCTR_CORE Using ALTERNATIVE() when checking for X86_FEATURE_PERFCTR_CORE avoids an extra pointer chase and data cache hit. Signed-off-by: Robert Richter Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/1302913676-14352-4-git-send-email-robert.richter@amd.com Signed-off-by: Ingo Molnar commit e1943424e43974f85b82bb31eaf832823bf49ce7 Merge: 88230fd 0553c89 Author: David S. Miller Date: Tue Apr 19 00:21:33 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/bnx2x/bnx2x_ethtool.c commit 88230fd586b4ccc5ffe6d6c2df8cdc495e89ad83 Author: Michał Mirosław Date: Mon Apr 18 13:31:21 2011 +0000 net: qlge: convert to hw_features Another simple conversion. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit a0d2730c9571aeba793cb5d3009094ee1d8fda35 Author: Michał Mirosław Date: Mon Apr 18 13:31:21 2011 +0000 net: vmxnet3: convert to hw_features This also removes private feature flags that were always set to true. You may want to move vmxnet3_set_features() to vmxnet3_drv.c as a following cleanup. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit feb990d467f76abe90ae68437eb1db351e67c674 Author: Michał Mirosław Date: Mon Apr 18 13:31:21 2011 +0000 net: vxge: convert to hw_features Side effect: ->gro_enable is removed as napi_gro_receive() does the fallback itself. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 30f554f925335abad89aaa38eec6828242b27527 Author: Michał Mirosław Date: Mon Apr 18 13:31:20 2011 +0000 net: chelsio: convert to hw_features Also remove flags that were not used or are now redundant to hw_features bits. No device had UDP_CSUM_CAPABLE set. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit b437a8cc7de4c9d8d0bdb37e7621c119f7640967 Author: Michał Mirosław Date: Mon Apr 18 13:31:20 2011 +0000 net: s2io: convert to hw_features This removes advertising HW_CSUM as driver does not support it. Note: driver advertises TSO6 but not IPV6_CSUM - bug maybe? Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit e5cb966c0838e4da43a3b0751bdcac7fe719f7b4 Author: Michał Mirosław Date: Mon Apr 18 13:31:20 2011 +0000 net: fix section mismatches Fix build warnings like the following: WARNING: drivers/net/built-in.o(.data+0x12434): Section mismatch in reference from the variable madgemc_driver to the variable .init.data:madgemc_adapter_ids And add some consts to EISA device ID tables along the way. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 68d2cf25d39324c54b5e42de7915c623a0917abe Merge: 176fcc5 5d2cd90 Author: Ingo Molnar Date: Tue Apr 19 07:55:58 2011 +0200 Merge branch 'perf/urgent' into perf/core Merge reason: we'll be queueing up dependent changes. Signed-off-by: Ingo Molnar commit 2b7b431858c284b62c18baaf2cea571be2797d5a Author: Francois Romieu Date: Mon Apr 18 22:53:24 2011 -0700 r8169: TSO fixes. - the MSS value is actually contained in a 11 bits wide (0x7ff) field. The extra bit in the former MSSMask did encompass the TSO command bit ("LargeSend") as well (0xfff). Oops. - the Tx descriptor layout is not the same through the whole chipset family. The 8169 documentation, the 8168c documentation and Realtek's drivers (8.020.00, 1.019.00, 6.014.00) highlight two layouts: 1. 8169, 8168 up to 8168b (included) and 8101 2. {8102e, 8168c} and beyond - notwithstanding the "first descriptor" and "last descriptor" bits, the same Tx descriptor content is enforced when a packet consists of several descriptors. The chipsets are documented to require it. Credits go to David Dillow for the original patch. Signed-off-by: Francois Romieu Cc: Realtek Signed-off-by: David S. Miller commit 47c2cdf5513e86e43c799da8d5406cc9a2bf3626 Author: Michał Mirosław Date: Fri Apr 15 04:50:50 2011 +0000 net: myri10ge: convert to hw_features Signed-off-by: Michał Mirosław Acked-by: Jon Mason Signed-off-by: David S. Miller commit d8d9766c8c29f71c37bc4b74cc9fcf6a192c9bfd Author: H. Peter Anvin Date: Mon Apr 18 15:31:57 2011 -0700 x86, cpu: Change NOP selection for certain Intel CPUs Due to a decoder implementation quirk, some specific Intel CPUs actually perform better with the "k8_nops" than with the SDM-recommended NOPs. For runtime-selected NOPs, if we detect those specific CPUs then use the k8_nops instead of the ones we would normally use. Signed-off-by: H. Peter Anvin Cc: Tejun Heo Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Jason Baron Link: http://lkml.kernel.org/r/1303166160-10315-4-git-send-email-hpa@linux.intel.com commit dc326fca2b640fc41aed7c015d0f456935a66255 Author: H. Peter Anvin Date: Mon Apr 18 15:19:51 2011 -0700 x86, cpu: Clean up and unify the NOP selection infrastructure Clean up and unify the NOP selection infrastructure: - Make the atomic 5-byte NOP a part of the selection system. - Pick NOPs once during early boot and then be done with it. Signed-off-by: H. Peter Anvin Cc: Tejun Heo Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Jason Baron Link: http://lkml.kernel.org/r/1303166160-10315-3-git-send-email-hpa@linux.intel.com commit b1e7734f024c9ce4393016a97c8d821e1f18d9b4 Author: H. Peter Anvin Date: Mon Apr 18 15:18:02 2011 -0700 x86, percpu: Use ASM_NOP4 instead of hardcoding P6_NOP4 For use in assembly constants, use the ASM_NOP* defines. Signed-off-by: H. Peter Anvin Cc: Christoph Lameter Cc: Tejun Heo Link: http://lkml.kernel.org/r/1303166160-10315-2-git-send-email-hpa@linux.intel.com commit 56d37f17165084e10f425e66f0bd964f06e8bd23 Author: Mark Brown Date: Mon Apr 18 01:04:37 2011 +0000 net: dm9000: Fix build Commit c88fcb (net: dm9000: convert to hw_features) broke the build of the dm9000 driver since it merged functions which use different names for the board info structure used for I/O operations without updating all the references to use the same name. Fix that. Signed-off-by: Mark Brown Signed-off-by: David S. Miller commit c387aa3a1a910ce00b86f3a85082d24f144db256 Author: Joerg Roedel Date: Mon Apr 18 15:45:43 2011 +0200 x86, gart: Don't enforce GART aperture lower-bound by alignment This patch changes the allocation of the GART aperture to enforce only natural alignment instead of aligning it on 512MB. This big alignment was used to force the GART aperture to be over 512MB. This is enforced by using 512MB as the lower-bound address in the allocation range. [ hpa: The actual number 512 MiB needs to be revisited, too. ] Cc: Yinghai Lu Signed-off-by: Joerg Roedel Link: http://lkml.kernel.org/r/1303134346-5805-2-git-send-email-joerg.roedel@amd.com Signed-off-by: H. Peter Anvin commit f212b43c4e4a8f6378c50ce18f3d271983b575a7 Author: Wey-Yi Guy Date: Mon Apr 18 09:36:30 2011 -0700 iwlagn: remove led_ops No longer use, remove it Signed-off-by: Wey-Yi Guy commit e339807d97bcb4e214c9137bb5bbb2f685054624 Author: Wey-Yi Guy Date: Fri Apr 8 10:21:52 2011 -0700 iwlagn: remove legacy ops No longer used by _agn devices, remove it Signed-off-by: Wey-Yi Guy commit 119ea186cad7643ea82b7290374ebb8e780c35b6 Author: Wey-Yi Guy Date: Mon Apr 18 09:34:06 2011 -0700 iwlagn: remove un-necessary ieee80211_ops After driver split, no need to use ieee80211_ops, remove it Signed-off-by: Wey-Yi Guy commit 5cab35e7f4feda1a0bfd4f48b7686391004be9de Author: Wey-Yi Guy Date: Wed Apr 6 15:55:27 2011 -0700 iwlagn: no 5.2GHz/HT40 support for bgn devices For bgn devices, there were no HT40 channels value in EEPROM Signed-off-by: Wey-Yi Guy commit f42e7662815647c1a6f73e160abcdf812d3057d2 Author: Wey-Yi Guy Date: Mon Apr 18 09:30:09 2011 -0700 iwlagn: temperature should be measure for all _agn devices Thermal throttling functions are available for all _agn devices, call the functions directly. Signed-off-by: Wey-Yi Guy commit b7af6a99690503a48c63ce5e587b4e4555f31cdb Author: Wey-Yi Guy Date: Wed Apr 6 15:55:25 2011 -0700 iwlagn: always support uCode trace All _agn devices support continuous uCode trace, remove checking Signed-off-by: Wey-Yi Guy commit b4ebd28f23e3ae00af886aff1c00f800dee3b080 Author: Johannes Berg Date: Wed Apr 6 12:28:56 2011 -0700 iwlagn: use huge command for beacon When testing some new P2P code, Angie found that the driver might crash because the beacon command ended up being bigger than a regular command. This is quite obvious -- a normal command is limited to roughly 360 bytes but a beacon may be much larger of course. To fix this, use the huge command buffer. Reported-by: Angie Chinchilla Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 7b21f00ee6073909c01adeba317af3d78c3b9d0a Author: Johannes Berg Date: Mon Apr 18 09:22:10 2011 -0700 iwlagn: verify that huge commands are synchronous Since huge commands all share a single buffer, there can only be a single one in flight at a time since otherwise they'd overwrite each other. This is true in the driver now, but it seems like a possible source of bugs, so add a test to verify that huge commands are always sent synchronously. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 3e41ace5deef7af16dd277d9d17f9d36dca0a10e Author: Johannes Berg Date: Mon Apr 18 09:12:37 2011 -0700 iwlagn: remove most BUG_ON instances There are a number of things in the driver that may result in a BUG(), which is suboptimal since it's hard to get debugging information out of the driver in that case and the user experience is also not good :-) Almost all BUG_ON instances can be converted to WARN_ON with a few lines of appropriate error handling, so do that instead. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit e79b1ca75bb48111e8d93fc576f50e24671f5f9d Author: Wey-Yi Guy Date: Tue Apr 5 08:30:43 2011 -0700 iwlagn: use direct call for led functions After driver split, no need to call led functions through callback Signed-off-by: Wey-Yi Guy commit cf8d91633ddef9e816ccbf3da833c79ce508988d Author: Konrad Rzeszutek Wilk Date: Mon Feb 28 17:58:48 2011 -0500 xen/p2m/m2p/gnttab: Support GNTMAP_host_map in the M2P override. We only supported the M2P (and P2M) override only for the GNTMAP_contains_pte type mappings. Meaning that we grants operations would "contain the machine address of the PTE to update" If the flag is unset, then the grant operation is "contains a host virtual address". The latter case means that the Hypervisor takes care of updating our page table (specifically the PTE entry) with the guest's MFN. As such we should not try to do anything with the PTE. Previous to this patch we would try to clear the PTE which resulted in Xen hypervisor being upset with us: (XEN) mm.c:1066:d0 Attempt to implicitly unmap a granted PTE c0100000ccc59067 (XEN) domain_crash called from mm.c:1067 (XEN) Domain 0 (vcpu#0) crashed on cpu#3: (XEN) ----[ Xen-4.0-110228 x86_64 debug=y Not tainted ]---- and crashing us. This patch allows us to inhibit the PTE clearing in the PV guest if the GNTMAP_contains_pte is not set. On the m2p_remove_override path we provide the same parameter. Sadly in the grant-table driver we do not have a mechanism to tell m2p_remove_override whether to clear the PTE or not. Since the grant-table driver is used by user-space, we can safely assume that it operates only on PTE's. Hence the implementation for it to work on !GNTMAP_contains_pte returns -EOPNOTSUPP. In the future we can implement the support for this. It will require some extra accounting structure to keep track of the page[i], and the flag. [v1: Added documentation details, made it return -EOPNOTSUPP instead of trying to do a half-way implementation] Signed-off-by: Konrad Rzeszutek Wilk commit 6ddafdaab3f809b110ada253d2f2d4910ebd3ac5 Merge: 3905c54 bd8e7dd Author: Ingo Molnar Date: Mon Apr 18 14:53:18 2011 +0200 Merge branch 'sched/locking' into sched/core Merge reason: the rq locking changes are stable, propagate them into the .40 queue. Signed-off-by: Ingo Molnar commit 7c89943236750537d26421d9bbb6f6575e2d1e1b Author: Ben Hutchings Date: Fri Apr 15 13:47:51 2011 +0000 bonding, ipv4, ipv6, vlan: Handle NETDEV_BONDING_FAILOVER like NETDEV_NOTIFY_PEERS It is undesirable for the bonding driver to be poking into higher level protocols, and notifiers provide a way to avoid that. This does mean removing the ability to configure reptitition of gratuitous ARPs and unsolicited NAs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 99606477a5888b0ead0284fecb13417b1da8e3af Author: Ben Hutchings Date: Fri Apr 15 13:46:49 2011 +0000 vlan: Propagate NETDEV_NOTIFY_PEERS notifier The NETDEV_NOTIFY_PEERS notifier indicates that a device moved to a different physical link; this also applies to any VLAN devices on top of it. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f47b94646f30529624c82ab0f9cd5bd3f25ef9d2 Author: Ben Hutchings Date: Fri Apr 15 13:46:02 2011 +0000 ipv6: Send unsolicited neighbour advertismements when notified The NETDEV_NOTIFY_PEERS notifier is a request to send such advertisements following migration to a different physical link, e.g. virtual machine migration. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit b3337e4cea15beb167e8d3a70ca1023e39abb4e5 Author: David Decotigny Date: Thu Apr 14 16:11:34 2011 +0000 bnx2x: cosmetics: Using ethtool_cmd_speed() API This updates bnx2x to use the ethtool_cmd_speed() family of functions (see b11f8d8c in 2.6.27-rc3 aka. "ethtool: Expand ethtool_cmd.speed to 32 bits") to get and set the link speed via ethtool. This allows to avoid manually accessing ethtool_cmd's speed_hi field. Signed-off-by: David Decotigny Signed-off-by: David S. Miller commit a01c1335a308ee660518e33db03fb5f5e1dfc166 Author: David S. Miller Date: Sun Apr 17 20:47:07 2011 -0700 decnet: Don't leak entries when rebuilding zone. As noticed by Ben Hutchings, when we move entries from one table to another we leak all except the first entry. Put back the "next" variable removed by commit 9bf9055eb716f85372c41b3fbc51f90bc7653740 ("decnet: Fix set-but-unused variable.") and use it properly. Reported-by: Ben Hutchings Signed-off-by: David S. Miller commit 482e3febc2e7df78411005dcdd7621c16b98b088 Author: Joe Perches Date: Sat Apr 16 14:15:26 2011 +0000 via-rhine: Assign random MAC address if necessary Roger Luethi has had several reports of Rhine NICs providing an invalid MAC address. If so, assign a random MAC address so the hardware can still be used. Tested as a standalone interface, as carrier for ppp, and as a bonding slave. Original-patch-by: Alexandru Gagniuc Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit df4511feb76173db872c8845b63179dd15f2b7da Author: Joe Perches Date: Sat Apr 16 14:15:25 2011 +0000 via_rhine: Use netdev_ and pr_ Use the more current logging styles. Add #define DEBUG to make netdev_dbg always active. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 28674b97cfb907b0b3de7b7fea89efda1e65f34e Author: Stephen Hemminger Date: Sun Apr 17 17:52:51 2011 -0700 bridge: fix accidental creation of sysfs directory Commit bb900b27a2f49b37bc38c08e656ea13048fee13b ("bridge: allow creating bridge devices with netlink") introduced a bug in net-next because of a typo in notifier. Every device would have the sysfs bridge directory (and files). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2ed28baa7076083b56c1e70ccd927b7870117c59 Author: Michał Mirosław Date: Sat Apr 16 13:05:08 2011 +0000 net: cxgb4{,vf}: convert to hw_features Signed-off-by: Michał Mirosław Acked-by: Dimitris Michailidis Signed-off-by: David S. Miller commit c582a950b1d7488750831cb4499de071781c7f45 Author: Thiago Farina Date: Sun Apr 17 17:49:21 2011 -0700 drivers/net/usb/usbnet.c: Use FIELD_SIZEOF macro in usbnet_init() function. Signed-off-by: Thiago Farina Signed-off-by: David S. Miller commit 5e4011e2b8032cd132d9482f016558f1b27569cd Author: Michał Mirosław Date: Sun Apr 17 00:15:47 2011 +0000 net: ibm_newemac: convert to hw_features Side effect: allow toggling of TX offloads. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 131ae329702755d897c6072c7839086b0702fb10 Author: Michał Mirosław Date: Sun Apr 17 00:15:47 2011 +0000 net: greth: convert to hw_features Note: Driver modifies its struct net_device_ops. This will break if used for multiple devices that are not all the same (if that HW config is possible). Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 3cd8ef4b6071834fd432bbccbec0611591908643 Author: Michał Mirosław Date: Sun Apr 17 00:15:47 2011 +0000 net: niu: convert to hw_features Side effect: allow toggling of TX offloads. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit f4786a96252b97f6f05cd42ea7fe6e967048bfa3 Author: Michał Mirosław Date: Sun Apr 17 00:15:47 2011 +0000 net: ehea: convert to hw_features Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 66a1c5413260a8c302b4024555c489cc6731b463 Author: Michał Mirosław Date: Sun Apr 17 00:15:47 2011 +0000 net: benet: convert to hw_features - fixup Remove be_set_flags() as it's already covered by hw_features. Signed-off-by: Michał Mirosław Acked-by: Ajit Khaparde ajit.khaparde@emulex.com Signed-off-by: David S. Miller commit 86688a8f132a7630f8610c13a349c711fe683b44 Author: Michał Mirosław Date: Sun Apr 17 00:15:47 2011 +0000 net: typhoon: convert to hw_features Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit aad59c431b77be5cbfa01f2066a036b95981fed9 Author: Michał Mirosław Date: Sun Apr 17 00:15:46 2011 +0000 net: mv643xx: convert to hw_features Side effect: don't reenable RXCSUM on every ifdown/ifup. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit eea3250b43fd0b4fe565409bbf2fb06514213386 Author: Michał Mirosław Date: Sun Apr 17 00:15:46 2011 +0000 net: tehuti: convert to hw_features As a side effect, make TX offloads changeable. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit d2fe2755342b30bc1ee7797b9975f8626d65e485 Author: Michał Mirosław Date: Sun Apr 17 00:15:46 2011 +0000 net: cxgb3: convert to hw_features This removes some of the remnants of LRO -> GRO conversion. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 391876466670988196786150fc9d9da2f3c7cecb Author: Michał Mirosław Date: Sun Apr 17 00:15:46 2011 +0000 net: macvlan: convert to hw_features Not much of a conversion anyway - macvlan has no way to change the offload settings independently to its base device. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 9c6bc16577171100e5efab0ea09ebf5884822ed6 Merge: 03746b0 af20b71 Author: David S. Miller Date: Sun Apr 17 17:37:29 2011 -0700 Merge branch 'batman-adv/next' of git://git.open-mesh.org/ecsv/linux-merge commit 03746b0a02d25866a29cd8d7306d221c238d6397 Author: David S. Miller Date: Sun Apr 17 17:08:41 2011 -0700 be2net: Fix unused-but-set variables. The variables 'tx_min' and 'tx_max' are set but not used in be_set_coalesce(). Similarly for 'region' in be_do_flash(). Just kill them off. Signed-off-by: David S. Miller commit 9365f11a5321bcff5579799a071a70c5cacb5e65 Author: David S. Miller Date: Sun Apr 17 17:07:57 2011 -0700 isdn: i4l: isdn_tty: Fix unused-but-set variables. The variable 'fcr' is set but not used in isdn_tty_change_speed(). Just kill it off. Signed-off-by: David S. Miller commit b169f6db40605d0907458d1ff78ceac2b194a44f Author: David S. Miller Date: Sun Apr 17 17:06:15 2011 -0700 netfilter: ip6table_mangle: Fix set-but-unused variables. The variable 'flowlabel' is set but unused in ip6t_mangle_out(). The intention here was to compare this key to the header value after mangling, and trigger a route lookup on mismatch. Make it so. Signed-off-by: David S. Miller commit f3c85dd560f26ceae1351e6f83e83f1322761ead Author: David S. Miller Date: Sun Apr 17 17:04:48 2011 -0700 netfilter: ip6_tables: Fix set-but-unused variables. The variable 'target' is set but unused in compat_copy_entry_from_user(). Just kill it off. Signed-off-by: David S. Miller commit d88d7de09875e643e225a5d0883d18152ce5a89b Author: David S. Miller Date: Sun Apr 17 17:03:33 2011 -0700 netfilter: nf_conntrack_standalone: Fix set-but-unused variables. The variable 'ret' is set but unused in ct_seq_show(). This was obviously meant to be used to propagate error codes to the caller, so make it so. Signed-off-by: David S. Miller commit d87d7fb381c153f71b7cdfd37f3513edc6d0eb8f Author: David S. Miller Date: Sun Apr 17 17:02:29 2011 -0700 netfilter: nfnetlink_log: Fix set-but-unused variables. The variable 'tmp_uint' is set but unused in __build_packet_message(). Just kill it off. Signed-off-by: David S. Miller commit dab51d0e0718e7beef26075a9353f09ea2652a4f Author: David S. Miller Date: Sun Apr 17 17:01:49 2011 -0700 netlabel: Fix set-but-unused variables. The variable 'type_str' is set but unused in netlbl_cipsov4_add(). Just kill it off. Signed-off-by: David S. Miller commit 8cb490144708ef295421d0601b0866623651a37e Author: David S. Miller Date: Sun Apr 17 17:01:05 2011 -0700 l2tp: Fix set-but-unused variables. The variable 'ret' is set but unused in l2tp_nl_register_ops(). This was obviously meant to maintain error codes which are returned to the caller, make it so. Signed-off-by: David S. Miller commit 6385969b3297287e6259a012671be09c78c20620 Author: David S. Miller Date: Sun Apr 17 16:59:50 2011 -0700 irda: irproc: Fix set-but-unused variables. The variable 'd' is set but unused in irda_proc_register(). Just kill it off. Signed-off-by: David S. Miller commit 1627ea35cb10af2f71d38a82de6f6dfb910771ed Author: David S. Miller Date: Sun Apr 17 16:59:09 2011 -0700 irda: irlap_event: Fix set-but-unused variables. The variable 'ret' is set but unused in irlap_state_sclose(). Just kill it off. Signed-off-by: David S. Miller commit 056693a38e56c520e208409d221cbc077282c19d Author: David S. Miller Date: Sun Apr 17 16:57:55 2011 -0700 caif: Fix set-but-unused variables. The variable 'caifdef' is set but unused in modemcmd(). Similarly for 'net' in receive(), and 'res' in caif_device_notify() and caif_exit_net(). Just kill them off. Signed-off-by: David S. Miller commit b8ee8328bac0d8420d2b9ef4838d0df25df100ab Author: David S. Miller Date: Sun Apr 17 16:56:12 2011 -0700 bnx2x: Fix set-but-unused variables. The variable 'rc' is set but unused in bnx2x_timer(). Similarly for 'hc_index_p' in bnx2x_init_sb(), and 'port' in bnx2x_get_hwinfo(). Just kill them off. Signed-off-by: David S. Miller commit 585985429080a449e0ecf66dd485899a8765c26c Author: David S. Miller Date: Sun Apr 17 16:51:36 2011 -0700 bna: Fix set-but-unused variables. The variable 'pgoff' is set but unused in bfa_nw_ioc_fwver_get() and bfa_ioc_download_fw(). Similarly for 'cmd_h' in bna_mbox_flush_q and the entirety of bna_rit_mod_uninit() is unused since variables are purely set but no action is made using them. Same for 'bna' in bna_rit_create() and 'ret' in bna_rx_create(). Just kill them off. Signed-off-by: David S. Miller commit 81b424d9e2ef815b2035d4c2be0bc41dddbebc06 Author: David S. Miller Date: Sun Apr 17 16:48:53 2011 -0700 isdn: mISDN: socket: Fix set-but-unused variables. The variable 'len' is set but unused in data_sock_getsockopt(). The code should use 'len' to validate that the user's socket option is indeed the right size. Signed-off-by: David S. Miller commit 07f46f80f4ca4ddb700ff40a19876ba1b3242917 Author: David S. Miller Date: Sun Apr 17 16:46:50 2011 -0700 isdn: i4l: isdn_net: Fix set-but-unused variables. The variable 'unused' is set but unused in isdn_net_ciscohdlck_slarp_in(). Just kill it off. Signed-off-by: David S. Miller commit 50a7c114c2673f3fcbb0ba5d659049156e1ccd50 Author: David S. Miller Date: Sun Apr 17 16:45:51 2011 -0700 isdn: i4l: isdn_common: Fix set-but-unused variables. The variable 'ch' is set but unused in isdn_capi_rec_hl_msg(). Just kill it off. Similarly for 'chidx' in isdn_ioctl() and 'di' in isdn_capi_rec_hl_msg(). Signed-off-by: David S. Miller commit 8c85290d84eaa7b3ba605090987d2136a3302ca9 Author: David S. Miller Date: Sun Apr 17 16:44:12 2011 -0700 isdn: teles_cs: Fix set-but-unused variables. The variable 'dev' is set but unused in teles_cs_config(). Just kill it off. Signed-off-by: David S. Miller commit 1397c5df2547f3296ad37a0c77daff3b124b98c8 Author: David S. Miller Date: Sun Apr 17 16:43:20 2011 -0700 isdn: l3ni1: Fix set-but-unused variables. The variable 'cause' is set but unused in ni1up(). Just kill it off. Signed-off-by: David S. Miller commit cf117eafa0dc17c6f973d078d4e0bf2069f45ce7 Author: David S. Miller Date: Sun Apr 17 16:42:15 2011 -0700 isdn: l3dss1: Fix set-but-unused variables. The variable 'cause' is set but unused in dss1up(). Just kill it off. Signed-off-by: David S. Miller commit f6f0e4a7a343f85dd773f6f18e553933c4367e96 Author: David S. Miller Date: Sun Apr 17 16:41:29 2011 -0700 isdn: jade: Fix set-but-unused variables. The variable 'i' is set but unused in JadeVersion(). Just kill it off. Signed-off-by: David S. Miller commit d462003ddbb28926109396b9038299fc740c2efc Author: David S. Miller Date: Sun Apr 17 16:40:30 2011 -0700 isdn: ipacx: Fix set-but-unused variables. The variable 'cda2_cr' is set but unused in ctrl_complete(). Just kill it off. Keep the cs->readisac() call just in case the register read has side effects. Signed-off-by: David S. Miller commit a1e6216d1b5035db1d4c018cf841d3267f949281 Author: David S. Miller Date: Sun Apr 17 16:39:18 2011 -0700 isdn: hfc_usb: Fix set-but-unused variables. The variable 'buf' is set but unused in ctrl_complete(). Just kill it off. Similarly for 'err' in hfc_usb_init(). Signed-off-by: David S. Miller commit db47367451cbee4e8a3fd9389cc341f4acc43b1e Author: David S. Miller Date: Sun Apr 17 16:38:33 2011 -0700 isdn: elsa_ser: Fix set-but-unused variables. The variable 'bits' is set but unused in change_speed(). Just kill it off. Signed-off-by: David S. Miller commit 94dbe1ae44df1d22a391980eb6bd502f937b1af8 Author: David S. Miller Date: Sun Apr 17 16:37:11 2011 -0700 isdn: elsa_cs: Fix set-but-unused variables. The variable 'dev' is set but unused in elsa_cs_config(). Just kill it off. Signed-off-by: David S. Miller commit 011bc1ef447dd6aa969d9c83a90fe3df360b5d6e Author: David S. Miller Date: Sun Apr 17 16:36:28 2011 -0700 isdn: arcofi: Fix set-but-unused variables. The variable 'val' is set but unused in send_arcofi(). Just kill it off. Signed-off-by: David S. Miller commit 3c76c58fca03c1162ab8592f71c996e933af3a9e Author: David S. Miller Date: Sun Apr 17 16:35:27 2011 -0700 isdn: hfcsusb: Fix set-but-unused variables. The variable 'buf' is set but unused in ctrl_complete(). Just kill it off. Similarly for the variable 'err' in setup_hfcsusb(). Signed-off-by: David S. Miller commit a719e0a81f8ab1e96301aada203be1c43788aec7 Author: David S. Miller Date: Sun Apr 17 16:34:50 2011 -0700 isdn: hfcpci: Fix set-but-unused variables. The variable 'total' is set but unused in hfcpci_empty_bfifo(). Just kill it off. Similarly for the variable 'val' in ph_state_nt(). Signed-off-by: David S. Miller commit 2d09d567127e85dddd027d049196093640025c36 Author: David S. Miller Date: Sun Apr 17 16:23:22 2011 -0700 isdn: eicon: Fix set-but-unused variables. The variable 'best_id' is set but unused in diva_mnt_add_xdi_adapter(). Just kill it off. Similarly for the variable 'CIP' in connect_req(), 'Number' in sig_ind(), 'Info' in dtmf_confirmation() mixer_command() fax_connect_ack_command() fax_edata_ack_command() rtp_connect_b3_res_command() and rtp_connect_b3_res_command(), and 'a' in mixer_indication_coefs_set(), Signed-off-by: David S. Miller commit a713c3bbb5a6736e673940eb97d9bf2c27aec4c5 Author: David S. Miller Date: Sun Apr 17 16:22:33 2011 -0700 isdn: gigaset: Fix set-but-unused variable. The variable 'offset' is set but unused in write_iso_tasklet(). Just kill it off. Signed-off-by: David S. Miller commit af20b710479ae662829cf739b521390daa7fcbcb Author: Andrew Lunn Date: Sun Apr 17 20:39:07 2011 +0200 batman-adv: Set the txqueuelen to zero when creating soft interface Like other virtual interfaces, e.g. br0, we don't need a transmit queue. Packets should only be queued on real interfaces which are underneath. In practice this patch makes little difference since the virtual interfaces can accept packets as fast as they come, but the patch will avoid bufferbloat questions to the mailling lists in the future. Signed-off-by: Andrew Lunn Tested-by: Linus Lüssing Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit ba85fac28005a59e6e03fdb13918fc6f6e69a3ca Author: Simon Wunderlich Date: Sun Apr 17 20:34:27 2011 +0200 batman-adv: protect softif_neigh by rcu Add get/set wrapper functions for softif_neigh and use rcu functions to manipulate the pointers. Signed-off-by: Simon Wunderlich Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit c4aac1ab9b973798163b34939b522f01e4d28ac9 Author: Marek Lindner Date: Wed Mar 23 11:24:34 2011 +0100 batman-adv: concentrate all curr_gw related rcu operations in select/deselect functions Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit 68003903e4eeec5288f074ff0751a381750ceb34 Author: Linus Lüssing Date: Mon Mar 14 22:43:40 2011 +0000 batman-adv: Protect global TQ window with a spinlock Signed-off-by: Linus Lüssing Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit e1a5382f978b67b5cc36eec65e6046730ce07714 Author: Linus Lüssing Date: Mon Mar 14 22:43:37 2011 +0000 batman-adv: Make orig_node->router an rcu protected pointer The rcu protected macros rcu_dereference() and rcu_assign_pointer() for the orig_node->router need to be used, as well as spin/rcu locking. Otherwise we might end up using a router pointer pointing to already freed memory. Therefore this commit introduces the safe getter method orig_node_get_router(). Signed-off-by: Linus Lüssing Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit 57f0c07c4d0da8bcc23e21c330fe9c7c5cf776b5 Author: Linus Lüssing Date: Mon Mar 14 22:43:33 2011 +0000 batman-adv: Simplify gw_check_election(), use gw_get_selected() gw_get_selected() can get us the desired orig_node directly, therefore reusing that function in gw_check_election(). Signed-off-by: Linus Lüssing Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit 4c804850572f70a2350e4d1e79d6659392b07733 Author: Linus Lüssing Date: Mon Mar 14 22:43:30 2011 +0000 batman-adv: Make gateway_get_selected type safe Make the return value explicit instead of (void *). Signed-off-by: Linus Lüssing Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit 551586292b39da6e4fbfbb5b96b57b68decfdab9 Author: Linus Lüssing Date: Mon Mar 14 22:43:27 2011 +0000 batman-adv: Move bonding / iface alternating router search to own functions This decreases the size of find_router() by outsourcing the router search for the bonding and interface alternating modes to their own sub functions. This shall make it easier to keep track of the correct refcounting later. Signed-off-by: Linus Lüssing Signed-off-by: Marek Lindner Signed-off-by: Sven Eckelmann commit 0c78641d7f677c8f420f1c302b4848135b207eb8 Author: David S. Miller Date: Sun Apr 17 00:55:20 2011 -0700 atl1c: Fix set-but-unused variable. The variable 'extra_size' is set but unused in atl1c_configure_tx(). Just kill it off. Signed-off-by: David S. Miller commit c96922c7beeb6246f36b89a1e8b61d99a435a780 Author: David S. Miller Date: Sun Apr 17 00:54:51 2011 -0700 atl1e: Fix set-but-unused variable. The variable 'tx_ring' is set but unused in atl1e_init_ring_resources(). Just kill it off. Signed-off-by: David S. Miller commit f8dfc4528b93ba9c9a191151f8888b4da1d1a45b Author: David S. Miller Date: Sun Apr 17 00:51:40 2011 -0700 atlx: Fix set-but-unused variable. The variable 'tpc' is set but unused in atl1_intr_tx(). Just kill it off. Signed-off-by: David S. Miller commit 7d038eb6dc0e256dbcac88d52972c4ac55a78fc5 Author: David S. Miller Date: Sun Apr 17 00:50:58 2011 -0700 bonding: Fix set-but-unused variable. The variable 'vlan_dev' is set but unused in bond_send_gratuitous_arp(). Just kill it off. Signed-off-by: David S. Miller commit 9e5ebaf852b96aaf4d7f63b920d8016b6784f088 Author: David S. Miller Date: Sun Apr 17 00:48:01 2011 -0700 atm: lec: Fix set-but-unused variables. The variable 'eth' is set but unused in lec_handle_bridge(). Also, the variable 'priv' is set but unused in lane_module_cleanup(). Just kill them off. Signed-off-by: David S. Miller commit d8f969e603b85931f25a1d50f3a7a01e2712c17a Author: David S. Miller Date: Sun Apr 17 00:46:45 2011 -0700 ax25: Fix set-but-unused variable. The variable 's' is set but unused in ax25_protocol_release(). Just kill it off. Signed-off-by: David S. Miller commit b3b8dc51c16cdaca0d191a340022093fb5c9f003 Author: David S. Miller Date: Sun Apr 17 00:15:22 2011 -0700 econet: Fix set-but-unused variable. #if 0'd out code for IP handling in aun_data_available() has been commented out since the beginning, which makes the variable "ip" set but not used. Kill it off as well as the stub code. Signed-off-by: David S. Miller commit 9bf9055eb716f85372c41b3fbc51f90bc7653740 Author: David S. Miller Date: Sun Apr 17 00:14:09 2011 -0700 decnet: Fix set-but-unused variable. "next" in dn_rebuild_zone() is set but not actually used, kill it off. Signed-off-by: David S. Miller commit 21f825e61878db94c7093c8407602fc89fc38ad9 Author: David S. Miller Date: Sun Apr 17 00:13:16 2011 -0700 pktgen: Fix set-but-unused variable. "iph" in pktgen_output_ipsec() is set but never actually used. Kill it off. Signed-off-by: David S. Miller commit 06091ed6b8ec726e6cbc7e40ee6b5aa2332cf381 Author: David S. Miller Date: Sun Apr 17 00:11:25 2011 -0700 atm: solos-pci: Fix set-but-unused variable. This is just a readback to entire completion of a register write, keep the readback but kill the unused variable. Signed-off-by: David S. Miller commit edb4dcb717d71f63c5147d7bef3014f96d192842 Author: David S. Miller Date: Sun Apr 17 00:10:17 2011 -0700 atm: idt77252: Fix set-but-unused variables. Two cases here: 1) idt77252_rx_raw() really does not make any use of the extracted PTI field of the atm header. 2) idt77252_collect_stat() only uses the register values in code which has been compiled out by a "NOTDEF" cpp test for more than 10 years. Just kill this NOTDEF code entirely, but keep the register reads in case they have side effects. Signed-off-by: David S. Miller commit e60c5e14fbfcaa54f430aad80b38763a403b2158 Author: David S. Miller Date: Sun Apr 17 00:07:55 2011 -0700 atm: he: Fix undefined sequence points. GCC complains in these queue index operations because we perform operations of the form: x = some_operation(++x); which is undefined. Replace with: x = some_operation(x + 1); which is well defined and provides the intended operation. Signed-off-by: David S. Miller commit dd182574d86e22faaaed37db79e3d54e773f29f7 Author: David S. Miller Date: Sun Apr 17 00:03:38 2011 -0700 atm: eni: Kill set-but-unused variables. The variable eni_dev is initialized but never subsequently used in these two functions. Signed-off-by: David S. Miller commit 8b3afe95e363dbd32bd9ddc6c2d562944f5350c5 Author: Michał Mirosław Date: Fri Apr 15 04:50:50 2011 +0000 net: gianfar: convert to hw_features Note: I bet that gfar_set_features() don't really need a full reset. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit c8c64cff2c88b17fdd7402dd06288d7415896430 Author: Michał Mirosław Date: Fri Apr 15 04:50:49 2011 +0000 net: mlx4: convert to hw_features Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 569e146396cb3b378d2957b94671bf30cd777c67 Author: Michał Mirosław Date: Fri Apr 15 04:50:49 2011 +0000 net: forcedeth: convert to hw_features This also fixes a race around np->txrxctl_bits while changing RXCSUM offload. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit c88fcb3d8265cf473c73bc147a2aa21ae03abf67 Author: Michał Mirosław Date: Fri Apr 15 04:50:49 2011 +0000 net: dm9000: convert to hw_features Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 6de240b7f714d63ca2a53d52c7eefb37e7eb3f1b Author: Michał Mirosław Date: Fri Apr 15 04:50:49 2011 +0000 net: spider_net: convert to hw_features Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 911cb193f3eb0370f20fbba712211e55ffede4de Author: Rob Landley Date: Fri Apr 15 02:26:25 2011 +0000 net: minor cleanup to net_namespace.c. Inline a small static function that's only ever called from one place. Signed-off-by: Rob Landley Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller commit c3968a857a6b6c3d2ef4ead35776b055fb664d74 Author: Daniel Walter Date: Wed Apr 13 21:10:57 2011 +0000 ipv6: RTA_PREFSRC support for ipv6 route source address selection [ipv6] Add support for RTA_PREFSRC This patch allows a user to select the preferred source address for a specific IPv6-Route. It can be set via a netlink message setting RTA_PREFSRC to a valid IPv6 address which must be up on the device the route will be bound to. Signed-off-by: Daniel Walter Signed-off-by: David S. Miller commit bd015928bb1713691068c4d0d159afccbaf0f8c0 Author: Daniel Walter Date: Wed Apr 13 21:09:25 2011 +0000 ipv6: ignore looped-back NA while dad is running [ipv6] Ignore looped-back NAs while in Duplicate Address Detection If we send an unsolicited NA shortly after bringing up an IPv6 address, the duplicate address detection algorithm fails and the ip stays in tentative mode forever. This is due a missing check if the NA is looped-back to us. Signed-off-by: Daniel Walter Signed-off-by: David S. Miller commit 1390b01b26300d42662e436d8f1d307c4e0903c7 Author: Jayamohan Kallickal Date: Fri Mar 25 14:24:01 2011 -0700 [SCSI] be2iscsi: Fix for proper setting of FW There was a bug in setting up type and dmsg for FW Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 0b1d3cbf51f75eaaabdb904f02362368487e2aa7 Author: Jayamohan Kallickal Date: Fri Mar 25 14:24:00 2011 -0700 [SCSI] be2iscsi: check boot_kset is created before destroying it Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 91eefa894add1617200c70d3886773e608de7a03 Author: Jayamohan Kallickal Date: Fri Mar 25 14:23:59 2011 -0700 [SCSI] be2iscsi: Set a timeout to FW Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 0ca43cc01ed6778ce7a870573dbbd1c6b44bbab2 Author: Jayamohan Kallickal Date: Fri Mar 25 14:23:58 2011 -0700 [SCSI] be2iscsi: Modifying Maintainer's emailid - Modifying Maintainer's emailid to emulex as Emulex has acquired Serverengines Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 255fa9a3cce3e344ff245cf3b4fbb738bd7e3f48 Author: Jayamohan Kallickal Date: Fri Mar 25 14:23:57 2011 -0700 [SCSI] be2iscsi: change in copyright notice - Modifying copyright year to 2011 - Replacing Serverengines with Emulex as Serverengines Corp has been acquired by Emulex Corp Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit b4ce6a285b65be4fb858728b3bbe9011242b769f Author: Florian Tobias Schandinat Date: Fri Apr 15 21:35:25 2011 +0000 viafb: fix OLPC DCON refresh rate This patch fixes a regression introduced by fd3cc69848b7e1873e5f12bbcdd572b20277ecf3a "viafb: remove duplicated clock storage" caused by an incosistent mode which pretended to have a higher refresh rate than it actually had. The wrong refresh rate resulted in a calculated higher pixclock which the OLPC DCON could not handle. By reducing the refresh rate to 50Hz we get close to the old pixclock which makes the OLPC display usable again. Minor other adjustments are needed as 60Hz is assumed to be a safe value which is not true for OLPC DCON. This is no problem as we only support 1200x900 on the OLPC. Signed-off-by: Florian Tobias Schandinat Reported-by: Daniel Drake commit deb1cb63d220fc6f24baef39a0ebb48e598f617b Author: Shyam Iyer Date: Sat Feb 26 01:59:44 2011 -0500 [SCSI] Log thin provisioning threshold event At least log the message that we received a THIN PROVISIONING SOFT THRESHOLD REACHED Unit Attention. Also added it to unit attention decodes. Signed-off-by: Shyam Iyer Signed-off-by: James Bottomley commit 2e7bad5f34b5beed47542490c760ed26574e38ba Author: James Bottomley Date: Fri Apr 15 08:55:47 2011 -0700 [PARISC] wire up syncfs syscall Cc: stable@kernel.org Signed-off-by: James Bottomley commit a71aae4cec120ee85cf32608fca40a4605461214 Author: James Bottomley Date: Fri Apr 15 08:55:46 2011 -0700 [PARISC] wire up the fhandle syscalls Cc: stable@kernel.org Signed-off-by: James Bottomley commit c3f957a22eca106bd28136943305b390b4337ebf Author: James Bottomley Date: Fri Apr 15 08:55:45 2011 -0700 [PARISC] wire up clock_adjtime syscall Cc: stable@kernel.org Signed-off-by: James Bottomley commit 1824074b07ee66fa0f714e08579ad85075132d7b Author: James Bottomley Date: Fri Apr 15 08:55:44 2011 -0700 [PARISC] wire up fanotify syscalls Cc: stable@kernel.org Signed-off-by: James Bottomley commit b7d45818444a31948cfc7849136013a0ea54b2fb Author: James Bottomley Date: Fri Apr 15 12:37:22 2011 -0500 [PARISC] prevent speculative re-read on cache flush According to Appendix F, the TLB is the primary arbiter of speculation. Thus, if a page has a TLB entry, it may be speculatively read into the cache. On linux, this can cause us incoherencies because if we're about to do a disk read, we call get_user_pages() to do the flush/invalidate in user space, but we still potentially have the user TLB entries, and the cache could speculate the lines back into userspace (thus causing stale data to be used). This is fixed by purging the TLB entries before we flush through the tmpalias space. Now, the only way the line could be re-speculated is if the user actually tries to touch it (which is not allowed). Signed-off-by: James Bottomley commit d7dd2ff11b7fcd425aca5a875983c862d19a67ae Author: James Bottomley Date: Thu Apr 14 18:25:21 2011 -0500 [PARISC] only make executable areas executable Currently parisc has the whole kernel marked as RWX, meaning any kernel page at all is eligible to be executed. This can cause a theoretical problem on systems with combined I/D TLB because the act of referencing a page causes a TLB insertion with an executable bit. This TLB entry may be used by the CPU as the basis for speculating the page into the I-Cache. If this speculated page is subsequently used for a user process, there is the possibility we will get a stale I-cache line picked up as the binary executes. As a point of good practise, only mark actual kernel text pages as executable. The same has to be done for init_text pages, but they're converted to data pages (and the I-Cache flushed) when the init memory is released. Signed-off-by: James Bottomley commit b54cd0d5053633373cd3c374aa203024cbf125a0 Author: Meelis Roos Date: Mon Mar 21 22:47:15 2011 +0200 [PARISC] fix pacache .size with new binutils Fix style of flush_user_dcache_range_asm procedure declaration in arch/parisc/kernel/pacache.s to be consistent with other assembly procedures. Signed-off-by: Meelis Roos Signed-off-by: James Bottomley commit eb8aa72d4e8756bde74d5f22bdd968ee6131069a Author: Ben Hutchings Date: Thu Apr 14 23:23:45 2011 -0700 rndis_host: Quirky devices are still 'point-to-point' My changes in commit 4d42d417be75d750b82798922b6e775915e11bce were written some time before the introduction of FLAG_POINTTOPOINT, so didn't include that flag in the new driver_info. Change the new driver_info to be consistent. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5d30530efbb811f875786d788ae1c5d79547c3a4 Author: David Decotigny Date: Wed Apr 13 15:22:31 2011 +0000 net-bonding: Adding support for throughputs larger than 65536 Mbps This updates the bonding driver to support v2.6.27-rc3 enhancements (b11f8d8c aka. "ethtool: Expand ethtool_cmd.speed to 32 bits") which allow to encode the Mbps link speed on 32-bits (Max 4 Pbps) instead of 16 (Max 65536 Mbps). This patch also attempts to compact struct slave by reordering its fields. Signed-off-by: David Decotigny Signed-off-by: David S. Miller commit 65cce19c07756c2b2b51595c967dda93b0727027 Author: David Decotigny Date: Wed Apr 13 15:22:30 2011 +0000 net-bonding: Fix minor/cosmetic type inconsistencies The __get_link_speed() function returns a u16 value which was stored in a u32 local variable. This patch uses the return value directly, thus fixing that minor type consistency. The 'duplex' field in struct slave being encoded on 8 bits, to be more consistent we use a u8 integer (instead of u16) whenever we copy it to local variables. Signed-off-by: David Decotigny Signed-off-by: David S. Miller commit d30ee670f25ea8f265a2804e2a0a53804cac5185 Author: David Decotigny Date: Wed Apr 13 15:22:29 2011 +0000 net-bonding: Fix minor sparse complaints This gets rid of minor sparse complaints: drivers/net/bonding/bond_main.c:4361:4: warning: do-while statement is not a compound statement drivers/net/bonding/bond_main.c:243:12: warning: symbol 'bond_mode_name' was not declared. Should it be static? Signed-off-by: David Decotigny Signed-off-by: David S. Miller commit ef9c7ab4a97d53d9cb4912d13e142f52a30ecd54 Author: stephen hemminger Date: Thu Apr 14 05:51:52 2011 +0000 qlge: make nic_operations struct const The struct nic_operations is just function pointers and should be declared const for added security. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6c8c2513c86c589a819c161c9abbdea2a3d56f5e Author: stephen hemminger Date: Thu Apr 14 05:50:12 2011 +0000 sfc: make function tables const The phy, mac, and board information structures should be const. Since tables contain function pointer this improves security (at least theoretically). Compile tested only. Signed-off-by: Stephen Hemminger Acked-by: Ben Hutchings Signed-off-by: David S. Miller commit 44f4d5a27ee63ec80d498e0d0673605d5ce1427d Author: Rémi Denis-Courmont Date: Tue Apr 12 23:27:36 2011 +0000 Phonet: convert bound sockets hash list to RCU This gets rid of the last spinlock in the Phonet stack proper. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit fce55922f5299a04c0a56b170a141fab34f13465 Author: Allan, Bruce W Date: Wed Apr 13 13:09:10 2011 +0000 ethtool: allow custom interval for physical identification When physical identification of an adapter is done by toggling the mechanism on and off through software utilizing the set_phys_id operation, it is done with a fixed duration for both on and off states. Some drivers may want to set a custom duration for the on/off intervals. This patch changes the API so the return code from the driver's entry point when it is called with ETHTOOL_ID_ACTIVE can specify the frequency at which to cycle the on/off states, and updates the drivers that have already been converted to use the new set_phys_id and use the synchronous method for identifying an adapter. The physical identification frequency set in the updated drivers is based on how it was done prior to the introduction of set_phys_id. Compile tested only. Also fixes a compiler warning in sfc. v2: drivers do not return -EINVAL for ETHOOL_ID_ACTIVE v3: fold patchset into single patch and cleanup per Ben's feedback Signed-off-by: Bruce Allan Cc: Ben Hutchings Cc: Sathya Perla Cc: Subbu Seetharaman Cc: Ajit Khaparde Cc: Michael Chan Cc: Eilon Greenstein Cc: Divy Le Ray Cc: Don Fry Cc: Jon Mason Cc: Solarflare linux maintainers Cc: Steve Hodgson Cc: Stephen Hemminger Cc: Matt Carlson Acked-by: Jon Mason Acked-by: Ben Hutchings Signed-off-by: David S. Miller commit 140363500ddadad0c09cb512cc0c96a4d3efa053 Author: Mike Christie Date: Thu Apr 14 23:50:57 2011 -0400 iscsi_ibft: search for broadcom specific ibft sign (v2) Broadcom iscsi offload firmware uses a non standard ibft sign of "BIFT". When we added support for boot, the anaconda team and I were using older firmware (I guess 4 years old), so boot does not work on current cards. This patch modifies the ibft search code to search for "BIFT" along with the other possible values. Broadcom has tested the patch and reported it works with their firmware. Mike has tested Chelsio and Intel cards. [v2: - Add ACPI_SIG_IBFT to ibft_signs - replace break with goto in find_ibft_in_mem innner loop.] Signed-off-by: Mike Christie Signed-off-by: Peter Jones Signed-off-by: Konrad Rzeszutek Wilk commit 21d8c49e01a0c1c6eb6c750cd04110db4a539284 Author: David S. Miller Date: Thu Apr 14 14:49:37 2011 -0700 ipv4: Call fib_select_default() only when actually necessary. fib_select_default() is a complete NOP, and completely pointless to invoke, when we have no more than 1 default route installed. And this is far and away the common case. So remember how many prefixlen==0 routes we have in the routing table, and elide the call when we have no more than one of those. This cuts output route creation time by 157 cycles on Niagara2+. In order to add the new int to fib_table, we have to correct the type of ->tb_data[] to unsigned long, otherwise the private area will be unaligned on 64-bit systems. Signed-off-by: David S. Miller Reviewed-by: Eric Dumazet commit 26954c7f26068b6ced108806fdd39aee5cd54e6f Author: Gustavo F. Padovan Date: Thu Apr 14 17:57:26 2011 -0300 Bluetooth: Fix lockdep warning in L2CAP Fix a regression from the L2CAP "rewrite" patches. Purge the tx_q already happens on l2cap_chan_del() so we don't need it at l2cap_disconnect_req(). Signed-off-by: Gustavo F. Padovan commit 62f3a2cfb1891c070631e496eeea852e949ea8bb Author: Gustavo F. Padovan Date: Thu Apr 14 18:34:34 2011 -0300 Bluetooth: Fix another locking unbalance l2cap_get_sock_by_scid was changed to not lock the socket anymore, but I forgot to change all the users of this function. Signed-off-by: Gustavo F. Padovan commit 34a0a2025c8bddc6505b56a58ef2e7333a4e4165 Author: Senthil Balasubramanian Date: Thu Apr 14 16:41:30 2011 +0530 ath: Add a missing world regulatory domain 0x6C Some customers use 0x6C world regulatory domain and this patch adds the support. Cc: Luis R. Rodriguez Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 9f219bd248d417c2144eedafdf2c683ba8baee84 Author: Larry Finger Date: Wed Apr 13 21:00:02 2011 -0500 rtlwifi: Fix unitialized variable warnings In http://lkml.indiana.edu/hypermail/linux/kernel/1104.1/01955.html, Geerti Uytterhoeven reports the following warnings for the rtlwifi drivers. src/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c: warning: 'cck_index' may be used uninitialized in this function: => 637 src/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c: warning: 'cck_index_old' may be used uninitialized in this function: => 637 src/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c: warning: 'box_extreg' may be used uninitialized in this function: => 303 src/drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c: warning: 'box_reg' may be used uninitialized in this function: => 303 src/drivers/net/wireless/rtlwifi/rtl8192ce/rf.c: warning: 'chnlgroup' may be used uninitialized in this function: => 205 src/drivers/net/wireless/rtlwifi/rtl8192ce/rf.c: warning: 'u4_regvalue' may be used uninitialized in this function: => 450 src/drivers/net/wireless/rtlwifi/rtl8192cu/hw.c: warning: 'hq_sele' may be used uninitialized in this function: => 924 Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 53d7938e6a2ac6569476fc59b404e70c0537b42b Author: Bing Zhao Date: Wed Apr 13 17:27:09 2011 -0700 mwifiex: rename function mwifiex_is_ba_stream_avail The old function name sounds like checking for existing BA stream. The function actually checks if we have room for creating new BA stream or not. Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 572e8f3ead47ad223fb428a4f1db986317e8e0ec Author: Amitkumar Karwar Date: Wed Apr 13 17:27:08 2011 -0700 mwifiex: remove unused function parameters Some function parameters become useless after previous cleanup changes. Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 19a898601ad192d8c59c3a8f1a4501919f53b94d Author: Yogesh Ashok Powar Date: Wed Apr 13 17:27:07 2011 -0700 mwifiex: remove redundant "return" at end of void function The return statement at the last line of a void function is not necessary. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 600f5d909a54a8dccf8c8c23898fc2e91bc0953e Author: Amitkumar Karwar Date: Wed Apr 13 17:27:06 2011 -0700 mwifiex: cleanup ioctl wait queue and abstraction layer 1) remove mwifiex_alloc_fill_wait_queue() and mwifiex_request_ioctl() 2) avoid dynamic allocation of wait queue 3) remove unnecessary mwifiex_error_code macros that were used mainly by the wait queue status code 4) remove some abstraction functions 5) split mwifiex_prepare_cmd() to mwifiex_send_cmd_async() and mwifiex_send_sync() to handle asynchronous and synchronous commands respectively Signed-off-by: Amitkumar Karwar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 3a9dddea89eb2132ba919fe04cb3b44a3b1e6db7 Author: Felix Fietkau Date: Wed Apr 13 21:56:46 2011 +0200 ath5k: disable 5 GHz support for the dualband PHY chip on dual-radio AR5312 There are two variants of AR5312 dual-band devices, one single-radio and the other one dual-radio. On the dual-radio board, the first MAC only supports 5 GHz, even though it has a dual-band PHY. The 2.4 GHz part of this phy is used in pass-through mode, connecting the second MAC with the second PHY. Disable 2.4 GHz for the first MAC on an AR5312, but only if the board configuration indicates a dual-radio device. Signed-off-by: Felix Fietkau Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit 32377b6cf75247cbdd0640efb43bef992efe3b68 Author: Felix Fietkau Date: Wed Apr 13 21:56:45 2011 +0200 ath5k: fix the EEPROM check for hw AES crypto support EEPROM version 5.0 adds a new field for disabling AES support, having an older version means that AES is present. This patch fixes hw AES crypto support on AR5312 boards, which have an older EEPROM version. Signed-off-by: Felix Fietkau Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit fa9bfd61e03e8dbcf110a93b373234d17a732233 Author: Felix Fietkau Date: Wed Apr 13 21:56:44 2011 +0200 ath5k: add a new bus op for reading the mac address On AHB, the calibration data usually does not contain a valid MAC address, the correct MAC address is stored in the board config. Signed-off-by: Felix Fietkau Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit 0cb9e06b6359bfa82f46c38a0b43e72d90b84081 Author: Felix Fietkau Date: Wed Apr 13 21:56:43 2011 +0200 ath: unshare struct ath_bus_ops between ath5k and ath9k This struct is not used in any common code, and moving it out of the ath header makes it easier to add more driver specific ops. Signed-off-by: Felix Fietkau Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit 7f94f05b24b47f6b70f2322b26876d0636329dfe Author: Felix Fietkau Date: Wed Apr 13 21:56:42 2011 +0200 ath5k: disable 5 GHz support if a 2.4 GHz radio is detected On a dual-radio dual-band AR5312 device, the calibration data is shared between the 5 GHz and the 2.4 GHz radio/MAC. Signed-off-by: Felix Fietkau Tested-by: Sedat Dilek Signed-off-by: John W. Linville commit 10add41f2b7a7bc1a74ba7bb535a6745cac318a2 Author: Rajkumar Manoharan Date: Tue Apr 12 17:29:29 2011 +0530 ath9k: Fix improper beacon slot selection in IBSS Request a re-configuration of Beacon related timers on the receipt of the first Beacon frame has to be set only for station mode. Setting beacon sync for IBSS is causing wrong beacon slot selection on beacon generation. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit dfa8fc69d92f8418e1296d762f3b1624df59f0ac Author: John W. Linville Date: Thu Apr 14 10:38:22 2011 -0400 ath9k: avoid using trinary operator w/ TX_STAT_INC Otherwise, you get this: CC [M] drivers/net/wireless/ath/ath9k/hif_usb.o drivers/net/wireless/ath/ath9k/hif_usb.c: In function ‘ath9k_skb_queue_complete’: drivers/net/wireless/ath/ath9k/hif_usb.c:230:12: error: expected expression before ‘do’ make[2]: *** [drivers/net/wireless/ath/ath9k/hif_usb.o] Error 1 make[1]: *** [drivers/net/wireless/ath/ath9k] Error 2 make: *** [drivers/net/wireless/ath/] Error 2 The TX_STAT_INC macro should probably be changed to accomodate such usage, although using a trinary operator in place of an if-else seems questionable to me anyway. Signed-off-by: John W. Linville Acked-by: Sujith Manoharan commit 1eff1ad0285038e309a81da4a004f071608309fb Author: Konrad Rzeszutek Wilk Date: Wed Feb 16 16:26:44 2011 -0500 xen/irq: The Xen hypervisor cleans up the PIRQs if the other domain forgot. And if the other domain forgot to clean up its PIRQs we don't need to fail the operation. Just take a note of it and continue on. Signed-off-by: Konrad Rzeszutek Wilk commit e6197acc726ab3baa60375a5891d58c2ee87e0f3 Author: Konrad Rzeszutek Wilk Date: Thu Feb 24 14:20:12 2011 -0500 xen/irq: Export 'xen_pirq_from_irq' function. We need this to find the real Xen PIRQ value for a device that requests an MSI or MSI-X. In the past we used 'xen_gsi_from_irq' since that function would return an Xen PIRQ or GSI depending on the provided IRQ. Now that we have seperated that we need to use the correct function. [v2: Deal with rebase on stable/irq.cleanup] Signed-off-by: Konrad Rzeszutek Wilk commit c7c2c3a28657cfdcef50c02b18ccca3761209e17 Author: Konrad Rzeszutek Wilk Date: Mon Nov 8 14:26:36 2010 -0500 xen/irq: Add support to check if IRQ line is shared with other domains. We do this via the PHYSDEVOP_irq_status_query support hypervisor call. We will get a positive value if another domain has binded its PIRQ to the specified GSI (IRQ line). [v2: Deal with v2.6.37-rc1 rebase fallout] [v3: Deal with stable/irq.cleanup fallout] [v4: xen_ignore_irq->xen_test_irq_shared] Signed-off-by: Konrad Rzeszutek Wilk commit beafbdc1df02877612dc9039c1de0639921fddec Author: Konrad Rzeszutek Wilk Date: Thu Apr 14 11:17:36 2011 -0400 xen/irq: Check if the PCI device is owned by a domain different than DOMID_SELF. We check if there is a domain owner for the PCI device. In case of failure (meaning no domain has registered for this device) we make DOMID_SELF the owner. Signed-off-by: Konrad Rzeszutek Wilk [v2: deal with rebasing on v2.6.37-1] [v3: deal with rebasing on stable/irq.cleanup] [v4: deal with rebasing on stable/irq.ween_of_nr_irqs] [v5: deal with rebasing on v2.6.39-rc3] Signed-off-by: Jeremy Fitzhardinge Acked-by: Xiantao Zhang commit c55fa78b13b32d3f19e19cd0c8b9378fdc09e521 Author: Konrad Rzeszutek Wilk Date: Mon Nov 8 14:13:35 2010 -0500 xen/pci: Add xen_[find|register|unregister]_device_domain_owner functions. When the Xen PCI backend is told to enable or disable MSI/MSI-X functions, the initial domain performs these operations. The initial domain needs to know which domain (guest) is going to use the PCI device so when it makes the appropiate hypercall to retrieve the MSI/MSI-X vector it will also assign the PCI device to the appropiate domain (guest). This boils down to us needing a mechanism to find, set and unset the domain id that will be using the device. [v2: EXPORT_SYMBOL -> EXPORT_SYMBOL_GPL.] Signed-off-by: Konrad Rzeszutek Wilk commit 8849b720e9632acef139a349f9ec62e63ce7e497 Author: Ralf Baechle Date: Thu Apr 14 00:20:07 2011 -0700 NET: AX.25, NETROM, ROSE: Remove SOCK_DEBUG calls Nobody alive seems to recall when they last were useful. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit bd8e7dded88a3e1c085c333f19ff31387616f71a Author: Peter Zijlstra Date: Tue Apr 5 17:23:59 2011 +0200 sched: Remove need_migrate_task() Oleg noticed that need_migrate_task() doesn't need the ->on_cpu check now that ttwu() doesn't do remote enqueues for !->on_rq && ->on_cpu, so remove the helper and replace the single instance with a direct ->on_rq test. Suggested-by: Oleg Nesterov Reviewed-by: Frank Rowand Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110405152729.556674812@chello.nl Signed-off-by: Ingo Molnar commit 317f394160e9beb97d19a84c39b7e5eb3d7815a8 Author: Peter Zijlstra Date: Tue Apr 5 17:23:58 2011 +0200 sched: Move the second half of ttwu() to the remote cpu Now that we've removed the rq->lock requirement from the first part of ttwu() and can compute placement without holding any rq->lock, ensure we execute the second half of ttwu() on the actual cpu we want the task to run on. This avoids having to take rq->lock and doing the task enqueue remotely, saving lots on cacheline transfers. As measured using: http://oss.oracle.com/~mason/sembench.c $ for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ; do echo performance > $i; done $ echo 4096 32000 64 128 > /proc/sys/kernel/sem $ ./sembench -t 2048 -w 1900 -o 0 unpatched: run time 30 seconds 647278 worker burns per second patched: run time 30 seconds 816715 worker burns per second Reviewed-by: Frank Rowand Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110405152729.515897185@chello.nl commit c05fbafba1c5482bee399b360288fa405415e126 Author: Peter Zijlstra Date: Tue Apr 5 17:23:57 2011 +0200 sched: Restructure ttwu() some more Factor our helper functions to make the inner workings of try_to_wake_up() more obvious, this also allows for adding remote queues. Reviewed-by: Frank Rowand Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110405152729.475848012@chello.nl commit 23f41eeb42ce7f6f1210904e49e84718f02cb61c Author: Peter Zijlstra Date: Tue Apr 5 17:23:56 2011 +0200 sched: Rename ttwu_post_activation() to ttwu_do_wakeup() The ttwu_post_activation() code does the core wakeup, it sets TASK_RUNNING and performs wakeup-preemption, so give is a more descriptive name. Reviewed-by: Frank Rowand Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110405152729.434609705@chello.nl commit b84cb5df1f9ad6da3f214c638d5fb08d0c99de1f Author: Peter Zijlstra Date: Tue Apr 5 17:23:55 2011 +0200 sched: Remove rq argument from ttwu_stat() In order to call ttwu_stat() without holding rq->lock we must remove its rq argument. Since we need to change rq stats, account to the local rq instead of the task rq, this is safe since we have IRQs disabled. Reviewed-by: Frank Rowand Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110405152729.394638826@chello.nl commit e4a52bcb9a18142d79e231b6733cabdbf2e67c1f Author: Peter Zijlstra Date: Tue Apr 5 17:23:54 2011 +0200 sched: Remove rq->lock from the first half of ttwu() Currently ttwu() does two rq->lock acquisitions, once on the task's old rq, holding it over the p->state fiddling and load-balance pass. Then it drops the old rq->lock to acquire the new rq->lock. By having serialized ttwu(), p->sched_class, p->cpus_allowed with p->pi_lock, we can now drop the whole first rq->lock acquisition. The p->pi_lock serializing concurrent ttwu() calls protects p->state, which we will set to TASK_WAKING to bridge possible p->pi_lock to rq->lock gaps and serialize set_task_cpu() calls against task_rq_lock(). The p->pi_lock serialization of p->sched_class allows us to call scheduling class methods without holding the rq->lock, and the serialization of p->cpus_allowed allows us to do the load-balancing bits without races. Reviewed-by: Frank Rowand Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110405152729.354401150@chello.nl commit 8f42ced974df7d5af2de4cf5ea21fe978c7e4478 Author: Peter Zijlstra Date: Tue Apr 5 17:23:53 2011 +0200 sched: Drop rq->lock from sched_exec() Since we can now call select_task_rq() and set_task_cpu() with only p->pi_lock held, and sched_exec() load-balancing has always been optimistic, drop all rq->lock usage. Oleg also noted that need_migrate_task() will always be true for current, so don't bother calling that at all. Reviewed-by: Frank Rowand Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110405152729.314204889@chello.nl Signed-off-by: Ingo Molnar commit ab2515c4b98f7bc4fa11cad9fa0f811d63a72a26 Author: Peter Zijlstra Date: Tue Apr 5 17:23:52 2011 +0200 sched: Drop rq->lock from first part of wake_up_new_task() Since p->pi_lock now protects all things needed to call select_task_rq() avoid the double remote rq->lock acquisition and rely on p->pi_lock. Reviewed-by: Frank Rowand Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110405152729.273362517@chello.nl Signed-off-by: Ingo Molnar commit 0122ec5b02f766c355b3168df53a6c038a24fa0d Author: Peter Zijlstra Date: Tue Apr 5 17:23:51 2011 +0200 sched: Add p->pi_lock to task_rq_lock() In order to be able to call set_task_cpu() while either holding p->pi_lock or task_rq(p)->lock we need to hold both locks in order to stabilize task_rq(). This makes task_rq_lock() acquire both locks, and have __task_rq_lock() validate that p->pi_lock is held. This increases the locking overhead for most scheduler syscalls but allows reduction of rq->lock contention for some scheduler hot paths (ttwu). Reviewed-by: Frank Rowand Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110405152729.232781355@chello.nl Signed-off-by: Ingo Molnar commit 2acca55ed98ad9b9aa25e7e587ebe306c0313dc7 Author: Peter Zijlstra Date: Tue Apr 5 17:23:50 2011 +0200 sched: Also serialize ttwu_local() with p->pi_lock Since we now serialize ttwu() using p->pi_lock, we also need to serialize ttwu_local() using that, otherwise, once we drop the rq->lock from ttwu() it can race with ttwu_local(). Reviewed-by: Frank Rowand Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110405152729.192366907@chello.nl commit a8e4f2eaecc9bfa4954adf79a04f4f22fddd829c Author: Peter Zijlstra Date: Tue Apr 5 17:23:49 2011 +0200 sched: Delay task_contributes_to_load() In prepratation of having to call task_contributes_to_load() without holding rq->lock, we need to store the result until we do and can update the rq accounting accordingly. Reviewed-by: Frank Rowand Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110405152729.151523907@chello.nl commit 3fe1698b7fe05aeb063564e71e40d09f28d8e80c Author: Peter Zijlstra Date: Tue Apr 5 17:23:48 2011 +0200 sched: Deal with non-atomic min_vruntime reads on 32bits In order to avoid reading partial updated min_vruntime values on 32bit implement a seqcount like solution. Reviewed-by: Frank Rowand Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110405152729.111378493@chello.nl Signed-off-by: Ingo Molnar commit 74f8e4b2335de45485b8d5b31a504747f13c8070 Author: Peter Zijlstra Date: Tue Apr 5 17:23:47 2011 +0200 sched: Remove rq argument to sched_class::task_waking() In preparation of calling this without rq->lock held, remove the dependency on the rq argument. Reviewed-by: Frank Rowand Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110405152729.071474242@chello.nl Signed-off-by: Ingo Molnar commit 7608dec2ce2004c234339bef8c8074e5e601d0e9 Author: Peter Zijlstra Date: Tue Apr 5 17:23:46 2011 +0200 sched: Drop the rq argument to sched_class::select_task_rq() In preparation of calling select_task_rq() without rq->lock held, drop the dependency on the rq argument. Reviewed-by: Frank Rowand Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110405152729.031077745@chello.nl Signed-off-by: Ingo Molnar commit 013fdb8086acaae5f8eb96f9ad48fcd98882ac46 Author: Peter Zijlstra Date: Tue Apr 5 17:23:45 2011 +0200 sched: Serialize p->cpus_allowed and ttwu() using p->pi_lock Currently p->pi_lock already serializes p->sched_class, also put p->cpus_allowed and try_to_wake_up() under it, this prepares the way to do the first part of ttwu() without holding rq->lock. By having p->sched_class and p->cpus_allowed serialized by p->pi_lock, we prepare the way to call select_task_rq() without holding rq->lock. Reviewed-by: Frank Rowand Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110405152728.990364093@chello.nl Signed-off-by: Ingo Molnar commit fd2f4419b4cbe8fe90796df9617c355762afd6a4 Author: Peter Zijlstra Date: Tue Apr 5 17:23:44 2011 +0200 sched: Provide p->on_rq Provide a generic p->on_rq because the p->se.on_rq semantics are unfavourable for lockless wakeups but needed for sched_fair. In particular, p->on_rq is only cleared when we actually dequeue the task in schedule() and not on any random dequeue as done by things like __migrate_task() and __sched_setscheduler(). This also allows us to remove p->se usage from !sched_fair code. Reviewed-by: Frank Rowand Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110405152728.949545047@chello.nl commit d7c01d27ab767a30d672d1fd657aa8336ebdcbca Author: Peter Zijlstra Date: Tue Apr 5 17:23:43 2011 +0200 sched: Clean up ttwu() stats Collect all ttwu() stat code into a single function and ensure its always called for an actual wakeup (changing p->state to TASK_RUNNING). Reviewed-by: Frank Rowand Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110405152728.908177058@chello.nl commit 893633817f5b58f5227365d74344e0170a718213 Author: Peter Zijlstra Date: Tue Apr 5 17:23:42 2011 +0200 sched: Change the ttwu() success details try_to_wake_up() would only return a success when it would have to place a task on a rq, change that to every time we change p->state to TASK_RUNNING, because that's the real measure of wakeups. This results in that success is always true for the tracepoints. Reviewed-by: Frank Rowand Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110405152728.866866929@chello.nl commit c2f7115e2e52a6c187b8c1f54f0e4970bb677be0 Author: Peter Zijlstra Date: Wed Apr 13 13:28:56 2011 +0200 sched: Move wq_worker_waking to the correct site wq_worker_waking_up() needs to match wq_worker_sleeping(), since the latter is only called on deactivate, move the former near activate. Signed-off-by: Peter Zijlstra Cc: Tejun Heo Link: http://lkml.kernel.org/n/top-t3m7n70n9frmv4pv2n5fwmov@git.kernel.org Signed-off-by: Ingo Molnar commit c6eb3dda25892f1f974f5420f63e6721aab02f6f Author: Peter Zijlstra Date: Tue Apr 5 17:23:41 2011 +0200 mutex: Use p->on_cpu for the adaptive spin Since we now have p->on_cpu unconditionally available, use it to re-implement mutex_spin_on_owner. Requested-by: Thomas Gleixner Reviewed-by: Frank Rowand Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110405152728.826338173@chello.nl commit 3ca7a440da394808571dad32d33d3bc0389982e6 Author: Peter Zijlstra Date: Tue Apr 5 17:23:40 2011 +0200 sched: Always provide p->on_cpu Always provide p->on_cpu so that we can determine if its on a cpu without having to lock the rq. Reviewed-by: Frank Rowand Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110405152728.785452014@chello.nl Signed-off-by: Ingo Molnar commit 184748cc50b2dceb8287f9fb657eda48ff8fcfe7 Author: Peter Zijlstra Date: Tue Apr 5 17:23:39 2011 +0200 sched: Provide scheduler_ipi() callback in response to smp_send_reschedule() For future rework of try_to_wake_up() we'd like to push part of that function onto the CPU the task is actually going to run on. In order to do so we need a generic callback from the existing scheduler IPI. This patch introduces such a generic callback: scheduler_ipi() and implements it as a NOP. BenH notes: PowerPC might use this IPI on offline CPUs under rare conditions! Acked-by: Russell King Acked-by: Martin Schwidefsky Acked-by: Chris Metcalf Acked-by: Jesper Nilsson Acked-by: Benjamin Herrenschmidt Signed-off-by: Ralf Baechle Reviewed-by: Frank Rowand Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra Link: http://lkml.kernel.org/r/20110405152728.744338123@chello.nl commit a4c98f8bbeafee12c979c90743f6fda94f7515c7 Merge: f4ad9bd 85f2e68 Author: Ingo Molnar Date: Thu Apr 14 08:50:37 2011 +0200 Merge branch 'linus' into sched/locking Merge reason: Pick up this upstream commit: 6631e635c65d: block: don't flush plugged IO on forced preemtion scheduling As it modifies the scheduler and we'll queue up dependent patches. Signed-off-by: Ingo Molnar commit 45a5f720fe37d21059da3c333c373c845ccbd82b Author: John Fastabend Date: Mon Apr 4 04:29:46 2011 +0000 ixgbe: DCB, X540 devices do not respond to pause frames DCB enabled X540 devices are not responding to pause frames due to a missing register set that was added for these devices that did not exist in other devices. Signed-off-by: John Fastabend Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit e09ad236fc85b1d6e010138f59aba76f6c9a295b Author: John Fastabend Date: Mon Apr 4 04:29:41 2011 +0000 ixgbe: DCB, misallocated packet buffer size with X540 device The X540 device has a smaller packet buffer but the DCB configuration never took this into account. Under stress this can result in the DMA engine hanging and TX Unit hang occurring to reset the device. This patch reworks the packet buffer allocation routine used for DCB on 82599 and X540 devices to account for RX packet buffer sizes. This fixes the immediate hang. We should consolidate the various hardware specific routines for configuring features into a single routine. This will make it much harder to miss feature cases like this. Signed-off-by: John Fastabend Tested-by: Ross Brattain Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit b776d1043510c60f59220eb5e58b524f5a7f0e52 Author: Emil Tantilov Date: Thu Mar 31 09:36:18 2011 +0000 ixgbe: make device_caps() generic x540 has the same device capability word in the EEPROM as 82599. This patch renames ixgbe_get_device_caps_82599 to ixgbe_get_device_caps_generic, moves it to ixgbe_common.h and sets up the function pointer for x540. Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit a59e8a1a72806057084adc2d321fc2a7cbce9579 Author: Emil Tantilov Date: Thu Mar 31 09:36:12 2011 +0000 ixgbe: explicitly disable 100H for x540 100H is not supported on this HW, but the bit is set on the PHY. This can result in link at 100F when advertising only 1000F. Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 4c40ef0291acebf32435e5a4921178ee53bd8933 Author: Emil Tantilov Date: Thu Mar 24 07:06:02 2011 +0000 ixgbe: add support for new HW Add new device ID supported by ixgbe. Signed-off-by: Emil Tantilov Tested-by: Stephen Ko Signed-off-by: Jeff Kirsher commit eb9c3e3ea2981e56c71e8f5477c51783856090b1 Author: Emil Tantilov Date: Thu Mar 24 00:57:50 2011 +0000 ixgbe: fix semaphores in eeprom routines for x540 HW can upload EEPROM content from flash while in a middle of checksum calculation. Take NVM ownership for the whole process of checksum update. Call ixgbe_read_eerd_generic() and ixgbe_write_eewr_generic() directly to avoid double take of semaphores which leads to long loading times. Signed-off-by: Emil Tantilov Tested-by: Stephen Ko Signed-off-by: Jeff Kirsher commit 032b4325b61b03f87f0346d0e92e39f785e24105 Author: Don Skidmore Date: Fri Mar 18 09:32:53 2011 +0000 ixgbe: cleanup short msleep's (<20ms) to use usleep_range Since msleep might not sleep for the desired amount when less than 20ms use usleep_range. Signed-off-by: Don Skidmore Tested-by: Stephen Ko Signed-off-by: Jeff Kirsher commit 0fa6d83258252695203d24c8818092644df10fd7 Author: Emil Tantilov Date: Fri Mar 18 08:18:32 2011 +0000 ixgbe: fix 82599 KR downshift coexistence with LESM FW module Disable KR to KX4/KX downshift on 82599 backplane devices when LESM (Link Establishment State Machine) is enabled in FW. Those features cannot co-exist as they both manipulate the same registers. Signed-off-by: Emil Tantilov Acked-by: Don Skidmore Tested-by: Phillip Schmitt Signed-off-by: Jeff Kirsher commit 3d5c520727ce3dbf418eec38e431856708f946f8 Author: Emil Tantilov Date: Sat Mar 19 01:32:46 2011 +0000 ixgbe: move disabling of relaxed ordering in start_hw() Relaxed ordering can lead to issues with some chipsets. This patch makes sure that it is disabled by default and not only when DCA is on. Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 7184b7cf555f5bc08e34994147c341abb07d1dbb Author: Emil Tantilov Date: Fri Mar 18 08:18:22 2011 +0000 ixgbe: refactor common start_hw code for 82599 and x540 Factored out the common start_hw code into a new function ixgbe_start_hw_gen2() so that it can be used by x540 and 82599. Signed-off-by: Emil Tantilov Acked-by: Don Skidmore Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 75e3d3c6812ef2387f8dcfd86437cff00f64b68b Author: Jeff Kirsher Date: Thu Mar 17 18:11:38 2011 +0000 ixgbe: update version string for Dell CEM use Signed-off-by: Jeff Kirsher Acked-by: Don Skidmore Tested-by: Stephen Ko commit d6cd8e0e75b66896bd4e14c8883d62322831cb8f Author: Emil Tantilov Date: Wed Mar 16 01:58:20 2011 +0000 ixgbe: fix namespacecheck issue Set ixgbe_identify_82599() as static Signed-off-by: Emil Tantilov Tested-by: Stephen Ko Signed-off-by: Jeff Kirsher commit c9130180a8dc48943f2a072acec4a53616a1f0ab Author: Emil Tantilov Date: Wed Mar 16 01:55:55 2011 +0000 ixgbe: correct function number for some 82598 parts Some 82598 parts have LAN0 disabled and LAN1 enabled and the LAN ID bits in Device Status register report the NIC as having only LAN1 as enabled. This causes ixgbe_set_lan_id_multi_port_pcie() to set bus->func = 1 which is incorrect. Force bus->func to 0 when LAN0 is disabled in the EEPROM. Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit 2ea5ea5fc4f4f1daa74708c2a14e364d8474812d Author: Emil Tantilov Date: Sat Mar 12 08:56:38 2011 +0000 ixgbe: fix return value checks The value of status was incorrectly tested. Also whitespace cleanup. Signed-off-by: Emil Tantilov Tested-by: Evan Swanson Signed-off-by: Jeff Kirsher commit c8ca76ebc6e50752c5311b92bb9aef7edb324577 Author: John Fastabend Date: Sat Mar 12 03:50:53 2011 +0000 ixgbe: DCB, further cleanups to app configuration With the app data on the kernel dcb_app list we no longer need to specifically handle them in ixgbe for the CEE case. So now we can remove app handling logic and check when the hw is configured if the app data matches the hardware configuration in set_hw_all(). If it does not match then we can reconfigure. Signed-off-by: John Fastabend Tested-by: Ross Brattain Signed-off-by: Jeff Kirsher commit 78cd29d5a92ae5067377ad42089f2c8781312f4a Author: Bruce Allan Date: Thu Mar 24 03:09:03 2011 +0000 e1000e: If ASPM L0s needs to be disabled, do it prior to enabling device Based on a patch from Naga Chumbalkar : If ASPM L0s needs to be disabled due to HW errata, do it prior to "enabling" the device. This way if the kernel ever defaults its aspm_policy to POLICY_POWERSAVE, then the e1000e driver will get a chance to disable ASPM on the misbehaving device *prior* to calling pci_enable_device_mem(). This will be useful in situations where the BIOS indicates ASPM support on the server by clearing the ACPI FADT "ASPM Controls" bit. Note: The kernel (2.6.38) currently uses the BIOS "default" as its aspm_policy. However, Linux distros can diverge from that and set the default to "powersave". v2: o cleanup namespace pollution of e1000e_disable_aspm(), o fix type and initialization of the new aspm_disable_flag in a few functions, and o redefine FLAG2_DISABLE_ASPM_L0S to the first unused bit in adapter->flags2. Signed-off-by: Bruce Allan Cc: Naga Chumbalkar Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 2084b114e3fb0d84e5882f5ee6c7039be52da715 Author: Flavio Leitner Date: Tue Apr 5 04:27:43 2011 +0000 e1000e: fix stats locking in e1000_watchdog_task Just move the unlock down a bit because it unlocks too early leaving a chance for get_stats64() run in parallel while it is still accessing the stats. Signed-off-by: Flavio Leitner Acked-by: Bruce Allan Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 86d70e532c352bd309dab5f1d18d113f441cb3ae Author: Jeff Kirsher Date: Fri Mar 25 16:01:01 2011 +0000 e1000e: convert to new VLAN model This switches the e1000e driver to use the new VLAN interfaces. CC: Jesse Gross Signed-off-by: Jeff Kirsher Tested-by: Jeff Pieper commit a5cc764206a3d01dce8ebc17b4e1534afb53c495 Author: Bruce Allan Date: Sat Mar 19 00:31:23 2011 +0000 e1000e: PCIe link speed in GT/s, not GB/s Correct the log message when driver loads. Signed-off-by: Bruce Allan Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 1bba4386ab4f67a53c9649268dd9c83bc6110a9b Author: Bruce Allan Date: Sat Mar 19 00:27:20 2011 +0000 e1000e: convert short duration msleep() to usleep_range() With durations less than 20ms, the jiffies or legacy timer backed msleep() may sleep ~20ms which might not be what the caller expects. Instead, it is recommended to use the hrtimers backed usleep_range(). For more, see Documentation/timers/timers-howto.txt. Issues reported by checkpatch. In addition, remove unnecessary sleep in e1000e_write_nvm_spi(). Signed-off-by: Bruce Allan Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 563988dcfe706457ec7049d59e18d6147179bb0a Author: Stefan Assmann Date: Tue Apr 5 04:27:15 2011 +0000 igb: introduce igb_thermal_sensor_event for sensor checking The code for thermal sensor checking should be wrapped into a function. Signed-off-by: Stefan Assmann Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher commit 34a0326e3aaf1d67fe3de55e77e92961c6a9a847 Author: Stefan Assmann Date: Tue Apr 5 04:27:05 2011 +0000 igb: fix typo in igb_validate_nvm_checksum_82580 Comment spelling fix. Signed-off-by: Stefan Assmann Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher commit 7c158399c21e4eabb33965a5fc689ebbd2ded4f6 Author: Greg Rose Date: Sat Mar 12 11:56:02 2011 +0000 igb: Add anti-spoofing feature documentation Add the documentation for the anti-spoofing feature in the HW. Signed-off-by: Greg Rose Signed-off-by: Jeff Kirsher commit c326de88b8ac7ed1cd1027017ba6079dbe91be49 Author: Mathieu J. Poirier Date: Wed Apr 13 17:13:00 2011 -0700 net: allow shifted access in smsc911x V2 This is a revised patch that permits a shifted access to the LAN9221 registers. More specifically: It adds a shift parameter in the platform_data. It introduces an ops in smsc911x_data. A choice of access function to use at run-time. Four new shifted access function. Signed-off-by: Mathieu Poirier Signed-off-by: Alessandro Rubini Signed-off-by: David S. Miller commit c3e945006ab2295e9a3f4327aa74a502ad123fe6 Author: Matt Carlson Date: Wed Apr 13 11:05:08 2011 +0000 tg3: Add support for extended VPD blocks In some devices, the VPD block is relocated to a different area in NVRAM. The original location can still contain old, but still valid VPD data. This patch changes the code to look for an extended VPD block in NVRAM. If one is found, that block is used for all VPD operations instead. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 4852a8614f63999e38539ad16615054dcd20a05d Author: Matt Carlson Date: Wed Apr 13 11:05:07 2011 +0000 tg3: Add jumbo frame loopback tests to selftest This patch adds jumbo frame loopback test support to the ethtool selftest. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 48fa55a0a5e20b9e2a28a72c66c7027678cae6bb Author: Matt Carlson Date: Wed Apr 13 11:05:06 2011 +0000 tg3: Automatically size stat/test string arrays This patch reimplements the size preprocessor constants of the stats and ethtool test string arrays. The size is calculated at compile time rather than using static constants. Signed-off-by: Matt Carlson Signed-off-by: Benjamin Li Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit e64de4e6c660dae6d6370b3acb59d5d5cc9ecf20 Author: Matt Carlson Date: Wed Apr 13 11:05:05 2011 +0000 tg3: Dump registers when status block shows errors This patch monitors the error bit of the status word within the status block. If it is set, the driver will dump the driver state after validating the error and then reset the chip. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 97bd8e491d1786f0020372a5a470bb8b3184856f Author: Matt Carlson Date: Wed Apr 13 11:05:04 2011 +0000 tg3: Provide full regdump on tx timeout The current amount of information provided in the output of a tx timeout is insufficient to determine a root cause. This patch replaces the terse, four-register status output with a more complete body of information. For PCIe devices, the full register space is dumped. For other devices, select registers are dumped instead. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 280f294f7bd0c14d9f802a551c95dc930e31d723 Author: Gustavo F. Padovan Date: Wed Apr 13 19:01:22 2011 -0300 Bluetooth: Don't lock sock inside l2cap_get_sock_by_scid() Fix an locking issue with the new l2cap_att_channel(). l2cap_att_channel() was trying to lock a locked socket. Reported-by: Anderson Lizardo Signed-off-by: Gustavo F. Padovan commit 4d42d417be75d750b82798922b6e775915e11bce Author: Ben Hutchings Date: Wed Apr 13 14:48:55 2011 -0700 rndis_host: Poll status before control channel where necessary Some RNDIS devices don't respond on the control channel until polled on the status channel. In particular, this was reported to be the case for the 2Wire HomePortal 1000SW and for some Windows Mobile devices. This is roughly based on a patch by John Carr which is currently applied by Mandriva. Reported-by: Mark Glassberg Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a3e6b12c0232748658a602eda39f12fddb254ba8 Author: cozybit Inc Date: Wed Apr 13 11:10:28 2011 -0700 mac80211: Allocate new mesh path and portal tables before taking locks It is unnecessary to hold the path table resize lock while allocating a new table. Allocate first and take lock later. This resolves a soft-lockup: [ 293.385799] BUG: soft lockup - CPU#0 stuck for 61s! [kworker/u:3:744] (...) [ 293.386049] Call Trace: [ 293.386049] [] do_raw_read_lock+0x26/0x29 [ 293.386049] [] _raw_read_lock+0x8/0xa [ 293.386049] [] mesh_path_add+0xb7/0x24e [ 293.386049] [] ? mesh_path_lookup+0x1b/0xa6 [ 293.386049] [] hwmp_route_info_get+0x276/0x2fd [ 293.386049] [] mesh_rx_path_sel_frame+0x5a/0x5d9 [ 293.386049] [] ? update_curr+0x1cf/0x1d7 [ 293.386049] [] ieee80211_mesh_rx_queued_mgmt+0x60/0x67 [ 293.386049] [] ieee80211_iface_work+0x1f0/0x258 (...) Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 09d5b94d2cbc6c3ebb70a9a318f6390d0b4cf010 Author: Sujith Manoharan Date: Wed Apr 13 11:27:06 2011 +0530 ath9k_htc: Enable AP and P2P modes Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit fbc29d6c3da58bc51416f65a50bdb419d4ea85b8 Author: Sujith Manoharan Date: Wed Apr 13 11:26:58 2011 +0530 ath9k_htc: Add detailed firmware statistics New debugfs files: /ath9k_htc//tgt_int_stats /ath9k_htc//tgt_tx_stats /ath9k_htc//tgt_rx_stats Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 821f9414c0546fbc99a999e9dc613d1756e1de8a Author: Sujith Manoharan Date: Wed Apr 13 11:26:52 2011 +0530 ath9k_htc: Use helper routines for transmission Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 2f80194c90caea3668d0e3739518bf100449a813 Author: Sujith Manoharan Date: Wed Apr 13 11:26:46 2011 +0530 ath9k_htc: Use separate URB pool for management frames Beacon transmission needs to involve as little latency as possible after receiving a SWBA event from the target. Since packets are buffered to use TX stream mode, beacon frames sometimes gets queued up and are not sent out immediately. Fix this by decoupling management frame transmission from the normal data path and send them out immediately. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 859c3ca1e4608615788dc6cbc199210fe4b5efa2 Author: Sujith Manoharan Date: Wed Apr 13 11:26:39 2011 +0530 ath9k_htc: Add a timer to cleanup WMI events Occasionally, a WMI event would arrive ahead of the TX URB completion handler. Discarding these events would exhaust the available TX slots, so handle them by running a timer cleaning up such events. Also, timeout packets for which TX completion events have not arrived. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit c4d04186c7023d54445b695da226b3e98e0a55f9 Author: Sujith Manoharan Date: Wed Apr 13 11:26:31 2011 +0530 ath9k_htc: Add a debugfs file showing endpoint status Location: ath9k_htc/phy#/queue Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 01f684de7cc0641a9ee968f2d2c45c3a67241252 Author: Sujith Manoharan Date: Wed Apr 13 11:26:26 2011 +0530 ath9k_htc: Add a debugfs file to dump TX slot information Location: ath9k_htc/phy#/slot Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 27876a29de221186c9d5883e5fe5f6da18ef9a45 Author: Sujith Manoharan Date: Wed Apr 13 11:26:18 2011 +0530 ath9k_htc: Add support for TX completion Now that the infrastructure is in place, process WMI TX status events and complete packets. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 84c9e164468bd707e52b440e1c34bc3c85299332 Author: Sujith Manoharan Date: Wed Apr 13 11:26:11 2011 +0530 ath9k_htc: Drain packets on station removal When a station entry is removed, there could still be pending packets destined for that station in the HIF layer. Sending these to the target is not necessary, so drain them in the driver itself. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit e1fe7c38d39f8f6ebdffc3a55e2ec6e2ec0d1872 Author: Sujith Manoharan Date: Wed Apr 13 11:26:06 2011 +0530 ath9k_htc: Optimize HTC start/stop API There is no point in looping over all the endpoints, since the HIF layer uses the start/stop APIs only for the TX pipe. Simplify the API accordingly. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit b587fc81a80b9656f64e89fe0a106ffa4b35abca Author: Sujith Manoharan Date: Wed Apr 13 11:25:59 2011 +0530 ath9k_htc: Drain pending TX frames properly When doing a channel set or a reset operation the pending frames queued up for transmission have to be flushed and sent to mac80211. Fixing this has to be done in two separate steps: * Flush queued frames and kill the URB TX completion handler. * Complete all the frames that in the TX pending queue. This patch adds proper support for draining and all the callsites namely, channel change/reset/idle/stop are fixed. A separate queue is used for handling failed frames. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit f2820f4583b233827f10d91adea70225e196d852 Author: Sujith Manoharan Date: Wed Apr 13 11:25:54 2011 +0530 ath9k_htc: Use helper functions for TX processing Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 2c5d57f004673a9c8658e20b1fa3f992b5a10f70 Author: Sujith Manoharan Date: Wed Apr 13 11:25:47 2011 +0530 ath9k_htc: Add TX slots Maintain a bitmap of slots for transmission and update the cookie field for every packet with the slot value. This value would be used for matching packets when TX completion processing is added. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 729bd3ab460d3bb8236cc8f6fd0289201124112d Author: Sujith Manoharan Date: Wed Apr 13 11:25:41 2011 +0530 ath9k_htc: Move endpoint header parsing to TX tasklet There is no need to do endpoint header removal in the ISR. Also, this is needed when TX slot management is added later on. Use a helper function to strip the driver header. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit d67ee5339363608adce786ec8fd62a0fb2b66116 Author: Sujith Manoharan Date: Wed Apr 13 11:25:35 2011 +0530 ath9k_htc: Introduce new HTC API A new routine that takes an endpoint explicitly is introduced. The normal htc_send() now retrieves the endpoint from the packet's private data. This would be useful in TX completion when the endpoint ID would be required. While at it, use a helper function to map the queue to endpoint. Data/mgmt/beacon packets use htc_send(), while WMI comamnds pass the endpoint to HTC. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 8e86a54715c4102a8ed697939de9ebd9715dc59c Author: Sujith Manoharan Date: Wed Apr 13 11:25:29 2011 +0530 ath9k_htc: Fix TX queue management Handle queue start/stop properly by maintaining a counter to check if the pending frame count has exceeded the threshold. Otherwise, packets would be dropped needlessly. While at it, use a simple flag to track queue status and use helper functions too. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 3deff76095c4ac4252e27c537db3041f619c23a2 Author: Sujith Manoharan Date: Wed Apr 13 11:25:23 2011 +0530 ath9k_htc: Increase URB count for REG_IN pipe Using a single URB for receiving WMI events is insufficient, increase it to 64 to not lose WMI events in high throughput situations. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 16c56ae87509d9bbcd8c711dc4f99b38c234d6c5 Author: Sujith Manoharan Date: Wed Apr 13 11:25:18 2011 +0530 ath9k_htc: Add a new WMI event WMI_TXSTATUS_EVENTID This event will be generated by the target for packet completions. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit e8e3860765641d5e9d1607ec50191cb33c28371d Author: Sujith Manoharan Date: Wed Apr 13 11:25:12 2011 +0530 ath9k_htc: Sync MGMT/DATA packet headers with firmware Add a new cookie field that would be filled by the host. This can be used to match the TX status WMI event with the appropriate packet. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 15f6d6d52fe0d9fcf8c09788caff5d1684e5f12c Author: Sujith Manoharan Date: Wed Apr 13 11:25:06 2011 +0530 ath9k_htc: Reduce TX queue size The current max queue length of 1024 is quite large and unnecessary. 256 suffices well enough even for high throughput situations. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 658ef04fd42a587b17a379ad9208023473442ddd Author: Sujith Manoharan Date: Wed Apr 13 11:25:00 2011 +0530 ath9k_htc: Move TX specific stuff to a separate structure Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit ee3fa1bdadd998652083a7814af745f765a06a25 Author: Sujith Manoharan Date: Wed Apr 13 11:24:55 2011 +0530 ath9k_htc: Remove unused WMI_WLAN_TXCOMP_EVENTID Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 0a8579f6b7c3f4332ad9eb6615c7631ef9cd4ed6 Author: Sujith Manoharan Date: Wed Apr 13 11:24:49 2011 +0530 ath9k_htc: Sync struct ath9k_htc_cap_target with FW Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit e4c62506fcfa7c1fa7c586ab518a172c3a65db0f Author: Sujith Manoharan Date: Wed Apr 13 11:24:43 2011 +0530 ath9k_htc: Sync struct ath9k_htc_target_vif with FW Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit b97c57ff3f568b33ed91915f48431feae2dab288 Author: Sujith Manoharan Date: Wed Apr 13 11:24:37 2011 +0530 ath9k_htc: Sync struct ath9k_htc_target_sta with FW Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 40dc9e4b86963b77918f1b8fa02b98c1e420a7e1 Author: Sujith Manoharan Date: Wed Apr 13 11:24:31 2011 +0530 ath9k_htc: Use SKB's private area for TX parameters For all packets sent through the USB_WLAN_TX_PIPE endpoint, the private area of the SKB's tx_info can be used to store driver-specific information. For packets sent through USB_REG_OUT_PIPE, this will not make a difference since they are routed through a separate routine that doesn't access the private region. This would help in situations where TX information is required in the URB callback. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit e723f3900c3b23feb427672c6ccfe5d4243d2c2d Author: Sujith Manoharan Date: Wed Apr 13 11:24:25 2011 +0530 ath9k_htc: Remove unused WMI commands WMI_TGT_TXQ_ENABLE_CMDID WMI_HOST_ATTACH WMI_DEBUG_INFO_CMDID WMI_BEACON_UPDATE_CMDID WMI_RESET_CMDID WMI_RX_LINK_CMDID WMI_STOP_DMA_RECV_CMDID Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit b1563a4c3d721cb0496b8e1fb874f08a8f2b62cc Author: Sujith Manoharan Date: Wed Apr 13 11:24:19 2011 +0530 ath9k_htc: Fix RX length check The length of the received SKB could be equal to HTC_RX_FRAME_HEADER_SIZE in case of packets with phy/crc errors, in which case they are dropped without being processed. Fix this check so that the error counters are updated correctly. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 719c4cf6b1b113e9caf377c6607ae45758a85871 Author: Sujith Manoharan Date: Wed Apr 13 11:24:10 2011 +0530 ath9k_htc: Add RX error statistics Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 8e42e4ba98f986be64016df79eacbb671dbd3d18 Author: Sujith Manoharan Date: Wed Apr 13 11:24:00 2011 +0530 ath9k_htc: Move debug code to a separate file Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit f4c88991f51e097b6541f998fd23d477999e5886 Author: Sujith Manoharan Date: Wed Apr 13 11:23:52 2011 +0530 ath9k_htc: Queue WMI events Use a queue to handle WMI events and schedule a tasklet to process the events. This fixes the race between the WMI event ISR and the SWBA tasklet when the arrival of WMI events in quick succession could overwrite the SWBA data before the tasklet from a previous iteration could have been scheduled. Also, drain the WMI queue properly. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit b0a6ba983e3663bf256ca2e79d17bb846878cd9e Author: Sujith Manoharan Date: Wed Apr 13 11:23:44 2011 +0530 ath9k_htc: Fix beacon miss under heavy load Transmission of beacons becomes erratic when TX load is high, since the latency involved in the generation of a SWBA interrupt on the target to the actual sending of a beacon is quite high for USB devices. Fix this by adjusting the beacon response time. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 7d547eb4bb664c5a6b7c8790c2ecb0aec5d15385 Author: Sujith Manoharan Date: Wed Apr 13 11:23:34 2011 +0530 ath9k_htc: Handle buffered frames in AP mode Use the CAB endpoint to send buffered multicast or broadcast frames after each SWBA event. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 2493a547ee81e6daca812d5dd7cf9357aebc379b Author: Sujith Manoharan Date: Wed Apr 13 11:23:26 2011 +0530 ath9k_htc: Configure the beacon queue Set operating parameters (cwmin, cwmax) for the beacon queue in AP mode. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 9b674a0207c9b75ddcdcdb07e46843fac8267507 Author: Sujith Manoharan Date: Wed Apr 13 11:23:17 2011 +0530 ath9k_htc: Add TSF adjust capability In multi-interface mode, beacons/probe responses that are sent out must have their timestamp field updated. Calculate the TSF adjustment value for each beaconing interface and set it in the frame properly. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 832f6a18fc2aead14954c081ece03b7a5b425f81 Author: Sujith Manoharan Date: Wed Apr 13 11:23:08 2011 +0530 ath9k_htc: Add beacon slots Beacon transmission is now handled through a slot mechanism. This allows multiple beaconing interfaces to be be present. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 1c165c972b040f9ce199b8d8d3cc4f619872cba5 Author: Sujith Manoharan Date: Wed Apr 13 11:22:59 2011 +0530 ath9k_htc: Fix WMI and beacon header Match the beacon header with that of the firmware. Also, the firmware reports the TSF for an SWBA, so store it. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 29bbfb2491316f9a3888e74b0de7fccdbde67aaa Author: Sujith Manoharan Date: Wed Apr 13 11:22:51 2011 +0530 ath9k_htc: Add a WMI command to get the firmware version Also, update the wiphy information and use the correct device pointer when registering. This would fix ethtool. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit ce18f391aa872a910e7798c340b6cf22d02c77a2 Author: Sujith Manoharan Date: Wed Apr 13 11:22:42 2011 +0530 ath9k_htc: Rename firmware Since the new FW requires backward incompatible host driver changes, rename the FW to allow older driver versions to work with the older FW. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit 9efabad2b228ef820f5ce969baa62860cf65b9ea Author: Sujith Manoharan Date: Wed Apr 13 11:22:33 2011 +0530 ath9k_htc: Remove AR7010 v1.0 support All the AR7010 devices supoprted by ath9k_htc are based on version v1.1, so remove support for v1.0. Signed-off-by: Sujith Manoharan Signed-off-by: John W. Linville commit d0805c1c5758f8fd16c88bf1efa8fb4be4408ce1 Author: Brian Cavagnolo Date: Tue Apr 12 11:06:28 2011 -0700 mwl8k: use traffic threshold to decide when to start ampdu Currently, ampdu stream is created on the first qos packet to an HT sta. The overhead of setting up the BA session may not be justified if the outgoing packet rate is minimal (e.g., ping). So we only allow ampdu streams after seeing a critical number of packets in an arbitrary one-second interval. Based on work by Nishant Sarmukadam Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 4114fa21465ec7ee9526173676d3122a98bbbbd8 Author: Felix Fietkau Date: Tue Apr 12 19:15:22 2011 +0200 mac80211: receive EAP frames from a station in an AP VLAN on the main AP This makes it easier to handle moving stations to VLAN interfaces that are part of a different bridge. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 8e26a0303614e766f993b1ac4a5bfbf80436d9dd Author: Gabor Juhos Date: Tue Apr 12 18:23:16 2011 +0200 ath9k: introduce ATH9K_{PCI,AHB} config options Currently ath9k only available in menuconfig if PCI bus support is enabled. However the driver is required for the built-in wireless MACs of the Atheros AR9130/AR9132 SoCs. These SoCs have no PCI controller, the wireless MAC is connected to the AHB bus on them. Introduce separated config options for the supported buses, in order to allow building of ath9h without PCI bus support. As a bonus, this patch removes the cross-reference of the ATHEROS_AR71XX option which is not present in the kernel. Cc: Luis R. Rodriguez Cc: Vasanthakumar Thiagarajan Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 12488e01fb2b06bb3f6ee137efc88e29d827817e Author: Nishant Sarmukadam Date: Fri Apr 8 14:38:27 2011 +0530 mwl8k: interrupt handling changes We do not need to enable all the interrupts in mwl8k_probe_hw. We need to enable only MWL8K_A2H_INT_OPC_DONE interrupt for sending commands to the firmware. Keep the other interrupts masked in mwl8k_probe_hw. Also, in mwl8k_start, where we expect other interrupts, enable only those interrupts we are interested in. Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit 74ae2fd7d326750d973920c30d5269596724ca71 Author: Giuseppe Cavallaro Date: Wed Apr 13 11:51:43 2011 -0700 stmmac: review Wol and enable the Unicast support Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit b19f7f71b6fa5e0c49f65082044b8a2ff1009f00 Author: Alexander Stein Date: Wed Apr 13 05:03:24 2011 +0000 macb: Add rx overrun counter Signed-off-by: Alexander Stein Signed-off-by: David S. Miller commit 8b5933c380fc66a6311739f9b36a812383f82141 Author: amit salecha Date: Thu Apr 7 01:58:42 2011 +0000 net: ethtool support to configure number of channels Ethtool support to configure RX, TX and other channels. combined field in struct ethtool_channels to reflect set of channel (RX, TX or other). Other channel can be link interrupts, SR-IOV coordination etc. ETHTOOL_GCHANNELS will report max and current number of RX channels, max and current number of TX channels, max and current number of other channel or max and current number of combined channel. Number of channel can be modify upto max number of channel through ETHTOOL_SCHANNELS command. Ben Hutchings: o define 'combined' and 'other' types. Most multiqueue drivers pair up RX and TX queues so that most channels combine RX and TX work. o Please could you use a kernel-doc comment to describe the structure. Signed-off-by: Amit Kumar Salecha Reviewed-by: Ben Hutchings Signed-off-by: David S. Miller commit 9f72c1d977e47a7d182d49ea131067cba0a96ab8 Author: Kevin Gan Date: Fri Apr 8 18:19:33 2011 -0700 Bluetooth: btmrvl: support Marvell Bluetooth device SD8787 The SD8787 firmware image is shared with mwifiex driver. Whoever gets loaded first will be responsible for firmware downloading. Signed-off-by: Kevin Gan Signed-off-by: Tristan Xu Signed-off-by: Bing Zhao Signed-off-by: Gustavo F. Padovan commit b86ed368f1f0b19de1918c57e4b056e73d5613a0 Author: Gustavo F. Padovan Date: Thu Apr 7 18:53:45 2011 -0300 Bluetooth: Check return value of hci_recv_stream_fragment() It may return error and in this case we do add to the stats. Signed-off-by: Gustavo F. Padovan commit 78b4a56c28c096a1eb02f1d864eb450eb910e43d Author: Jiejing Zhang Date: Thu Apr 7 20:37:06 2011 +0800 Bluetooth: hci_uart: check the return value of recv() Check the return value of hu->proto->recv() in hci_uart_tty_receive() the recv() may return error, check it, not add this to statistics. Signed-off-by: Jiejing Zhang Signed-off-by: Gustavo F. Padovan commit e1ba1f15469903b6f443fbf00f069d169e3fba6d Author: Szymon Janc Date: Wed Apr 6 13:01:59 2011 +0200 Bluetooth: Fix Out Of Band pairing when mgmt interface is disabled Use kernel stored remote Out Of Band data only if management interface is enabled. Otherwise HCI_OP_REMOTE_OOB_DATA_NEG_REPLY was sent to controller even if remote Out Of Band data was present in bluetoothd. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 9f69bda6aa8b365169b4a6fd35432ee40574d661 Author: Gustavo F. Padovan Date: Thu Apr 7 16:40:25 2011 -0300 Bluetooth: Add proper handling of received LE data Despite it works, handling through l2cap_data_channel() is wrongs. That function should handle only connection oriented data. Signed-off-by: Gustavo F. Padovan commit 0733119c0bed37eda4bb832d049939a0dc53a233 Author: Gustavo F. Padovan Date: Tue Apr 5 22:29:31 2011 -0300 Bluetooth: Clean up ath3k_load_firmware() Signed-off-by: Gustavo F. Padovan commit cd69a03af1106c486033df600c7945957ea5abeb Author: Gustavo F. Padovan Date: Tue Apr 5 15:24:40 2011 -0300 Bluetooth: Fix wrong comparison in listen() We should check for the pi->scid there. Signed-off-by: Gustavo F. Padovan commit 58d35f87effa0235181a24d55576aaa756ef7312 Author: Gustavo F. Padovan Date: Mon Apr 4 16:16:44 2011 -0300 Bluetooth: Move tx queue to struct l2cap_chan tx_q is the queue used by ERTM mode. Signed-off-by: Gustavo F. Padovan commit c916fbe45c1f30417fa28e62cbbfae295a3f315c Author: Gustavo F. Padovan Date: Mon Apr 4 16:00:55 2011 -0300 Bluetooth: Remove unneeded uninitialized_vars() That was unnecessary use of it. Signed-off-by: Gustavo F. Padovan commit 49208c9c7b483098401683fef5cfbd66931ca643 Author: Gustavo F. Padovan Date: Mon Apr 4 15:59:54 2011 -0300 Bluetooth: Remove some sk references from l2cap_core.c Change some BT_DBG messages and consequently remove some struct sock declarations. Signed-off-by: Gustavo F. Padovan commit 39d5a3ee355fa903ef4609402c79f570eb9fc4d2 Author: Gustavo F. Padovan Date: Mon Apr 4 15:40:12 2011 -0300 Bluetooth: Move SREJ list to struct l2cap_chan As part of moving all the Channel related operation to struct l2cap_chan. Signed-off-by: Gustavo F. Padovan commit 8962d87129ec0a820d17ac44cbf3f51010ad8db8 Author: John W. Linville Date: Wed Apr 13 08:47:32 2011 -0400 ath5k: improve comments for optimized tx descriptor setup Comment the use of local variables to reduce the number of load/store operations on uncached memory, in hopes of not losing this optimization accidentally in the future. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 91eb7c08c6cb3b8eeba1c61f5753c56dcb77f018 Author: Jozsef Kadlecsik Date: Wed Apr 13 13:51:38 2011 +0200 netfilter: ipset: SCTP, UDPLITE support added SCTP and UDPLITE port support added to the hash:*port* set types. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit 6139e75f4a413bdc8f366fc11e437347be8abc59 Author: David S. Miller Date: Tue Apr 12 19:27:51 2011 -0700 net: Missing 'inline' in vlan-disabled vlan_untag() Reported-by: Stephen Rothwell Signed-off-by: David S. Miller commit a7e70158884629898d79709622a66b8ef99e4018 Merge: 2474353 252f4bf Author: David S. Miller Date: Tue Apr 12 16:16:02 2011 -0700 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 24743537d3f784a8b3014e934fad0a9c45e4e789 Author: David S. Miller Date: Tue Apr 12 16:14:21 2011 -0700 atm: iphase: Fix set-but-not-used warnings. The "iavcc" and "iadev" cases are obvious. The intr_status and frmr_intr cases are reading a register to clear the chip status. This driver is pretty old and creaky, and uses volatile pointer dereferences to do register I/O when it should be using readl() and friends. However that it outside of the scope of these changes. Signed-off-by: David S. Miller commit 095d3da610d4022d341c517c59dd5a5d656d966f Author: David S. Miller Date: Tue Apr 12 15:58:41 2011 -0700 9p: Kill set but unused variable in 9p_client_{read,write}() and p9_client_readdir() Fixes the following warnings: net/9p/client.c:1305:18: warning: variable ‘total’ set but not used [-Wunused-but-set-variable] net/9p/client.c:1370:18: warning: variable ‘total’ set but not used [-Wunused-but-set-variable] net/9p/client.c:1769:18: warning: variable ‘total’ set but not used [-Wunused-but-set-variable] Signed-off-by: David S. Miller commit 1aac62671686e6234c91b5f6fc4caaa850419d5d Author: Michał Mirosław Date: Tue Apr 12 04:07:39 2011 +0000 net: vlan_features comment clarification Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 6d95ff974a4b51121777973ffba7547c648da974 Author: Michał Mirosław Date: Tue Apr 12 09:48:17 2011 +0000 net: ioc3: convert to hw_features Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 66371c44136b566f39f70c72cb4d117558bee3fa Author: Michał Mirosław Date: Tue Apr 12 09:38:23 2011 +0000 net: bnx2x: convert to hw_features Since ndo_fix_features callback is postponing features change when bp->recovery_state != BNX2X_RECOVERY_DONE, netdev_update_features() has to be called again when this condition changes. Previously, ethtool_ops->set_flags callback returned -EBUSY in that case (it's not possible in the new model). Signed-off-by: Michał Mirosław v5: - don't delay set_features, as it's rtnl_locked - same as recovery process v4: - complete bp->rx_csum -> NETIF_F_RXCSUM conversion - add check for failed ndo_set_features in ndo_open callback v3: - include NETIF_F_LRO in hw_features - don't call netdev_update_features() if bnx2x_nic_load() failed v2: - comment in ndo_fix_features callback Signed-off-by: David S. Miller commit e5ee20e70f078d584572709962f5d90f876912c3 Author: Michał Mirosław Date: Tue Apr 12 09:38:23 2011 +0000 net: bna: convert to hw_features Note: looks like bnad->conf_mutex is duplicating rtnl_lock. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit d1423c7ab847e72a63e0e3512a1a7f3bce55ae01 Author: Michał Mirosław Date: Sun Apr 10 04:49:55 2011 +0000 net: ps3_gelic: convert to hw_features Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit f5d640371dacda100a32a30e8013f957aff26ce1 Author: Michał Mirosław Date: Sun Apr 10 03:13:21 2011 +0000 net: sky2: convert to hw_features Caveats: - driver modifies vlan_features on HW VLAN TX changes - broken RX checksum will be reenabled on features change Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 872674858fe236b746317741013c830bb70775c2 Author: Michał Mirosław Date: Tue Apr 12 09:56:38 2011 +0000 net: add RTNL_ASSERT in __netdev_update_features() Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit bcc6d47903612c3861201cc3a866fb604f26b8b2 Author: Jiri Pirko Date: Thu Apr 7 19:48:33 2011 +0000 net: vlan: make non-hw-accel rx path similar to hw-accel Now there are 2 paths for rx vlan frames. When rx-vlan-hw-accel is enabled, skb is untagged by NIC, vlan_tci is set and the skb gets into vlan code in __netif_receive_skb - vlan_hwaccel_do_receive. For non-rx-vlan-hw-accel however, tagged skb goes thru whole __netif_receive_skb, it's untagged in ptype_base hander and reinjected This incosistency is fixed by this patch. Vlan untagging happens early in __netif_receive_skb so the rest of code (ptype_all handlers, rx_handlers) see the skb like it was untagged by hw. Signed-off-by: Jiri Pirko v1->v2: remove "inline" from vlan_core.c functions Signed-off-by: David S. Miller commit 6f11c819d5fb24b637f2db605e5d3c270c979627 Author: Vasanthakumar Thiagarajan Date: Tue Apr 12 12:42:22 2011 +0530 ath9k: Register id table for platform device Currently the device id in the platform driver is hardcoded to an id which is specific to AR9130/AR9132 SOCs as it supports only wmac (wireless mac) of these SOCs. But this needs to be dynamic when we want to support different wmac of SOCs. So add id_table to driver to make it extendable to more SOCs. Signed-off-by: Vasanthakumar Thiagarajan Acked-by: Gabor Juhos Signed-off-by: John W. Linville commit b3ba44c6d1633692b45910ee77064e635e2c3143 Author: Mark Davis Date: Tue Apr 12 00:19:10 2011 -0400 rt2800usb: Add seven new USB IDs Adds USB IDs for seven previously missing devices. Additionally, all instances of 'Conceptronic' have been replaced by the OEM name. Devices added are.. 0411:01a2 - Buffalo WLI-UC-GNM, RT3070V 0586:341e - ZyXEL NWD2105, RT3070 13b1:002f - Linksys AE1000, RT3572 13b1:0031 - Cisco / Linksys AM10, RT3072 14b2:3c2c - Keebox W150NU / Alpha Networks WUS-N12, RT3070 157e:3013 - TRENDnet TEW-645UB, RT2770+RT2720 15a9:0012 - Airlink AWLL7025 / Gemtek WUBR-208N, RT2870+RT2850 Signed-off-by: Mark Davis Acked-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 901c1113da1efc98881233a8a67f98286a0b766a Author: Rajkumar Manoharan Date: Mon Apr 11 20:22:30 2011 +0530 ath9k_hw: update AR9003 low_ob_db_tx_gain to improve spur performance Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 5fb32faf821586312dc0b51a64bfa17ad0633daf Author: Rajkumar Manoharan Date: Mon Apr 11 20:22:29 2011 +0530 ath9k_hw: update Ar9003 intervals to fix carrier leak Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 2d05a0c2b4ac614cb5e0eba75d39a37205d129e8 Author: Rajkumar Manoharan Date: Mon Apr 11 20:22:28 2011 +0530 ath9k_hw: Remove unused code in AR9287 eeprom Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 3dfd7f606645279c788f48cfdfdf9565ec72c4f0 Author: Vasanthakumar Thiagarajan Date: Mon Apr 11 16:39:40 2011 +0530 ath9k: Implement integer mode for AR9485 This fixes random disconnect. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 228bdfca9a09c1263c24509b4bc23a67be168e1a Author: Chaoming Li Date: Sun Apr 10 18:30:23 2011 -0500 rtlwifi: rtl8192ce: Fix LED initialization Driver rtl8192ce does not initialize the LED correctly. Signed-off-by: Chaoming Li Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f0bce44f5f2eb37dba58aa992d0c58da92ded201 Author: roel Date: Sun Apr 10 21:09:55 2011 +0200 ath9k: index out of bounds Check whether index is within bounds before testing the element Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit 0f8e94d2ae4f7966d09c8105ccabb3b3d8238a4d Author: roel Date: Sun Apr 10 21:09:50 2011 +0200 ath9k_hw: index out of bounds Check whether index is within bounds before testing the element Both spurChans arrays in modalHeader5G and modalHeader2G have 5 elements, AR_EEPROM_MODAL_SPURS is defined 5. So unless a break occurs, in the last iteration (i=5) we tried to access spurChansPtr[5] before testing whether i was within bounds. Fix this. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit c266c71a9cbdccb40fb6f4c05d4ddaa6226e5eba Author: Felix Fietkau Date: Sun Apr 10 18:32:19 2011 +0200 ath5k: reduce interrupt load caused by rx/tx interrupts While the rx/tx tasklet is pending, new unnecessary interrupts may arrive. Decrease the load by temporarily disabling the interrupts until the tasklet has completed. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5b7916ad8c29da9f30fbf03a8b61862acdba00ce Author: Felix Fietkau Date: Sun Apr 10 18:32:18 2011 +0200 ath5k: clean up debugfs code The pointers to the debugfs entries do not need to be saved, because they will be recursively removed when the wiphy is unregistered. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ed8950857f728303a1463ac9267e72c278738bf6 Author: Felix Fietkau Date: Sun Apr 10 18:32:17 2011 +0200 ath5k: remove ts_retry from ath5k_tx_status Reusing the configured retry counts from the skb cb is more efficient than reloading the data from uncached memory. Replace ts_longretry (unused) with ts_final_retry which contains the retry count for the final rate only Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b2fd97d0190a400b49a2f910109a4a492bfea319 Author: Felix Fietkau Date: Sun Apr 10 18:32:16 2011 +0200 ath5k: optimize rx status processing Use ACCESS_ONCE to reduce the number of redundant loads on uncached memory Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b161b89fb97b30233526d31c5f94397ed94ffea6 Author: Felix Fietkau Date: Sun Apr 10 18:32:15 2011 +0200 ath5k: optimize tx status processing Use ACCESS_ONCE to reduce the number of variable reloads on uncached memory Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit fe12081cb664cd5d412dc56de0585a80484b1331 Author: Felix Fietkau Date: Sun Apr 10 18:32:14 2011 +0200 ath5k: remove ts_rate from ath5k_tx_status It is no longer necessary for preparing mac80211 tx status Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c5e0a88aa2e0f42cdb4c79c977c52f6bc38ec160 Author: Felix Fietkau Date: Sun Apr 10 18:32:13 2011 +0200 ath5k: optimize tx descriptor setup Use local variables to reduce the number of load/store operations on uncached memory. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit b1ad1b6febb7772583c98d9a879fbbdb82a726a7 Author: Felix Fietkau Date: Sat Apr 9 23:10:21 2011 +0200 ath5k: fix slot time handling Set the slot time based on the mac80211 short slot vs long slot setting instead of just forcing long slot for all CCK-enabled channels. This slightly improves 802.11g mode performance in in my tests. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 488a50176c169eb36544b4f970c8bba68ede30a1 Author: Felix Fietkau Date: Sat Apr 9 23:10:20 2011 +0200 ath5k: fix SIFS time handling ath5k uses 8 usec as a sifs time, extracted from the initvals, whereas the standard requires a sifs time of 10. The difference originates from the fact that the SIFS register has an offset of 2 usec. Fix the SIFS time definition to use the standard value of 10 usec and subtract 2 usecs when writing the SIFS register. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a27049e2c926bcf68360532a5ae66e408296ae85 Author: Felix Fietkau Date: Sat Apr 9 23:10:19 2011 +0200 ath5k: fix short preamble rate duration value Subtract the difference in preamble duration (in usec) from the value returned by ieee80211_generic_frame_duration. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6d7b97b23e114c8fbb825e6721164d228c1af3fc Author: Felix Fietkau Date: Sat Apr 9 21:37:14 2011 +0200 ath5k: fix tx status reporting issues During normal operation, minstrel was showing suspicious EWMA probabilities exceeding 100%. It looks like the tx status reporting in ath5k was not properly clearing the rate index for rates which were never attempted. This is caused by uninitialized stale data in the on-stack tx status information, which is reused when more frames are received. To fix this, rely on ts->ts_final_idx to select the last attempted rate, instead of checking whether ts->ts_rate is set. Additionally, the conversion from the driver rate index back to the mac80211 rate index can be dropped, as the mac80211 tx status will still have the original rate index which was used to set up the descriptor. Additionally, one more inaccuracy was fixed - the final rate attempt count only needs to be increased by one if the transmission attempt was successful. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a065784620a2b78a2bbd00e066c004644d227ea8 Author: John W. Linville Date: Fri Apr 8 15:33:12 2011 -0400 ath5k: improve pcal error handling for ENOMEM case The ath5k driver does kmalloc allocations for pcal info in a loop. But, if one fails it was simply returning -ENOMEM without freeing already allocated memory. This patch corrects that oversight. Reported-by: Eugene A. Shatokhin Signed-off-by: John W. Linville Reviewed-by: Bob Copeland commit ba30c4a58ceb10e81dbf6bd80aeb6a4db42db8fe Author: Yogesh Ashok Powar Date: Sat Apr 9 00:25:37 2011 +0530 mwl8k: Fix checkpatch.pl and sparse warnings and errors Fix checkpatch errors and warnings comprising of indent errors, spaces and __packed warnings. Also fix 'make C = 2' warnings. Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit 1296433bf39a8dea852aafad1f29b775f993bca1 Author: Felix Fietkau Date: Fri Apr 8 20:49:16 2011 +0200 ath9k_hw: remove unnecessary parts of the AR9380 SREV check Older versions have not been sold and the driver does not explicitly check for them anyway, so we can simply ignore the macRev here. Reduces ath9k_hw size on mips by more than 2 KB. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ebe27c91af8b7f4810ae906fbd3eeb2d87850026 Author: Mohammed Shafi Shajakhan Date: Fri Apr 8 21:24:24 2011 +0530 {mac|nl}80211: Add station connected time Add station connected time in debugfs. This will be helpful to get a measure of stability of the connection and for debugging stress issues Cc: Senthilkumar Balasubramanian Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit f60c49b67dd6db2ccb740a6a671414f9dab00c4f Author: Rajkumar Manoharan Date: Fri Apr 8 17:06:25 2011 +0530 ath9k: Fix kernel panic on module unload The commit "ath9k: configure beacons based on hw opmode" introduced a regression which leads to kernel panic. Failed to stop ani timer during the driver unload while any of the beaconing vif is running. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit d0ef824b9a712b866e38212089ade3a7114225a4 Author: Senthil Balasubramanian Date: Fri Apr 8 15:30:35 2011 +0530 ath9k: Update gain table for AR9485 Update Tx gain 23 for all tx gain table. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 7d75541499319dff375af252345ae1999540b4a9 Author: Senthil Balasubramanian Date: Fri Apr 8 15:30:34 2011 +0530 ath9k: Add RSSI information from control and extension chains Export RSSI information from all the control and extension channel chains to debugfs. Also add rx antenna information to debugfs. This will be useful for debugging purpose. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 1570ca59279a74db73b8ff840abdfaf64a9ee2ff Author: Javier Cardona Date: Thu Apr 7 15:08:35 2011 -0700 mac80211: send notification on new peer candidate for our secure mesh Also, advertise support for mesh authentication. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit c93b5e717ec47b57abfe0229360bc11e77520984 Author: Javier Cardona Date: Thu Apr 7 15:08:34 2011 -0700 nl80211: New notification to discover mesh peer candidates. Notify userspace when a beacon/presp is received from a suitable mesh peer candidate for whom no sta information exists. Userspace can then decide to create a sta info for the candidate. If userspace is not ready to authenticate the peer right away, it can create the sta info with the authenticated flag unset and set it later. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 96b78dff0321d881ef27d858a462c476e0444619 Author: Javier Cardona Date: Thu Apr 7 15:08:33 2011 -0700 nl80211/mac80211: Perform PLINK_ACTION on new station Modify the NEW_STATION command to accept PLINK_ACTIONS, in case userspace wants to create stations and initiate a peer link right away (for authenticated stations) or create a blocked station (for debugging). Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 53e805111b69d55834f4e1ed0a31a97ea0b9e425 Author: Javier Cardona Date: Thu Apr 7 15:08:32 2011 -0700 mac80211: ignore peer link requests from unauthenticated stations. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 71839121a0f35f9968d2e204a76eb22683156fd8 Author: Javier Cardona Date: Thu Apr 7 15:08:31 2011 -0700 mac80211: Let user space receive and send mesh auth/deauth frames Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit b39c48fac1fc915a5dcd024bf6e9aabc855ed591 Author: Javier Cardona Date: Thu Apr 7 15:08:30 2011 -0700 nl80211/mac80211: let userspace authenticate stations Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 5cff5e01e818029a5d2c3c31b7ae5e5e7ee70452 Author: Javier Cardona Date: Thu Apr 7 15:08:29 2011 -0700 mac80211: ignore peers if security is enabled for this mesh Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 15d5dda623139bbf6165030fc251bbd5798f4130 Author: Javier Cardona Date: Thu Apr 7 15:08:28 2011 -0700 cfg80211/nl80211: Add userspace authentication flag to mesh setup During mesh setup, use NL80211_MESH_SETUP_USERSPACE_AUTH flag to create a secure mesh and route management frames to userspace. Also, NL80211_CMD_GET_WIPHY now returns a flag NL80211_SUPPORT_MESH_AUTH if the wiphy's mesh implementation supports routing of mesh auth frames to userspace. This is useful for forward compatibility between old kernels and new userspace tools. Signed-off-by: Javier Cardona Signed-off-by: Thomas Pedersen Signed-off-by: John W. Linville commit 581a8b0feeed8877aab3a8ca4c972419790cd07f Author: Javier Cardona Date: Thu Apr 7 15:08:27 2011 -0700 nl80211: rename NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE To NL80211_MESH_SETUP_IE. This reflects our ability to insert any ie into a mesh beacon, not simply path selection ies. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit a22e93f5d819f11d2a2d6332e20ff5b462e5c208 Author: Paul Bolle Date: Thu Apr 7 20:40:32 2011 +0200 iwl4965: drop a lone pr_err() iwl4965_rate_control_register() prints a message at KERN_ERR level. It looks like it's just a debugging message, so pr_err() seems to be overdone. But none of the similar functions in drivers/net/wireless print a message, so let's just drop it. Signed-off-by: Paul Bolle Signed-off-by: John W. Linville commit 952949738aba19f84dae9def18e0baa58f0ce0b8 Author: Felix Fietkau Date: Thu Apr 7 19:30:32 2011 +0200 ath9k: fix too early enabling of rx during ath_startrecv() rx should only be enabled after enough rx buffers have been given to the hardware, however ath_rx_buf_link was calling ath9k_hw_rxena after every single added buffer. Fix this by calling ath9k_hw_rxena directly from the rx tasklet after completion instead. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 264bbec811024e39fe8f9e7a45743f81f373529e Author: Felix Fietkau Date: Thu Apr 7 19:24:23 2011 +0200 ath9k: fix PS-Poll reception on AR9160 and earlier I can't find any valid reason for not setting the ATH9K_RX_FILTER_PSPOLL flag on older hardware and neither the documentation nor the reference code mention any reason for excluding older hardware here. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6a35a0ac5771fa962c45926678d1f194cbc98c4e Author: Yogesh Ashok Powar Date: Wed Apr 6 16:46:56 2011 -0700 mwifiex: use common keyinfo bitmap for different key types Instead of having separate key information definitions for each type of key, a common key information bitmap is used. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 18bf965702058f5f8039e6a46bb5ebaa18d38ebd Author: Bing Zhao Date: Wed Apr 6 16:46:55 2011 -0700 mwifiex: fix cmd_skb headroom decreasing issue Before calling host_to_card() to send the cmd to firmware, we use skb_push() to add 4 bytes SDIO interface header at the start of the data buffer. Since cmd_skb data structure will be re-used at a later time, we need to restore its headroom by removing the 4 bytes header. Signed-off-by: Bing Zhao Signed-off-by: Marc Yang Signed-off-by: Yogesh Ashok Powar Signed-off-by: John W. Linville commit d88525e8fdc00c0078d38353caffc29e5a9c70cc Author: Rajkumar Manoharan Date: Wed Apr 6 21:42:52 2011 +0530 ath9k_hw: Fix instable target power control b/w CCK/OFDM The problem is that when the attenuation is increased, the rate will start to drop from MCS7 -> MCS6, and finally will see MCS1 -> CCK_11Mbps. When the rate is changed b/w CCK and OFDM, it will use register desired_scale to calculate how much tx gain need to change. The output power with the same tx gain for CCK and OFDM modulated signals are different. This difference is constant for AR9280 but not AR9285/AR9271. It has different PA architecture a constant. So it should be calibrated against this PA characteristic. The driver has to read the calibrated values from EEPROM and set the tx power registers accordingly. Signed-off-by: Rajkumar Manoharan Acked-by: Felix Fietkau Signed-off-by: John W. Linville commit 15b91e830dbf300d653b3fe70f6ef71b568164a3 Author: Vivek Natarajan Date: Wed Apr 6 11:41:11 2011 +0530 ath9k: Implement dev_tx_frames_pending callback. This function returns true if there is atleast one frame in any one of the tx queues. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit e8306f989483e4b97a8b37dd268de6c8c6f35e75 Author: Vivek Natarajan Date: Wed Apr 6 11:41:10 2011 +0530 mac80211: Check for queued frames before entering power save. In a highly noisy environment, the tx rate of the driver drops and the application slows down since it has not yet received ACKs for the frames already queued in the hardware. Since this ACK may take more than 100ms, stopping the dev queues for entering PS at this stage breaks applications, WMM test cases in my testing. If there are frames already pending in the tx queue, postponing the PS logic helps to avoid redundant queue stops. When power save is enabled by default and in a noisy environment, this API certainly helps in improving the average throughput. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 143780c6562080c1117cd9197ee1b33c0d838376 Author: Allan, Bruce W Date: Mon Apr 11 13:01:59 2011 +0000 ethtool: time to blink provided in seconds not jiffies When blinking for a duration set by the user, the value specified is in seconds but it is used as the number of jiffies in the timeout after which the Physical ID indicator is deactivated. Fix by converting the timeout to seconds. Signed-off-by: Bruce Allan Acked-by: Ben Hutchings Signed-off-by: David S. Miller commit 252f4bf400df1712408fe83ba199a66a1b57ab1d Merge: 6ba1037 b37e3b6 Author: John W. Linville Date: Tue Apr 12 16:18:44 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: drivers/net/wireless/ath/ar9170/main.c drivers/net/wireless/ath/ar9170/phy.c drivers/net/wireless/zd1211rw/zd_rf_rf2959.c commit 6ba1037c3d871ab70e342631516dbf841c35b086 Author: Jon Mason Date: Fri Apr 8 11:11:23 2011 +0000 vxge: update driver version Update vxge driver version to 2.5.3 Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit 9f9b16458134ba9f06ef6f15369513aa9eebc81c Author: Jon Mason Date: Fri Apr 8 11:11:22 2011 +0000 vxge: spin-lock issue In vxge_hw_vpath_close, __vxge_hw_vp_terminate memsets the vpath which clobbers the spin lock state, then the driver attempts to acquire the spin lock. Resolve this by not zeroing the lock part of vpath struct, clean-up vpath locking in init, close, and fix locking hole in fw_api call. Issue found by Bob Picco Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit cd883a791b55c3c52ce402cd551585fed092d240 Author: Jon Mason Date: Fri Apr 8 11:11:21 2011 +0000 vxge: always enable hardware time stamp Hardware time stamp calculation can only be enabled by the privileged function. Enable it always by default and simply use the ethtool interface to set a flag to indicate whether or not the respective function driver should indicate the timestamp along with the received packet. Also, make certain fields in vxge_hw_device_config bit-fields to reduce the size of the struct. Signed-off-by: Jon Mason Signed-off-by: David S. Miller commit d83d282bcbf24ec8ddd4f0eb57f7ad302c431b8a Author: David S. Miller Date: Mon Apr 11 16:00:00 2011 -0700 s2io: Fix warnings due to -Wunused-but-set-variable. Most of these are cases where we are trying to read back a register after a write to ensure completion. Simply pre-fixing the readl() or readq() with "(void)" is sufficient because these are volatile operations and the compiler cannot eliminate them just because no real assignment takes place. The case of free_rxd_blk()'s assignments to "struct buffAdd *ba" is a real spurious assignment as this variable is completely otherwise unused. Signed-off-by: David S. Miller Acked-by: Jon Mason commit 58fc7f1419560efa9c426b829c195050e0147d7f Author: Joerg Roedel Date: Mon Apr 11 11:13:24 2011 +0200 x86/amd-iommu: Add support for invalidate_all command This patch adds support for the invalidate_all command present in new versions of the AMD IOMMU. Signed-off-by: Joerg Roedel commit d99ddec3eee0be8a43b2c1ff624b9dfaaa26b959 Author: Joerg Roedel Date: Mon Apr 11 11:03:18 2011 +0200 x86/amd-iommu: Add extended feature detection This patch adds detection of the extended features of an AMD IOMMU. The available features are printed to dmesg on boot. Signed-off-by: Joerg Roedel commit 3905c54f2bd2c6f937f87307987ca072eabc3e7b Author: Stephen Rothwell Date: Tue Apr 12 14:00:40 2011 +1000 sched, sparc64: Turn cpu_coregroup_mask() into a real function This compile error triggers on Sparc64: kernel/sched.c:7140: error: 'cpu_coregroup_mask' undeclared here (not in a function) Because after the recent scheduler domain cleanups the scheduler uses this arch method as a function pointer in a scheduler topology data structure - which is not possible with a macro. Signed-off-by: Stephen Rothwell Acked-by: David S. Miller Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/20110412140040.3020ef55.sfr@canb.auug.org.au Signed-off-by: Ingo Molnar commit f344c25dbab1a392ef7a7afc8ca061b3b7285423 Author: David S. Miller Date: Mon Apr 11 15:49:26 2011 -0700 niu: Fix warnings due to -Wunused-but-set-variable Most of these were legitimate, and once case was a real bug (not propagating errors from ->xcvr_init() methods). Signed-off-by: David S. Miller commit 39b9afbb4c0750742eb61b7a015e12f483e0b4a3 Author: Sjur Brændeland Date: Mon Apr 11 10:43:52 2011 +0000 caif: Add BUG_ON if dev_info is missing in packet Signed-off-by: Sjur Brændeland Signed-off-by: David S. Miller commit 4dd820c088d201e526840c9dbc2f0b87a0a41868 Author: Sjur Brændeland Date: Mon Apr 11 10:43:51 2011 +0000 caif: Don't resend if dev_queue_xmit fails. If CAIF Link Layer returns an error, we no longer try to re-build the CAIF packet and resend it. Instead, we simply return any transmission errors to the socket client. Signed-off-by: Sjur Brændeland Signed-off-by: David S. Miller commit 73d6ac633c6c0ca703f90db0b808d9593e46aef6 Author: Stephen Hemminger Date: Mon Apr 11 10:43:50 2011 +0000 caif: code cleanup Cleanup of new CAIF code. * make local functions static * remove code that is never used * expand get_caif_conf() since wrapper is no longer needed * make args to comparison functions const * rename connect_req_to_link_param to keep exported names consistent Compile tested only. Signed-off-by: Stephen Hemminger Acked-by: Sjur Brændeland Signed-off-by: David S. Miller commit 1c01a80cfec6f806246f31ff2680cd3639b30e67 Merge: c44d799 4a9f65f Author: David S. Miller Date: Mon Apr 11 13:44:25 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/smsc911x.c commit c44d79950b2daa1025e62eede73e4e4a274d1ef3 Author: Ben Hutchings Date: Fri Apr 8 13:49:15 2011 +0000 niu: Recognise original ethtool class code for AH/ESP flow hashing When the RX network flow classification interface was originally defined for reporting and controlling of flow hashing, AH and ESP were not given distinct flow class codes (apparently because the Sun Neptune hardware treats them very similarly). For flow steering, they must be distinguished, so new and separate flow class codes were added for AH and ESP. But for backward- compatibility, flow hash operations should continue to support the original class codes. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit bde3528f17aebb9c74d6b0ef81860868c91af049 Author: Ben Hutchings Date: Fri Apr 8 13:45:11 2011 +0000 gianfar: Clean up implementation of RX network flow classification This code was cribbed from niu, so gfar_set_hash_opts() begins by converting the ethtool flow class code into a class code for Sun Neptune hardware, then does the same thing again for the hardware it's really dealing with. It may also return -1 (-EPERM) for some unhandled ethtool flow class codes. Remove the useless code and definitions, and fix the error code. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 1b3291241a658fb4d4bbdb41483e1f53c26445ec Author: stephen hemminger Date: Wed Apr 6 13:47:50 2011 +0000 qlge: use ethtool set_phys_id This is a stab at replacing old ethtool phys_id with set_phys_id on the Qlogic 10Gb driver. Compile tested only. Not sure if set_led_cfg will flash continuously, or needs to be replaced by ETHTOOL_ID_ON/ETHTOOL_ID_OFF Signed-off-by: Stephen Hemminger Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 127fe533ae56d7f4e7b5011869870982eba25723 Author: Alexander Duyck Date: Fri Apr 8 18:01:59 2011 +0000 v3 ethtool: add ntuple flow specifier data to network flow classifier This change is meant to add an ntuple data extensions to the rx network flow classification specifiers. The idea is to allow ntuple to be displayed via the network flow classification interface. The first patch had some left over stuff from the original flow extension flags I had added. That bit is removed in this patch. The second had some left over comments that stated we ignored bits in the masks when we actually match them. This work is based on input from Ben Hutchings. Signed-off-by: Alexander Duyck Reviewed-by: Ben Hutchings Signed-off-by: David S. Miller commit 5d9f11cf5038587cc53975deb8beaa1a876a7a7b Author: Alexander Duyck Date: Fri Apr 8 12:07:22 2011 +0000 ethtool: prevent null pointer dereference with NTUPLE set but no set_rx_ntuple This change is meant to prevent a possible null pointer dereference if NETIF_F_NTUPLE is defined but the set_rx_ntuple function pointer is not. The main motivation behind this patch is to eventually replace the ntuple interfaces entirely with the network flow classifier interfaces. This allows the device drivers to maintain the ntuple check internally while using the network flow classifier interface for setting up and displaying rules. Signed-off-by: Alexander Duyck Signed-off-by: David S. Miller commit 60495e7760d8ee364695006af37309b0755e0e17 Author: Peter Zijlstra Date: Thu Apr 7 14:10:04 2011 +0200 sched: Dynamic sched_domain::level Remove the SD_LV_ enum and use dynamic level assignments. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.969433965@chello.nl Signed-off-by: Ingo Molnar commit 54ab4ff4316eb329d2c1acc110fbc623d2966931 Author: Peter Zijlstra Date: Thu Apr 7 14:10:03 2011 +0200 sched: Move sched domain storage into the topology list In order to remove the last dependency on the statid domain levels, move the sd_data storage into the topology structure. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.924926412@chello.nl Signed-off-by: Ingo Molnar commit d069b916f7b50021d41d6ce498f86da32a7afaec Author: Peter Zijlstra Date: Thu Apr 7 14:10:02 2011 +0200 sched: Reverse the topology list In order to get rid of static sched_domain::level assignments, reverse the topology iteration. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.876506131@chello.nl Signed-off-by: Ingo Molnar commit 2c402dc3bb502e9dd74fce72c14d293fcef4719d Author: Peter Zijlstra Date: Thu Apr 7 14:10:01 2011 +0200 sched: Unify the sched_domain build functions Since all the __build_$DOM_sched_domain() functions do pretty much the same thing, unify them. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.826347257@chello.nl Signed-off-by: Ingo Molnar commit eb7a74e6cd936c00749e2921b9e058631d986648 Author: Peter Zijlstra Date: Thu Apr 7 14:10:00 2011 +0200 sched: Stuff the sched_domain creation in a data-structure In order to make the topology contruction fully dynamic, remove the still hard-coded list of possible domains and stick them in a data-structure. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.770335383@chello.nl Signed-off-by: Ingo Molnar commit d3081f52f29da1ba6c27685519a9222b39eac763 Author: Peter Zijlstra Date: Thu Apr 7 14:09:59 2011 +0200 sched: Create proper cpu_$DOM_mask() functions In order to unify the sched domain creation more, create proper cpu_$DOM_mask() functions for those domains that didn't already have one. Use the sched_domains_tmpmask for the weird NUMA domain span. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.717702108@chello.nl Signed-off-by: Ingo Molnar commit 4cb988395da6e16627a8be69729e50cd72ebb23e Author: Peter Zijlstra Date: Thu Apr 7 14:09:58 2011 +0200 sched: Avoid allocations in sched_domain_debug() Since we're all serialized by sched_domains_mutex we can use sched_domains_tmpmask and avoid having to do allocations. This means we can use sched_domains_debug() for cpu_attach_domain() again. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.664347467@chello.nl Signed-off-by: Ingo Molnar commit f96225fd51893b6650cffd5427f13f6b1b356488 Author: Peter Zijlstra Date: Thu Apr 7 14:09:57 2011 +0200 sched: Create persistent sched_domains_tmpmask Since sched domain creation is fully serialized by the sched_domains_mutex we can create a single persistent tmpmask to use during domain creation. This removes the need for s_data::send_covered. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.607287405@chello.nl Signed-off-by: Ingo Molnar commit 7dd04b730749f957c116f363524fd622b05e5141 Author: Peter Zijlstra Date: Thu Apr 7 14:09:56 2011 +0200 sched: Remove some dead code Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.553814623@chello.nl Signed-off-by: Ingo Molnar commit bf28b253266ebd73c331dde24d64606afde32ceb Author: Peter Zijlstra Date: Thu Apr 7 14:09:55 2011 +0200 sched: Remove nodemask allocation There's only one nodemask user left so remove it with a direct computation and save some memory and reduce some code-flow complexity. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.505608966@chello.nl Signed-off-by: Ingo Molnar commit 3bd65a80affb9768b91f03c56dba46ee79525f9b Author: Peter Zijlstra Date: Thu Apr 7 14:09:54 2011 +0200 sched: Simplify NODE/ALLNODES domain creation Don't treat ALLNODES/NODE different for difference's sake. Simply always create the ALLNODES domain and let the sd_degenerate() checks kill it when its redundant. This simplifies the code flow. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.455464579@chello.nl Signed-off-by: Ingo Molnar commit 3859173d43658d51a749bc0201b943922577d39c Author: Peter Zijlstra Date: Thu Apr 7 14:09:53 2011 +0200 sched: Reduce some allocation pressure Since we now allocate SD_LV_MAX * nr_cpu_ids sched_domain/sched_group structures when rebuilding the scheduler toplogy it might make sense to shrink that depending on the CONFIG_ options. This is only needed until we get rid of SD_LV_* alltogether and provide a full dynamic topology interface. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.406226449@chello.nl Signed-off-by: Ingo Molnar commit a6c75f2f8d988ecfecf971f98f1cb6fc4de522fe Author: Peter Zijlstra Date: Thu Apr 7 14:09:52 2011 +0200 sched: Avoid using sd->level Don't use sd->level for identifying properties of the domain. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.350174079@chello.nl Signed-off-by: Ingo Molnar commit 822ff793c34a5d4c8b5f3f9ce932602233d96464 Author: Peter Zijlstra Date: Thu Apr 7 14:09:51 2011 +0200 sched: Simplify the free path some If we check the root_domain reference count we can see if its been used or not, use this observation to simplify some of the return paths. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.298339503@chello.nl Signed-off-by: Ingo Molnar commit dce840a08702bd13a9a186e07e63d1ef82256b5e Author: Peter Zijlstra Date: Thu Apr 7 14:09:50 2011 +0200 sched: Dynamically allocate sched_domain/sched_group data-structures Instead of relying on static allocations for the sched_domain and sched_group trees, dynamically allocate and RCU free them. Allocating this dynamically also allows for some build_sched_groups() simplification since we can now (like with other simplifications) rely on the sched_domain tree instead of hard-coded knowledge. One tricky to note is that detach_destroy_domains() needs to hold rcu_read_lock() over the entire tear-down, per-cpu is not sufficient since that can lead to partial sched_group existance (could possibly be solved by doing the tear-down backwards but this is much more robust). A concequence of the above is that we can no longer print the sched_domain debug stuff from cpu_attach_domain() since that might now run with preemption disabled (due to classic RCU etc.) and sched_domain_debug() does some GFP_KERNEL allocations. Another thing to note is that we now fully rely on normal RCU and not RCU-sched, this is because with the new and exiting RCU flavours we grew over the years BH doesn't necessarily hold off RCU-sched grace periods (-rt is known to break this). This would in fact already cause us grief since we do sched_domain/sched_group iterations from softirq context. This patch is somewhat larger than I would like it to be, but I didn't find any means of shrinking/splitting this. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.245307941@chello.nl Signed-off-by: Ingo Molnar commit a9c9a9b6bff27ac9c746344a9c1a19bf3327002c Author: Peter Zijlstra Date: Thu Apr 7 14:09:49 2011 +0200 sched: Simplify sched_groups_power initialization Again, instead of relying on knowing the possible domains and their order, simply rely on the sched_domain tree and whatever domains are present in there to initialize the sched_group cpu_power. Note: we need to iterate the CPU mask backwards because of the cpumask_first() condition for iterating up the tree. By iterating the mask backwards we ensure all groups of a domain are set-up before starting on the parent groups that rely on its children to be completely done. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.187335414@chello.nl Signed-off-by: Ingo Molnar commit 21d42ccfd6c6c11f96c2acfd32a85cfc33514d3a Author: Peter Zijlstra Date: Thu Apr 7 14:09:48 2011 +0200 sched: Simplify finding the lowest sched_domain Instead of relying on knowing the build order and various CONFIG_ flags simply remember the bottom most sched_domain when we created the domain hierarchy. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.134511046@chello.nl Signed-off-by: Ingo Molnar commit 1cf51902546d60b8a7a6aba2dd557bd4ba8840ea Author: Peter Zijlstra Date: Thu Apr 7 14:09:47 2011 +0200 sched: Simplify sched_group creation Instead of calling build_sched_groups() for each possible sched_domain we might have created, note that we can simply iterate the sched_domain tree and call it for each sched_domain present. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.077862519@chello.nl Signed-off-by: Ingo Molnar commit 3739494e08da50c8a68d65eed5ba3012a54b40d4 Author: Peter Zijlstra Date: Thu Apr 7 14:09:46 2011 +0200 sched: Clean up some ALLNODES code Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122942.025636011@chello.nl Signed-off-by: Ingo Molnar commit cd4ea6ae3982f6861da3b510e69cbc194f331d83 Author: Peter Zijlstra Date: Thu Apr 7 14:09:45 2011 +0200 sched: Change NODE sched_domain group creation The NODE sched_domain is 'special' in that it allocates sched_groups per CPU, instead of sharing the sched_groups between all CPUs. While this might have some benefits on large NUMA and avoid remote memory accesses when iterating the sched_groups, this does break current code that assumes sched_groups are shared between all sched_domains (since the dynamic cpu_power patches). So refactor the NODE groups to behave like all other groups. (The ALLNODES domain again shared its groups across the CPUs for some reason). If someone does measure a performance decrease due to this change we need to revisit this and come up with another way to have both dynamic cpu_power and NUMA work nice together. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122941.978111700@chello.nl Signed-off-by: Ingo Molnar commit a06dadbec5c5df0bf3a35f33616f67d10ca9ba28 Author: Peter Zijlstra Date: Thu Apr 7 14:09:44 2011 +0200 sched: Simplify build_sched_groups() Notice that the mask being computed is the same as the domain span we just computed. By using the domain_span we can avoid some mask allocations and computations. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122941.925028189@chello.nl Signed-off-by: Ingo Molnar commit d274cb30f4a08045492d3f0c47cdf1a25668b1f5 Author: Peter Zijlstra Date: Thu Apr 7 14:09:43 2011 +0200 sched: Simplify ->cpu_power initialization The code in update_group_power() does what init_sched_groups_power() does and more, so remove the special init_ code and call the generic code instead. Also move the sd->span_weight initialization because update_group_power() needs it. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122941.875856012@chello.nl Signed-off-by: Ingo Molnar commit c4a8849af939082052d8117f9ea3e170a99ff232 Author: Peter Zijlstra Date: Thu Apr 7 14:09:42 2011 +0200 sched: Remove obsolete arch_ prefixes Non weak static functions clearly are not arch specific, so remove the arch_ prefix. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton Link: http://lkml.kernel.org/r/20110407122941.820460566@chello.nl Signed-off-by: Ingo Molnar commit f4ad9bd208c98f32a6f9136618e0b8bebe3fb370 Author: Shaohua Li Date: Fri Apr 8 12:53:09 2011 +0800 sched: Eliminate dead code from wakeup_gran() calc_delta_fair() checks NICE_0_LOAD already, delete duplicate check. Signed-off-by: Shaohua Li Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Link: http://lkml.kernel.org/r/1302238389.3981.92.camel@sli10-conroe Signed-off-by: Ingo Molnar commit fd7b5535e10ce820f030842da3f289f80ec0d4f3 Author: Joerg Roedel Date: Tue Apr 5 15:31:08 2011 +0200 x86/amd-iommu: Add ATS enable/disable code This patch adds the necessary code to the AMD IOMMU driver for enabling and disabling the ATS capability on a device and to setup the IOMMU data structures correctly. Signed-off-by: Joerg Roedel commit 60f723b4117507c05c8b0b5c8b98ecc12a76878e Author: Joerg Roedel Date: Tue Apr 5 12:50:24 2011 +0200 x86/amd-iommu: Add flag to indicate IOTLB support This patch adds a flag to the AMD IOMMU driver to indicate that all IOMMUs present in the system support device IOTLBs. Signed-off-by: Joerg Roedel commit cb41ed85efa01e633388314c03a4f3004c6b783b Author: Joerg Roedel Date: Tue Apr 5 11:00:53 2011 +0200 x86/amd-iommu: Flush device IOTLB if ATS is enabled This patch implements a function to flush the IOTLB on devices supporting ATS and makes sure that this TLB is also flushed if necessary. Signed-off-by: Joerg Roedel commit 9844b4e5dd1932e175a23d84ce09702bdf4b5689 Author: Joerg Roedel Date: Tue Apr 5 09:22:56 2011 +0200 x86/amd-iommu: Select PCI_IOV with AMD IOMMU driver In order to support ATS in the AMD IOMMU driver this patch makes sure that the generic support for ATS is compiled in. Signed-off-by: Joerg Roedel commit 5cdede2408e80f190c5595e592c24e77c1bf44b2 Author: Joerg Roedel Date: Mon Apr 4 15:55:18 2011 +0200 PCI: Move ATS declarations in seperate header file This patch moves the relevant declarations from the local header file in drivers/pci to a more accessible locations so that it can be used by the AMD IOMMU driver too. The file is named pci-ats.h because support for the PCI PRI capability will also be added there in a later patch-set. Signed-off-by: Joerg Roedel Acked-by: Jesse Barnes commit 8d7dfc2b57bb2cad0731dedd58ec1d70bcca1ccf Author: Michał Mirosław Date: Sun Apr 10 04:47:46 2011 +0000 net: bnx2: convert to hw_features Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit f593fe363268e7354b3a7f3907170de1ac4de7e7 Author: Michał Mirosław Date: Sun Apr 10 03:13:21 2011 +0000 net: via-velocity: convert to hw_features Trivial conversion. This also enables toggling TX VLAN offload and fixes TX checksumming race with offload changes. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit e6a46416d4233c99a041ca35c1f692ecae9f942d Author: Michał Mirosław Date: Sun Apr 10 03:13:21 2011 +0000 net: ksz884x: convert to hw_features This also fixes possible race when changing receive checksum state and removes IPV6_CSUM_GEN_HACK as it's always set. BTW, The claim about fake IPV6 checksum looks dubious. If that were true, then there's a problem in networking core and should be fixed there and not in random drivers. BTW#2, there's no MAINTAINERS entry for this driver. I assume this driver is supported by Micrel? Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 5e982f3bfdd5d063f8806a26c87843496a35d26b Author: Michał Mirosław Date: Sat Apr 9 02:46:55 2011 +0000 net: stmmac: convert to hw_features This also removes TSO as it's made fully in software --- better to leave this to networking core. If the MAC features can be detected at probe time and not at open, then stmmac_fix_features could be simplified by limiting hw_features. That's also better for users as they don't see offloads being togglable but never turned on. Redundant fallbacks for TX csum are removed as it's already handled by network core. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 044a890c5a0fb7ac60c70bbb4e1b79e59272e504 Author: Michał Mirosław Date: Sat Apr 9 00:58:18 2011 +0000 net: 8139cp: convert to hw_features Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 350fb32ae45ec74ea9cc117c728c48b8e840f0f9 Author: Michał Mirosław Date: Fri Apr 8 06:35:56 2011 +0000 net: r8169: convert to hw_features Simple conversion with a bit of needed cleanup. This also fixes: - confusion around vlan_features in rtl8169_vlan_mode(), - problem with broken TSO for too big MTU (the limit is set at 0xFFF --- max MSS field value). SG+IP_CSUM+TSO is left disabled by default, based on suggestion by David Dillow. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 8b8ddc68df13032a5666438b48dfb7a86de3a610 Author: Michał Mirosław Date: Fri Apr 8 02:38:47 2011 +0000 net: benet: convert to hw_features - fixup Fix up after merge with NETIF_F_RXHASH implementation. This allows to toggle NETIF_F_RXHASH and NETIF_F_HW_VLAN_TX. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 4e01d2d1cac683477b539b40b7b4662d6a9c436f Author: Michał Mirosław Date: Fri Apr 8 02:38:46 2011 +0000 net: Remove invalid offloads Remove offload changing ethtool ops which drivers don't really support: - fs_enet - ucc_geth Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 990078afbf90e0175e71da2df04595b99153514c Author: Michael Smith Date: Thu Apr 7 04:51:51 2011 +0000 Disable rp_filter for IPsec packets The reverse path filter interferes with IPsec subnet-to-subnet tunnels, especially when the link to the IPsec peer is on an interface other than the one hosting the default route. With dynamic routing, where the peer might be reachable through eth0 today and eth1 tomorrow, it's difficult to keep rp_filter enabled unless fake routes to the remote subnets are configured on the interface currently used to reach the peer. IPsec provides a much stronger anti-spoofing policy than rp_filter, so this patch disables the rp_filter for packets with a security path. Signed-off-by: Michael Smith Signed-off-by: David S. Miller commit 5c04c819a20af40adb7d282199f4e34e14fa05c5 Author: Michael Smith Date: Thu Apr 7 04:51:50 2011 +0000 fib_validate_source(): pass sk_buff instead of mark This makes sk_buff available for other use in fib_validate_source(). Signed-off-by: Michael Smith Signed-off-by: David S. Miller commit 5325e92f33eef5fb54e2e63185d965b4be59a4b3 Author: simon Date: Wed Apr 6 21:40:15 2011 +0000 usb: plusb: Add debug to reset function This patch adds some debug to the reset function to print out the reason why it fails. Signed-off-by: Simon Wood Signed-off-by: David S. Miller commit 647da406e5e6cef87d17ee4d3c65c7b496883a3f Author: simon Date: Wed Apr 6 21:40:14 2011 +0000 usb: plusb: Add support for PL-25A1 This patch adds support for the PL-25A1 by adding the appropriate USB ID's. This chip is used in the Belkin 'Windows Easy Transfer' Cables. Signed-off-by: Simon Wood Signed-off-by: David S. Miller commit 6e4d2d9eb22dc9e9f0abfb1a464405b97a461cde Author: simon Date: Wed Apr 6 21:40:13 2011 +0000 usb: plusb: Whitespace This patch cleans up a couple of instances of incorrect whitespace Signed-off-by: Simon Wood Signed-off-by: David S. Miller commit 857a3d0fb648b450de4a87cc2df9055774cafd2d Author: Dimitris Michailidis Date: Fri Apr 8 13:07:08 2011 -0700 cxgb4vf: drop phys_id interface and implement the newer set_phys_id Signed-off-by: Dimitris Michailidis Signed-off-by: David S. Miller commit c5e06360317d9c7a91de983749d136c4089e5379 Author: Dimitris Michailidis Date: Fri Apr 8 13:06:25 2011 -0700 cxgb4: drop phys_id interface and implement the newer set_phys_id Signed-off-by: Dimitris Michailidis Signed-off-by: David S. Miller commit 93ae653491f0a413d5f4d9aa4df45d09ecb55d62 Author: Michael Chan Date: Fri Apr 8 13:03:02 2011 -0700 cnic: Fix rtnl deadlock When cnic_stop_hw() -> cnic_cm_stop_bnx2x_hw() is called under rtnl_lock() from NETDEV_DOWN event, it waits for cnic_delete_task() to complete. It will deadlock when cnic_delete_task() takes rtnl_lock() before calling cnic_ulp_stop_one(). We fix it by removing the rtnl_lock() in cnic_delete_task(). cnic_ulp_stop_one() has mutex and atomic bit ops to prevent important operations from being done more than once, so it is not necessary to take rtnl_lock(). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ce9c99af8d4b3b0b9463654fd252d8640d804dc3 Author: Ian Campbell Date: Fri Apr 8 07:42:29 2011 +0100 x86, cpu: Move AMD Elan Kconfig under "Processor family" Currently the option resides under X86_EXTENDED_PLATFORM due to historical nonstandard A20M# handling. However that is no longer the case and so Elan can be treated as part of the standard processor choice Kconfig option. Signed-off-by: Ian Campbell Link: http://lkml.kernel.org/r/1302245177.31620.47.camel@localhost.localdomain Cc: H. Peter Anvin Signed-off-by: H. Peter Anvin commit 6fc3ba999994b675c4e6af77ac4e1a6bfd8e6128 Author: Johannes Berg Date: Mon Apr 4 06:16:29 2011 -0700 iwlagn: downgrade warning on unknown TLV If we maintain API properly, then there isn't really a reason to warn about this since we'll just be adding things that are safe to ignore, so downgrade the warning to debug info level. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 0da0e5bf1522d75d446f5124e17016628d0a149e Author: Johannes Berg Date: Fri Apr 8 08:14:56 2011 -0700 iwlagn: clean up & autodetect statistics There's no need to keep both normal and BT statistics versions around all the time in memory when we only use a subset of both. So keep only the subsets that we need in memory, depending on the debug config). Also, in doing so, we can remove all the calls to iwl_bt_statistics() in the driver as we'll just access the copied statistics now. Finally, also remove this call from the one place where it might still be needed and automatically detect what kind of statistics the device is sending based on their size. This way, we don't need to keep track of which devices do what any more, which is good since this is subject to change based on the ucode version (as some ucode even for non-BT devices will in fact use BT statistics). Warn upon encountering a statistics command from the ucode that isn't known, so we will find such issues earlier in the future. Signed-off-by: Johannes Berg Tested-by: Don Fry Signed-off-by: Wey-Yi Guy commit 703bc583cb98a24eeedd297ee59dfa12852897d1 Author: Wey-Yi Guy Date: Sun Apr 3 08:14:41 2011 -0700 iwlagn: sensitivity and chain noise done by driver _agn driver should perform both sensitivity and chain noise calib. Signed-off-by: Wey-Yi Guy commit ae89726a02049e8f61bb3c8bf5dbf1fc06527a07 Author: Wey-Yi Guy Date: Fri Apr 1 16:29:54 2011 -0700 iwlagn: tx power calib always done in firmware Remove the config flag for tx power calib Signed-off-by: Wey-Yi Guy commit 23c0fcc66b4345ea97ae588c2e01f10c994652ba Author: Wey-Yi Guy Date: Fri Apr 1 16:29:53 2011 -0700 iwlagn: all _agn devices support power save mode Remove broken_power_save checking Signed-off-by: Wey-Yi Guy commit 8ff84a2c99bc7f5f22d9d2b5365d821ce4f7a8f9 Author: Wey-Yi Guy Date: Fri Apr 1 16:29:52 2011 -0700 iwlagn: more cleanup to remove unused reference More cleanup code, no functional changes Signed-off-by: Wey-Yi Guy commit 15ade3ca647d95611814333cfe0885fd0184481e Author: Wey-Yi Guy Date: Fri Apr 1 16:29:51 2011 -0700 iwlagn: remove un-needed configuration After driver split, set_l0s config is no longer needed, remove it Signed-off-by: Wey-Yi Guy commit 6bb64697ed58909985487e885c269dafd09583f1 Author: Wey-Yi Guy Date: Fri Apr 1 16:29:50 2011 -0700 iwlagn: remove more reference to legacy devices Remove the reference to both 3945 and 4965 in LED code Signed-off-by: Wey-Yi Guy commit ee3cd7e04ca08ff0ec1ebb96be7e64aef928f511 Author: Wey-Yi Guy Date: Fri Apr 1 16:35:10 2011 -0700 iwlagn: cleanup to remove the reference for 3945 More clean up after driver split Signed-off-by: Wey-Yi Guy commit ab4bf5ef5afce9d31cf5cf05ac80b3b01cbb24a3 Author: Wey-Yi Guy Date: Fri Apr 1 16:35:09 2011 -0700 iwlagn: remove unused 3945 define 3945 no longer apply Signed-off-by: Wey-Yi Guy commit ece3cd2e8fb119a4394dcdc6ef921e85cdd4cc69 Author: Wey-Yi Guy Date: Fri Apr 1 16:29:47 2011 -0700 iwlagn: no 3945 define needed Remove 3945 define Signed-off-by: Wey-Yi Guy commit dcf6640f0f58affa93f158d8573b6868136e3d62 Author: Wey-Yi Guy Date: Fri Apr 1 13:20:44 2011 -0700 iwlagn: PAPD read for 2000 series devices For 2000 series NICs, disable OTP refresh in order to read correct PAPD table from high OTP block Signed-off-by: Wey-Yi Guy commit a2b76b3b31568da9d281a393845f17689594ccdf Author: Johannes Berg Date: Tue Mar 29 06:29:37 2011 -0700 iwlwifi: fix bugs in change_interface If change_interface gets invoked during a firmware restart, it may crash; prevent that from happening by checking if ctx->vif is assigned. Additionally, in my initial commit I forgot to set the vif->p2p variable correctly, so fix that too. Cc: stable@kernel.org [2.6.38+] Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 68b993118f715cc631b62b6a50574e4701fe9ace Author: Garen Tamrazian Date: Wed Mar 30 02:29:32 2011 -0700 iwlagn: fix radar frame rejection The microcode may sometimes reject TX frames when on a radar channel even after we associated as it clears information during association and needs to receive a new beacon before allowing that channel again. This manifests itself as a TX status value of TX_STATUS_FAIL_PASSIVE_NO_RX. So in this case, stop the corresponding queue and give the frame back to mac80211 for retransmission. We start the queue again when a beacon from the AP is received which will make the regulatory enforcement in the device allow transmitting again. Signed-off-by: Garen Tamrazian Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 3ecccbcd3c67374aeee447c08fcb9e39a99f7ee5 Author: Wey-Yi Guy Date: Tue Mar 29 17:53:15 2011 -0700 iwlagn: remove un-necessary function pointer After driver split, no need to use function pointer for those event and register dump function. Signed-off-by: Wey-Yi Guy commit 1d5cc5559aaf5273cc1f9aac9b428e3a99d41de6 Author: root Date: Mon Mar 28 16:12:43 2011 -0700 iwlwifi: remove extranious macro from firmware define define of firmware filenames use extra macro to build the files name. Signed-off-by: Jay Sternberg Signed-off-by: Wey-Yi Guy commit a49e490c7a8a5c6c9474b1936ad8048f3e4440fc Author: Vladimir Zapolskiy Date: Fri Apr 8 20:40:51 2011 +0800 crypto: s5p-sss - add S5PV210 advanced crypto engine support This change adds support for AES encrypting and decrypting using advanced crypto engine found on Samsung S5PV210 and S5PC110 SoCs. Signed-off-by: Vladimir Zapolskiy Signed-off-by: Herbert Xu commit b3b7f0550f84e06ae60df0a13c2992792fbd1af9 Author: Julia Lawall Date: Fri Apr 8 20:39:23 2011 +0800 crypto: caam - 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 Acked-by: Kim Phillips Signed-off-by: Herbert Xu commit 782d640afd15af7a1faf01cfe566ca4ac511319d Author: Michał Mirosław Date: Thu Apr 7 07:32:18 2011 +0000 net: atl*: convert to hw_features Things left as they were: - atl1: is RX checksum really enabled? - atl2: copy-paste from atl1, with-errors-on-modify I presume - atl1c: there's a bug: MTU can't be changed if device is not up Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit dc668910f4eaa233c241d43d96ed6b0b9258cc43 Author: Michał Mirosław Date: Thu Apr 7 03:35:07 2011 +0000 net: tg3: convert to hw_features Cleanup hint: Some features are calculated in tg3_get_invariants() and the rest in its caller --- tg3_init_one(). This is not changed here. Signed-off-by: Michał Mirosław Acked-by: Matt Carlson Signed-off-by: David S. Miller commit 5ec8f9b8e6d87faa9d3a4b079b83e3c0d9c39921 Author: Michał Mirosław Date: Thu Apr 7 02:43:48 2011 +0000 net: enic: convert to hw_features As the driver uses GRO and not LRO, LRO settings are ignored anyway and are removed here to avoid confusion. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 6332c8d3a5e352fae854cbcac764622e083461e5 Author: Michał Mirosław Date: Thu Apr 7 02:43:48 2011 +0000 net: benet: convert to hw_features Simple conversion. This also fixes a bug in TX checksum toggling --- driver was changing NETIF_F_HW_CSUM instead of NETIF_F_IP_CSUM+NETIF_F_IPV6_CSUM. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit e92702b1046a418a562878b22f92433517760921 Author: Michał Mirosław Date: Thu Mar 31 01:01:35 2011 +0000 skge: convert to hw_features just IP_CSUM. This needs testing and so is not changed here. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 57841869197831542f25c739beaeab4465977878 Author: Ajit Khaparde Date: Wed Apr 6 18:08:43 2011 +0000 be2net: call FLR after setup wol in be_shutdown Calling setup_wol after a reset is inconsequential. The WOL setting should be programmed before FLR. And yes, FLR does not erase wol information. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 48f5a19168c228e6533401c563d9fcbc152bc33f Author: Ajit Khaparde Date: Wed Apr 6 18:08:30 2011 +0000 be2net: dynamically allocate adapter->vf_cfg Instead of a fixed sized array for vf_cfg, allocate the size dynamically depending on number of VFs the device supports. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 81be8f0ab47db1171dac0eb8b062291603b57dd4 Author: Ajit Khaparde Date: Wed Apr 6 18:08:17 2011 +0000 be2net: fix to get max VFs supported from adapter The user supplied num_vfs value need not be compared against a static BE_MAX_VF, but can be checked against the actual VFs that the device can support. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit b0060586d23968d66325d775651d92ee830c032f Author: Ajit Khaparde Date: Wed Apr 6 18:08:01 2011 +0000 be2net: use common method to check for sriov function type Lancer and BE can both use SLI_INTF_REG to check a VF or a PF. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 4b97291429bf59c09a969184a7d2ebde7287e7eb Author: Ajit Khaparde Date: Wed Apr 6 18:07:43 2011 +0000 be2net: add rxhash support Add rxhash support, Based on initial work by Eric Dumazet. Cc: Eric Dumazet Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 2ead70b8390d199ca04cd35311b51f5f3676079e Author: Gustavo F. Padovan Date: Fri Apr 1 15:13:36 2011 -0300 Bluetooth: Fix lockdep warning with skb list lock This is a regression acctually, caused by the first patch series for creating a formal strcut l2cap_chan. Signed-off-by: Gustavo F. Padovan commit 311bb895e325e5f4d708c1ed2206da8a3885c83a Author: Gustavo F. Padovan Date: Fri Mar 25 20:41:00 2011 -0300 Bluetooth: Move busy workqueue to struct l2cap_chan As part of the moving channel stuff to l2cap_chan. Signed-off-by: Gustavo F. Padovan commit f1c6775be6fc944e32e0150305d9753b9a846519 Author: Gustavo F. Padovan Date: Fri Mar 25 20:36:10 2011 -0300 Bluetooth: Move srej and busy queues to struct l2cap_chan As part of the moving channel stuff to l2cap_chan. Signed-off-by: Gustavo F. Padovan commit e92c8e70faf5e3cc22979daba2a895359aa1eab2 Author: Gustavo F. Padovan Date: Fri Apr 1 00:53:45 2011 -0300 Bluetooth: Move ERTM timers to struct l2cap_chan This also triggered a change in l2cap_send_disconn_req() parameters. Signed-off-by: Gustavo F. Padovan commit 2c03a7a49e0831646bd35d0877ec7d051d8f174b Author: Gustavo F. Padovan Date: Fri Mar 25 20:15:28 2011 -0300 Bluetooth: Move remote info to struct l2cap_chan As part of the moving channel stuff to l2cap_chan. Signed-off-by: Gustavo F. Padovan commit 6f61fd475907bf0a1470cb969ee993a31d305513 Author: Gustavo F. Padovan Date: Fri Mar 25 20:09:37 2011 -0300 Bluetooth: Move SDU related vars to struct l2cap_chan As part of the moving channel stuff to l2cap_chan. Signed-off-by: Gustavo F. Padovan commit 6a026610eee2c53ff59598905fcbaa979aec68d1 Author: Gustavo F. Padovan Date: Fri Apr 1 00:38:50 2011 -0300 Bluetooth: Move more ERTM stuff to struct l2cap_chan As part of the moving channel stuff to l2cap_chan. Signed-off-by: Gustavo F. Padovan commit 42e5c8027bad6f1591032941f0ebf4fc079405c8 Author: Gustavo F. Padovan Date: Fri Mar 25 19:58:34 2011 -0300 Bluetooth: Move of ERTM *_seq vars to struct l2cap_chan As part of the moving channel to stuff to struct l2cap_chan. Signed-off-by: Gustavo F. Padovan commit 525cd1851b9faaadf5ea33e05192b8d22f42487e Author: Gustavo F. Padovan Date: Fri Mar 25 19:43:39 2011 -0300 Bluetooth: Move conn_state to struct l2cap_chan This is part of "moving things to l2cap_chan". As one the first move it triggered a big number of changes in the funcions parameters, basically changing the struct sock param to struct l2cap_chan. Signed-off-by: Gustavo F. Padovan commit 710f9b0a423cad155144742f6497efe5163ed750 Author: Gustavo F. Padovan Date: Fri Mar 25 14:30:37 2011 -0300 Bluetooth: clean up l2cap_sock_recvmsg() Move some channel specific stuff to l2cap_core.c, this will make things more clear. Signed-off-by: Gustavo F. Padovan commit 73ffa904b78287f6acf8797e040150aa26a4af4a Author: Gustavo F. Padovan Date: Fri Mar 25 14:16:54 2011 -0300 Bluetooth: Move conf_{req,rsp} stuff to struct l2cap_chan They are also l2cap_chan specific. Signed-off-by: Gustavo F. Padovan commit fc7f8a7ed4543853a99852ca405ea71fabe78946 Author: Gustavo F. Padovan Date: Fri Mar 25 13:59:37 2011 -0300 Bluetooth: Move ident to struct l2cap_chan ident is chan property, no need to reside on socket. Signed-off-by: Gustavo F. Padovan commit 820ffdb3d25f74fbd553453f461709d52dfa72a2 Author: Gustavo F. Padovan Date: Fri Apr 1 00:35:21 2011 -0300 Bluetooth: Remove struct del_list As we use struct list_head to keep L2CAP channels list the workaround with del_list is not needed anymore. Signed-off-by: Gustavo F. Padovan commit baa7e1fa6d2870462bd744df1c6ddbd497fe86d6 Author: Gustavo F. Padovan Date: Thu Mar 31 16:17:41 2011 -0300 Bluetooth: Use struct list_head for L2CAP channels list Use a well known Kernel API is always a good idea than implement your own list. In the future we might use RCU on this list. Signed-off-by: Gustavo F. Padovan commit 48454079c2d4b9ee65c570a22c5fdfe1827996a4 Author: Gustavo F. Padovan Date: Fri Mar 25 00:22:30 2011 -0300 Bluetooth: Create struct l2cap_chan struct l2cap_chan cames to create a clear separation between what properties and data belongs to the L2CAP channel and what belongs to the socket. By now we just fold the struct sock * in struct l2cap_chan as all the channel info is struct l2cap_pinfo today. In the next commits we will see a move of channel stuff to struct l2cap_chan. Signed-off-by: Gustavo F. Padovan commit c1e48efc701b79ee4367c9a1a4e8bbc7c3586e02 Merge: 912d398 1b86a58 Author: David S. Miller Date: Thu Apr 7 14:05:23 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/benet/be_main.c commit b37e3b6d64358604960b35e8ecbb7aed22e0926e Merge: a90c7a3 bd39a27 Author: John W. Linville Date: Thu Apr 7 16:45:40 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 Conflicts: drivers/net/wireless/rtlwifi/efuse.c drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c net/bluetooth/mgmt.c commit a90c7a313a1c5b4fc99f987a2ae8f92ab0ae35c7 Author: Luis R. Rodriguez Date: Tue Apr 5 10:49:04 2011 -0700 cfg80211: add a timer for invalid user reg hints We have no other option but to inform userspace that we have queued up their regulatory hint request when we are given one given that nl80211 operates atomically on user requests. The best we can do is accept the request, and add a delayed work item for processing failure and cancel it if we succeeed. Upon failure we restore the regulatory settings and ignore the user input. This fixes this reported bug: https://bugzilla.kernel.org/show_bug.cgi?id=28112 Reported-by: gregoryx.alagnou@intel.com Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 146095557b01cf5ff5d66554d96cbb8133d94eb9 Author: Luis R. Rodriguez Date: Tue Apr 5 10:49:03 2011 -0700 cfg80211: fix regulatory restore upon user hints When we restore regulatory settings its possible CRDA will not reply because of a bogus user entry. In this case the bogus entry will prevent any further processing on cfg80211 for regulatory domains even if we restore regulatory settings. To prevent this we suck out all pending requests when restoring regulatory settings and add them back into the queue after we have queued up the reset work. The impact of not having this applied is that a user with privileges can issue a userspace regulatory hint while we are disasocciating and this would prevent any further processing of regulatory domains. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 02a7fa00a6d145037d549c779ad7692deb504acc Author: Johannes Berg Date: Tue Apr 5 09:42:12 2011 -0700 iwlagn: move IO functions out of line This generates a massive reduction in module size: with debug: text data bss dec hex filename 670300 13136 420 683856 a6f50 iwlagn.ko (before) 388347 13136 408 401891 621e3 iwlagn.ko (after) without debug: text data bss dec hex filename 528575 13072 420 542067 84573 iwlagn.ko (before) 294192 13072 408 307672 4b1d8 iwlagn.ko (after) This also removes all the IO debug functionality since it can easily be replaced by tracing, and makes the code unnecessarily complex. I haven't done any CPU utilisation measurements, but given that the hotpaths don't use much IO it is not likely to have a negative impact; in fact, the size reduction will reduce cache pressure which possibly improves performance. Finally, an unused function or two were removed. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 519d8abd358afad825a1b919a2421d76779f23cd Author: Johannes Berg Date: Tue Apr 5 09:42:11 2011 -0700 iwlagn: remove ISR ops The ISR (interrupt service routine) ops are now no longer necessary since they are the same for all devices this driver now handles. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 0e5884458eeadbb48ab3eb1d5f63b4a53a044a95 Author: Johannes Berg Date: Tue Apr 5 09:42:10 2011 -0700 iwlagn: remove rxb page bookkeeping We never use the value in alloc_rxb_page, so there's no point in keeping it either. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit c2974a1d18832a9fffb2eb389c3878f5c4ed92f1 Author: Johannes Berg Date: Tue Apr 5 09:42:09 2011 -0700 iwlagn: remove rev_id The rev_id variable is only printed, we don't need to store it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e98a130259ed6f88bc2833fa525b10453c92c047 Author: Johannes Berg Date: Tue Apr 5 09:42:08 2011 -0700 iwlagn: remove hw_rev The hw_rev variable is used only during init, so there's no need to keep it around. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit bc255930639122d788d1b6ce10d3c01cc2946398 Author: Johannes Berg Date: Tue Apr 5 09:42:07 2011 -0700 iwlagn: remove hw_wa_rev The variable is never used. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 917b6777b45ac49c436570e36eb09d9b8b84c434 Author: Johannes Berg Date: Tue Apr 5 09:42:06 2011 -0700 iwlagn: remove BSM clock setting Again, a 4965 specific code path that we no longer need in iwlagn. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 17445b8c443bb1aaf7f85bcf60676d04be1c467c Author: Johannes Berg Date: Tue Apr 5 09:42:05 2011 -0700 iwlagn: init cmd_queue earlier We know after loading the ucode whether it will support PAN or not, so we can also initialise the cmd_queue variable much earlier. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit d7d5783c6668b54111cc77005755799e94261497 Author: Johannes Berg Date: Tue Apr 5 09:42:04 2011 -0700 iwlagn: clean up alive handling Devices newer than 4965 don't actually send two different versions of the ALIVE command, so we always had a bug here since before this patch we copy more data than we got. Remove the iwl_init_alive_resp struct and don't use it. Since we also really don't need to track all the data received in ALIVE as we only use the error and log event tables later, we can also save space by just keeping those and not more data around in memory. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3d09cdff233b5a37ce9993c533e8da1403e2da30 Author: Johannes Berg Date: Tue Apr 5 09:42:03 2011 -0700 iwlagn: fix ucode verify message My previous patch left a message talking about bootstrap, but that's clearly bogus. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3997ff39faa184a2ff670a6792cdb89ff51cf78f Author: Johannes Berg Date: Tue Apr 5 09:42:02 2011 -0700 iwlagn: add feature flags Some new devices and microcode files will a greater variety of features, so the TLV-per-feature approach we took before will quickly make things harder to manage and increase the file size. Add a new TLV that has feature flags. Currently, it will contain: 1) a PAN feature flag, which moves from a separate TLV 2) a new BT stats bit that indicates whether the microcode image uses bluetooth statistics 3) a new MFP flag for management frame protection which can be enabled once the device/microcode supports it Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 7415952ff789b1c1878119662d4dc011ac9d261e Author: Wey-Yi Guy Date: Tue Apr 5 09:42:01 2011 -0700 iwlagn: check more error return code In alive notify, we should check return code instead of assume everything ok Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 901069c71415a76d731857ccda814e18ded062f7 Author: Wey-Yi Guy Date: Tue Apr 5 09:42:00 2011 -0700 iwlagn: change Copyright to 2011 Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 6009c39c6fc1cb988bdc90a395d9cce273afc7d5 Author: Johannes Berg Date: Tue Apr 5 09:41:59 2011 -0700 iwlagn: remove ucode_data_backup This was used only on 4965 in conjunction with the bootstrap ucode. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit e649437fd6e2bae6f7b8a36a302a1ec4faa5d906 Author: Johannes Berg Date: Tue Apr 5 09:41:58 2011 -0700 iwlagn: centralize and fix ucode restart The ucode restart has to take into account a number of things, like clearing the HCMD_ACTIVE and other status bits, and waking up the wait_command_queue. Currently, however, there are a number of places that neither do that, nor actually set the FW error bit that leads to proper restart handling, which means that in those cases things will probably just hang completely. To clean this up, make all ucode restart go through a single function, except for the cases where it's called during firmware loading. Also fix a bug in wimax coexist restart avoidance, it needs to first clear the status bits (and it has to clear the HCMD_ACTIVE one as well) and then wake up anything waiting on wait_command_queue. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 1fc352765fb461e4afafff4d650624df8ab6b6d6 Author: Johannes Berg Date: Tue Apr 5 09:41:57 2011 -0700 iwlagn: remove bootstrap code Only 4965 had a bootstrap microcode image, so the agn driver can completely ignore that and we can remove some code from it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 35b1d92dfb361d24664381a0e4ae8ed47c771a66 Author: Johannes Berg Date: Tue Apr 5 09:41:56 2011 -0700 iwlagn: verify specific ucode When we loaded a ucode, there's no point in checking any one that is present, we know which one is supposed to be present so also verify that it is exactly the right one. That also simplifies the code and makes it faster since it doesn't have to check all. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit fb66216f9ebb146ad457829fcb62ae8f4348cda2 Author: Johannes Berg Date: Tue Apr 5 09:41:55 2011 -0700 iwlagn: simplify ucode check code The code in iwlcore_verify_inst_sparse really doesn't need to keep track of the number of errors it encountered since a single one is fatal. Also, the code in iwl_verify_inst_full is just used to print out some things, so rename it to iwl_print_inst and don't give it a return code and just make it print out the values. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 36127db02ec17828c1582bb6bc1f12160fd35d64 Author: Wey-Yi Guy Date: Tue Apr 5 09:41:54 2011 -0700 iwlagn: return send calibration result In alive notification call, return the status from iwl_send_calib_results() Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 08960dea6c736280a03cb947f445fdb94fdaa2ee Author: Johannes Berg Date: Tue Apr 5 09:41:53 2011 -0700 iwlagn: remove pointless return variables A number of places just use a variable to return it right away, which is useless, so let's remove the variables there. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 4de10b188070b1b96743b1b912843af729ebe50f Author: Wey-Yi Guy Date: Tue Apr 5 09:41:52 2011 -0700 iwlagn: remove more 3945/4965 related defines After driver split, remove unused #defines Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 7102762ef0ef330ab0601b6c3bc92bf9be5b1317 Author: Johannes Berg Date: Tue Apr 5 09:41:51 2011 -0700 iwlagn: clean up ucode loading All agn devices behave the same, so there's no need to go through function pointers for any of the ucode loading functionality. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 2dedbf58b2edbe940d370845dbf4210f1ddd2b31 Author: Johannes Berg Date: Tue Apr 5 09:41:50 2011 -0700 iwlagn: make mac80211 handlers static Now that these handlers are no longer shared between 4965 and agn, they can be static. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3240cab3ddfb2637cfca3a078078cdeda44d0a99 Author: Johannes Berg Date: Tue Apr 5 09:41:49 2011 -0700 iwlagn: clean up some 3945/4965 remnants When the driver was split, a bunch of definitions for the 3945 and 4965 devices stayed around, but they're now useless so remove (some of) them. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 68e022dfeb548b48635888d1392f983977293573 Author: Johannes Berg Date: Tue Apr 5 09:41:48 2011 -0700 iwlagn: remove unused variable Some code was removed, but a variable it used and that is now unused stayed around, kill it. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit cebb28ba1ebb00edee4606547d81acf8db0f0532 Author: Michal Marek Date: Tue Apr 5 16:59:06 2011 +0200 rt2x00: Drop __TIME__ usage The kernel already prints its build timestamp during boot, no need to repeat it in random drivers and produce different object files each time. Signed-off-by: Michal Marek Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: John W. Linville commit 0321708748d8f2ecfffa4a9feafb332312e4e57f Author: Nishant Sarmukadam Date: Tue Apr 5 14:18:09 2011 +0530 mwl8k: Do not configure tx power unconditionally Instead of configuring tx power unconditionally, check for IEEE80211_CONF_CHANGE_POWER and configure it only when stack sets this flag Signed-off-by: Nishant Sarmukadam Signed-off-by: John W. Linville commit 99e4d43ad5ff5778f92ee3bc40a29ac7cd8a28f4 Author: Rajkumar Manoharan Date: Mon Apr 4 22:56:19 2011 +0530 ath9k: configure beacons based on hw opmode Current ath9k code does not handle beacon timers on opmode specific. One such example is that a STA beacon config overwrites already configured AP vif's beacon timers during scan. On multi station vif case, configure beacon timers beased on primary vif selected. This also helps while moving back to single STA vif from multi STA vifs, where the power save is enabled and hw has to be reconfigured with proper beacon and bssid/aid. Otherwise connection poll will be triggered so frequently due to beacon loss. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 4f5ef75b155955bf92adc772c6660787151fc78c Author: Rajkumar Manoharan Date: Mon Apr 4 22:56:18 2011 +0530 ath9k: Handle BSSID/AID for multiple interfaces As of now bssid/aid is overridden with recently changed vif's bss config. This may cause improper beacon updation due to bssid/aid mismatch. On station mode, select an associated sta vif as primary vif and configure that vif's bss into hw. Update the primary vif on interface change and bss info change. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 66da424177db4f4f2fa7a462db5912655aad966f Author: Rajkumar Manoharan Date: Mon Apr 4 22:56:17 2011 +0530 ath9k: Cleanup ath_vif struct Remove unused bssid from ath_vif and set av_bslot on beacon alloc/return. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 59575d1c717815d62f1b5aeac74e5e60a1b27428 Author: Rajkumar Manoharan Date: Mon Apr 4 22:56:16 2011 +0530 ath9k: deny new interface addtion on IBSS mode The present check denies the IBSS interface addtion if we already have any other vifs. But it fails to deny interface addition if IBSS was already present. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 1e5f52de216a32986a5c3cbc358dbb2620a03047 Author: Jarkko Nikula Date: Mon Apr 4 11:04:58 2011 +0300 wl1251: Add support for idle mode On Nokia N900 the wl1251 consumes the most power when the interface is up but not associated to access point (that supports PSM). In terms of battery current consumption, the consumption is ~180 mA higher when the interface is up but not associated and only ~5 mA higher when associated compared to interface down and driver not loaded cases. This patch adds support for the mac80211 idle notifications. Chip is put into idle very much the same way when entering into PSM by utilizing the Extreme Low Power (ELP) mode. I.e. idle is entered by setting necessary conditions in wl1251_ps_set_mode followed by a call to wl1251_ps_elp_sleep. It seems it is just enough the authorize ELP mode followed by CMD_DISCONNECT (thanks to Kalle Valo about the idea to use it). Without disconnect command the chip remains somewhat active and stays consuming ~20 mA. Idle mode is left by same way than PSM. The wl1251_join call is used to revert the CMD_DISCONNECT. Without it association to AP doesn't work when trying second time. With this patch the interface up but not associated case the battery current consumption is less than 1 mA higher compared to interface down case. Signed-off-by: Jarkko Nikula Acked-by: Kalle Valo Signed-off-by: John W. Linville commit a0bbb58bcb70295ff05f870c93d34f9fbe614204 Author: Jarkko Nikula Date: Mon Apr 4 11:04:57 2011 +0300 wl1251: Prepare for idle mode support RFC for WL1251 idle mode support brought a few issues that are worth to update before adding the idle mode support. Since the idle mode can reuse the code that is now used in Power Save Mode (PSM), the flag psm in struct wl1251 is changed to variable station_mode to be able to distinguish between PSM and idle modes. As the station mode is different than the power power save mode command that is sent to chip, the enum wl1251_cmd_ps_mod values are used only when communicating with the chip and new enum wl1251_station_mode values are used inside the driver. Confusing comment about psm and elp relation is removed since the PSM is actually activated by putting the chip into Entreme Low Power (ELP) mode. Signed-off-by: Jarkko Nikula Acked-by: Kalle Valo Signed-off-by: John W. Linville commit ffbd308dce898a857de76d17cc05748505cf4ece Author: Mohammed Shafi Shajakhan Date: Sun Apr 3 19:05:28 2011 +0530 mac80211: remove few obsolete flags Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit fbd5d17b8e2b418b495599c554f9c4754b7f93c9 Author: Jussi Kivilinna Date: Sat Apr 2 11:25:54 2011 +0300 zd1211rw: rename CR* macros to ZD_CR* With compat-wireless CR* macros in zd_usb.h conflict with CR macros in include/asm-generic/termbits.h. So rename CR* macros to ZD_CR*. Conversion was done with using sed and then 'over 80 character line' checkpatch.pl warnings and comment indents were fixed. Reported-by: Walter Goldens Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 26cd322bacd3d65fffef6f8418c2fdad5b42e4b5 Author: Felix Fietkau Date: Sat Apr 2 03:39:48 2011 +0200 ath9k: use the hw opmode to select the beacon timer mode Since the beacon timers are global, the individual vif type should not be used to determine the beacon timer configuration mode, use the global opmode instead. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 5e65968a10bb628b87024161c9adc8dbd886b47a Author: Felix Fietkau Date: Sat Apr 2 03:39:47 2011 +0200 ath9k: fix beacon slot processing in ad-hoc mode The recent cleanups in the beacon code fixed SWBA backoff calculation, however it did not remove a line of code that worked around the issues from the earlier version of the code. After the cleanup, the initial TSF based slot calculation now always returns 0 instead of ATH_BCBUF-1, so the previous hack that reversed the slot order needs to be removed, as ad-hoc mode does not use staggered beacons. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2be50b8df53f2f329b7ddcc8be286ef6a7469fd2 Author: Yogesh Ashok Powar Date: Fri Apr 1 18:36:47 2011 -0700 mwifiex: remove redundant encryption_mode mapping remove MWIFIEX_ENCRYPTION_MODE_ and use WLAN_CIPHER_SUITE_ macros directly Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 2d3d0a88bd136f8e6f39bc53242712852e5d0bb2 Author: Amitkumar Karwar Date: Fri Apr 1 18:36:46 2011 -0700 mwifiex: return success in set_default_key for WPA/WPA2 When testing wpa_supplicant with 'nl80211' driver to connect to an AP with WPA/WPA2 security, we notice the followings: 1) add_key is called firstly with the key from cfg80211 2) set_defaut_key is called next set_default_key() is specific to WEP keys and should not be called in case of WPA/WPA2 security. The set_default_key() won't be called if wpa_supplicant uses "-Dwext" option, but it's been called if "-Dnl80211" option is specified. We can fix this issue by adding a check to return from set_default_key() if WEP key is not configured. Signed-off-by: Amitkumar Karwar Signed-off-by: Yogesh Ashok Powar Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit f4263c9857e6411ef2388868cc6c79a1602a654e Author: Paul Stewart Date: Thu Mar 31 09:25:41 2011 -0700 nl80211: Add BSS parameters to station This allows user-space monitoring of BSS parameters for the associated station. This is useful for debugging and verifying that the paramaters are as expected. [Exactly the same as before but bundled into a single message] Signed-off-by: Paul Stewart Cc: Johannes Berg Signed-off-by: John W. Linville commit 8447c163afeaa7e9f6f015088177b1c8511e0877 Author: Stanislaw Gruszka Date: Thu Mar 31 17:36:28 2011 +0200 iwlwifi: remove sync_cmd_mutex We now use priv->mutex to serialize sync command, remove old priv->sync_cmd_mutex and add assertion that priv->mutex must be locked. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit dc1a4068fce2657991c5c3b1f6849f7fc466c69f Author: Stanislaw Gruszka Date: Thu Mar 31 17:36:27 2011 +0200 iwlwifi: more priv->mutex serialization Check status bits with mutex taken, because when we wait for mutex unlock, status can change. Patch should also make remaining sync commands be send with priv->mutex taken. That will prevent execute these commands when we are currently reset firmware, what could possibly cause troubles. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 3598e1774c94e55c71b585340e7dc4538f310e3f Author: Stanislaw Gruszka Date: Thu Mar 31 17:36:26 2011 +0200 iwlwifi: fix enqueue hcmd race conditions We mark command as huge by using meta->flags from other (non huge) command, but flags can be possibly overridden, when non huge command is enqueued, what can lead to: WARNING: at lib/dma-debug.c:696 dma_debug_device_change+0x1a3/0x1f0() DMA-API: device driver has pending DMA allocations while released from device [count=1] To fix introduce additional CMD_MAPPED to mark command as mapped and serialize iwl_enqueue_hcmd() with iwl_tx_cmd_complete() using hcmd_lock. Serialization will also fix possible race conditions, because q->read_ptr, q->write_ptr are modified/used in parallel. On the way fix whitespace. Signed-off-by: Stanislaw Gruszka Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 08b8099c128d601fd675b212ef8b10397706b633 Author: Xose Vazquez Perez Date: Sun Mar 27 01:15:53 2011 +0100 wireless: rt2x00: rt{2500,73}usb.c fix duplicate ids based on the Ralink drivers: W = Windows_ralink_driver L = Linux_ralink_driver USB_IDs W_73 W_2500 L_73 L_2500 ============= ==== ====== ==== ====== 0x050d,0x7050 - - - YES 0x050d,0x705a - - YES - 0x1371,0x9022 - YES YES - 0x148f,0x2573 YES - YES - Signed-off-by: Xose Vazquez Perez Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit f3b3e36f4ecad9fd7b0ae04d7400f2153a7834eb Merge: b0006e6 db940cb Author: John W. Linville Date: Thu Apr 7 15:30:53 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6 commit b0006e69615868f3dfdfe2bd64eb11973f1208fc Author: Christian Lamparter Date: Fri Mar 25 20:21:55 2011 +0100 ar9170usb: purge obsolete driver Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit e46bc9b6fd65bc9f406a4211fbf95683cc9c2937 Merge: 2b9accb 321fb56 Author: Oleg Nesterov Date: Thu Apr 7 20:44:11 2011 +0200 Merge branch 'ptrace' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into ptrace commit ff00c2a5b2308219ab952d01e5bb17b9ea772d7e Author: Tony Luck Date: Thu Apr 7 11:05:56 2011 -0700 [IA64] fix build warning in arch/ia64/oprofile/backtrace.c arch/ia64/oprofile/backtrace.c:63: warning: comparison of distinct pointer types lacks a cast Comparing a "u64 *" with an "unsigned long *". Make them match. Signed-off-by: Tony Luck commit ba4b87ad5497cba555954885db99c99627f93748 Author: Stanislaw Gruszka Date: Thu Mar 31 08:08:09 2011 -0400 dma-debug: print information about leaked entry When driver leak dma mapping, print additional information about one of leaked entries, to to help investigate problem. Patch should be useful for debugging drivers, which maps many different class of buffers. Signed-off-by: Stanislaw Gruszka Signed-off-by: Joerg Roedel commit 7d0c5cc5be73f7ce26fdcca7b8ec2203f661eb93 Author: Joerg Roedel Date: Thu Apr 7 08:16:10 2011 +0200 x86/amd-iommu: Flush all internal TLBs when IOMMUs are enabled The old code only flushed a DTE or a domain TLB before it is actually used by the IOMMU driver. While this is efficient and works when done right it is more likely to introduce new bugs when changing code (which happened in the past). This patch adds code to flush all DTEs and all domain TLBs in each IOMMU right after it is enabled (at boot and after resume). This reduces the complexity of the driver and makes it less likely to introduce stale-TLB bugs in the future. Signed-off-by: Joerg Roedel commit d8c13085775c72e2d46edc54ed0c803c3a944ddb Author: Joerg Roedel Date: Wed Apr 6 18:51:26 2011 +0200 x86/amd-iommu: Rename iommu_flush_device This function operates on a struct device, so give it a name that represents that. As a side effect a new function is introduced which operates on am iommu and a device-id. It will be used again in a later patch. Signed-off-by: Joerg Roedel commit ac0ea6e92b2227c86fe4f7f9eb429071d617a25d Author: Joerg Roedel Date: Wed Apr 6 18:38:20 2011 +0200 x86/amd-iommu: Improve handling of full command buffer This patch improved the handling of commands when the IOMMU command buffer is nearly full. In this case it issues an completion wait command and waits until the IOMMU has processed it before continuing queuing new commands. Signed-off-by: Joerg Roedel commit 17b124bf1463582005d662d4dd95f037ad863c57 Author: Joerg Roedel Date: Wed Apr 6 18:01:35 2011 +0200 x86/amd-iommu: Rename iommu_flush* to domain_flush* These functions all operate on protection domains and not on singe IOMMUs. Represent that in their name. Signed-off-by: Joerg Roedel commit 61985a040f17c03b09a2772508ee02729571365b Author: Joerg Roedel Date: Wed Apr 6 17:46:49 2011 +0200 x86/amd-iommu: Remove command buffer resetting logic The logic to reset the command buffer caused more problems than it actually helped. The logic jumped in when the IOMMU hardware doesn't execute commands anymore but the reasons for this are usually not fixed by just resetting the command buffer. So the code can be removed to reduce complexity. Signed-off-by: Joerg Roedel commit 815b33fdc279d34ab40a8bfe1866623a4cc5669b Author: Joerg Roedel Date: Wed Apr 6 17:26:49 2011 +0200 x86/amd-iommu: Cleanup completion-wait handling This patch cleans up the implementation of completion-wait command sending. It also switches the completion indicator from the MMIO bit to a memory store which can be checked without IOMMU locking. As a side effect this patch makes the __iommu_queue_command function obsolete and so it is removed too. Signed-off-by: Joerg Roedel commit 912d398d28b4359c2fb1f3763f1ce4f86de8350e Author: Wei Yongjun Date: Wed Apr 6 18:40:12 2011 +0000 net: fix skb_add_data_nocache() to calc csum correctly commit c6e1a0d12ca7b4f22c58e55a16beacfb7d3d8462 broken the calc (net: Allow no-cache copy from user on transmit) of checksum, which may cause some tcp packets be dropped because incorrect checksum. ssh does not work under today's net-next-2.6 tree. Signed-off-by: Wei Yongjun Acked-by: Tom Herbert Signed-off-by: David S. Miller commit 993ba1585cbb03fab012e41d1a5d24330a283b31 Author: Tejun Heo Date: Tue Apr 5 00:24:00 2011 +0200 x86-32, numa: Update remap allocator comments Now that remap allocator is cleaned up, update comments such that they are in docbook function description format and reflect the actual implementation. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/1301955840-7246-15-git-send-email-tj@kernel.org Acked-by: Yinghai Lu Cc: David Rientjes Signed-off-by: H. Peter Anvin commit 198bd06bbfde2984027e91f64c55eb19a7034a27 Author: Tejun Heo Date: Tue Apr 5 00:23:59 2011 +0200 x86-32, numa: Remove redundant node_remap_size[] Remap area size can be determined from node_remap_start_vaddr[] and node_remap_end_vaddr[] making node_remap_size[] redundant. Remove it. While at it, make resume_map_numa_kva() use @nr_pages for number of pages instead of @size. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/1301955840-7246-14-git-send-email-tj@kernel.org Acked-by: Yinghai Lu Cc: David Rientjes Signed-off-by: H. Peter Anvin commit 1d85b61baf0334dd6bb88261bec42b808204d694 Author: Tejun Heo Date: Tue Apr 5 00:23:58 2011 +0200 x86-32, numa: Remove now useless node_remap_offset[] With lowmem address reservation moved into init_alloc_remap(), node_remap_offset[] is no longer useful. Remove it and related offset handling code. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/1301955840-7246-13-git-send-email-tj@kernel.org Acked-by: Yinghai Lu Cc: David Rientjes Signed-off-by: H. Peter Anvin commit b2e3e4fa3eee752b893687783f2a427106c93423 Author: Tejun Heo Date: Tue Apr 5 00:23:57 2011 +0200 x86-32, numa: Make pgdat allocation use alloc_remap() pgdat allocation is handled differnetly from other remap allocations - it's reserved during initialization. There's no reason to handle this any differnetly. Remap allocator is initialized for every node and if init failed the allocation will fail and pgdat allocation can fall back to generic code like anyone else. Remove special init-time pgdat reservation and make allocate_pgdat() use alloc_remap() like everyone else. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/1301955840-7246-12-git-send-email-tj@kernel.org Acked-by: Yinghai Lu Cc: David Rientjes Signed-off-by: H. Peter Anvin commit 2a286344f06d6341740b284494379373e87648f7 Author: Tejun Heo Date: Tue Apr 5 00:23:56 2011 +0200 x86-32, numa: Move remapping for remap allocator into init_alloc_remap() There's no reason to perform the actual remapping separately. Collapse remap_numa_kva() into init_alloc_remap() and, while at it, make it less verbose. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/1301955840-7246-11-git-send-email-tj@kernel.org Acked-by: Yinghai Lu Cc: David Rientjes Signed-off-by: H. Peter Anvin commit 0e9f93c1c04c8ab10cc564df54a7ad0f83c67796 Author: Tejun Heo Date: Tue Apr 5 00:23:55 2011 +0200 x86-32, numa: Move lowmem address space reservation to init_alloc_remap() Remap alloc init is done in the following stages. 1. init_alloc_remap() calculates how much memory is necessary for each node and reserves node local memory. 2. initmem_init() collects how much each node needs and reserves a single contiguous lowmem area which can contain all. 3. init_remap_allocator() initializes allocator parameters from the determined lowmem address and per-node offsets. 4. Actual remap happens. There is no reason for the lowmem remap area to be reserved as a single contiguous area at one go. They don't interact with each other and the memblock allocator will put them side-by-side anyway. This patch breaks up the single lowmem address reservation and put per-node lowmem address reservation into init_alloc_remap() and initializes allocator parameters directly in the function as all the addresses are determined there. This merges steps 2 and 3 into 1. While at it, remove now largely irrelevant comments in init_alloc_remap(). This change causes the following behavior changes. * Remap lowmem areas are allocated in smaller per-node chunks. * Remap lowmem area reservation failure fail future remap allocations instead of panicking. * Remap allocator initialization is less verbose. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/1301955840-7246-10-git-send-email-tj@kernel.org Acked-by: Yinghai Lu Cc: David Rientjes Signed-off-by: H. Peter Anvin commit 82044c328d6f6b22882c2a936e487e6d2240817a Author: Tejun Heo Date: Tue Apr 5 00:23:54 2011 +0200 x86-32, numa: Make init_alloc_remap() less panicky Remap allocator failure isn't fatal. The callers are required to fall back to regular early memory allocation mechanisms on failure anyway, so there's no reason to panic on remap init failure. Whining and returning are enough. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/1301955840-7246-9-git-send-email-tj@kernel.org Acked-by: Yinghai Lu Cc: David Rientjes Signed-off-by: H. Peter Anvin commit 7210cf9217937e470a9acbc113a590f476b9c047 Author: Tejun Heo Date: Tue Apr 5 00:23:53 2011 +0200 x86-32, numa: Calculate remap size in common code Only pgdat and memmap use remap area and there isn't much benefit in allowing per-node override. In addition, the use of node_remap_size[] is confusing in that it contains number of bytes before remap initialization and then number of pages afterwards. Move remap size calculation for memap from specific NUMA config implementations to init_alloc_remap() and make node_remap_size[] static. The only behavior difference is that, before this patch, numaq_32 didn't consider max_pfn when calculating the memmap size but it's enforced after this patch, which is the right thing to do. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/1301955840-7246-8-git-send-email-tj@kernel.org Acked-by: Yinghai Lu Cc: David Rientjes Signed-off-by: H. Peter Anvin commit af7c1a6e8374e05aab4a98ce4d2fb07b66506a02 Author: Tejun Heo Date: Tue Apr 5 00:23:52 2011 +0200 x86-32, numa: Make @size in init_aloc_remap() represent bytes @size variable in init_alloc_remap() is confusing in that it starts as number of bytes as its name implies and then becomes number of pages. Make it consistently represent bytes. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/1301955840-7246-7-git-send-email-tj@kernel.org Acked-by: Yinghai Lu Cc: David Rientjes Signed-off-by: H. Peter Anvin commit c4d4f577d49c441ab4f1bb6068247dafb366e635 Author: Tejun Heo Date: Tue Apr 5 00:23:51 2011 +0200 x86-32, numa: Rename @node_kva to @node_pa in init_alloc_remap() init_alloc_remap() is about to do more and using _kva suffix for physical address becomes confusing because the function will be handling both physical and virtual addresses. Rename @node_kva to @node_pa. This is trivial rename and doesn't cause any behavior difference. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/1301955840-7246-6-git-send-email-tj@kernel.org Signed-off-by: H. Peter Anvin commit 5510db9c1be111528ce46c57f0bec1c9dce258f4 Author: Tejun Heo Date: Tue Apr 5 00:23:50 2011 +0200 x86-32, numa: Reorganize calculate_numa_remap_page() Separate the outer node walking loop and per-node logic from calculate_numa_remap_pages(). The outer loop is collapsed into initmem_init() and the per-node logic is moved into a new function - init_alloc_remap(). The new function name is confusing with the existing init_remap_allocator() and the behavior is the function isn't very clean either at this point, but this is to prepare for further cleanups and it will become prettier. This function doesn't introduce any behavior change. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/1301955840-7246-5-git-send-email-tj@kernel.org Acked-by: Yinghai Lu Cc: David Rientjes Signed-off-by: H. Peter Anvin commit 5b8443b25c0f323ec190d094e4b441957b02664e Author: Tejun Heo Date: Tue Apr 5 00:23:49 2011 +0200 x86-32, numa: Remove redundant top-down alloc code from remap initialization memblock_find_in_range() now does top-down allocation by default, so there's no reason for its callers to explicitly implement it by gradually lowering the start address. Remove redundant top-down allocation logic from init_meminit() and calculate_numa_remap_pages(). Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/1301955840-7246-4-git-send-email-tj@kernel.org Acked-by: Yinghai Lu Cc: David Rientjes Signed-off-by: H. Peter Anvin commit a6c24f7a705d939ddd2fcaa443fa3d8e852b933d Author: Tejun Heo Date: Tue Apr 5 00:23:48 2011 +0200 x86-32, numa: Align pgdat size while initializing alloc_remap When pgdat is reserved in init_remap_allocator(), PAGE_SIZE aligned size will be used. Match the size alignment in initialization to avoid allocation failure down the road. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/1301955840-7246-3-git-send-email-tj@kernel.org Acked-by: Yinghai Lu Cc: David Rientjes Signed-off-by: H. Peter Anvin commit 3fe14ab541cd9b0d1f243afb7556046f12c8743c Author: Tejun Heo Date: Tue Apr 5 00:23:47 2011 +0200 x86-32, numa: Fix failure condition check in alloc_remap() node_remap_{start|end}_vaddr[] describe [start, end) ranges; however, alloc_remap() incorrectly failed when the current allocation + size equaled the end but it should fail only when it goes over. Fix it. Signed-off-by: Tejun Heo Link: http://lkml.kernel.org/r/1301955840-7246-2-git-send-email-tj@kernel.org Acked-by: Yinghai Lu Cc: David Rientjes Signed-off-by: H. Peter Anvin commit 7b1b3afadf33627e707c5038af991ae2ce9b5ac5 Author: stephen hemminger Date: Wed Apr 6 11:58:36 2011 +0000 ewrk3: convert to set_phys_id Use ethtool infrastructure for blinking, which is now does locking at higher level. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 94469f75321d13a42056514e2883590b91d84cba Author: stephen hemminger Date: Wed Apr 6 11:47:23 2011 +0000 qlcnic: convert to set_phys_id Convert driver to use new ethtool set_phys_id. Not completely sure that this is correct for all cases of device up/down and doing operation. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 066413dac420c8225e3ef7f0f76c3255448782d3 Author: Michał Mirosław Date: Tue Apr 5 01:36:58 2011 +0000 net: netxen: convert to hw_features Rather simple conversion to hw_features. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 1f90d6657c1ce2eaa4c7fbd1fb36738542f2b650 Author: Jan Kiszka Date: Wed Apr 6 10:58:37 2011 +0000 capi: Perform scheduled capifs removal udev fully replaces this special file system that only contains CAPI NCCI TTY device nodes. User space (pppdcapiplugin) works without noticing the difference. Signed-off-by: Jan Kiszka Signed-off-by: David S. Miller commit 17938a6983d634a909d9779143a8dc2922720de5 Author: Ian Campbell Date: Sun Apr 3 22:26:24 2011 +0000 Signed bit field; int have_hotplug_status_watch:1 Fixes error from sparse: CHECK drivers/net/xen-netback/xenbus.c drivers/net/xen-netback/xenbus.c:29:40: error: dubious one-bit signed bitfield int have_hotplug_status_watch:1; Reported-by: Dr. David Alan Gilbert Signed-off-by: Ian Campbell Signed-off-by: David S. Miller commit 034e345081cfb442abeb0e00fa26edeedb5ba96a Author: stephen hemminger Date: Mon Apr 4 15:09:25 2011 +0000 s2io: convert to set_phys_id (v2) Convert to new ethtool set physical id model. Remove no longer used timer, and fix docbook comment. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7bc93714042418cbc4ca89c51d3ab448ea3ef2fe Author: stephen hemminger Date: Mon Apr 4 12:31:19 2011 +0000 niu: convert to new ethtool set_phys_id Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9871acf67c9af89c1e17aee907a3f36e88ccfb67 Author: stephen hemminger Date: Mon Apr 4 11:06:41 2011 +0000 pcnet32: convert to set_phys_id Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1a64246913849b0cef0be88c23381468ce169ab6 Author: stephen hemminger Date: Mon Apr 4 11:06:40 2011 +0000 benet: convert to set_phys_id Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 32d3613475d8c7d2170313b9105499dece6a3735 Author: stephen hemminger Date: Mon Apr 4 11:06:37 2011 +0000 bnx2x: convert to set_phys_id Also cleanup error codes to no lie about things that driver doesn't support. If device is down report -EAGAIN (same as Broadcom), and if port doesn't blink then error as well. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2e17e1aa80e914acd8a31a41b9bf1173186a976a Author: stephen hemminger Date: Mon Apr 4 11:06:36 2011 +0000 bnx2: convert to set_phys_id In this case, need to add element to device private to hold original led state. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6d8a7e6f52b0bf646739f2d4bad4643c64977b2a Author: stephen hemminger Date: Mon Apr 4 11:06:35 2011 +0000 vxge: convert to set_phys_id Also fix up incorrect docbook comment Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 12fcf941674fd781117a56f998d2bb28b4bc4cf1 Author: stephen hemminger Date: Mon Apr 4 08:43:51 2011 +0000 cxgb3: implement set_phys_id Implement new ethtool set_phys_id on Chelsio cxgb3 board. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 81b8709c25e8c8f56224a24d860de7b77a772e83 Author: stephen hemminger Date: Mon Apr 4 08:43:50 2011 +0000 tg3: implement ethtool set_phys_id Implement control of LED via set_phys_id. Note: since PHY is powered off if device is down, this board only allows blinking if device is up. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a5b9f41c228f93d368ab0f292d890ea7143ca5aa Author: stephen hemminger Date: Mon Apr 4 08:43:42 2011 +0000 skge: implement set_phys_id Implement set_phys_id led control on SysKonnect board. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 74e532ff3c634f20ee2eefe3f8f0083ea547c74c Author: stephen hemminger Date: Mon Apr 4 08:43:41 2011 +0000 sky2: support ethtool set_phys_id Use ethtool set_phys_id to control LED. Fixes issues with RTNL being held for extended periods. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 191350e7887aa6d843f1097fc1de06cb59eb6ac1 Author: Anirban Chakraborty Date: Fri Apr 1 14:28:36 2011 +0000 qlcnic: Update version number to 5.0.16 Bumped up version number to 5.0.16 Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit b56421d0b7527f8ecea3de030cf508468fdc9ba1 Author: Rajesh Borundia Date: Fri Apr 1 14:28:31 2011 +0000 qlcnic: Fix LRO disable o In dev->open LRO was enabled by default, enable it depending upon netdev->features , kernel may have disabled it. o Configure LRO when interface is up. Signed-off-by: Rajesh Borundia Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit f8d54811cb125094769704722e4eda6610339b92 Author: Sritej Velaga Date: Fri Apr 1 14:28:26 2011 +0000 qlcnic: Use flt method to determine flash fw region Use flash layout table to get flash fw starting address and its size. If that fails, use legacy method. Signed-off-by: Sritej Velaga Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit 8816d0099b9c0f48452b69471c2f54037f7e0e3b Author: Anirban Chakraborty Date: Fri Apr 1 14:28:21 2011 +0000 qlcnic: Remove unused code Cleaned up unused codes for interrupt coalescence settings Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit b9796a14d9705c4be4a080a4fe39379a51681374 Author: Anirban Chakraborty Date: Fri Apr 1 14:28:15 2011 +0000 qlcnic: Changes to VLAN code Made changes to VLAN code comply with new VLAN infrastructure in kernel Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit 036d61f05189c9c02de22dd19a1c64a4fd74a914 Author: Anirban Chakraborty Date: Fri Apr 1 14:28:11 2011 +0000 qlcnic: Code optimization patch Optimized code resulted in achieving lower CPU utilization on transmit path and higher throughput for small packet sizes (64 bytes). Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit b1fc6d3cfaff6fefd838b84532cb356f8a80da7b Author: Anirban Chakraborty Date: Fri Apr 1 14:28:05 2011 +0000 qlcnic: Cleanup patch 1. Changed adapter structure to move away from embedding hardware and receive context structs and use pointers to those objects 2. Packed all the structs that interface with FW 3. Removed unused code and structs Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit f848d6dd10e8e27d5dd61a8ab7174a7dde3a3db5 Author: Sony Chacko Date: Fri Apr 1 14:27:59 2011 +0000 qlcnic: Memory leak fix Fix a memory leak in error path of pci info. Signed-off-by: Sony Chacko Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit 53478fef7490c90564dd328b395f238952d95c77 Author: Sony Chacko Date: Fri Apr 1 14:27:47 2011 +0000 qlcnic: Make PCI info available in all modes Before this fix, PCI info was available only when multiple NIC functions are present on the same port. Signed-off-by: Sony Chacko Signed-off-by: Anirban Chakraborty Signed-off-by: David S. Miller commit 1ca050d909add6825224c015d8cec2425b3edf27 Author: Oliver Hartkopp Date: Tue Apr 5 08:01:16 2011 +0000 can: convert protocol handling to RCU This patch removes spin_locks at CAN socket creation time by using RCU. Inspired by the discussion with Kurt van Dijck and Eric Dumazet the RCU code was partly derived from af_phonet.c Signed-off-by: Oliver Hartkopp Reviewed-by: Eric Dumazet Acked-by: Kurt Van Dijck Signed-off-by: David S. Miller commit 4c844d97d269a7ec4a6ba7d530aa876ac64dfb76 Merge: 66ee33b c5e129a Author: David S. Miller Date: Wed Apr 6 12:27:34 2011 -0700 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next-2.6 commit 66ee33bfda6237b009b6fb0e48690e31800ff334 Author: Matt Carlson Date: Tue Apr 5 14:22:51 2011 +0000 tg3: Support 4mb flash sizes for 5717 and 5719 If a 5717 or 5719 NVRAM part is manually strapped and is 2mb in size, the driver needs to look at the NVRAM size field rather than infer it from the strapping itself. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit ba1f3c76d7607a0af58834b79a055326619cbf2a Author: Matt Carlson Date: Tue Apr 5 14:22:50 2011 +0000 tg3: Enable 5720 support This patch adds the 5720 device ID to the PCI table, thus enabling 5720 support. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 6418f2c1b57f9a5d4e7380f698635e5a445c2a50 Author: Matt Carlson Date: Tue Apr 5 14:22:49 2011 +0000 tg3: Add 5720 PHY ID This patch adds the 5720 PHY ID. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit f2096f94b514d88593355995d5dd276961e88af1 Author: Matt Carlson Date: Tue Apr 5 14:22:48 2011 +0000 tg3: Add 5720 H2BMC support This patch adds support for the new Host to BMC feature. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 9b91b5f178605dd0d4debcbc184a3e97fcb4f591 Author: Matt Carlson Date: Tue Apr 5 14:22:47 2011 +0000 tg3: Add 5720 NVRAM decoding The 5720 implements its own NVRAM pin strapping scheme. This patch adds the required support. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit d78b59f5d18bf064abae2fa5bc87f00545e2160a Author: Matt Carlson Date: Tue Apr 5 14:22:46 2011 +0000 tg3: Add 5720 ASIC rev This patch adds support for the 5720 ASIC rev. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Signed-off-by: David S. Miller commit 0a58d6689bb7c0d49addbf6992aa97234bcfc96c Author: Matt Carlson Date: Tue Apr 5 14:22:45 2011 +0000 tg3: Reintroduce 5717_PLUS This patch reintroduces the TG3_FLG3_5717_PLUS to identify 5717 and later devices. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 1407deb1a99f7ec7ed5b09798b02abea5aa44128 Author: Matt Carlson Date: Tue Apr 5 14:22:44 2011 +0000 tg3: 5717_PLUS => 57765_PLUS The 57765 arrived before the 5717 and has a subset of the features supported by the 5717. This patch renames the 5717_PLUS flag so that it can be reintroduced to designate only 5717 and later devices. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit de9f52300d03915846c2baab27332ec462f7f6b0 Author: Matt Carlson Date: Tue Apr 5 14:22:43 2011 +0000 tg3: Cleanup extended rx ring size code Hardcoded values are used in multiple places to describe the maximum rx ring sizes. This patch replaces those values with preprocessor constants. This patch also introduces a new TG3_FLG3_LRG_PROD_RING_CAP to determine if the device is capable of supporting larger ring sizes. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 11b6402c6673b530fac9920c5640c75e99fee956 Author: Joerg Roedel Date: Wed Apr 6 11:49:28 2011 +0200 x86/amd-iommu: Cleanup inv_pages command handling This patch reworks the processing of invalidate-pages commands to the IOMMU. The function building the the command is extended so we can get rid of another function. It was also renamed to match with the other function names. Signed-off-by: Joerg Roedel commit 94fe79e2f100bfcd8e7689cbf8838634779b80a2 Author: Joerg Roedel Date: Wed Apr 6 11:07:21 2011 +0200 x86/amd-iommu: Move inv-dte command building to own function This patch moves command building for the invalidate-dte command into its own function. Signed-off-by: Joerg Roedel commit ded467374a34eb80020c2213456b1d9ca946b88c Author: Joerg Roedel Date: Wed Apr 6 10:53:48 2011 +0200 x86/amd-iommu: Move compl-wait command building to own function This patch introduces a seperate function for building completion-wait commands. Signed-off-by: Joerg Roedel commit 660e34cebf0a11d54f2d5dd8838607452355f321 Author: Matthew Garrett Date: Mon Apr 4 13:55:05 2011 -0400 x86: Reorder reboot method preferences We have a never ending stream of 'reboot quirks' for new boxes that will not reboot properly under Linux (they will hang on reboot). The reason is widespread 'Windows compatible' assumption of modern x86 hardware, which expects the following reboot sequence: - hitting the ACPI reboot vector (if available) - trying the keyboard controller - hitting the ACPI reboot vector again - then giving the keyboard controller one last go This sequence expectation gets more and more embedded in modern hardware, which often lacks a keyboard controller and may even lock up if the legacy io ports are hit - and which hardware is often not tested with Linux during development. The end result is that reboot works under Windows-alike OSs but not under Linux. Rework our reboot process to meet this hardware externality a little better and match this assumption of newer x86 hardware. In addition to the ACPI,kbd,ACPI,kbd sequence we'll still fall through to attempting a legacy triple fault if nothing else works - and keep trying that and the kbd reset. Signed-off-by: Matthew Garrett [ this commit will also save special casing Oaktrail boards ] Acked-by: Alan Cox Cc: Linus Torvalds Cc: Andrew Morton Cc: Leann Ogasawara Cc: Dave Jones Cc: Len Brown LKML-Reference: <1301939705-2404-1-git-send-email-mjg@redhat.com> Signed-off-by: Ingo Molnar commit db940cb0db7c69a217661ecd49e1e6b0d680a6cc Author: Alexey Dobriyan Date: Sat Apr 2 14:19:41 2011 +0300 Bluetooth: convert net/bluetooth/ to kstrtox Convert from strict_strto*() interfaces to kstrto*() interfaces. Signed-off-by: Alexey Dobriyan Signed-off-by: Gustavo F. Padovan commit e63a15ec0f25c0f97e8f6247b97ac9b30968b6b3 Author: Gustavo F. Padovan Date: Mon Apr 4 18:56:53 2011 -0300 Bluetooth: Use GFP_KERNEL in user context The allocation in mgmt_control() code are in user context and not locked by any spinlock, so it's not recommended the use of GFP_ATOMIC there. Signed-off-by: Gustavo F. Padovan commit 1322901da5094cecd9826ec3aaade83f6452cc45 Author: Gustavo F. Padovan Date: Mon Apr 4 19:06:05 2011 -0300 Bluetooth: Don't use spin_lock_bh in user context spin_lock() and spin_unlock() are more apropiated for user context. Signed-off-by: Gustavo F. Padovan commit fada4ac33992b1f953d95584e36f6ca7860aea40 Author: Szymon Janc Date: Mon Mar 21 14:20:06 2011 +0100 Bluetooth: Use kthread API in cmtp kernel_thread() is a low-level implementation detail and EXPORT_SYMBOL(kernel_thread) is scheduled for removal. Use the API instead. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit f4d7cd4a4c25cb4a5c30a675d4cc0052c93b925a Author: Szymon Janc Date: Mon Mar 21 14:20:00 2011 +0100 Bluetooth: Use kthread API in bnep kernel_thread() is a low-level implementation detail and EXPORT_SYMBOL(kernel_thread) is scheduled for removal. Use the API instead. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit aabf6f897e44bdf3e237ada04aa8f88d77d75cac Author: Szymon Janc Date: Tue Apr 5 15:37:45 2011 +0200 Bluetooth: Use kthread API in hidp kernel_thread() is a low-level implementation detail and EXPORT_SYMBOL(kernel_thread) is scheduled for removal. Use the API instead. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit c5e129ac2fc72c119b85db79a629de66332f136d Author: Ben Hutchings Date: Sat Apr 2 00:43:46 2011 +0100 sfc: Implement ethtool_ops::set_phys_id instead of ethtool_ops::phys_id Signed-off-by: Ben Hutchings commit 68f512f21a64c9b264df6c61a9333e7890faf74b Author: Ben Hutchings Date: Sat Apr 2 00:35:15 2011 +0100 ethtool: Change ETHTOOL_PHYS_ID implementation to allow dropping RTNL The ethtool ETHTOOL_PHYS_ID command runs for an arbitrarily long period of time, holding the RTNL lock. This blocks routing updates, device enumeration, and various important operations that one might want to keep running while hunting for the flashing LED. We need to drop the RTNL lock during this operation, but currently the core implementation is a thin wrapper around a driver operation and drivers may well depend upon holding the lock. Define a new driver operation 'set_phys_id' with an argument that sets the ID indicator on/off/inactive/active (the last optional, for any driver or firmware that prefers to handle blinking asynchronously). When this is defined, the ethtool core drops the lock while waiting and only acquires it around calls to this operation. Deprecate the 'phys_id' operation in favour of this. It can be removed once all in-tree drivers are converted. Signed-off-by: Ben Hutchings commit 8717d07b1143e0f150921f5bd7cfe7af579a995a Author: Ben Hutchings Date: Fri Apr 1 23:57:41 2011 +0100 ethtool: Fill out and update comment for struct ethtool_ops Briefly document all operations (except get_rx_ntuple), including whether they may return an error code and whether they are deprecated. Also mention some things that should be handled by the ethtool core rather than by drivers. Briefly document general requirements for callers. Signed-off-by: Ben Hutchings commit e20b5b61a36bd5b80eea064c0f2e73285dbe0d3b Author: Ben Hutchings Date: Fri Apr 1 22:52:34 2011 +0100 ethtool: Convert struct ethtool_ops comment to kernel-doc format Signed-off-by: Ben Hutchings commit abfe903980161b11f3594e3dcbab8b5c5a67168b Author: Ben Hutchings Date: Tue Apr 5 15:00:02 2011 +0100 sfc: Implement generic features interface Signed-off-by: Ben Hutchings commit f82d9a67fbcdfd8af6be7a7c9e381864ec9a271a Author: Ben Hutchings Date: Tue Apr 5 13:36:09 2011 +0100 sfc: Enable all TSO features on VLANs The TSO code already supports IPv6 on VLAN, so enable it. Signed-off-by: Ben Hutchings commit c6e1a0d12ca7b4f22c58e55a16beacfb7d3d8462 Author: Tom Herbert Date: Mon Apr 4 22:30:30 2011 -0700 net: Allow no-cache copy from user on transmit This patch uses __copy_from_user_nocache on transmit to bypass data cache for a performance improvement. skb_add_data_nocache and skb_copy_to_page_nocache can be called by sendmsg functions to use this feature, initial support is in tcp_sendmsg. This functionality is configurable per device using ethtool. Presumably, this feature would only be useful when the driver does not touch the data. The feature is turned on by default if a device indicates that it does some form of checksum offload; it is off by default for devices that do no checksum offload or indicate no checksum is necessary. For the former case copy-checksum is probably done anyway, in the latter case the device is likely loopback in which case the no cache copy is probably not beneficial. This patch was tested using 200 instances of netperf TCP_RR with 1400 byte request and one byte reply. Platform is 16 core AMD x86. No-cache copy disabled: 672703 tps, 97.13% utilization 50/90/99% latency:244.31 484.205 1028.41 No-cache copy enabled: 702113 tps, 96.16% utilization, 50/90/99% latency 238.56 467.56 956.955 Using 14000 byte request and response sizes demonstrate the effects more dramatically: No-cache copy disabled: 79571 tps, 34.34 %utlization 50/90/95% latency 1584.46 2319.59 5001.76 No-cache copy enabled: 83856 tps, 34.81% utilization 50/90/95% latency 2508.42 2622.62 2735.88 Note especially the effect on latency tail (95th percentile). This seems to provide a nice performance improvement and is consistent in the tests I ran. Presumably, this would provide the greatest benfits in the presence of an application workload stressing the cache and a lot of transmit data happening. Signed-off-by: Tom Herbert Signed-off-by: David S. Miller commit e3f6a652fd0e828de586a3a87b56c07f7a32259a Author: Simon Horman Date: Tue Apr 5 11:25:03 2011 +0900 IPVS: combine consecutive #ifdef CONFIG_PROC_FS blocks Signed-off-by: Simon Horman commit 14f98f258f1936e0dba77474bd7eda63f61a9826 Author: stephen hemminger Date: Mon Apr 4 14:03:33 2011 +0000 bridge: range check STP parameters Apply restrictions on STP parameters based 802.1D 1998 standard. * Fixes missing locking in set path cost ioctl * Uses common code for both ioctl and sysfs This is based on an earlier patch Sasikanth V but with overhaul. Note: 1. It does NOT enforce the restriction on the relationship max_age and forward delay or hello time because in existing implementation these are set as independant operations. 2. If STP is disabled, there is no restriction on forward delay 3. No restriction on holding time because users use Linux code to act as hub or be sticky. 4. Although standard allow 0-255, Linux only allows 0-63 for port priority because more bits are reserved for port number. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit bb900b27a2f49b37bc38c08e656ea13048fee13b Author: stephen hemminger Date: Mon Apr 4 14:03:32 2011 +0000 bridge: allow creating bridge devices with netlink Add netlink device ops to allow creating bridge device via netlink. This works in a manner similar to vlan, macvlan and bonding. Example: # ip link add link dev br0 type bridge # ip link del dev br0 The change required rearranging initializtion code to deal with being called by create link. Most of the initialization happens in br_dev_setup, but allocation of stats is done in ndo_init callback to deal with allocation failure. Sysfs setup has to wait until after the network device kobject is registered. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 36fd2b63e3b4336744cf3f6a6c9543ecbec334a7 Author: stephen hemminger Date: Mon Apr 4 14:03:31 2011 +0000 bridge: allow creating/deleting fdb entries via netlink Use RTM_NEWNEIGH and RTM_DELNEIGH to allow updating of entries in bridge forwarding table. This allows manipulating static entries which is not possible with existing tools. Example (using bridge extensions to iproute2) # br fdb add 00:02:03:04:05:06 dev eth0 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b078f0df676233fc7ebc1ab270bd11ef5824bb64 Author: stephen hemminger Date: Mon Apr 4 14:03:30 2011 +0000 bridge: add netlink notification on forward entry changes This allows applications to query and monitor bridge forwarding table in the same method used for neighbor table. The forward table entries are returned in same structure format as used by the ioctl. If more information is desired in future, the netlink method is extensible. Example (using bridge extensions to iproute2) # br monitor Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 664de48bb6c4e167fcdf92a4bddf880030fbfbb3 Author: stephen hemminger Date: Mon Apr 4 14:03:29 2011 +0000 bridge: split rcu and no-rcu cases of fdb lookup In some cases, look up of forward database entry is done with RCU; and for others no RCU is needed because of locking. Split the two cases into two differnt loops (and take off inline). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7cd8861ab0d907430bbea0af93bc41aee0437efc Author: stephen hemminger Date: Mon Apr 4 14:03:28 2011 +0000 bridge: track last used time in forwarding table Adds tracking the last used time in forwarding table. Rename ageing_timer to updated to better describe it. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 03e9b64b89243ccc6f8f48f5955a5a78a8ca1431 Author: stephen hemminger Date: Mon Apr 4 14:03:27 2011 +0000 bridge: change arguments to fdb_create Later patch provides ability to create non-local static entry. To make this easier move the updating of the flag values to after the code that creates entry. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a88a9652d25a63ce10b6a5fe680d0ad8f33b9c9b Author: Johan Hedberg Date: Wed Mar 30 13:18:12 2011 +0300 Bluetooth: Add mgmt_remote_name event This patch adds a new remote_name event to the Management interface which is sent every time the name of a remote device is resolved (over BR/EDR). Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit e17acd40f6006d0a0e0b1b3f7359ba4d543011c6 Author: Johan Hedberg Date: Wed Mar 30 23:57:16 2011 +0300 Bluetooth: Add mgmt_device_found event This patch adds a device_found event to the Management interface. For now the event only maps to BR/EDR inquiry result HCI events, but in the future the plan is to also use it for the LE device discovery process. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 1e429f3842b5c9b5967a250f4daf78f92436268c Author: Gustavo F. Padovan Date: Mon Apr 4 18:25:14 2011 -0300 Bluetooth: Remove gfp_mask param from hci_reassembly() It is unnecessary, once we are always in interrupt context. Signed-off-by: Gustavo F. Padovan commit 26d59535aa08386b97ece58a27bb16fca4f066db Author: Johannes Berg Date: Fri Apr 1 13:52:48 2011 +0200 mac80211: clean up station cleanup timer We currently run this timer exactly once when a new mac80211 device is registered, but that is completely pointless since it will have no work to do at all. Therefore, remove that and also simplify some code using the timer. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ccc7c28af205888798b51b6cbc0b557ac1170a49 Author: Rafał Miłecki Date: Fri Apr 1 13:26:52 2011 +0200 ssb: pci: implement serdes workaround Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit ba91d1a1bcccd90247b5b9703c1a236cc2e95698 Author: Rafał Miłecki Date: Fri Apr 1 12:07:34 2011 +0200 ssb: pci: implement mdio reading Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 1b1c7acd9709e545399d1b6b89888f025911c0a2 Author: Rafał Miłecki Date: Fri Apr 1 12:07:33 2011 +0200 ssb: pci: fix mdio writes on newer cores (rev 10+) Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 6c74608bd479bbe02ce330f83df43c3f535ed200 Author: Rafał Miłecki Date: Fri Apr 1 12:07:32 2011 +0200 ssb: pci: trivial: drop useless pointer Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit ce57d9e694d98e421e329fbac5d6f5dc5e9e101e Author: Rafał Miłecki Date: Fri Apr 1 12:06:48 2011 +0200 ssb: trivial: use u8 for chip_rev (it's mask is 0xF) Signed-off-by: Rafał Miłecki Signed-off-by: John W. Linville commit 832fd35a545ecde11082d2dab74dd0aef8e0505e Author: Vasanthakumar Thiagarajan Date: Fri Apr 1 15:32:16 2011 +0530 ath9k_hw: Use appropriate rx gain table for AR9485 Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 8120347de30f98982b8c75243e3b17dd1ee75740 Author: Bing Zhao Date: Thu Mar 31 19:50:14 2011 -0700 mwifiex: remove unused macros in decl.h and main.h These macros are leftover of previous cleanup patches. Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 7327890a1f42046c50030c8723bdbd9266d781bc Author: Bing Zhao Date: Wed Mar 30 18:12:45 2011 -0700 mwifiex: remove struct mwifiex_802_11_fixed_ies struct mwifiex_802_11_fixed_ies is not necessary. struct mwifiex_event_wep_icv_err is not used any more. Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 2b06bdbe073f8dff93eb476f07352df43dcdba44 Author: Marc Yang Date: Wed Mar 30 18:12:44 2011 -0700 mwifiex: cleanup power save related struct and macros remove redundant structures and unused macros Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 4dd365fd55991b4e54a1d1c255081e6370b9da29 Author: Bing Zhao Date: Wed Mar 30 18:01:15 2011 -0700 ieee80211: add HT extended capabilities masks IEEE Std 802.11n, Oct. 29, 2009: 7.3.2.56.5 HT Extended Capabilities field Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 4f3f1ee9f373abfdc09bb3bed87969b7fe0fba06 Author: Marc Yang Date: Mon Mar 28 17:55:44 2011 -0700 mwifiex: remove unused macros in fw.h These definitions are no longer used after previous cleanups. Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit fd2e401a35500c9af63dc7ffbc545d2e3c478702 Author: Marc Yang Date: Mon Mar 28 17:55:43 2011 -0700 mwifiex: remove unused radio_on variable and macros The radio_on variable is defined but never used. Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit f986b6d538c9351c99108b51be9f77ac1b300b16 Author: Marc Yang Date: Mon Mar 28 17:55:42 2011 -0700 mwifiex: remove MWIFIEX_AUTH_MODE_ macros replace them with NL80211_AUTHTYPE_ macros Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit eecd8250e492ffc4e7b72953cda9c2f3ba0e6ccc Author: Bing Zhao Date: Mon Mar 28 17:55:41 2011 -0700 mwifiex: remove MWIFIEX_BSS_MODE_ macros replace them with NL80211_IFTYPE_ macros Also remove redundant functions mwifiex_drv_get_mode() and mwifiex_bss_ioctl_mode(). Signed-off-by: Bing Zhao Signed-off-by: Amitkumar Karwar Signed-off-by: John W. Linville commit 6a4c499e86f54ed9316a87e7ddc6b7d33adb4976 Author: Helmut Schaa Date: Mon Mar 28 13:35:51 2011 +0200 rt2x00: Add an error message when trying to send on a full queue We already tell mac80211 to stop the queue when we hit a certain threshold. Hence, it shouldn't happen at all that a frame gets queued for tx on a full queue. Add an error message for this case. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f16d2db704b873d34cec54f992637f3579e10e08 Author: Helmut Schaa Date: Mon Mar 28 13:35:21 2011 +0200 rt2x00: Fix tx aggregation problems with some clients Some clients seem to rely upon the reception of BlockAckReqs to flush their rx reorder buffer. In order to fix aggregation for these clients rt2x00 should send a BlockAckReq if the transmission of an AMPDU subframe fails. Introduce a new flag TXDONE_AMPDU to indicate that this is an AMPDU subframe and pass IEEE80211_TX_STAT_AMPDU_NO_BACK to mac80211 if an AMPDU subframe failed during transmission. This fixes aggregation problems with Intel 5100 Windows STAs (and maybe others as well). Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b35e77cf84137bbb4b6888dc90616eb0b452ea36 Author: Ivo van Doorn Date: Mon Mar 28 13:34:50 2011 +0200 rt2x00: Add support for the ZyXEL NWD-211AN USB Add new USB ID Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 351151e8ace033fe3b1977516b32a6c76e9a3f6d Author: Helmut Schaa Date: Mon Mar 28 13:34:15 2011 +0200 rt2x00: Fix STBC transmissions to STAs with Rx STBC > 1 For STBC transmissions rt2x00 used the number of RxSTBC streams the destination STA indicates in its HT capabilities as STBC value in the TXWI. However, the legacy drivers and our own comment in rt2800.h suggest that the STBC field in the TXWI only allows a value of 0 or 1. The values 2 and 3 are reserved (probably for future devices). And indeed, STBC transmissions to STAs indicating more then 1 RxSTBC stream fail when the STBC field is set to something >1. Fix this by only setting the STBC field to 1 when STBC should be used. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9e33a3553821418b2c4f53d09311476c55176b13 Author: Helmut Schaa Date: Mon Mar 28 13:33:40 2011 +0200 rt2x00: Implement tx power temperature compensation rt2800 devices should adjust their tx power in accordance with the eeproms temperature calibration values. Add a new driver callback gain_calibration that is called every 4 seconds. The rt2800 gain calibration routine simply runs the tx power configuration that takes care of calculating the temperature compensation delta. We don't need to synchronize the calls to rt2800_config_txpower as they should all happen from mac80211's single threaded workqueue. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2f2bb7e8bdc977c94cdaaf84328526555eba89b1 Author: Helmut Schaa Date: Mon Mar 28 13:33:04 2011 +0200 rt2x00: Remove obsolete rt2x00queue_align_payload Since commit d1c3a37ceeb1a5ea02991a0476355f1a1d3b3e83 ("mac80211: clarify alignment docs, fix up alignment") removed the requirement for a 4-byte aligned payload rt2x00queue_align_payload is obsolete as mac80211 will align the payload when it passes the frame to the net stack. As a result we can remove the call to rt2x00queue_align_payload in the rx path and since that's the last user we can remove rt2x00queue_align_payload altogether. One advantage is that we save some alignment operations for frames that don't need to be aligned (for example beause they are not passed to the net stack). Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fa71a160272c0eec9c04102ab2a82befb7cb107f Author: Helmut Schaa Date: Mon Mar 28 13:32:32 2011 +0200 rt2x00: Indention cleanup in rt2800lib Fix the indention in rt2800_compesate_txpower and also fix a typo in the function name rt2800_compesate_txpower -> rt2800_compensate_txpower. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2af242e19f06cfaade7ac8608c9df8af1e0fbb34 Author: Helmut Schaa Date: Mon Mar 28 13:32:01 2011 +0200 rt2x00: Don't recalculate HT40 compensation for each rate Previously the HT40 tx power compensation value was calculated for each rate. However, the calculation is independent of the tx rate and as such can be precalculated and just passed in for each rate. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 75faae8b80171b447bfc4bac448308676fb8a663 Author: Helmut Schaa Date: Mon Mar 28 13:31:30 2011 +0200 rt2x00: Restructure bw_comp calculation Move the HT40 check inside the calculation function to make it easier for a later cleanup. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit aca7305be5cd9e07f042e6bf6547e7c5635f0041 Author: Helmut Schaa Date: Mon Mar 28 13:30:59 2011 +0200 rt2x00: Remove DRIVER_SUPPORT_WATCHDOG flag We can simply check if the driver registered the watchdog callback. There's no need to have an additional flag for that. Signed-off-by: Helmut Schaa Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f78987cf8bb740b7a3636c08e003f1976f860cfc Author: Helmut Schaa Date: Mon Mar 28 13:30:36 2011 +0200 rt2x00: Calculate tx status fifo size instead of hardcoding it Instead of hardcoding the tx status fifo size as 512 calculate it based on the number of tx queues and the number of entries per queue. Also round the size up to a power of 2 as kfifo would otherwise round it down. On rt2800pci this will increase the kfifo size from 512 bytes to 1024 bytes which is then able to hold the tx status for all entries in all tx queues. Furthermore, if the number of tx queues or tx entries changes in the future (use of the MGMT queue for example) the kfifo size doesn't need to be updated. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2e7798b7c12bdaab4a4aee76d6d1ab7c986234ac Author: Helmut Schaa Date: Mon Mar 28 13:30:09 2011 +0200 rt2x00: Limit rt2800pci txdone processing to 16 entries at once Instead of reporting an unlimited number of tx status reports to mac80211 stop after 16 frames and reschedule the tx status tasklet. This allows other tasklets to be run inbetween. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 166389375d5a3894aa00a9c2e490ac4b9af2a891 Author: Helmut Schaa Date: Mon Mar 28 13:29:44 2011 +0200 rt2x00: Limit rt2x00pci rxdone processing to 16 entries at once Instead of receiving an unlimited number of frames, stop after 16 entries and reschedule the rxdone tasklet. This allows other tasklets to be run inbetween. Signed-off-by: Helmut Schaa Acked-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 324732848c42bf79988479ee1b4359e15f08154b Author: Larry Finger Date: Sun Mar 27 16:19:57 2011 -0500 rtlwifi: Remove unused/unneeded variables Remove some unused variables and correct spelling errors. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 6d2bd916afe6950b50f750cd82bbb9c6ff58611f Author: Marc Yang Date: Fri Mar 25 19:47:02 2011 -0700 mwifiex: use IEEE80211_HT_CAP_ macros for 11n cap_info The hw_dot_11n_dev_cap reported by firmware hw_spec has different format than the 11n capabilities. Hence a lot of SET_ and RESET_ bit operation macros were used to convert the dev_cap format to 11n capability format. However the locally defined 11n ht_cap macros are not necessary as we can use IEEE80211_HT_CAP_ macros directly. The 32-bit dev_cap bitmap is added as comment to explain the mapping between firmware and 11n spec. Some unused macros and unnecessary adapter variables are also removed. Signed-off-by: Marc Yang Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit b93f85f0fb019f527b68569aafb836c94b89a47e Author: Bing Zhao Date: Fri Mar 25 19:47:01 2011 -0700 mwifiex: remove macro SHORT_SLOT_TIME_DISABLED and SHORT_SLOT_TIME_ENABLED. Use WLAN_CAPABILITY_SHORT_SLOT_TIME instead. Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 5f9f1812b68a2979bc97399cd4954f1c191986af Author: Felix Fietkau Date: Fri Mar 25 21:39:19 2011 +0100 mac80211: remove the dependency on crypto_blkcipher The only thing that using crypto_blkcipher with ecb does over just using arc4 directly is wrapping the encrypt/decrypt function into a for loop, looping over each individual character. To be able to do this, it pulls in around 40 kb worth of unnecessary kernel modules (at least on a MIPS embedded device). Using arc4 directly not only eliminates those dependencies, it also makes the code smaller. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 203afecaa320fa8c541ce130aed449ff53f5b4aa Author: Marc Yang Date: Thu Mar 24 20:49:39 2011 -0700 mwifiex: remove unnecessary _set_auth functions mwifiex_set_encrypt_mode() mwifiex_set_auth_mode() mwifiex_set_auth() These functions are confusing and misleading. And they are really not needed at all. Some unused definitions are also removed. Signed-off-by: Marc Yang Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 0022801c893e953ebff8e0ad00cc22716055babf Author: Yogesh Ashok Powar Date: Thu Mar 24 20:49:38 2011 -0700 mwifiex: remove helper functions for displaying 11n capabilities 'iw list' is sufficient to retrieve the information which was displayed by these functions. Signed-off-by: Yogesh Ashok Powar Signed-off-by: Bing Zhao Signed-off-by: John W. Linville commit 1ed76487ce115110171480deabd3cd4656f9803e Author: Felix Fietkau Date: Thu Mar 24 19:46:18 2011 +0100 mac80211: fix suppressing probe responses in ad-hoc mode The commit "mac80211: reply to directed probes in IBSS" changed ad-hoc specific code to respond to unicast probe requests, even if drv_tx_last_beacon returns false, however due to confusion over the meaning of the IEEE80211_RX_RA_MATCH flag, it also unconditionally enabled responding to multicast probe requests. Fix this by explicitly checking for a multicast destination address instead. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2638126a7c7cce87d51ae5d3bfaca9350503c0b4 Author: Mohammed Shafi Shajakhan Date: Thu Mar 24 19:06:40 2011 +0530 ath9k_hw: remove ath9k_get_channel_edges This function is nowhere used. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 468b0d4482cadd174298e2fe9bde6a20044f90f5 Author: Mohammed Shafi Shajakhan Date: Thu Mar 24 15:49:54 2011 +0530 ath9k: remove set11n_virtualmorefrag This does not seems to be used anywhere so remove it. Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit b64c6a3d1ab1bab9396e6efd2fd03479be4d0a63 Author: Mohammed Shafi Shajakhan Date: Thu Mar 24 14:36:16 2011 +0530 ath9k: cleanup few redundant macros Signed-off-by: Mohammed Shafi Shajakhan Signed-off-by: John W. Linville commit 279daf64c01e391379060a6d30e9827cc0c56612 Author: Ben Greear Date: Wed Mar 23 14:04:31 2011 -0700 wifi: Add hwflags to debugfs. Aids debugging wifi behaviour. Signed-off-by: Ben Greear Signed-off-by: John W. Linville commit 1c0ce89c87b310e8022f50bb75c1b693ee9d7158 Author: Stanislaw Gruszka Date: Fri Mar 25 17:59:39 2011 +0100 iwlegacy: MAINTAINERS Add iwlegacy driver to MAINTAINERS. Signed-off-by: Stanislaw Gruszka Signed-off-by: John W. Linville commit 18d6a0f5b6693d630a8da9dfd6cac1ea4e5dccab Merge: 83860c5 7eaa6a5 Author: John W. Linville Date: Mon Apr 4 16:10:36 2011 -0400 Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 0545a3037773512d3448557ba048cebb73b3e4af Author: stephen hemminger Date: Mon Apr 4 05:30:58 2011 +0000 pkt_sched: QFQ - quick fair queue scheduler This is an implementation of the Quick Fair Queue scheduler developed by Fabio Checconi. The same algorithm is already implemented in ipfw in FreeBSD. Fabio had an earlier version developed on Linux, I just cleaned it up. Thanks to Eric Dumazet for testing this under load. Signed-off-by: Stephen Hemminger Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit fc3e5941248be00996150965a469d38c92913ac2 Author: Ian Campbell Date: Mon Apr 4 11:07:57 2011 -0700 xen: netfront: assume all hw features are available until backend connection setup We need to assume that all features will be available when registering the netdev otherwise they are ommitted from the initial set of dev->wanted_features. When we connect to the backed we reduce the set as necessary due to the call to netdev_update_features() in xennet_connect(). Signed-off-by: Ian Campbell Signed-off-by: David S. Miller commit 5373db886b791b2bc7811e2c115377916c409a5d Author: Jan Glauber Date: Wed Mar 16 15:58:30 2011 -0400 jump label: Add s390 support Implement the architecture backend for jump label support on s390. For a shared kernel booted from a NSS silently disable jump labels because the NSS is read-only. Therefore jump labels will be disabled in a shared kernel and can't be activated. Signed-off-by: Jan Glauber LKML-Reference: <6935d2c41ce111e1719176ed4bbd3dbe4de80855.1300299760.git.jbaron@redhat.com> Acked-by: Peter Zijlstra Signed-off-by: Martin Schwidefsky Signed-off-by: Steven Rostedt commit ef64789413c73f32faa5e5f1bc393e5843b0aa51 Author: Jason Baron Date: Wed Mar 16 15:58:27 2011 -0400 jump label: Add _ASM_ALIGN for x86 and x86_64 The linker should not be adding holes to word size aligned pointers, but out of paranoia we are explicitly specifying that alignment. I have not seen any holes in the jump label section in practice. Signed-off-by: Jason Baron LKML-Reference: Acked-by: Peter Zijlstra Acked-by: Mathieu Desnoyers Signed-off-by: Steven Rostedt commit 083dd8b8aacfcb62d65fb53ec744090879dd8150 Merge: 95b8fba a14b289 Author: David S. Miller Date: Mon Apr 4 10:39:12 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit d430d3d7e646eb1eac2bb4aa244a644312e67c76 Author: Jason Baron Date: Wed Mar 16 17:29:47 2011 -0400 jump label: Introduce static_branch() interface Introduce: static __always_inline bool static_branch(struct jump_label_key *key); instead of the old JUMP_LABEL(key, label) macro. In this way, jump labels become really easy to use: Define: struct jump_label_key jump_key; Can be used as: if (static_branch(&jump_key)) do unlikely code enable/disale via: jump_label_inc(&jump_key); jump_label_dec(&jump_key); that's it! For the jump labels disabled case, the static_branch() becomes an atomic_read(), and jump_label_inc()/dec() are simply atomic_inc(), atomic_dec() operations. We show testing results for this change below. Thanks to H. Peter Anvin for suggesting the 'static_branch()' construct. Since we now require a 'struct jump_label_key *key', we can store a pointer into the jump table addresses. In this way, we can enable/disable jump labels, in basically constant time. This change allows us to completely remove the previous hashtable scheme. Thanks to Peter Zijlstra for this re-write. Testing: I ran a series of 'tbench 20' runs 5 times (with reboots) for 3 configurations, where tracepoints were disabled. jump label configured in avg: 815.6 jump label *not* configured in (using atomic reads) avg: 800.1 jump label *not* configured in (regular reads) avg: 803.4 Signed-off-by: Peter Zijlstra LKML-Reference: <20110316212947.GA8792@redhat.com> Signed-off-by: Jason Baron Suggested-by: H. Peter Anvin Tested-by: David Daney Acked-by: Ralf Baechle Acked-by: David S. Miller Acked-by: Mathieu Desnoyers Signed-off-by: Steven Rostedt commit ee5e51f51be755830f57445e268ba50e88ccbdbb Author: Jiri Olsa Date: Fri Mar 25 12:05:18 2011 +0100 tracing: Avoid soft lockup in trace_pipe running following commands: # enable the binary option echo 1 > ./options/bin # disable context info option echo 0 > ./options/context-info # tracing only events echo 1 > ./events/enable cat trace_pipe plus forcing system to generate many tracing events, is causing lockup (in NON preemptive kernels) inside tracing_read_pipe function. The issue is also easily reproduced by running ltp stress test. (ftrace_stress_test.sh) The reasons are: - bin/hex/raw output functions for events are set to trace_nop_print function, which prints nothing and returns TRACE_TYPE_HANDLED value - LOST EVENT trace do not handle trace_seq overflow These reasons force the while loop in tracing_read_pipe function never to break. The attached patch fixies handling of lost event trace, and changes trace_nop_print to print minimal info, which is needed for the correct tracing_read_pipe processing. v2 changes: - omit the cond_resched changes by trace_nop_print changes - WARN changed to WARN_ONCE and added info to be able to find out the culprit v3 changes: - make more accurate patch comment Signed-off-by: Jiri Olsa LKML-Reference: <20110325110518.GC1922@jolsa.brq.redhat.com> Signed-off-by: Steven Rostedt commit 1813dc3776c22ad4b0294a6df8434b9a02c98109 Author: Steven Rostedt Date: Mon Mar 21 23:36:31 2011 -0400 tracing: Print trace_bprintk() formats for modules too The file debugfs/tracing/printk_formats maps the addresses to the formats that are used by trace_bprintk() so that userspace tools can read the buffer and be able to decode trace_bprintk events to get the format saved when reading the ring buffer directly. This is because trace_bprintk() does not store the format into the buffer, but just the address of the format, which is hidden in the kernel memory. But currently it only exports trace_bprintk()s from the kernel core and not for modules. The modules need their formats exported as well. Signed-off-by: Steven Rostedt commit 0588fa30db44fd2d4032b36a061c87478a43fbee Author: Steven Rostedt Date: Mon Mar 21 22:59:21 2011 -0400 tracing: Convert trace_printk() formats for module to const char * The trace_printk() formats for modules do not show up in the debugfs/tracing/printk_formats file. Only the formats that are for trace_printk()s that are in the kernel core. To facilitate the change to add trace_printk() formats from modules into that file as well, we need to convert the structure that holds the formats from char fmt[], into const char *fmt, and allocate them separately. Signed-off-by: Steven Rostedt commit 64d21fc194e12bdf7347019bf10325a4b3d77e7b Author: Rakib Mullick Date: Sat Apr 2 13:17:48 2011 +0600 x86, mpparse: Put check_slot() into .init section check_slot() is only called from replace_intsrc_all() - which is in the .init section. So, put check_slot into the .init section as well, so it can be freed after system boot. Signed-off-by: Rakib Mullick LKML-Reference: Signed-off-by: Ingo Molnar commit 7f5c6d4f665bb57a19a34ce1fb16cc708c04f219 Author: Eric Dumazet Date: Mon Apr 4 17:04:03 2011 +0200 netfilter: get rid of atomic ops in fast path We currently use a percpu spinlock to 'protect' rule bytes/packets counters, after various attempts to use RCU instead. Lately we added a seqlock so that get_counters() can run without blocking BH or 'writers'. But we really only need the seqcount in it. Spinlock itself is only locked by the current/owner cpu, so we can remove it completely. This cleanups api, using correct 'writer' vs 'reader' semantic. At replace time, the get_counters() call makes sure all cpus are done using the old table. Signed-off-by: Eric Dumazet Cc: Jan Engelhardt Signed-off-by: Patrick McHardy commit 9402efaa96e4c047dcc63ad5db65384c328aee5f Merge: 78fca1b9 711b8c8 Author: Ingo Molnar Date: Mon Apr 4 16:39:20 2011 +0200 Merge branch 'x86-mm' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into x86/mm commit 95b8fbada76d978ce13a26785f8b85ff54478bb2 Author: Jan Engelhardt Date: Sun Apr 3 13:31:06 2011 +0000 mISDN: fix "persistant" typo Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 8f7b01a178b8e6a7b663a1bbaa1710756d67b69b Author: Eric Dumazet Date: Sun Apr 3 17:21:00 2011 -0700 xen: netfront: fix declaration order Must declare xennet_fix_features() and xennet_set_features() before using them. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 321fb561971ba0f10ce18c0f8a4b9fbfc7cef4b9 Author: Oleg Nesterov Date: Fri Apr 1 20:13:01 2011 +0200 ptrace: ptrace_check_attach() should not do s/STOPPED/TRACED/ After "ptrace: Clean transitions between TASK_STOPPED and TRACED" d79fdd6d96f46fabb779d86332e3677c6f5c2a4f, ptrace_check_attach() should never see a TASK_STOPPED tracee and s/STOPPED/TRACED/ is no longer legal. Add the warning. Note: ptrace_check_attach() can be greatly simplified, in particular it doesn't need tasklist. But I'd prefer another patch for that. Signed-off-by: Oleg Nesterov Signed-off-by: Tejun Heo commit ee77f075921730b2b465880f9fd4367003bdab39 Author: Oleg Nesterov Date: Fri Apr 1 20:12:38 2011 +0200 signal: Turn SIGNAL_STOP_DEQUEUED into GROUP_STOP_DEQUEUED This patch moves SIGNAL_STOP_DEQUEUED from signal_struct->flags to task_struct->group_stop, and thus makes it per-thread. Like SIGNAL_STOP_DEQUEUED, GROUP_STOP_DEQUEUED can be false-positive after return from get_signal_to_deliver(), this is fine. The only purpose of this bit is: we can drop ->siglock after __dequeue_signal() returns the sig_kernel_stop() signal and before we call do_signal_stop(), in this case we must not miss SIGCONT if it comes in between. But, unlike SIGNAL_STOP_DEQUEUED, GROUP_STOP_DEQUEUED can not be false-positive in do_signal_stop() if multiple threads dequeue the sig_kernel_stop() signal at the same time. Consider two threads T1 and T2, SIGTTIN has a hanlder. - T1 dequeues SIGTSTP and sets SIGNAL_STOP_DEQUEUED, then it drops ->siglock - SIGCONT comes and clears SIGNAL_STOP_DEQUEUED, SIGTSTP should be cancelled. - T2 dequeues SIGTTIN and sets SIGNAL_STOP_DEQUEUED again. Since we have a handler we should not stop, T2 returns to usermode to run the handler. - T1 continues, calls do_signal_stop() and wrongly starts the group stop because SIGNAL_STOP_DEQUEUED was restored in between. With or without this change: - we need to do something with ptrace_signal() which can return SIGSTOP, but this needs another discussion - SIGSTOP can be lost if it races with the mt exec, will be fixed later. Signed-off-by: Oleg Nesterov Signed-off-by: Tejun Heo commit 780006eac2fe7f4d2582da16a096e5a44c4767ff Author: Oleg Nesterov Date: Fri Apr 1 20:12:16 2011 +0200 signal: do_signal_stop: Remove the unneeded task_clear_group_stop_pending() PF_EXITING or TASK_STOPPED has already called task_participate_group_stop() and cleared its ->group_stop. No need to do task_clear_group_stop_pending() when we start the new group stop. Add a small comment to explain the !task_is_stopped() check. Note that this check is not exactly right and it can lead to unnecessary stop later if the thread is TASK_PTRACED. What we need is task_participated_in_group_stop(), this will be solved later. Signed-off-by: Oleg Nesterov Signed-off-by: Tejun Heo commit 1deac632fc3dcff33a6df3e82ef10c738ac13fe6 Author: Oleg Nesterov Date: Fri Apr 1 20:11:50 2011 +0200 signal: prepare_signal(SIGCONT) shouldn't play with TIF_SIGPENDING prepare_signal(SIGCONT) should never set TIF_SIGPENDING or wake up the TASK_INTERRUPTIBLE threads. We are going to call complete_signal() which should pick the right thread correctly. All we need is to wake up the TASK_STOPPED threads. If the task was stopped, it can't return to usermode without taking ->siglock. Otherwise we don't care, and the spurious TIF_SIGPENDING can't be useful. The comment says: * If there is a handler for SIGCONT, we must make * sure that no thread returns to user mode before * we post the signal It is not clear what this means. Probably, "when there's only a single thread" and this continues to be true. Otherwise, even if this SIGCONT is not private, with or without this change only one thread can dequeue SIGCONT, other threads can happily return to user mode before before that thread handles this signal. Note also that wake_up_state(t, __TASK_STOPPED) can't race with the task which changes its state, TASK_STOPPED state is protected by ->siglock as well. In short: when it comes to signal delivery, SIGCONT is the normal signal and does not need any special support. Signed-off-by: Oleg Nesterov Signed-off-by: Tejun Heo commit 711b8c87a5fe6de78e90411cb67b506babfef74a Author: Florian Mickler Date: Mon Apr 4 01:17:40 2011 +0200 x86-64, NUMA: Remove unused variable In case !CONFIG_ACPI_NUMA and !CONFIG_AMD_NUMA gcc emits a warning about the unused variable ret. As that variable is in fact not needed I choose to remove it. Signed-off-by: Florian Mickler LKML-Reference: <1301843624-22364-1-git-send-email-florian@mickler.org> Signed-off-by: Tejun Heo commit 8a0427bb688eae86a8bb939b6a74e5aa00aa035a Author: Michał Mirosław Date: Sat Apr 2 22:49:12 2011 -0700 vlan: convert VLAN devices to use ndo_fix_features() Note: get_flags was actually broken, because it should return the flags capped with vlan_features. This is now done implicitly by limiting netdev->hw_features. RX checksumming offload control is (and was) broken, as there was no way before to say whether it's done for tagged packets. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 6cb6a27c45cec9184302c2e350b3593c64bc7f6c Author: Michał Mirosław Date: Sat Apr 2 22:48:47 2011 -0700 net: Call netdev_features_change() from netdev_update_features() Issue FEAT_CHANGE notification when features are changed by netdev_update_features(). This will allow changes made by extra constraints on e.g. MTU change to be properly propagated like changes via ethtool. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit e9403c8437cf3721e7901c1a8fcb06bb642a7e55 Author: Michał Mirosław Date: Fri Apr 1 20:58:37 2011 -0700 net: convert sunhme/sungem network drivers to hw_features Side effects: - TX offloads (HW csum, scatter-gather) can be toggled now - RX checksum is reported correctly now (it's always active) Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit a2c725fa39b79fcc3f09151e847cc006ff0d4389 Author: Michał Mirosław Date: Thu Mar 31 01:01:35 2011 +0000 veth: convert to hw_features This should probably get TSO available as it's basically a loopback device. Offloads are left disabled by default - as before. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit d7b576545648e487b2958c220542e111f5ac46f0 Author: Michał Mirosław Date: Thu Mar 31 01:01:35 2011 +0000 jme: convert offload constraints to ndo_fix_features Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit fb507934fd6faa00b3d833facb53b90c71ddc307 Author: Michał Mirosław Date: Thu Mar 31 01:01:35 2011 +0000 net: convert xen-netfront to hw_features Not tested in any way. The original code for offload setting seems broken as it resets the features on every netback reconnect. This will set GSO_ROBUST at device creation time (earlier than connect time). RX checksum offload is forced on - so advertise as it is. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 78e47fe4194ca7fac2cc29d25f1327db86922724 Author: Michał Mirosław Date: Fri Apr 1 20:56:23 2011 -0700 net: convert SMSC USB net drivers to hw_features There's a race (not fixed here) in smsc75xx in setting RFE_CTL that's not properly handled via rfe_ctl_lock. Spinlock is not a good tool here, as this has to wait for URB completion (or maybe just submission) after issuing register write request. Otherwise, the rfe_ctl might be changed just after spin_unlock() and device left programmed with other value. smsc95xx has increased hard_header_len for the case of TX checksumming. smsc75xx is fixed to advertise IP+IPV6_CSUM instead of HW_CSUM as it does not use csum_start/csum_offset. Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit 98e778c9aa4f4f75550fa3a31358304e4ce67b96 Author: Michał Mirosław Date: Thu Mar 31 01:01:35 2011 +0000 virtio_net: convert to hw_features Signed-off-by: Michał Mirosław Signed-off-by: David S. Miller commit ab3cf6d0f3d2daeef2101a2a97b6c0beee6b70cf Author: Ben Hutchings Date: Fri Apr 1 22:20:06 2011 +0100 sfc: Move test of rx_checksum_enabled from nic.c to rx.c This is preparation for using the generic netdev features interface, and should have no effect in itself. Signed-off-by: Ben Hutchings commit 4d9fd0b72cd80624f9f5c6a4c69c503615bec370 Author: Florian Tobias Schandinat Date: Sat Mar 26 03:17:42 2011 +0000 viafb: delete clock and PLL initialization We do this also in the real program code so there is no reason to do it here too (and here it's hardly readable). Signed-off-by: Florian Tobias Schandinat commit 3b16651f806d35b5c404f2525fbce76afa3c9297 Author: Tejun Heo Date: Fri Apr 1 11:15:12 2011 +0200 x86: Clean up memory model related configs in arch/x86/Kconfig * Remove bogus dependency on ARCH_SELECT_MEMORY_MODEL from ARCH_FLATMEM_ENABLE. ENABLE configs don't interfere with SELECT_MEMORY_MODEL. They just need to indicate whether the specific memory model is supported. * Relocate HAVE_ARCH_ALLOC_REMAP, ARCH_PROC_KCORE_TEXT and ARCH_SPARSEMEM_DEFAULT so that memory model related configs are together in consistent order. Signed-off-by: Tejun Heo Reviewed-by: Christoph Lameter Cc: Ingo Molnar Cc: Yinghai Lu Cc: "H. Peter Anvin" Cc: Thomas Gleixner commit 052936080c8fb2f791103995b21bd4018c8df886 Author: Tejun Heo Date: Fri Apr 1 11:15:12 2011 +0200 x86-64, NUMA: Remove custom phys_to_nid() implementation phys_to_nid() maps physical address to NUMA node id. This is implemented by building perfect hash in compute_hash_shift() during initialization. However, with SPARSE memory model, the nid is encoded in page flags. The perfect hash implementation was for DISCONTIG memory model which got removed years ago by b263295dbf (x86: 64-bit, make sparsemem vmemmap the only memory model). So, the perfect hash ends up being used only during initialization when the core SPARSE code already provides perfectly acceptable generic early_pfn_to_nid() implementation. Drop phys_to_nid() and use the generic ealry_pfn_to_nid() instead. Signed-off-by: Tejun Heo Reviewed-by: Christoph Lameter Acked-by: Yinghai Lu Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: Thomas Gleixner commit 9b12c75bf4d58dd85c987ee7b6a4356fdc7c1222 Author: David S. Miller Date: Thu Mar 31 18:03:35 2011 -0700 net: Order ports in same order as addresses in flow objects. For consistency. Signed-off-by: David S. Miller commit fab0dc89f0d98459c6ce7fa27422949ac15837fa Author: Dmitry Kravkov Date: Thu Mar 31 17:04:22 2011 -0700 bnx2x, cnic: Disable iSCSI if DCBX negotiation is successful With current bnx2x firmware 6.2.9, iSCSI is not supported in DCB network, so we need to disable it. Add cnic command to disconnect iSCSI connections and prevent future connections when DCBX negotiation succeeds. Signed-off-by: Dmitry Kravkov Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3b7f817e47bb66ae4d82ed73689a521af70a5410 Author: Dmitry Kravkov Date: Thu Mar 31 17:04:01 2011 -0700 bnx2x: don't write dcb/llfc fields in STORM memory We could get hardware attention during DCB/FCoE traffic without this fix. Signed-off-by: Dmitry Kravkov Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 96b8e1a0e96bd30ffb07e739b29b8c4c5759b93f Author: Dmitry Kravkov Date: Thu Mar 31 17:03:36 2011 -0700 bnx2x: Update firmware to 6.2.9 To fix bugs when running offloaded FCoE/iSCSI traffic in multiple Class of Service environments. In some scenarios, traffic could stop on certain rings and eventually all traffic would stop. Signed-off-by: Dmitry Kravkov Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 220b881a77eca96afdd6037dbca3441e8938228f Merge: 80a1e1d 6f5ef99 Author: Gustavo F. Padovan Date: Thu Mar 31 16:26:01 2011 -0300 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6 commit 6f5ef998b7b0b1bf1471654bf6176a5419197128 Author: Thomas Gleixner Date: Thu Mar 24 20:16:42 2011 +0100 Bluetooth: Fix warning with hci_cmd_timer After we made debugobjects working again, we got the following: WARNING: at lib/debugobjects.c:262 debug_print_object+0x8e/0xb0() Hardware name: System Product Name ODEBUG: free active (active state 0) object type: timer_list hint: hci_cmd_timer+0x0/0x60 Pid: 2125, comm: dmsetup Tainted: G W 2.6.38-06707-gc62b389 #110375 Call Trace: [] warn_slowpath_common+0x7a/0xb0 [] warn_slowpath_fmt+0x46/0x50 [] debug_print_object+0x8e/0xb0 [] ? hci_cmd_timer+0x0/0x60 [] debug_check_no_obj_freed+0x125/0x230 [] ? check_object+0xb3/0x2b0 [] kfree+0x150/0x190 [] ? bt_host_release+0x16/0x20 [] bt_host_release+0x16/0x20 [] device_release+0x27/0xa0 [] kobject_release+0x4c/0xa0 [] ? kobject_release+0x0/0xa0 [] kref_put+0x36/0x70 [] kobject_put+0x27/0x60 [] put_device+0x17/0x20 [] hci_free_dev+0x29/0x30 [] vhci_release+0x36/0x70 [] fput+0xd6/0x1f0 [] filp_close+0x66/0x90 [] sys_close+0x99/0xf0 [] system_call_fastpath+0x16/0x1b That timer was introduced with commit 6bd32326cda(Bluetooth: Use proper timer for hci command timout) Timer seems to be running when the thing is closed. Removing the timer unconditionally fixes the problem. And yes, it needs to be fixed before the HCI_UP check. Signed-off-by: Thomas Gleixner Tested-by: Ingo Molnar Signed-off-by: Gustavo F. Padovan commit 34bd0273b631742e8d929c80e90cb7782105d8da Author: Andrei Emeltchenko Date: Thu Mar 24 17:16:08 2011 +0200 Bluetooth: delete hanging L2CAP channel Sometimes L2CAP connection remains hanging. Make sure that L2CAP channel is deleted. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit 08ba53824a7fb224085a0ff73eab213cab0197e9 Author: Johan Hedberg Date: Wed Mar 16 14:29:34 2011 +0200 Bluetooth: Fix missing hci_dev_lock_bh in user_confirm_reply The code was correctly calling _unlock at the end of the function but there was no actual _lock call anywhere. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 8693ac900e230c85d6fff428984a0f983330844d Author: Vinicius Costa Gomes Date: Mon Mar 14 18:20:33 2011 -0300 Bluetooth: Fix sending LE data over USB Now that we have support for LE connections, before discarding a frame we must check if there's a LE connection over that transport. Signed-off-by: Vinicius Costa Gomes Acked-by: Ville Tervo Signed-off-by: Gustavo F. Padovan commit 105721328f0fa53e772592eaca17ee0023f0cc87 Author: Gustavo F. Padovan Date: Wed Mar 16 15:36:29 2011 -0300 Bluetooth: Fix HCI_RESET command synchronization We can't send new commands before a cmd_complete for the HCI_RESET command shows up. Reported-by: Mikko Vinni Reported-by: Justin P. Mattock Reported-by: Ed Tomlinson Signed-off-by: Gustavo F. Padovan Tested-by: Justin P. Mattock Tested-by: Mikko Vinni Tested-by: Ed Tomlinson commit 23e9fde2b344c22c5176c7fd37b52c3776ef5aba Author: Suraj Sumangala Date: Wed Mar 9 14:44:05 2011 +0530 Bluetooth: Increment unacked_frames count only the first transmit This patch lets 'l2cap_pinfo.unacked_frames' be incremented only the first time a frame is transmitted. Previously it was being incremented for retransmitted packets too resulting the value to cross the transmit window size. Signed-off-by: Suraj Sumangala Signed-off-by: Gustavo F. Padovan commit 88d377b6c3c28ee54cd4c76bfe6e60f2d9bf6ae1 Author: Marc-Antoine Perennou Date: Thu Mar 24 14:51:21 2011 -0300 Bluetooth: add support for Apple MacBook Pro 8,2 Just adding the vendor details makes it work fine. Signed-off-by: Marc-Antoine Perennou Signed-off-by: Gustavo F. Padovan commit 80a1e1dbf62a08984d4c1bfb5a4bca38c3e1664f Author: Johan Hedberg Date: Mon Mar 28 14:07:23 2011 +0300 Bluetooth: Add local Extended Inquiry Response (EIR) support This patch adds automated creation of the local EIR data based on what 16-bit UUIDs are registered and what the device name is. This should cover the majority use cases, however things like 32/128-bit UUIDs, TX power and Device ID will need to be added later to be on par with what bluetoothd is capable of doing (without the Management interface). Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit e90165be9a4d6a1e8fa632fcae00a5294abd3981 Author: Andrei Emeltchenko Date: Fri Mar 25 11:31:41 2011 +0200 Bluetooth: check L2CAP info_rsp ident and state Information requests/responses are unbound to L2CAP channel. Patch fixes issue arising when two devices connects at the same time to each other. This way we do not process out of the context messages. We are safe dropping info_rsp since info_timer is left running. Signed-off-by: Andrei Emeltchenko Signed-off-by: Gustavo F. Padovan commit d1010240fa9aac93da56a683c1295e759ee69d10 Author: Gustavo F. Padovan Date: Fri Mar 25 00:39:48 2011 -0300 Bluetooth: Move bt_accept_enqueue() to outside __l2cap_chan_add bt_accept_enqueue() is not really a channel action, so do it outside. This patch is part of a set of patches to create an struct l2cap_chan to have a clear separation between the struct sock and the L2CAP channel stuff. Signed-off-by: Gustavo F. Padovan commit f3dd4f0f586b3a70734820b68c69985363e2d798 Author: Gustavo F. Padovan Date: Thu Mar 24 20:14:16 2011 -0300 Bluetooth: Remove unused struct l2cap_conn item Signed-off-by: Gustavo F. Padovan commit ce85ee13e6b5d078f4a6c3b02ba7cd0fa140c552 Author: Szymon Janc Date: Tue Mar 22 13:12:23 2011 +0100 Bluetooth: Enable support for out of band association model If remote side reports oob availability or we are pairing initiator use oob data for pairing if available. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 2763eda6ccaf126633bb3180f440c8f3589f0679 Author: Szymon Janc Date: Tue Mar 22 13:12:22 2011 +0100 Bluetooth: Add add/remove_remote_oob_data management commands This patch adds commands to add and remove remote OOB data to the managment interface. Remote data is stored in kernel and can be used by corresponding HCI commands and events when needed. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit c35938b2f56547ee77b5a038fe0db394aeac59bb Author: Szymon Janc Date: Tue Mar 22 13:12:21 2011 +0100 Bluetooth: Add read_local_oob_data management command This patch adds a command to read local OOB data to the managment interface. The command maps directly to the Read Local OOB Data HCI command. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 8fce6357a9e72c4c9c846f9951895954bfb34ad1 Author: Szymon Janc Date: Tue Mar 22 13:12:20 2011 +0100 Bluetooth: Allow for NULL data in mgmt_pending_add Since index is in mgmt_hdr it is possible to have mgmt command with no parameters that still needs to add itself to pending list. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit c68fb7ff29622a7db8264f939f94e37330c27080 Author: Szymon Janc Date: Tue Mar 22 13:12:19 2011 +0100 Bluetooth: Rename cmd to param in pending_cmd This field holds not whole command but only command specific parameters. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit e0e185efbad442a659657c152a9cd9b3fdcb43f2 Author: Szymon Janc Date: Mon Mar 21 14:20:05 2011 +0100 Bluetooth: Fix checkpatch error in cmtp.h Do not use C99 // comments. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit ffd13320aa96e07f3048ebdcc603aaf38bed0c47 Author: Szymon Janc Date: Mon Mar 21 14:20:04 2011 +0100 Bluetooth: Use #include instead of As warned by checkpatch.pl, use #include instead of Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 58aac468be411f2a9b4a28f2ed8e6e2a0db04267 Author: Szymon Janc Date: Mon Mar 21 14:20:03 2011 +0100 Bluetooth: Do not use assignments in IF conditions Fix checkpatch warnings concerning assignments in if conditions. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 17f09a7e4ec5dd6a0d96498da6bf78762fba4468 Author: Szymon Janc Date: Mon Mar 21 14:20:01 2011 +0100 Bluetooth: Fix checkpatch errors, code style issues and typos in hidp Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 8c20aa9ffc5a5ef52b6148e905671a8d12b40c87 Author: Szymon Janc Date: Mon Mar 21 14:19:59 2011 +0100 Bluetooth: Use #include instead of As warned by checkpatch.pl, use #include instead of Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 3aad75a128e2f2b8da31de1df4b9b9b4a8f65c66 Author: Szymon Janc Date: Mon Mar 21 14:19:58 2011 +0100 Bluetooth: Fix checkpatch errors and some code style issues in bnep Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit a3d9bd4c00f13defd4c0fdcf8b47f8764a69e54d Author: Szymon Janc Date: Mon Mar 21 14:19:57 2011 +0100 Bluetooth: Opencode macros in bnep/core.c BNEP_RX_TYPES and INCA macros have only one user each and don't provide any benefits compared to opencoding them. Signed-off-by: Szymon Janc Signed-off-by: Gustavo F. Padovan commit 2c6d1a2eec5c49793c6760546d05515ce1b76881 Author: Gustavo F. Padovan Date: Wed Mar 23 14:38:32 2011 -0300 Bluetooth: Improve error message on wrong link type Signed-off-by: Gustavo F. Padovan commit b0d2199d6ff9f788b324fe54b1f783aff83502c4 Author: Gustavo F. Padovan Date: Tue Mar 22 18:06:49 2011 -0300 Bluetooth: Remove unused struct item num in struct l2cap_chan_list isn't used anywhere. Signed-off-by: Gustavo F. Padovan commit b312b161ecb833b1bce5c4a97853f4a4f40c7901 Author: Johan Hedberg Date: Wed Mar 16 14:29:37 2011 +0200 Bluetooth: mgmt: Add support for setting the local name This patch adds a new set_local_name management command as well as a local_name_changed management event. With these user space can both change the local name as well as monitor changes to it by others. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit dc4fe30b8675033e538e2dea50be8af9c75f1b6a Author: Johan Hedberg Date: Wed Mar 16 14:29:36 2011 +0200 Bluetooth: mgmt: Add local name information to read_info reply This patch adds the name of the adapter to the reply of the read_info management command. The management messages reserve 249 bytes for the name instead of 248 (like in the HCI spec) so that there is always a guarantee that it is nul-terminated. That way it can safely be passed onto string manipulation functions. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit 1f6c6378c59f3ddac9ed89a68ccefe2611300c09 Author: Johan Hedberg Date: Wed Mar 16 14:29:35 2011 +0200 Bluetooth: Add define for the maximum name length on HCI level This patch adds a clear define for the maximum device name length in HCI messages and thereby avoids magic numbers in the code. Signed-off-by: Johan Hedberg Signed-off-by: Gustavo F. Padovan commit f0681a68dd3a32699891cd1de93459aee5af7728 Author: Gustavo F. Padovan Date: Wed Mar 16 21:06:52 2011 -0300 Bluetooth: remove unnecessary function declaration hci_notify() doesn't need declaration first. Signed-off-by: Gustavo F. Padovan commit c0951cbcfd7142003bc683046ef78a53c66d3265 Author: David S. Miller Date: Thu Mar 31 04:54:27 2011 -0700 ipv4: Use flowi4_init_output() in udp_sendmsg() Signed-off-by: David S. Miller commit 1bba6ffeeb44480ddbdda912cc85ad2cfd4725ae Author: David S. Miller Date: Thu Mar 31 04:54:08 2011 -0700 ipv4: Use flowi4_init_output() in cookie_v4_check() Signed-off-by: David S. Miller commit ef164ae3563bf4d291b6f75ca2e120b17d606963 Author: David S. Miller Date: Thu Mar 31 04:53:51 2011 -0700 ipv4: Use flowi4_init_output() in raw_sendmsg() Signed-off-by: David S. Miller commit 538de0e01f1ca3568ad03877ff297c646dd8ad23 Author: David S. Miller Date: Thu Mar 31 04:53:37 2011 -0700 ipv4: Use flowi4_init_output() in ip_send_reply() Signed-off-by: David S. Miller commit e79d9bc7ea76e08fc24d7adaad8b6a821d1624c3 Author: David S. Miller Date: Thu Mar 31 04:53:20 2011 -0700 ipv4: Use flowi4_init_output() in inet_connection_sock.c Signed-off-by: David S. Miller commit 94b92b88344641dbeadd2ef371549b7663a48fb1 Author: David S. Miller Date: Thu Mar 31 04:52:59 2011 -0700 ipv4: Use flowi4_init_output() in net/route.h Signed-off-by: David S. Miller commit 83229aa5e2c242163599266a686483e3b91ec07e Author: David S. Miller Date: Thu Mar 31 04:52:14 2011 -0700 net: Add helper flowi4_init_output(). On-stack initialization via assignment of flow structures are expensive because GCC emits a memset() to clear the entire structure out no matter what. Add a helper for ipv4 output flow key setup which we can use to avoid the memset. Signed-off-by: David S. Miller commit 0a5c047507aaaf00519921336d19c0f8f5f9f363 Author: Eric Dumazet Date: Thu Mar 31 01:51:35 2011 -0700 fib: add __rcu annotations Add __rcu annotations and lockdep checks. Add const qualifiers node_parent() and node_parent_rcu() can use rcu_dereference_index_check() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ab392d2d6d4e2e50502985eead545b44ee58802c Author: Javier Martinez Canillas Date: Mon Mar 28 16:27:31 2011 +0000 drivers/net: Remove IRQF_SAMPLE_RANDOM flag from network drivers The IRQF_SAMPLE_RANDOM flag is marked as deprecated and will be removed. Every input point to the kernel's entropy pool have to better document the type of entropy source it is. drivers/char/random.c now implements a set of interfaces that can be used for devices to collect enviromental noise. IRQF_SAMPLE_RANDOM will be replaced with these add_*_randomness exported functions. Network drivers are not a good source of entropy. They use as a source of entropy essentially a remote host. Which means that the source of entropy can be potentially controlled by an attacker. Also, with heavy workloads the entropy decreases due to less hardware interrupts happening thanks to irq mitigation and NAPI. If a system relies in its network interface as a entropy source it has a false sense of security. Systems that don't have devices whose drivers are good sources of entropy, should either use a hardware random number generator or feed the kernel's entropy pool from userspace using other sources of entropy such as EGD, video_entropyd, timer_entropyd and audio-entropyd. Signed-off-by: Javier Martinez Canillas Signed-off-by: David S. Miller commit b3abfbd2951102f5f5b8fe251a672e5223ac972b Author: Roopa Prabhu Date: Tue Mar 29 20:36:07 2011 +0000 enic: Add support for PORT_REQUEST_PREASSOCIATE_RR Current enic code only supports ASSOCIATE and DISASSOCIATE port profile operations. This patch adds enic support for port profile PORT_REQUEST_PREASSOCIATE_RR operation. The VIC adapter (8021qbh) is capable of handling port profile requests done in two steps namely PREASSOCIATE_RR and ASSOCIATE today. The motivation to support PREASSOCIATE_RR comes mainly from its use as an optimization during VM migration ie, to do resource reservation on destination host before resources on source host are released. PREASSOCIATE_RR is a VDP operation and according to the latest at IEEE, 8021qbh will also need to support VDP commands. In addition to handling the new PORT_REQUEST_PREASSOCIATE_RR operation this patch also does the below: - Introduces handlers for PORT_REQUEST operations - Moves most of the port profile handling code to new files enic_pp.[ch] - Uses new fw devcmds for port profile operations Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: Christian Benvenuti Signed-off-by: David S. Miller commit 756462f3434ec4807a61f884d59358092a03fc15 Author: Roopa Prabhu Date: Tue Mar 29 20:36:02 2011 +0000 enic: Cleanups in port profile helper code This patch does the following: - Introduces a new macro VIC_PROVINFO_ADD_TLV - Adds a new OS type in vic_generic_prov_os_type - Changes some vic_provinfo* helper routine args to constants Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: Christian Benvenuti Signed-off-by: David S. Miller commit 18714ff8de7a000e7642561cabaf8ace8d082e9f Author: Roopa Prabhu Date: Tue Mar 29 20:35:56 2011 +0000 enic: Add wrapper routines for new fw devcmds for port profile handling This patch adds wrapper routines to new port profile related fw devcmds and removes the old ones Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: Christian Benvenuti Signed-off-by: David S. Miller commit 9085fd09859fafbde17380b93d317a13c23c39af Author: Roopa Prabhu Date: Tue Mar 29 20:35:51 2011 +0000 enic: Add support for new fw devcmds for port profile handling This patch introduces new fw devcmds for port profile handling. These new commands are similar to the current fw commands for port profile handling. The only difference being that the new commands split the existing port profile handling devcmds into multiple fw commands, giving the driver finer control over port profile operations. Signed-off-by: Roopa Prabhu Signed-off-by: David Wang Signed-off-by: Christian Benvenuti Signed-off-by: David S. Miller commit 4562b2fe1ebc7c547746660f735ff9af964f28ad Author: Harvey Harrison Date: Mon Mar 28 17:08:59 2011 +0000 via-rhine: trivial sparse annotation in vlan_tci helper Noticed by sparse: drivers/net/via-rhine.c:1706:16: warning: cast to restricted __be16 Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 19eccc2bc6ad3b1c81d0826a77955500be972504 Author: Alexey Dobriyan Date: Sun Mar 27 02:58:35 2011 +0000 kstrtox: convert drivers/isdn/ Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit dffc6b2432ea89af24a36e8100b3eeea09db67e5 Author: Joe Perches Date: Fri Mar 25 14:21:22 2011 +0000 smsc911x: Use pr_fmt, netdev_, and netif_ Use the more common/verbose logging styles. Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt Remove smsc911x prefixes from format strings. Rename SMSC_WARNING to SMSC_WARN. Remove DPRINTK macro. Use netif_ in SMSC_ macros. Convert NETIF_MSG_ uses to lower case. Add no_printk verification in non-debug uses. Add pdata to SMSC_ uses to avoid hidden variable uses. Convert printks to netdev_ as appropriate. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit e8c37c80006c99a00aa70a783023d616c166a04b Author: Sathya Perla Date: Mon Mar 21 20:49:29 2011 +0000 be2net: remove one useless line Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 0f4a682882171d81c9e3c33c1094b87a197c09fa Author: Sathya Perla Date: Mon Mar 21 20:49:28 2011 +0000 be2net: cancel be_worker in be_shutdown() even when i/f is down As the be_worker() workqueue is scheduled in be_probe() it must be canceled unconditionally in be_shutdown(). Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 16da8250df36547269d20a3d53daa11c79f59637 Author: Sathya Perla Date: Mon Mar 21 20:49:27 2011 +0000 be2net: remove redundant code in be_worker() Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 15d721847f56f32fe9fd43d34db1b32b13de78dc Author: Sathya Perla Date: Mon Mar 21 20:49:26 2011 +0000 be2net: parse vid and vtm fields of rx-compl only if vlanf bit is set Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit ac6a0c4aab16070d7d55f49a52de33f716ae1d3d Author: Sathya Perla Date: Mon Mar 21 20:49:25 2011 +0000 be2net: refactor code that decides adapter->num_rx_queues The code has been refactored to not set num_rx_qs inside be_enable_msix(). num_rx_qs is now set at the time of queue creation based on the number of available msix vectors. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 311fddc7569d7a3340d61de262cff11685060f74 Author: Somnath Kotur Date: Wed Mar 16 21:22:43 2011 +0000 be2net: Support for FAT dump retrieval using ethtool --register-dump option Signed-off-by: Somnath Kotur Signed-off-by: David S. Miller commit 01dc7fec4025f6bb72b6b98ec88b375346b6dbbb Author: hayeswang Date: Mon Mar 21 01:50:28 2011 +0000 net/r8169: support RTL8168E Support RTL8168E/RTL8111E. Signed-off-by: Hayes Wang Signed-off-by: David S. Miller commit 4804b3b3aec163b59328140d6c858c3ed1c85992 Author: hayeswang Date: Mon Mar 21 01:50:29 2011 +0000 net/r8169: add a new chip for RTL8168DP Add a new chip for RTL8168DP. Signed-off-by: Hayes Wang Signed-off-by: David S. Miller commit 36a0e6c2d6f3eb59b7a5ddfda63d252a42dba189 Author: hayeswang Date: Mon Mar 21 01:50:30 2011 +0000 net/r8169: add a new chip for RTL8105 Add a new chip for RTL8105 whose settings are the same with RTL_GIGA_MAC_VER_30. Signed-off-by: Hayes Wang Signed-off-by: David S. Miller commit 4e700bcdd89a5592a5a991bf3e78904de1140611 Merge: 6aba74f a84b50c Author: David S. Miller Date: Wed Mar 30 21:37:29 2011 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 176fcc5c5f0131504a55e1e1d35389c49a9177c2 Author: Arnaldo Carvalho de Melo Date: Wed Mar 30 15:30:43 2011 -0300 perf script: Add more documentation about the -f/--fields parameters Using the commit log for 2c9e45f. Cc: David Ahern Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Mike Galbraith Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Stephane Eranian Cc: Tom Zanussi LKML-Reference: Signed-off-by: Arnaldo Carvalho de Melo commit 83860c594f65945b1a2c99e84338e1145cd34890 Author: Felix Fietkau Date: Wed Mar 23 20:57:33 2011 +0100 ath9k_hw: remove pCap->tx_triglevel_max It has the same purpose (and value) as ah->config.max_txtrig_level Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 340d0ea774d4ff0038a068e14340b59c5a1fce2c Author: Felix Fietkau Date: Wed Mar 23 20:57:32 2011 +0100 ath9k_hw: remove ATH9K_HW_CAP_ENHANCEDPM It is not used anywhere Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6de12a1bcef0145436e815d30a3d48b9fadb199d Author: Felix Fietkau Date: Wed Mar 23 20:57:31 2011 +0100 ath9k_hw: remove pCap->keycache_size Similar to the number of tx queue, the number of keycache entries depends on the chip and shouldn't be messed with based on EEPROM data. Remove this field and stick to using AR_KEYTABLE_SIZE Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c429bdcf8fe033f04830a960e07c13a01f631499 Author: Felix Fietkau Date: Wed Mar 23 20:57:30 2011 +0100 ath9k_hw: remove pCap->reg_cap It is not used anywhere and seems pointless Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 0db156e9648e69c34e8e88328358a26611fd71e3 Author: Felix Fietkau Date: Wed Mar 23 20:57:29 2011 +0100 ath9k_hw: remove ah->config.ht_enable It is only used in one place, and the device id check that it's based on can be moved there as well. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f4c607dc53ece4ac15afed163292425efa060775 Author: Felix Fietkau Date: Wed Mar 23 20:57:28 2011 +0100 ath9k_hw: remove pCap->total_queues The EEPROM contains a field that can restrict the number of hardware queues, however this is not only useless (all the known chips contain the same number of hardware queues), but also potentially dangerous in case of a misprogrammed EEPROM (could trigger driver crashes), so let's just ignore it completely. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit a9b6b2569cf107fe541381e82faa0a3c47a9a7fd Author: Felix Fietkau Date: Wed Mar 23 20:57:27 2011 +0100 ath9k_hw: turn a few big macros into functions RF_BANK_SETUP, REG_WRITE_RF_ARRAY and REG_WRITE_ARRAY are way too big, so they shouldn't be inlined at every single callsite, especially since they can easily be turned into real functions. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ca7a4deb4a1a87dbdc6e7cab0d1022a535204226 Author: Felix Fietkau Date: Wed Mar 23 20:57:26 2011 +0100 ath9k_hw: replace REG_READ+REG_WRITE with REG_RMW It's easier to read and it slightly decreases code size Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 845e03c93dda2c00ffb5c68a1f7c8efc412d7c1a Author: Felix Fietkau Date: Wed Mar 23 20:57:25 2011 +0100 ath9k_hw: add a new register op for read-mask-write Reduces the number of calls to register ops. On MIPS this reduces the ath9k_hw binary size from 321k down to 310k Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f9f84e96f6d642aa7b337c22cbb7d6f936039fda Author: Felix Fietkau Date: Wed Mar 23 20:57:24 2011 +0100 ath9k_hw: embed the ath_ops callbacks in the ath_hw struct With this change, loading the address to a register read/write function costs only one pointer dereference instead of two. On MIPS this reduces ath9k_hw binary size from 326k down to 321k. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit ec15e68ba6a505631016f230899bafbb7b8cd0d6 Author: Jouni Malinen Date: Wed Mar 23 15:29:52 2011 +0200 cfg80211: Add nl80211 event for deletion of a station entry Indicate an NL80211_CMD_DEL_STATION event when a station entry in mac80211 is deleted to match with the NL80211_CMD_NEW_STATION event that is used when the entry was added. This is needed, e.g., to allow user space to remove a peer from RSN IBSS Authenticator state machine to avoid re-authentication and re-keying delays when the peer is not reachable anymore. Signed-off-by: Jouni Malinen Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit cfdc9a8bb8d90c6aa212a5a881862599673c443d Author: Jouni Malinen Date: Wed Mar 23 14:52:19 2011 +0200 ath9k: Support RSN IBSS Add support for using RSN IBSS with ath9k. For now, this uses software crypto for group addressed frames in RSN IBSS, but that may be optimized in the future by extending the key cache design to support per-STA RX GTK. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit c944daf46a8cfa50d6c1f54d4842180d0384c594 Author: Felix Fietkau Date: Tue Mar 22 21:54:19 2011 +0100 ath9k: fix stuck beacon detection Stuck beacon detection is supposed to trigger when 9 consecutive beacons could not be sent by the hardware. When the driver runs only one active AP mode interface, it still configures the hardware beacon timer for 4 (ATH_BCBUF) beacon slots slots, which causes stuck beacon detection to be reset if ath9k_hw_stoptxdma clears the stuck frames between SWBA intervals. Fix this by not resetting the missed beacon count for empty slots and multiplying the threshold not by the maximum number of beacon slots but by the configured number of beacon interfaces. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 87c510fe2d4f193cd4eb518364a2dfa5059b1218 Author: Felix Fietkau Date: Tue Mar 22 21:54:18 2011 +0100 ath9k: trigger nfcal only after multiple missed beacons in AP mode Single missed (i.e. not transmitted) beacons in AP mode are not very rare and not necessarily an indicator of strong interference, so only trigger noise floor recalibration when multiple consecutive beacons could not be transmitted. Signed-off-by: John W. Linville commit dd347f2fb2ddb20a80e9a8285252bf208ab91398 Author: Felix Fietkau Date: Tue Mar 22 21:54:17 2011 +0100 ath9k: fix beacon timer handling issues AP mode beacon timers in ath9k are configured in milliseconds, which breaks when increasing ATH_BCBUF to 8 instead of 4 (due to rounding errors). Since the hardware timers are actually configured in microseconds, it's better to let the driver use that unit directly. To be able to do that, the beacon interval parameter abuse for passing certain flags needs to be removed. This is easy to do, because those flags are completely unnecessary anyway. ATH9K_BEACON_ENA is ignored, ATH9K_BEACON_RESET_TSF can be replaced with calling ath9k_hw_reset_tsf from the driver directly. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f39de992540cf68cc865498242f963f70f7e97b3 Author: Vasily Khoruzhick Date: Wed Mar 16 16:41:46 2011 +0200 libertas_spi: Add support for suspend/resume Add support for suspend/resume in if_spi. Signed-off-by: Vasily Khoruzhick Acked-by: Dan Williams Signed-off-by: John W. Linville commit 5e6e3a92b9a4c9416b17f468fa5c7fa2233b8b4e Author: Bing Zhao Date: Mon Mar 21 18:00:50 2011 -0700 wireless: mwifiex: initial commit for Marvell mwifiex driver This driver adds WiFi support for Marvell 802.11n based chipsets with SDIO interface. Currently only SD8787 is supported. More chipsets will be supported later. drivers/net/wireless/mwifiex/ Signed-off-by: Nishant Sarmukadam Signed-off-by: Amitkumar Karwar Signed-off-by: Kiran Divekar Signed-off-by: Bing Zhao Signed-off-by: Yogesh Ashok Powar Signed-off-by: Marc Yang Signed-off-by: Ramesh Radhakrishnan Signed-off-by: Frank Huang Signed-off-by: John W. Linville commit 903946e6e21ef4dd678acafb8881cabde9182caf Author: Luis R. Rodriguez Date: Mon Mar 21 17:27:35 2011 -0700 ath9k_hw: remove AR9485 1.0 support Only AR9485 1.1 was sold. This debloats the driver by ~14 KiB. text data bss dec hex filename 300413 624 1056 302093 49c0d drivers/net/wireless/ath/ath9k/ath9k_hw.ko text data bss dec hex filename 310285 624 1056 311965 4c29d drivers/net/wireless/ath/ath9k/ath9k_hw-old.ko $ du -b ath9k_hw* 6210541 ath9k_hw.ko 6225089 ath9k_hw-old.ko Cc: Bill Wu Cc: Paul Shaw Cc: Forbes Tsai Cc: Jesmine Chen Cc: Marvian Chen Cc: Vivek Natarajan Cc: Bernadette Yetso Cc: Sarvesh Shrivastava Acked-by: Yi-Chen Su Acked-by: Jeffrey Chung Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit be7974aa105dc47bb25013016d1fcad17da17783 Author: Helmut Schaa Date: Mon Mar 21 15:07:55 2011 +0100 mac80211: Minor optimization in tx status handling ieee80211_tx_status iterates over all tx rates the driver reports back in order to 1) mark tx rates as invalid if the driver cannot have tried that rate 2) find the actually used tx rate for the final retransmission By leaving the for loop when the first invalid rate index is found we can move the rates_idx assignment after the loop and therefore save a few assignments and conditionals. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit a9cbe96d19861755680a712b709cccac5dc6aca8 Author: Felix Fietkau Date: Sat Mar 19 13:55:43 2011 +0100 ath9k: remove the pending frames ath_txq_schedule workaround This workaround called ath_txq_schedule whenever there were still pending frames for a queue, but the queue depth was zero. Because of its its high false positive probability (e.g. with paused TIDs) and because it is in the way of other pending work (AP powersave fixes), it is better to remove this code entirely. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 598cdd5246ea158310942699e5008ac7f687ad62 Author: Felix Fietkau Date: Sat Mar 19 13:55:42 2011 +0100 ath9k_hw: force rx chainmask to 7 on AR9100 Most AR9100 devices already have a chainmask of 7 (three antennas), however on the ones that don't (rx and tx chainmask set to 5), problems with IQ mismatch calibration have been observed. This shows up as tx queue hangs (and subsequent hardware resets) if traffic is sent during this type of calibration. Forcing the rx chainmask to 7 fixes the calibration issues with no apparent negative side effects on throughput and stability. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit f171760c558946c7a2e0ee310dfb968f9d4853c6 Author: Felix Fietkau Date: Sat Mar 19 13:55:41 2011 +0100 ath9k_hw: enable a BlockAck related fixup specific to AR9100 Fixes interop issues with aggregation in combination with multi-BSSID Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6de66dd963ddd669667a81a2401f2fd6472ff55c Author: Felix Fietkau Date: Sat Mar 19 13:55:40 2011 +0100 ath9k: add support for overriding LED pin and GPIO settings from platform data Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 6fb1b1e18fe3d141c54182c5d5b3af823bed455f Author: Felix Fietkau Date: Sat Mar 19 13:55:39 2011 +0100 ath9k: add support for overriding the MAC address through platform data On some devices the correct MAC address is not in the EEPROM data, but stored somewhere else. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 691680b8335fa8995b190676f53e3bcef6477b4a Author: Felix Fietkau Date: Sat Mar 19 13:55:38 2011 +0100 ath9k: add an interface for overriding the value of specific GPIO pins Some devices control antenna settings or other things through GPIO pins of the wireless interface. Add a debugfs interface for changing those and keeping them set across card resets. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit c70cab1a45d56395db03957f6504c6b613bece5b Author: Felix Fietkau Date: Sat Mar 19 13:55:37 2011 +0100 ath9k: remove unnecessary debugfs return code checks Since the ath9k debugfs directory is cleaned up by debugfs_remove_recursive, there's no point in checking the return code of every single debugfs create line. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 716b1bf3c5040f2303d6d1d0dfee6d8851cedc9d Author: Larry Finger Date: Thu Mar 17 21:53:01 2011 -0500 rtlwifi: rtl8192c{e,u}: Remove some extraneous casts on memcpy commands Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit a0e7c6cfe2a04af450274638845802b5c384e8df Author: Nishant Sarmukadam Date: Thu Mar 17 11:58:49 2011 -0700 mwl8k: Queue ADDBA requests in respective data queues Queue ADDBA requests in respective data queues to avoid ADDBA requests and the the related data packets (to the same ra/tid) queued in the hardware to be sent out asynchronously. Signed-off-by: Nishant Sarmukadam Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 170335432ad36584a6d24fc1fd903024d221ef55 Author: Nishant Sarmukadam Date: Thu Mar 17 11:58:48 2011 -0700 mwl8k: Check outgoing rate for a station to decide if ampdu can be created If the outgoing packet rate to a particular HT station is <=6.5 Mbps, do not attempt to create an ampdu. Also, if the outgoing rate is legacy rate, do not create an ampdu. Signed-off-by: Nishant Sarmukadam Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 3aefc37ee789188f0d4488cae04ff618f4c4ddf6 Author: Nishant Sarmukadam Date: Thu Mar 17 11:58:47 2011 -0700 mwl8k: Handle the watchdog event from the firmware When an ampdu stream is on, if the firmware rate adaptation logic decides that the outgoing packet rate to the station needs to go below 6.5Mbps (non HT rate), it sends an event indicating that the ampdu stream needs to be destroyed. Handle this event in the driver and destroy the ampdu stream so that the rate can go below 6.5Mbps Signed-off-by: Nishant Sarmukadam Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 65f3ddcd08fe24490359274a8c9bf526e81357a5 Author: Nishant Sarmukadam Date: Thu Mar 17 11:58:46 2011 -0700 mwl8k: Initiate BA sessions Specifically, handle ampdu_action and attempt to start a BA session on receiving the first qos packet from mac80211 for transmission to a HT sta. While the BA session is being created, all the packets belonging to that stream will be dropped to prevent sequence number mismatch at the recipient. Contains contributions from: Yogesh Powar Pradeep Nemavat Brian Cavagnolo Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit ac109fd0427008e5b55e0e52e59c364de6d686fe Author: Brian Cavagnolo Date: Thu Mar 17 11:58:45 2011 -0700 mwl8k: add internal API for managing AMPDU streams In particular, we can now add, start, lookup, and remove streams. Based on work by Nishant Sarmukadam and Pradeep Nemavat . Signed-off-by: Pradeep Nemavat Signed-off-by: Nishant Sarmukadam Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit e600707b021efdc109e7becd467798da339ec26d Author: Brian Cavagnolo Date: Thu Mar 17 11:58:44 2011 -0700 mwl8k: differentiate between WMM queues and AMPDU queues We now have two different kinds of queues. And the number of AMPDU queues may vary. So we must be clear about which queues we are dealing with. Note that when we report the number of queues to mac80211, we only report the WMM queues. Based on work by Yogesh Powar . Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 5faa1aff08ef8d82b98ac2dfd7beb62ae6eda5e5 Author: Nishant Sarmukadam Date: Thu Mar 17 11:58:43 2011 -0700 mwl8k: add support for block ack commands Signed-off-by: Pradeep Nemavat Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 8a7a578c2e3ac463a17fe30b11ada0509658a952 Author: Brian Cavagnolo Date: Thu Mar 17 11:58:42 2011 -0700 mwl8k: update to ap firmware API version 2 Firmware APIv2 adds the following enhancements: -- capabilities are reported by the firmware -- API supports up to 8 dedicated AMPDU streams -- optional packet timestamping and expiration can be enabled. Specifically, packets that are queued in firmware for longer than 500ms will be dropped if this option is used. Based on work by "Nishant Sarmukadam" Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit 73b46320209e9fe0d65aba1b8c21489278047574 Author: Brian Cavagnolo Date: Thu Mar 17 11:58:41 2011 -0700 mwl8k: refactor in preparation for APIv2 update Specifically, APIv2 will specify a variable number of AMPDU queues in the MWL8K_CMD_GET_HW_SPEC. So init the tx queues after MWL8K_CMD_GET_HW_SPEC for ap fw. Also, we make it safe to deinit queues that have not been init'd. This happens if the mwl8k_get_hw_spec_ap routine fails, for example. Signed-off-by: Nishant Sarmukadam Signed-off-by: Brian Cavagnolo Signed-off-by: John W. Linville commit c835b21405fa551cd5af2c7bfe1c3ae129c5f8ef Author: Johannes Berg Date: Tue Mar 15 23:17:01 2011 +0100 mac80211: add comment about reordering Took me a minute to figure this out, maybe it's better documented... Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e7fc63388def06d2d1bdb6916748c92c037a42c6 Author: Rajkumar Manoharan Date: Tue Mar 15 23:11:35 2011 +0530 ath9k_hw: Speedup register ops for HTC driver Fine-tuning register write operation and avoid unnecessay delays for ath9k_htc driver, saves hw reset time which improves scanning time and also solves one of the following scenario. Sometimes the ACK is sent by STA for assoc response is not seen at AP side. So the AP continues to send retry assoc responses. At the STA side, since the assoc response was already forwarded to mac80211, it proceeded to channel change which in turns does chip reset. In most of the cases the chip reset was completed before max retries are reached at AP side. Hence STA can able to ACK the retried frames again. But in clear environment these retries are completed within shortspan of time. Since ath9k_htc consumes more time for hw reset, this latency is causing dissociation by AP due to max reties are reached. This issue was originally reported with Cisco Aironet 1250 AP in HT40 mode in noise free environment. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit b0a9ede228175c25f76314a028d305fd5b2de427 Author: Rajkumar Manoharan Date: Tue Mar 15 19:55:38 2011 +0530 ath: Speedup key set/reset ops for HTC driver By enabling buffered register write for ath9k_htc driver avoids unnecessary dissociation while rekeying phase under heavy traffic exchange. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 81544026e4cecb85a8b727d5f64cb3c8a8cb64a3 Author: Rajkumar Manoharan Date: Tue Mar 15 19:55:36 2011 +0530 ath9k_hw: Fix throughput drops in HT40 mode for AR9287 chips Doing adc gain calibration for AR9287 chips is causing throughput drops in HT40 mode. Remove ADC Gain from supported calibration list. Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 6d64ab7f9240e3201fde3fd16ce4227bd795d2ab Author: Rajkumar Manoharan Date: Tue Mar 15 19:55:35 2011 +0530 ath9k_htc: Fix LED pin for AR9287 HTC device Signed-off-by: Rajkumar Manoharan Signed-off-by: John W. Linville commit 22dd2fd283ea96b4d45185d3e861ef46005082f4 Author: Dan Carpenter Date: Tue Mar 15 10:03:24 2011 +0300 iwlwifi: remove duplicate initialization in __iwl_down() We initialize exit_pending twice. It's the second initialization which is correct. That was added in d745d472af "iwlwifi: cancel scan when down the device". Signed-off-by: Dan Carpenter Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 2c9e45f7a287384e1382932597e41a9a567811ba Author: David Ahern Date: Thu Mar 17 10:03:21 2011 -0600 perf script: If type not given fields apply to all event types Allow: perf script -f to be equivalent to: perf script -f trace: -f sw: -f hw: i.e., the specified fields apply to all event types if the type string is not given. The field (-f) arguments are processed in the order received. A later usage can reset a prior request. e.g., -f trace: -f comm,tid,time,sym The first -f suppresses trace events (field list is ""), but then the second invocation sets the fields to comm,tid,time,sym. In this case a warning is given to the user: "Overriding previous field request for all events." Alternativey, consider the order: -f comm,tid,time,sym -f trace: The first -f sets the fields for all events and the second -f suppresses trace events. The user is given a warning message about the override, and the result of the above is that only S/W and H/W events are displayed with the given fields. For the 'wildcard' option if a user selected field is invalid for an event type, a message is displayed to the user that the option is ignored for that type. For example: perf script -f comm,tid,trace 2>&1 | less 'trace' not valid for hardware events. Ignoring. 'trace' not valid for software events. Ignoring. Alternatively, if the type is given an invalid field is specified it is an error. For example: perf script -v -f sw:comm,tid,trace 2>&1 | less 'trace' not valid for software events. At this point usage is displayed, and perf-script exits. Finally, a user may not set fields to none for all event types. i.e., -f "" is not allowed. Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Paul Mackerras Cc: Peter Zijlstra Cc: linux-kernel@vger.kernel.org LPU-Reference: <1300377801-27246-1-git-send-email-daahern@cisco.com> Signed-off-by: David Ahern Signed-off-by: Arnaldo Carvalho de Melo commit 09ca132a8e469f87504899b4016c7517511887d0 Author: Daniel Kiper Date: Mon Mar 28 11:35:59 2011 +0200 xen/balloon: Move dec_totalhigh_pages() from __balloon_append() to balloon_append() git commit 9be4d4575906af9698de660e477f949a076c87e1 (xen: add extra pages to balloon) splited balloon_append() into two functions (balloon_append() and __balloon_append()) and left decrementation of totalram_pages counter in __balloon_append(). In this situation if __balloon_append() is called on i386 with highmem page referenced then totalhigh_pages is decremented, however, it should not. This patch corrects that issue and moves dec_totalhigh_pages() from __balloon_append() to balloon_append(). Now totalram_pages and totalhigh_pages are decremented simultaneously only when balloon_append() is called. Acked-by: Ian Campbell Acked-by: Daniel De Graaf Signed-off-by: Daniel Kiper Signed-off-by: Konrad Rzeszutek Wilk commit 83be7e52d46a5b3a9955a38a9597bf1de1851ea7 Author: Daniel Kiper Date: Mon Mar 28 11:34:10 2011 +0200 xen/balloon: Clarify credit calculation Move credit calculation to current_target() and rename it to current_credit(). Acked-by: Ian Campbell Acked-by: Daniel De Graaf Signed-off-by: Daniel Kiper Signed-off-by: Konrad Rzeszutek Wilk commit 4dfe22f5f24345511c378272189b7504d67767fb Author: Daniel Kiper Date: Mon Mar 28 11:33:18 2011 +0200 xen/balloon: Simplify HVM integration Simplify HVM integration proposed by Stefano Stabellini in 53d5522cad291a0e93a385e0594b6aea6b54a071. Acked-by: Ian Campbell Acked-by: Daniel De Graaf Signed-off-by: Daniel Kiper Signed-off-by: Konrad Rzeszutek Wilk commit a7f3c8f1da1050ad778c3a3930f07c63a5ec570b Author: Daniel Kiper Date: Mon Mar 28 11:32:31 2011 +0200 xen/balloon: Use PageHighMem() for high memory page detection Replace pfn < max_low_pfn by !PageHighMem() in increase_reservation(). It makes more clearer what is going on. Acked-by: Ian Campbell Acked-by: Daniel De Graaf Signed-off-by: Daniel Kiper Signed-off-by: Konrad Rzeszutek Wilk commit ae18cbfe9f147085426635763f1fe0c68f1071e2 Merge: 1d32188 cd25f8b Author: Ingo Molnar Date: Wed Mar 30 09:06:51 2011 +0200 Merge branch 'perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/core commit cd25f8bc2696664877b21d33b7994e12fa570919 Author: Lin Ming Date: Fri Mar 25 16:27:48 2011 +0800 perf probe: Add fastpath to do lookup by function name v3 -> v2: - Make pubname_search_cb more generic - Add fastpath to find_probes also v2 -> v1: - Don't compare file names with cu_find_realpath(...), instead, compare them with the name returned by dwarf_decl_file(sp_die) The vmlinux file may have thousands of CUs. We can lookup function name from .debug_pubnames section to avoid the slow loop on CUs. 1. Improvement data for find_line_range ./perf stat -e cycles -r 10 -- ./perf probe -k /home/mlin/vmlinux \ -s /home/mlin/linux-2.6 \ --line csum_partial_copy_to_user > tmp.log before patch applied ===================== 847,988,276 cycles 0.355075856 seconds time elapsed after patch applied ===================== 206,102,622 cycles 0.086883555 seconds time elapsed 2. Improvement data for find_probes ./perf stat -e cycles -r 10 -- ./perf probe -k /home/mlin/vmlinux \ -s /home/mlin/linux-2.6 \ --vars csum_partial_copy_to_user > tmp.log before patch applied ===================== 848,490,844 cycles 0.355307901 seconds time elapsed after patch applied ===================== 205,684,469 cycles 0.086694010 seconds time elapsed Acked-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Masami Hiramatsu Cc: Peter Zijlstra Cc: linux-kernel LKML-Reference: <1301041668.14111.52.camel@minggr.sh.intel.com> Signed-off-by: Lin Ming Signed-off-by: Arnaldo Carvalho de Melo commit 9d42a53e0f46505b39494041d514372235817e15 Author: Christoph Lameter Date: Sat Mar 12 12:51:12 2011 +0100 acpi throttling: Use this_cpu_has and simplify code current cpu With the this_cpu_xx we no longer need to pass an acpi structure to the msr management code. Simplifies code and improves performance. NOTE: This code is x86 specific (see #ifdef CONFIG_X86) but not under arch/x86. Signed-off-by: Christoph Lameter Acked-by: Tejun Heo Signed-off-by: Tejun Heo commit fe5042138b6fc60edde3b60025078884c2eb71ac Author: Christoph Lameter Date: Sat Mar 12 12:50:46 2011 +0100 x86: Use this_cpu_has for thermal_interrupt current cpu It is more effective to use a segment prefix instead of calculating the address of the current cpu area amd then testing flags. Signed-off-by: Christoph Lameter Acked-by: Tejun Heo Signed-off-by: Tejun Heo commit 349c004e3d31fda23ad225b61861be38047fff16 Author: Christoph Lameter Date: Sat Mar 12 12:50:10 2011 +0100 x86: A fast way to check capabilities of the current cpu Add this_cpu_has() which determines if the current cpu has a certain ability using a segment prefix and a bit test operation. For that we need to add bit operations to x86s percpu.h. Many uses of cpu_has use a pointer passed to a function to determine the current flags. That is no longer necessary after this patch. However, this patch only converts the straightforward cases where cpu_has is used with this_cpu_ptr. The rest is work for later. -tj: Rolled up patch to add x86_ prefix and use percpu_read() instead of percpu_read_stable(). Signed-off-by: Christoph Lameter Acked-by: Tejun Heo Signed-off-by: Tejun Heo commit 1d321881afb955bba1e0a8f50d3a04e111fcb581 Author: Cyrill Gorcunov Date: Mon Mar 28 00:46:11 2011 +0400 perf, x86: P4 PMU - clean up the code a bit No change on the functional level, just align the table properly. Signed-off-by: Cyrill Gorcunov Cc: Lin Ming LKML-Reference: <4D8FA213.5050108@openvz.org> Signed-off-by: Ingo Molnar commit cd00b1154d3c7d711e83c3c17b831aafe6377532 Author: Florian Tobias Schandinat Date: Sun Mar 27 03:36:00 2011 +0000 viafb: replace custom return values This patch replaces OK/FAIL by true/false which is simpler and saner. Signed-off-by: Florian Tobias Schandinat commit 7f980a06e4a9e3bb26db91da8f0e980b0786023a Author: Florian Tobias Schandinat Date: Sun Mar 27 02:54:32 2011 +0000 viafb: some small cleanup for global variables We do not need viafb_second{,_virtual}_{xres,yres} outside of viafbdev.c so move them there and eliminate the virtual ones where the only sane usage is done during initalization. Signed-off-by: Florian Tobias Schandinat commit 40bfc14f3250691dca6fcb00f791727e180a7f79 Author: Jamie Iles Date: Sun Mar 27 10:48:29 2011 +0800 crypto: picoxcell - fix possible status FIFO overflow The SPAcc's have 2 equally sized FIFO's - a command FIFO and a status FIFO. The command FIFO takes the requests that are to be performed and the status FIFO reports the results. It is possible to get into the situation where there are more free spaces in the command FIFO than the status FIFO if we don't empty the status FIFO quickly enough resulting in a possible overflow of the status FIFO. This can result in incorrect status being reported in the status FIFO. Make sure that when we are submitting requests the number of requests that have been dispatched but not yet popped from the status FIFO does not exceed the size of a single FIFO. Signed-off-by: Jamie Iles Signed-off-by: Herbert Xu commit 0475add3c27a43a6599fe6338f8fffe919a13547 Author: Brilly Wu Date: Sun Mar 27 10:45:00 2011 +0800 crypto: padlock - Add SHA-1/256 module for VIA Nano Add new SHA-1/256 module that never needs any fallback and just calls the PadLock hardware instruction supported from VIA Nano processors to implement the "update" and "final" function. They are respectively named "sha1_alg_nano" and "sha256_alg_nano", and will be used on any VIA Nano processor or the later ones. On VIA C7 CPU, the "sha1_alg" and "sha256_alg" modules will still be used as before. Signed-off-by: Brilly Wu Signed-off-by: Kary Jin Signed-off-by: Herbert Xu commit 7dfc2179ec7339a180e822a5af7eb1294da245cf Author: Kim Phillips Date: Wed Mar 23 21:23:36 2011 +0800 crypto: caam - de-CHIP-ify device tree compatibles - all the integration parameters have been captured by the binding. - the block name really uniquely identifies this hardware. Some advocate putting SoC names everywhere in case software needs to work around some chip-specific bug, but more precise SoC information already exists in SVR, and board information already exists in the top-level device tree node. Note that sometimes the SoC name is a worse identifier than the block version, as the block version can change between revisions of the same SoC. As a matter of historical reference, neither SEC versions 2.x nor 3.x (driven by talitos) ever needed CHIP references. Signed-off-by: Kim Phillips Cc: Kumar Gala Cc: Scott Wood Acked-off-by: Grant Likely Signed-off-by: Herbert Xu commit 6d00376ad15a931d4b148e52d80abc54173e9bf5 Author: Dan Carpenter Date: Wed Mar 23 21:21:53 2011 +0800 crypto: caam - ARRAY_SIZE() vs sizeof() ARRAY_SIZE() was intended here instead of sizeof(). sizeof() is four times larger than ARRAY_SIZE(). outstr is normally 256 chars so printing garbage to it could overfill the buffer and corrupt memory. Signed-off-by: Dan Carpenter Acked-by: Kim Phillips Signed-off-by: Herbert Xu commit cdc712d884cec0354d6899e7a329eee542ca2f7d Author: Dan Carpenter Date: Wed Mar 23 21:20:27 2011 +0800 crypto: caam - dereferencing ERR_PTR on allocation failure t_alg is an ERR_PTR here so we can't dereference it. Signed-off-by: Dan Carpenter Acked-by: Kim Phillips Signed-off-by: Herbert Xu commit 54e198d4c162b36ba864ecc658c829454074523f Author: Kim Phillips Date: Wed Mar 23 21:15:44 2011 +0800 crypto: caam - standardize device tree naming convention to utilize '-vX.Y' Help clarify that the number trailing in compatible nomenclature is the version number of the device, i.e., change: "fsl,p4080-sec4.0", "fsl,sec4.0"; to: "fsl,p4080-sec-v4.0", "fsl,sec-v4.0"; Signed-off-by: Kim Phillips Cc: Kumar Gala Cc: Steve Cornelius Signed-off-by: Herbert Xu commit 8e8ec596e6c0144e2dd500a57ee23dde9684df46 Author: Kim Phillips Date: Sun Mar 13 16:54:26 2011 +0800 crypto: caam - Add support for the Freescale SEC4/CAAM The SEC4 supercedes the SEC2.x/3.x as Freescale's Integrated Security Engine. Its programming model is incompatible with all prior versions of the SEC (talitos). The SEC4 is also known as the Cryptographic Accelerator and Assurance Module (CAAM); this driver is named caam. This initial submission does not include support for Data Path mode operation - AEAD descriptors are submitted via the job ring interface, while the Queue Interface (QI) is enabled for use by others. Only AEAD algorithms are implemented at this time, for use with IPsec. Many thanks to the Freescale STC team for their contributions to this driver. Signed-off-by: Steve Cornelius Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 95d517cfce023eb24c5363ab82377146bd659816 Author: Florian Tobias Schandinat Date: Sat Mar 26 23:39:07 2011 +0000 viafb: gather common good, old VGA initialization in one place This patch moves all unprotected VGA initialization in one table and provides some documentation for those values. Signed-off-by: Florian Tobias Schandinat commit bea02e45874a5d18127b0779740c4fd5b3e7e44a Author: Florian Tobias Schandinat Date: Sat Mar 26 02:29:18 2011 +0000 viafb: add engine clock support This patch adds support for enabling and configuring the engine on VIAs IGPs. This is the main clock used for everything but pixel output. Signed-off-by: Florian Tobias Schandinat commit 7eaa6a5e964f1ab02d849bda36950c0d30be8ce2 Author: Wey-Yi Guy Date: Tue Mar 22 08:05:38 2011 -0700 iwlagn: remove deprecated module parameters Number of deprecated module parameters need to be remove for 2.6.40 kernel Signed-off-by: Wey-Yi Guy commit f7d046f91bd165e747b9a95d089a4168b6f9796a Author: Wey-Yi Guy Date: Tue Mar 22 08:05:37 2011 -0700 iwlagn: remove reference to 3945 and 4965 After driver split, remove the unused reference to 3945 and 4965 Signed-off-by: Wey-Yi Guy commit 2a226ab67f2f9c46e534f37f867d3bf3af335d02 Author: Wey-Yi Guy Date: Tue Mar 22 08:05:36 2011 -0700 iwlagn: remove 3945 only station code After driver split, no more 3945 only station support needed. Signed-off-by: Wey-Yi Guy commit d6b8061824a03fbe915c6cf5be2b290ae44c4ec4 Author: Wey-Yi Guy Date: Mon Mar 21 16:53:38 2011 -0700 iwlwifi: remove legacy isr tasklet After driver split, no need for support legacy isr, remove it. Signed-off-by: Wey-Yi Guy commit 4263108c2a9028544cf4037fa4e72000ee456c33 Author: Daniel Halperin Date: Mon Mar 21 15:27:34 2011 -0700 iwlwifi: set default aggregation frame limit to 63 This gives much better performance at fast 3x3 rates (up to ~160 Mbps). The scheduler will still make most decisions about batch size based on available packets and RX parameters. Signed-off-by: Daniel Halperin Signed-off-by: Wey-Yi Guy commit 2520546aecc969372080448a2422b39eedb2a528 Author: Daniel Halperin Date: Fri Mar 18 18:48:55 2011 -0700 iwlwifi: add RATE_MCS_RATE_MSK Throughout the code we use rate_n_flags & 0xff to extract the lower byte of the rate_n_flags u32 that contains the information about the rate. Add a #define and remove the use of the magic number. Signed-off-by: Daniel Halperin Signed-off-by: Wey-Yi Guy commit d0eb633431ec922f8f9b2040f46d9b42a4cec193 Author: Daniel Halperin Date: Wed Mar 16 17:17:36 2011 -0700 iwlwifi: cleanup and bugfix tx aggregation code Since the driver split, there's no need for no_agg_framecnt_info since all devices have this set to false. Secondly, the compressed block ack handling code was broken. Fix this. (1) A shift less than zero simply implies that the buffer wrapped, this is expected. Remove the incorrect comment. (2) The (agg->frame_count > (64-sh)) condition can happen if the last frame is dropped. E.g., if I send 7 frames and the 6th is received but the 7th is lost, the other side may only shift the window 6, not 7 frames since the last bit is a 0. This is perfectly fine behavior and doesn't invalidate the feedback. (3) Store the feedback from a Compressed BA in the first newly received frame, rather than the start of the window. This way it will get processed by the rate selection code. Feedback stored in a non-received frame is likely to get overwritten by the retransmission. This is based on the approach taken by minstrel_ht. Signed-off-by: Daniel Halperin Signed-off-by: Wey-Yi Guy commit 374920cb0512f5938fdf1f5af4f9afa7502dd0f9 Author: Daniel Halperin Date: Wed Mar 16 19:16:36 2011 -0700 iwlwifi: limit number of attempts for highest HT rate When filling out its rate scale table, iwlwifi repeats the first HT rate IWL_HT_NUMBER_TRY times. The hardware scheduler will stop using aggregation for any frame that fails LINK_QUAL_AGG_DISABLE_START_DEF times. Currently, both these constants equal 3. If iwlwifi probes a faster rate than the link supports, all frames in a (potentially tens of frames large) batch will fail IWL_HT_NUMBER_TRY times. Because this happens to be as large as LINK_QUAL_AGG_DISABLE_START_DEF, all frames will then be sent individually. This leads to a short, but performance-degrading window where the legacy stop-and-wait MAC takes over. Bounding the initial rate by (LINK_QUAL_AGG_DISABLE_START_DEF-1) attempts makes the third try use a lower rate and hence more be likely to succeed. This somewhat mitigates the above described behavior. Signed-off-by: Daniel Halperin Signed-off-by: Wey-Yi Guy commit c8823ec1337017e23b99fb0814e2f3d62537f811 Author: Johannes Berg Date: Tue Mar 15 11:33:03 2011 -0700 iwlagn: fix aggregation queue scheduler setup iwlagn's hardware scheduler needs to be set up with the right aggregation frame limit and buffer sizes. To achieve this, we need to move the hardware queue setup to when the session becomes operational. Tested-by: Daniel Halperin Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit 7ffef13d7a24654292c4641450f2794224b9eb5d Author: Johannes Berg Date: Tue Mar 15 04:59:10 2011 -0700 iwlagn: clean up TX aggregation code Since the driver split, there's no need for function pointers any more for aggregation queue setup and teardown as all devices now share the same code. Simplify this. Signed-off-by: Johannes Berg Signed-off-by: Wey-Yi Guy commit d103e3448a3ecb9f81babd1f6d7f5a678e213c82 Author: Wey-Yi Guy Date: Thu Mar 10 03:17:16 2011 -0800 iwlagn: use 6030 configuration for 6035 series 6035 series of devices should use the same uCode as 6030 series, change it. Signed-off-by: Wey-Yi Guy commit efa3144e7cb2a7a58961e5b881b1b9ef73f39cd5 Author: Wey-Yi Guy Date: Tue Feb 22 16:43:05 2011 -0800 iwlegacy: MAINTAINERS Add iwlegacy driver to MAINTAINERS file and mark as 'Orphan' Signed-off-by: Wey-Yi Guy commit b692a63af8b63a7a7e84702a713d0072e336b326 Author: Florian Tobias Schandinat Date: Thu Mar 24 14:25:51 2011 +0000 viafb: add VIA slapping capability This patch introduces dummy functions to execute when we don't know what we should do (due to missing documentation). They do nothing but print a nice message in the log explaining the situation. To trigger this message initial power management support is activated which might save a bit energy by disabling PLL and clock if no device is configured to use them. Note: The message is only shown for the oldest IGPs CLE266 and K400 as for the other platforms there are reasonable assumptions how it does (hopefully) work. Signed-off-by: Florian Tobias Schandinat commit 2c536f84c19c73ab1e3411bf1596ff85c4a23783 Author: Florian Tobias Schandinat Date: Thu Mar 24 13:30:09 2011 +0000 viafb: split clock and PLL code to an extra file This patch is a huge move operation with some rename and introduces an interface to still use the functions. This should be a step in the right direction to reuse the code whenever possible but cleanly separate code that differs on different platform and keeping the complexity as low as possible. pll_config was renamed to via_pll_config to keep the naming scheme. Signed-off-by: Florian Tobias Schandinat commit 9f1f1bfd8d7e579f07dbe56d6f93bd594da43b3d Author: Rakib Mullick Date: Wed Mar 23 21:31:40 2011 +0600 x86, mpparse: Remove unnecessary variable 'ret' isn't used by check_slot(), gets initialized but has no real use, so remove it. Signed-off-by: Rakib Mullick LKML-Reference: Signed-off-by: Ingo Molnar commit c5593d26aea3aba2a7703a0b5d74b4ea8b726889 Author: Florian Tobias Schandinat Date: Thu Mar 24 02:03:42 2011 +0000 viafb: add primary/secondary clock on/off switches This patch adds functions to enable/disable the display clocks. It also fixes a tiny bug that slipped in with a previous commit but could not yet have caused any problems. Signed-off-by: Florian Tobias Schandinat commit 6c1093af5833d4c69634711d9453287ab9e0cb77 Author: Florian Tobias Schandinat Date: Wed Mar 23 21:04:01 2011 +0000 viafb: add clock source selection and PLL power management support This patch adds some support for clock source selection as well as PLL power management. The code is unused at the moment but was successfully tested as far as possible. The implementation is according to the documentation for VX700, VX800, VX855, VX900. Probably the source selection works like this starting with K800 and the power managemennt at least since VX700. (guessed based on the initialization in viamode.c) Signed-off-by: Florian Tobias Schandinat commit 0f77d4a052aec7392dbfd3d8942a519d013d66d9 Author: Florian Tobias Schandinat Date: Wed Mar 23 17:14:26 2011 +0000 viafb: prepare for PLL separation This patch splits some functionality to extra functions. Signed-off-by: Florian Tobias Schandinat commit 1606f87e98f83512762da6dbc992103ae690ff11 Author: Florian Tobias Schandinat Date: Wed Mar 23 13:49:32 2011 +0000 viafb: call viafb_get_clk_value only in viafb_set_vclock As no caller is interested in the result call viafb_get_clk_value directly from viafb_set_vclock to encapsulate the hardware dependend stuff there. Signed-off-by: Florian Tobias Schandinat commit c91faa61697a60ee5cc653db9b6fd3c7049890a6 Author: Florian Tobias Schandinat Date: Tue Mar 22 20:33:20 2011 +0000 viafb: remove unused max_hres/vres This patch removes the max_hres and max_vres which are not used at the moment. In general they could be useful but it would be better to get them via any standard EDID implementation and not the buggy incomplete one currently used which is also removed as far as possible. Signed-off-by: Florian Tobias Schandinat commit eb0536c5e2815e3e38ed2b2f31401e114faec016 Author: Florian Tobias Schandinat Date: Mon Mar 21 13:28:26 2011 +0000 viafb: allow some pll calculations This patch allows calculating the pll multiplier within limits based on the previous table. All available information supports that it should be possible/sane to choose the multiplier free within some ranges. Storing the multiplier ranges instead of lots of pll configurations reduces the memory needed and may as well improve the performance. It is also expected to provide better pll values resulting in better frequencies for the connected devices. Signed-off-by: Florian Tobias Schandinat commit 244056f9dbbc6dc4126a301c745fa3dd67d8af3c Author: Tejun Heo Date: Wed Mar 23 10:37:01 2011 +0100 job control: Don't send duplicate job control stop notification while ptraced Just as group_exit_code shouldn't be generated when a PTRACE_CONT'd task re-enters job control stop, notifiction for the event should be suppressed too. The logic is the same as the group_exit_code generation suppression in do_signal_stop(), if SIGNAL_STOP_STOPPED is already set, the task is re-entering job control stop without intervening SIGCONT and the notifications should be suppressed. Test case follows. #include #include #include #include #include #include static const struct timespec ts100ms = { .tv_nsec = 100000000 }; static pid_t tracee, tracer; static const char *pid_who(pid_t pid) { return pid == tracee ? "tracee" : (pid == tracer ? "tracer" : "mommy "); } static void sigchld_sigaction(int signo, siginfo_t *si, void *ucxt) { printf("%s: SIG status=%02d code=%02d (%s)\n", pid_who(getpid()), si->si_status, si->si_code, pid_who(si->si_pid)); } int main(void) { const struct sigaction chld_sa = { .sa_sigaction = sigchld_sigaction, .sa_flags = SA_SIGINFO|SA_RESTART }; siginfo_t si; sigaction(SIGCHLD, &chld_sa, NULL); tracee = fork(); if (!tracee) { tracee = getpid(); while (1) pause(); } kill(tracee, SIGSTOP); waitid(P_PID, tracee, &si, WSTOPPED); tracer = fork(); if (!tracer) { tracer = getpid(); ptrace(PTRACE_ATTACH, tracee, NULL, NULL); waitid(P_PID, tracee, &si, WSTOPPED); ptrace(PTRACE_CONT, tracee, NULL, (void *)(long)si.si_status); waitid(P_PID, tracee, &si, WSTOPPED); ptrace(PTRACE_CONT, tracee, NULL, (void *)(long)si.si_status); waitid(P_PID, tracee, &si, WSTOPPED); printf("tracer: detaching\n"); ptrace(PTRACE_DETACH, tracee, NULL, NULL); return 0; } while (1) pause(); return 0; } Before the patch, the parent gets the second notification for the tracee after the tracer detaches. si_status is zero because group_exit_code is not set by the group stop completion which triggered this notification. mommy : SIG status=19 code=05 (tracee) tracer: SIG status=00 code=05 (tracee) tracer: SIG status=19 code=04 (tracee) tracer: SIG status=00 code=05 (tracee) tracer: detaching mommy : SIG status=00 code=05 (tracee) mommy : SIG status=00 code=01 (tracer) ^C After the patch, the duplicate notification is gone. mommy : SIG status=19 code=05 (tracee) tracer: SIG status=00 code=05 (tracee) tracer: SIG status=19 code=04 (tracee) tracer: SIG status=00 code=05 (tracee) tracer: detaching mommy : SIG status=00 code=01 (tracer) ^C Signed-off-by: Tejun Heo Acked-by: Oleg Nesterov commit ceb6bd67f9b9db765e1c29405f26e8460391badd Author: Tejun Heo Date: Wed Mar 23 10:37:01 2011 +0100 job control: Notify the real parent of job control events regardless of ptrace With recent changes, job control and ptrace stopped states are properly separated and accessible to the real parent and the ptracer respectively; however, notifications of job control stopped/continued events to the real parent while ptraced are still missing. A ptracee participates in group stop in ptrace_stop() but the completion isn't notified. If participation results in completion of group stop, notify the real parent of the event. The ptrace and group stops are separate and can be handled as such. However, when the real parent and the ptracer are in the same thread group, only the ptrace stop event is visible through wait(2) and the duplicate notifications are different from the current behavior and are confusing. Suppress group stop notification in such cases. The continued state is shared between the real parent and the ptracer but is only meaningful to the real parent. Always notify the real parent and notify the ptracer too for backward compatibility. Similar to stop notification, if the real parent is the ptracer, suppress a duplicate notification. Test case follows. #include #include #include #include #include #include #include int main(void) { const struct timespec ts100ms = { .tv_nsec = 100000000 }; pid_t tracee, tracer; siginfo_t si; int i; tracee = fork(); if (tracee == 0) { while (1) { printf("tracee: SIGSTOP\n"); raise(SIGSTOP); nanosleep(&ts100ms, NULL); printf("tracee: SIGCONT\n"); raise(SIGCONT); nanosleep(&ts100ms, NULL); } } waitid(P_PID, tracee, &si, WSTOPPED | WNOHANG | WNOWAIT); tracer = fork(); if (tracer == 0) { nanosleep(&ts100ms, NULL); ptrace(PTRACE_ATTACH, tracee, NULL, NULL); for (i = 0; i < 11; i++) { si.si_pid = 0; waitid(P_PID, tracee, &si, WSTOPPED); if (si.si_pid && si.si_code == CLD_TRAPPED) ptrace(PTRACE_CONT, tracee, NULL, (void *)(long)si.si_status); } printf("tracer: EXITING\n"); return 0; } while (1) { si.si_pid = 0; waitid(P_PID, tracee, &si, WSTOPPED | WCONTINUED | WEXITED); if (si.si_pid) printf("mommy : WAIT status=%02d code=%02d\n", si.si_status, si.si_code); } return 0; } Before this patch, while ptraced, the real parent doesn't get notifications for job control events, so although it can access those events, the later waitid(2) call never wakes up. tracee: SIGSTOP mommy : WAIT status=19 code=05 tracee: SIGCONT tracee: SIGSTOP tracee: SIGCONT tracee: SIGSTOP tracee: SIGCONT tracee: SIGSTOP tracer: EXITING mommy : WAIT status=19 code=05 ^C After this patch, it works as expected. tracee: SIGSTOP mommy : WAIT status=19 code=05 tracee: SIGCONT mommy : WAIT status=18 code=06 tracee: SIGSTOP mommy : WAIT status=19 code=05 tracee: SIGCONT mommy : WAIT status=18 code=06 tracee: SIGSTOP mommy : WAIT status=19 code=05 tracee: SIGCONT mommy : WAIT status=18 code=06 tracee: SIGSTOP tracer: EXITING mommy : WAIT status=19 code=05 ^C -v2: Oleg pointed out that * Group stop notification to the real parent should also happen when ptracer detach races with ptrace_stop(). * real_parent_is_ptracer() should be testing thread group equality not the task itself as wait(2) and stop/cont notifications are normally thread-group wide. Both issues are fixed accordingly. -v3: real_parent_is_ptracer() updated to test child->real_parent instead of child->group_leader->real_parent per Oleg's suggestion. Signed-off-by: Tejun Heo Acked-by: Oleg Nesterov commit 62bcf9d992ecc19ea4f37ff57ee0b3333e3e843e Author: Tejun Heo Date: Wed Mar 23 10:37:01 2011 +0100 job control: Job control stop notifications should always go to the real parent The stopped notifications in do_signal_stop() and exit_signals() are always for the completion of job control. The one in do_signal_stop() may be delivered to the ptracer if PTRACE_ATTACH races with notification and the one in exit_signals() if task exits while ptraced. In both cases, the notifications are meaningless and confusing to the ptracer as it never accesses the group stop state while the real parent would miss notifications for the events it is watching. Make sure these notifications always go to the real parent by calling do_notify_parent_cld_stop() with %false @for_ptrace. Signed-off-by: Tejun Heo Acked-by: Oleg Nesterov commit 75b95953a56969a990e6ce154b260be83818fe71 Author: Tejun Heo Date: Wed Mar 23 10:37:01 2011 +0100 job control: Add @for_ptrace to do_notify_parent_cldstop() Currently, do_notify_parent_cldstop() determines whether the notification is for the real parent or ptracer. Move the decision to the caller by adding @for_ptrace parameter to do_notify_parent_cldstop(). All the callers are updated to pass task_ptrace(target_task), so this patch doesn't cause any behavior difference. While at it, add function comment to do_notify_parent_cldstop(). Signed-off-by: Tejun Heo Acked-by: Oleg Nesterov commit 45cb24a1da53beb70f09efccc0373f6a47a9efe0 Author: Tejun Heo Date: Wed Mar 23 10:37:01 2011 +0100 job control: Allow access to job control events through ptracees Currently a real parent can't access job control stopped/continued events through a ptraced child. This utterly breaks job control when the children are ptraced. For example, if a program is run from an interactive shell and then strace(1) attaches to it, pressing ^Z would send SIGTSTP and strace(1) would notice it but the shell has no way to tell whether the child entered job control stop and thus can't tell when to take over the terminal - leading to awkward lone ^Z on the terminal. Because the job control and ptrace stopped states are independent, there is no reason to prevent real parents from accessing the stopped state regardless of ptrace. The continued state isn't separate but ptracers don't have any use for them as ptracees can never resume without explicit command from their ptracers, so as long as ptracers don't consume it, it should be fine. Although this is a behavior change, because the previous behavior is utterly broken when viewed from real parents and the change is only visible to real parents, I don't think it's necessary to make this behavior optional. One situation to be careful about is when a task from the real parent's group is ptracing. The parent group is the recipient of both ptrace and job control stop events and one stop can be reported as both job control and ptrace stops. As this can break the current ptrace users, suppress job control stopped events for these cases. If a real parent ptracer wants to know about both job control and ptrace stops, it can create a separate process to serve the role of real parent. Note that this only updates wait(2) side of things. The real parent can access the states via wait(2) but still is not properly notified (woken up and delivered signal). Test case polls wait(2) with WNOHANG to work around. Notification will be updated by future patches. Test case follows. #include #include #include #include #include #include #include int main(void) { const struct timespec ts100ms = { .tv_nsec = 100000000 }; pid_t tracee, tracer; siginfo_t si; int i; tracee = fork(); if (tracee == 0) { while (1) { printf("tracee: SIGSTOP\n"); raise(SIGSTOP); nanosleep(&ts100ms, NULL); printf("tracee: SIGCONT\n"); raise(SIGCONT); nanosleep(&ts100ms, NULL); } } waitid(P_PID, tracee, &si, WSTOPPED | WNOHANG | WNOWAIT); tracer = fork(); if (tracer == 0) { nanosleep(&ts100ms, NULL); ptrace(PTRACE_ATTACH, tracee, NULL, NULL); for (i = 0; i < 11; i++) { si.si_pid = 0; waitid(P_PID, tracee, &si, WSTOPPED); if (si.si_pid && si.si_code == CLD_TRAPPED) ptrace(PTRACE_CONT, tracee, NULL, (void *)(long)si.si_status); } printf("tracer: EXITING\n"); return 0; } while (1) { si.si_pid = 0; waitid(P_PID, tracee, &si, WSTOPPED | WCONTINUED | WEXITED | WNOHANG); if (si.si_pid) printf("mommy : WAIT status=%02d code=%02d\n", si.si_status, si.si_code); nanosleep(&ts100ms, NULL); } return 0; } Before the patch, while ptraced, the parent can't see any job control events. tracee: SIGSTOP mommy : WAIT status=19 code=05 tracee: SIGCONT tracee: SIGSTOP tracee: SIGCONT tracee: SIGSTOP tracee: SIGCONT tracee: SIGSTOP tracer: EXITING mommy : WAIT status=19 code=05 ^C After the patch, tracee: SIGSTOP mommy : WAIT status=19 code=05 tracee: SIGCONT mommy : WAIT status=18 code=06 tracee: SIGSTOP mommy : WAIT status=19 code=05 tracee: SIGCONT mommy : WAIT status=18 code=06 tracee: SIGSTOP mommy : WAIT status=19 code=05 tracee: SIGCONT mommy : WAIT status=18 code=06 tracee: SIGSTOP tracer: EXITING mommy : WAIT status=19 code=05 ^C -v2: Oleg pointed out that wait(2) should be suppressed for the real parent's group instead of only the real parent task itself. Updated accordingly. Signed-off-by: Tejun Heo Acked-by: Oleg Nesterov commit 9b84cca2564b9a5b2d064fb44d2a55a5b44473a0 Author: Tejun Heo Date: Wed Mar 23 10:37:01 2011 +0100 job control: Fix ptracer wait(2) hang and explain notask_error clearing wait(2) and friends allow access to stopped/continued states through zombies, which is required as the states are process-wide and should be accessible whether the leader task is alive or undead. wait_consider_task() implements this by always clearing notask_error and going through wait_task_stopped/continued() for unreaped zombies. However, while ptraced, the stopped state is per-task and as such if the ptracee became a zombie, there's no further stopped event to listen to and wait(2) and friends should return -ECHILD on the tracee. Fix it by clearing notask_error only if WCONTINUED | WEXITED is set for ptraced zombies. While at it, document why clearing notask_error is safe for each case. Test case follows. #include #include #include #include #include #include #include static void *nooper(void *arg) { pause(); return NULL; } int main(void) { const struct timespec ts1s = { .tv_sec = 1 }; pid_t tracee, tracer; siginfo_t si; tracee = fork(); if (tracee == 0) { pthread_t thr; pthread_create(&thr, NULL, nooper, NULL); nanosleep(&ts1s, NULL); printf("tracee exiting\n"); pthread_exit(NULL); /* let subthread run */ } tracer = fork(); if (tracer == 0) { ptrace(PTRACE_ATTACH, tracee, NULL, NULL); while (1) { if (waitid(P_PID, tracee, &si, WSTOPPED) < 0) { perror("waitid"); break; } ptrace(PTRACE_CONT, tracee, NULL, (void *)(long)si.si_status); } return 0; } waitid(P_PID, tracer, &si, WEXITED); kill(tracee, SIGKILL); return 0; } Before the patch, after the tracee becomes a zombie, the tracer's waitid(WSTOPPED) never returns and the program doesn't terminate. tracee exiting ^C After the patch, tracee exiting triggers waitid() to fail. tracee exiting waitid: No child processes -v2: Oleg pointed out that exited in addition to continued can happen for ptraced dead group leader. Clear notask_error for ptraced child on WEXITED too. Signed-off-by: Tejun Heo Acked-by: Oleg Nesterov commit 823b018e5b1196d810790559357447948f644548 Author: Tejun Heo Date: Wed Mar 23 10:37:01 2011 +0100 job control: Small reorganization of wait_consider_task() Move EXIT_DEAD test in wait_consider_task() above ptrace check. As ptraced tasks can't be EXIT_DEAD, this change doesn't cause any behavior change. This is to prepare for further changes. Signed-off-by: Tejun Heo Acked-by: Oleg Nesterov commit 408a37de6c95832a4880a88a742f89f0cc554d06 Author: Tejun Heo Date: Wed Mar 23 10:37:01 2011 +0100 job control: Don't set group_stop exit_code if re-entering job control stop While ptraced, a task may be resumed while the containing process is still job control stopped. If the task receives another stop signal in this state, it will still initiate group stop, which generates group_exit_code, which the real parent would be able to see once the ptracer detaches. In this scenario, the real parent may see two consecutive CLD_STOPPED events from two stop signals without intervening SIGCONT, which normally is impossible. Test case follows. #include #include #include #include int main(void) { pid_t tracee; siginfo_t si; tracee = fork(); if (!tracee) while (1) pause(); kill(tracee, SIGSTOP); waitid(P_PID, tracee, &si, WSTOPPED); if (!fork()) { ptrace(PTRACE_ATTACH, tracee, NULL, NULL); waitid(P_PID, tracee, &si, WSTOPPED); ptrace(PTRACE_CONT, tracee, NULL, (void *)(long)si.si_status); waitid(P_PID, tracee, &si, WSTOPPED); ptrace(PTRACE_CONT, tracee, NULL, (void *)(long)si.si_status); waitid(P_PID, tracee, &si, WSTOPPED); ptrace(PTRACE_DETACH, tracee, NULL, NULL); return 0; } while (1) { si.si_pid = 0; waitid(P_PID, tracee, &si, WSTOPPED | WNOHANG); if (si.si_pid) printf("st=%02d c=%02d\n", si.si_status, si.si_code); } return 0; } Before the patch, the latter waitid() in polling mode reports the second stopped event generated by the implied SIGSTOP of PTRACE_ATTACH. st=19 c=05 ^C After the patch, the second event is not reported. Signed-off-by: Tejun Heo Acked-by: Oleg Nesterov commit 0e9f0a4abfd80f8adca624538d479d95159b16d8 Author: Tejun Heo Date: Wed Mar 23 10:37:01 2011 +0100 ptrace: Always put ptracee into appropriate execution state Currently, __ptrace_unlink() wakes up the tracee iff it's in TASK_TRACED. For unlinking from PTRACE_DETACH, this is correct as the tracee is guaranteed to be in TASK_TRACED or dead; however, unlinking also happens when the ptracer exits and in this case the ptracee can be in any state and ptrace might be left running even if the group it belongs to is stopped. This patch updates __ptrace_unlink() such that GROUP_STOP_PENDING is reinstated regardless of the ptracee's current state as long as it's alive and makes sure that signal_wake_up() is called if execution state transition is necessary. Test case follows. #include #include #include #include #include static const struct timespec ts1s = { .tv_sec = 1 }; int main(void) { pid_t tracee; siginfo_t si; tracee = fork(); if (tracee == 0) { while (1) { nanosleep(&ts1s, NULL); write(1, ".", 1); } } ptrace(PTRACE_ATTACH, tracee, NULL, NULL); waitid(P_PID, tracee, &si, WSTOPPED); ptrace(PTRACE_CONT, tracee, NULL, (void *)(long)si.si_status); waitid(P_PID, tracee, &si, WSTOPPED); ptrace(PTRACE_CONT, tracee, NULL, (void *)(long)si.si_status); write(1, "exiting", 7); return 0; } Before the patch, after the parent process exits, the child is left running and prints out "." every second. exiting..... (continues) After the patch, the group stop initiated by the implied SIGSTOP from PTRACE_ATTACH is re-established when the parent exits. exiting Signed-off-by: Tejun Heo Reported-by: Oleg Nesterov Acked-by: Oleg Nesterov commit e3bd058f62896ec7a2c605ed62a0a811e9147947 Author: Tejun Heo Date: Wed Mar 23 10:37:01 2011 +0100 ptrace: Collapse ptrace_untrace() into __ptrace_unlink() Remove the extra task_is_traced() check in __ptrace_unlink() and collapse ptrace_untrace() into __ptrace_unlink(). This is to prepare for further changes. While at it, drop the comment on top of ptrace_untrace() and convert __ptrace_unlink() comment to docbook format. Detailed comment will be added by the next patch. This patch doesn't cause any visible behavior changes. Signed-off-by: Tejun Heo Acked-by: Oleg Nesterov commit d79fdd6d96f46fabb779d86332e3677c6f5c2a4f Author: Tejun Heo Date: Wed Mar 23 10:37:00 2011 +0100 ptrace: Clean transitions between TASK_STOPPED and TRACED Currently, if the task is STOPPED on ptrace attach, it's left alone and the state is silently changed to TRACED on the next ptrace call. The behavior breaks the assumption that arch_ptrace_stop() is called before any task is poked by ptrace and is ugly in that a task manipulates the state of another task directly. With GROUP_STOP_PENDING, the transitions between TASK_STOPPED and TRACED can be made clean. The tracer can use the flag to tell the tracee to retry stop on attach and detach. On retry, the tracee will enter the desired state in the correct way. The lower 16bits of task->group_stop is used to remember the signal number which caused the last group stop. This is used while retrying for ptrace attach as the original group_exit_code could have been consumed with wait(2) by then. As the real parent may wait(2) and consume the group_exit_code anytime, the group_exit_code needs to be saved separately so that it can be used when switching from regular sleep to ptrace_stop(). This is recorded in the lower 16bits of task->group_stop. If a task is already stopped and there's no intervening SIGCONT, a ptrace request immediately following a successful PTRACE_ATTACH should always succeed even if the tracer doesn't wait(2) for attach completion; however, with this change, the tracee might still be TASK_RUNNING trying to enter TASK_TRACED which would cause the following request to fail with -ESRCH. This intermediate state is hidden from the ptracer by setting GROUP_STOP_TRAPPING on attach and making ptrace_check_attach() wait for it to clear on its signal->wait_chldexit. Completing the transition or getting killed clears TRAPPING and wakes up the tracer. Note that the STOPPED -> RUNNING -> TRACED transition is still visible to other threads which are in the same group as the ptracer and the reverse transition is visible to all. Please read the comments for details. Oleg: * Spotted a race condition where a task may retry group stop without proper bookkeeping. Fixed by redoing bookkeeping on retry. * Spotted that the transition is visible to userland in several different ways. Most are fixed with GROUP_STOP_TRAPPING. Unhandled corner case is documented. * Pointed out not setting GROUP_STOP_SIGMASK on an already stopped task would result in more consistent behavior. * Pointed out that calling ptrace_stop() from do_signal_stop() in TASK_STOPPED can race with group stop start logic and then confuse the TRAPPING wait in ptrace_check_attach(). ptrace_stop() is now called with TASK_RUNNING. * Suggested using signal->wait_chldexit instead of bit wait. * Spotted a race condition between TRACED transition and clearing of TRAPPING. Signed-off-by: Tejun Heo Acked-by: Oleg Nesterov Cc: Roland McGrath Cc: Jan Kratochvil commit 5224fa3660ad3881d2f2ad726d22614117963f10 Author: Tejun Heo Date: Wed Mar 23 10:37:00 2011 +0100 ptrace: Make do_signal_stop() use ptrace_stop() if the task is being ptraced A ptraced task would still stop at do_signal_stop() when it's stopping for stop signals and do_signal_stop() behaves the same whether the task is ptraced or not. However, in addition to stopping, ptrace_stop() also does ptrace specific stuff like calling architecture specific callbacks, so this behavior makes the code more fragile and difficult to understand. This patch makes do_signal_stop() test whether the task is ptraced and use ptrace_stop() if so. This renders tracehook_notify_jctl() rather pointless as the ptrace notification is now handled by ptrace_stop() regardless of the return value from the tracehook. It probably is a good idea to update it. This doesn't solve the whole problem as tasks already in stopped state would stay in the regular stop when ptrace attached. That part will be handled by the next patch. Oleg pointed out that this makes a userland-visible change. Before, SIGCONT would be able to wake up a task in group stop even if the task is ptraced if the tracer hasn't issued another ptrace command afterwards (as the next ptrace commands transitions the state into TASK_TRACED which ignores SIGCONT wakeups). With this and the next patch, SIGCONT may race with the transition into TASK_TRACED and is ignored if the tracee already entered TASK_TRACED. Another userland visible change of this and the next patch is that the ptracee's state would now be TASK_TRACED where it used to be TASK_STOPPED, which is visible via fs/proc. Signed-off-by: Tejun Heo Acked-by: Oleg Nesterov Cc: Roland McGrath Cc: Jan Kratochvil commit 0ae8ce1c8c5b9007ce6bfc83ec2aa0dfce5bbed3 Author: Tejun Heo Date: Wed Mar 23 10:37:00 2011 +0100 ptrace: Participate in group stop from ptrace_stop() iff the task is trapping for group stop Currently, ptrace_stop() unconditionally participates in group stop bookkeeping. This is unnecessary and inaccurate. Make it only participate if the task is trapping for group stop - ie. if @why is CLD_STOPPED. As ptrace_stop() currently is not used when trapping for group stop, this equals to disabling group stop participation from ptrace_stop(). A visible behavior change is increased likelihood of delayed group stop completion if the thread group contains one or more ptraced tasks. This is to preapre for further cleanup of the interaction between group stop and ptrace. Signed-off-by: Tejun Heo Acked-by: Oleg Nesterov Cc: Roland McGrath commit 39efa3ef3a376a4e53de2f82fc91182459d34200 Author: Tejun Heo Date: Wed Mar 23 10:37:00 2011 +0100 signal: Use GROUP_STOP_PENDING to stop once for a single group stop Currently task->signal->group_stop_count is used to decide whether to stop for group stop. However, if there is a task in the group which is taking a long time to stop, other tasks which are continued by ptrace would repeatedly stop for the same group stop until the group stop is complete. Conversely, if a ptraced task is in TASK_TRACED state, the debugger won't get notified of group stops which is inconsistent compared to the ptraced task in any other state. This patch introduces GROUP_STOP_PENDING which tracks whether a task is yet to stop for the group stop in progress. The flag is set when a group stop starts and cleared when the task stops the first time for the group stop, and consulted whenever whether the task should participate in a group stop needs to be determined. Note that now tasks in TASK_TRACED also participate in group stop. This results in the following behavior changes. * For a single group stop, a ptracer would see at most one stop reported. * A ptracee in TASK_TRACED now also participates in group stop and the tracer would get the notification. However, as a ptraced task could be in TASK_STOPPED state or any ptrace trap could consume group stop, the notification may still be missing. These will be addressed with further patches. * A ptracee may start a group stop while one is still in progress if the tracer let it continue with stop signal delivery. Group stop code handles this correctly. Oleg: * Spotted that a task might skip signal check even when its GROUP_STOP_PENDING is set. Fixed by updating recalc_sigpending_tsk() to check GROUP_STOP_PENDING instead of group_stop_count. * Pointed out that task->group_stop should be cleared whenever task->signal->group_stop_count is cleared. Fixed accordingly. * Pointed out the behavior inconsistency between TASK_TRACED and RUNNING and the last behavior change. Signed-off-by: Tejun Heo Acked-by: Oleg Nesterov Cc: Roland McGrath commit e5c1902e9260a0075ea52cb5ef627a8d9aaede89 Author: Tejun Heo Date: Wed Mar 23 10:37:00 2011 +0100 signal: Fix premature completion of group stop when interfered by ptrace task->signal->group_stop_count is used to track the progress of group stop. It's initialized to the number of tasks which need to stop for group stop to finish and each stopping or trapping task decrements. However, each task doesn't keep track of whether it decremented the counter or not and if woken up before the group stop is complete and stops again, it can decrement the counter multiple times. Please consider the following example code. static void *worker(void *arg) { while (1) ; return NULL; } int main(void) { pthread_t thread; pid_t pid; int i; pid = fork(); if (!pid) { for (i = 0; i < 5; i++) pthread_create(&thread, NULL, worker, NULL); while (1) ; return 0; } ptrace(PTRACE_ATTACH, pid, NULL, NULL); while (1) { waitid(P_PID, pid, NULL, WSTOPPED); ptrace(PTRACE_SINGLESTEP, pid, NULL, (void *)(long)SIGSTOP); } return 0; } The child creates five threads and the parent continuously traps the first thread and whenever the child gets a signal, SIGSTOP is delivered. If an external process sends SIGSTOP to the child, all other threads in the process should reliably stop. However, due to the above bug, the first thread will often end up consuming group_stop_count multiple times and SIGSTOP often ends up stopping none or part of the other four threads. This patch adds a new field task->group_stop which is protected by siglock and uses GROUP_STOP_CONSUME flag to track which task is still to consume group_stop_count to fix this bug. task_clear_group_stop_pending() and task_participate_group_stop() are added to help manipulating group stop states. As ptrace_stop() now also uses task_participate_group_stop(), it will set SIGNAL_STOP_STOPPED if it completes a group stop. There still are many issues regarding the interaction between group stop and ptrace. Patches to address them will follow. - Oleg spotted duplicate GROUP_STOP_CONSUME. Dropped. Signed-off-by: Tejun Heo Acked-by: Oleg Nesterov Cc: Roland McGrath commit fe1bc6a0954611b806f9e158eb0817cf8ba21660 Author: Tejun Heo Date: Wed Mar 23 10:37:00 2011 +0100 ptrace: Add @why to ptrace_stop() To prepare for cleanup of the interaction between group stop and ptrace, add @why to ptrace_stop(). Existing users are updated such that there is no behavior change. Signed-off-by: Tejun Heo Acked-by: Roland McGrath commit edf2ed153bcae52de70db00a98b0e81a5668e563 Author: Tejun Heo Date: Wed Mar 23 10:37:00 2011 +0100 ptrace: Kill tracehook_notify_jctl() tracehook_notify_jctl() aids in determining whether and what to report to the parent when a task is stopped or continued. The function also adds an extra requirement that siglock may be released across it, which is currently unused and quite difficult to satisfy in well-defined manner. As job control and the notifications are about to receive major overhaul, remove the tracehook and open code it. If ever necessary, let's factor it out after the overhaul. * Oleg spotted incorrect CLD_CONTINUED/STOPPED selection when ptraced. Fixed. Signed-off-by: Tejun Heo Cc: Oleg Nesterov Cc: Roland McGrath commit 71db5eb99c960e9c30e4b3ed04103c513b6251b5 Author: Tejun Heo Date: Wed Mar 23 10:37:00 2011 +0100 signal: Remove superflous try_to_freeze() loop in do_signal_stop() do_signal_stop() is used only by get_signal_to_deliver() and after a successful signal stop, it always calls try_to_freeze(), so the try_to_freeze() loop around schedule() in do_signal_stop() is superflous and confusing. Remove it. Signed-off-by: Tejun Heo Acked-by: Rafael J. Wysocki Acked-by: Oleg Nesterov Acked-by: Roland McGrath commit 9f2bf6513a6cca0b00cbbf67ba6197017cfba548 Author: Tejun Heo Date: Wed Mar 23 10:37:00 2011 +0100 ptrace: Remove the extra wake_up_state() from ptrace_detach() This wake_up_state() has a turbulent history. This is a remnant from ancient ptrace implementation and patently wrong. Commit 95a3540d (ptrace_detach: the wrong wakeup breaks the ERESTARTxxx logic) removed it but the change was reverted later by commit edaba2c5 (ptrace: revert "ptrace_detach: the wrong wakeup breaks the ERESTARTxxx logic") citing compatibility breakage and general brokeness of the whole group stop / ptrace interaction. Then, recently, it got converted from wake_up_process() to wake_up_state() to make it less dangerous. Digging through the mailing archives, the compatibility breakage doesn't seem to be critical in the sense that the behavior isn't well defined or reliable to begin with and it seems to have been agreed to remove the wakeup with proper cleanup of the whole thing. Now that the group stop and its interaction with ptrace are being cleaned up, it's high time to finally kill this silliness. Signed-off-by: Tejun Heo Acked-by: Oleg Nesterov Cc: Roland McGrath commit c672af35d54992b88d3c48133bd62cc3386fb2f9 Author: Tejun Heo Date: Wed Mar 23 10:36:59 2011 +0100 signal: Fix SIGCONT notification code After a task receives SIGCONT, its parent is notified via SIGCHLD with its siginfo describing what the notified event is. If SIGCONT is received while the child process is stopped, the code should be CLD_CONTINUED. If SIGCONT is recieved while the child process is in the process of being stopped, it should be CLD_STOPPED. Which code to use is determined in prepare_signal() and recorded in signal->flags using SIGNAL_CLD_CONTINUED|STOP flags. get_signal_deliver() should test these flags and then notify accoringly; however, it incorrectly tested SIGNAL_STOP_CONTINUED instead of SIGNAL_CLD_CONTINUED, thus incorrectly notifying CLD_CONTINUED if the signal is delivered before the task is wait(2)ed and CLD_STOPPED if the state was fetched already. Fix it by testing SIGNAL_CLD_CONTINUED. While at it, uncompress the ?: test into if/else clause for better readability. Signed-off-by: Tejun Heo Reviewed-by: Oleg Nesterov Acked-by: Roland McGrath commit 0523656eed6941a1a0e6b8de36ca73f44d2142c0 Author: Florian Tobias Schandinat Date: Mon Mar 21 01:46:24 2011 +0000 viafb: kill crt_setting_information As the iga path is the only remaining information which is also handled by the active devices there is no reason to keep it. Signed-off-by: Florian Tobias Schandinat commit 486d4c08dd2eb29b26b4a27f8056155a7a639861 Author: Florian Tobias Schandinat Date: Wed Mar 16 13:46:36 2011 +0000 viafb: no need to write CRTC values twice Later the correct values will be written so there is no need to write early some values which might be wrong. Signed-off-by: Florian Tobias Schandinat commit 0f8132b7431e241c29e61ac14f22549a6fca9632 Author: Florian Tobias Schandinat Date: Wed Mar 16 13:11:17 2011 +0000 viafb: move initialization code This moves some mode independend initialization code to the function where the other parts of the initialization are. Signed-off-by: Florian Tobias Schandinat commit 5d94e81f69d4b1d1102d3ab557ce0a817c11fbbb Author: Dan Williams Date: Tue Mar 8 10:36:19 2011 -0800 x86: Introduce pci_map_biosrom() The isci driver needs to retrieve its preboot OROM image which contains necessary runtime parameters like platform specific sas addresses and phy configuration. There is no ROM BAR associated with this area, instead we will need to scan legacy expansion ROM space. 1/ Promote the probe_roms_32 implementation to x86-64 2/ Add a facility to find and map an adapter rom by pci device (according to PCI Firmware Specification Revision 3.0) Signed-off-by: Dave Jiang LKML-Reference: <20110308183226.6246.90354.stgit@localhost6.localdomain6> Signed-off-by: Dan Williams Signed-off-by: H. Peter Anvin commit 45bb1674b976ef81429c1e42de05844b49d45dea Author: Daniel Drake Date: Sun Mar 13 15:10:17 2011 +0000 x86, olpc: Use device tree for platform identification Make OLPC fully depend on device tree, and use it to identify the OLPC platform details. Some nodes are exposed as platform devices where we plan to use device tree for device probing. Signed-off-by: Daniel Drake Acked-by: Grant Likely LKML-Reference: <20110313151017.C255F9D401E@zog.reactivated.net> Signed-off-by: H. Peter Anvin commit d79647aea22732f39c81bbdc80931f96b46023f0 Author: Daniel De Graaf Date: Mon Mar 7 15:18:57 2011 -0500 xen/gntdev,gntalloc: Remove unneeded VM flags The only time when granted pages need to be treated specially is when using Xen's PTE modification for grant mappings owned by another domain (that is, only gntdev on PV guests). Otherwise, the area does not require VM_DONTCOPY and VM_PFNMAP, since it can be accessed just like any other page of RAM. Since the vm_operations_struct close operations decrement reference counts, a corresponding open function that increments them is required now that it is possible to have multiple references to a single area. We are careful in the gntdev to check if we can remove those flags. The reason that we need to be careful in gntdev on PV guests is because we are not changing the PFN/MFN mapping on PV; instead, we change the application's page tables to point to the other domain's memory. This means that the vma cannot be copied without using another grant mapping hypercall; it also requires special handling on unmap, which is the reason for gntdev's dependency on the MMU notifier. For gntalloc, this is not a concern - the pages are owned by the domain using the gntalloc device, and can be mapped and unmapped in the same manner as any other page of memory. Acked-by: Ian Campbell Signed-off-by: Daniel De Graaf Signed-off-by: Konrad Rzeszutek Wilk [v2: Added in git commit "We are.." from email correspondence] commit a1c57e0fec53defe745e64417eacdbd3618c3e66 Author: John Stultz Date: Mon Apr 26 20:20:07 2010 -0700 blackfin: convert to clocksource_register_hz This converts the blackfin clocksource to use clocksource_register_hz. CC: Mike Frysinger CC: Thomas Gleixner Signed-off-by: John Stultz commit 75c4fd8c7862f37eeae5c80f33bbe4dce97571d4 Author: John Stultz Date: Mon Apr 26 20:23:11 2010 -0700 mips: convert to clocksource_register_hz/khz This converts the mips clocksources to use clocksource_register_hz/khz CC: Ralf Baechle CC: Thomas Gleixner Signed-off-by: John Stultz commit 39280742efb00ab61ad62486c737fdd3e980c30f Author: John Stultz Date: Mon Apr 26 20:24:37 2010 -0700 sparc: convert to clocksource_register_hz/khz This converts the sparc clocksources to use clocksource_register_hz/khz CC: "David S. Miller" CC: Thomas Gleixner Signed-off-by: John Stultz commit 7861434fe9b5c9dad1bbb1f674cded95950e778e Author: John Stultz Date: Tue Oct 19 17:49:07 2010 -0700 alpha: convert to clocksource_register_hz Converts alpha to use clocksource_register_hz. CC: Richard Henderson CC: Ivan Kokshaysky CC: Matt Turner CC: Thomas Gleixner Signed-off-by: John Stultz commit b8f39f7dfe12d4c8402c493a24fbf1e21d086771 Author: John Stultz Date: Mon Apr 26 20:22:23 2010 -0700 microblaze: convert to clocksource_register_hz/khz This converts the microblaze clocksources to use clocksource_register_hz/khz CC: Michal Simek CC: Thomas Gleixner Tested-by: Michal Simek Signed-off-by: John Stultz commit d60c3041778c11f564969fb62b337df68232ee80 Author: John Stultz Date: Mon Apr 26 20:20:47 2010 -0700 ia64: convert to clocksource_register_hz/khz This converts the ia64 clocksources to use clocksource_register_hz/khz CC: Tony Luck CC: Thomas Gleixner Tested-by: Tony Luck [clocksource_itc path] Signed-off-by: John Stultz commit b01cc1b0eae0dea19257b29347116505fbedf679 Author: John Stultz Date: Mon Apr 26 19:03:05 2010 -0700 x86: Convert remaining x86 clocksources to clocksource_register_hz/khz This converts the remaining x86 clocksources to use clocksource_register_hz/khz. CC: jacob.jun.pan@intel.com CC: Glauber Costa CC: Dimitri Sivanich CC: Rusty Russell CC: Jeremy Fitzhardinge CC: Chris McDermott CC: Thomas Gleixner Tested-by: Konrad Rzeszutek Wilk [xen] Signed-off-by: John Stultz commit 36d8593ec74dc04d3bd7c1c897a7b7cfbd0b0dc6 Author: Russell King - ARM Linux Date: Sat Feb 19 15:34:50 2011 +0000 Make clocksource name const As nothing should be writing to the clocksource name string, make the clocksource name pointer const. Build-tested on ARM Versatile Express. Signed-off-by: Russell King Signed-off-by: John Stultz