commit df58bee21ed218cb7dfb561a590b1bd2a99531cf Merge: dcbf77b e34e77c Author: Linus Torvalds Date: Thu Sep 17 21:07:08 2009 -0700 Merge branch 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (21 commits) x86, mce: Fix compilation with !CONFIG_DEBUG_FS in mce-severity.c x86, mce: CE in last bank prevents panic by unknown MCE x86, mce: Fake panic support for MCE testing x86, mce: Move debugfs mce dir creating to mce.c x86, mce: Support specifying raise mode for software MCE injection x86, mce: Support specifying context for software mce injection x86, mce: fix reporting of Thermal Monitoring mechanism enabled x86, mce: remove never executed code x86, mce: add missing __cpuinit tags x86, mce: fix "mce" boot option handling for CONFIG_X86_NEW_MCE x86, mce: don't log boot MCEs on Pentium M (model == 13) CPUs x86: mce: Lower maximum number of banks to architecture limit x86: mce: macros to compute banks MSRs x86: mce: Move per bank data in a single datastructure x86: mce: Move code in mce.c x86: mce: Rename CONFIG_X86_NEW_MCE to CONFIG_X86_MCE x86: mce: Remove old i386 machine check code x86: mce: Update X86_MCE description in x86/Kconfig x86: mce: Make CONFIG_X86_ANCIENT_MCE dependent on CONFIG_X86_MCE x86, mce: use atomic_inc_return() instead of add by 1 ... Manually fixed up trivial conflicts: Documentation/feature-removal-schedule.txt arch/x86/kernel/cpu/mcheck/mce.c commit dcbf77b9e86e1726f5fbd01bb98820dac06d456e Merge: ca043a6 29cd8ba Author: Linus Torvalds Date: Thu Sep 17 21:00:02 2009 -0700 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (37 commits) sched: Fix SD_POWERSAVING_BALANCE|SD_PREFER_LOCAL vs SD_WAKE_AFFINE sched: Stop buddies from hogging the system sched: Add new wakeup preemption mode: WAKEUP_RUNNING sched: Fix TASK_WAKING & loadaverage breakage sched: Disable wakeup balancing sched: Rename flags to wake_flags sched: Clean up the load_idx selection in select_task_rq_fair sched: Optimize cgroup vs wakeup a bit sched: x86: Name old_perf in a unique way sched: Implement a gentler fair-sleepers feature sched: Add SD_PREFER_LOCAL sched: Add a few SYNC hint knobs to play with sched: Fix sync wakeups again sched: Add WF_FORK sched: Rename sync arguments sched: Rename select_task_rq() argument sched: Feature to disable APERF/MPERF cpu_power x86: sched: Provide arch implementations using aperf/mperf x86: Add generic aperf/mperf code x86: Move APERF/MPERF into a X86_FEATURE ... Fix up trivial conflict in arch/x86/include/asm/processor.h due to nearby addition of amd_get_nb_id() declaration from the EDAC merge. commit ca043a66ae48c74fa628ec92178f7a54f5b9a106 Merge: 1218259 3bb045f Author: Linus Torvalds Date: Thu Sep 17 20:58:11 2009 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, pat: don't use rb-tree based lookup in reserve_memtype() x86: Increase MIN_GAP to include randomized stack commit 1218259b2d09c79ed1113d3a6dbb9a1d6391f5cb Merge: ca9a702 0efb4d2 Author: Linus Torvalds Date: Thu Sep 17 20:56:37 2009 -0700 Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (44 commits) vsnprintf: remove duplicate comment of vsnprintf softirq: add BLOCK_IOPOLL to softirq_to_name oprofile: fix oprofile regression: select RING_BUFFER_ALLOW_SWAP tracing: switch function prints from %pf to %ps vsprintf: add %ps that is the same as %pS but is like %pf tracing: Fix minor bugs for __unregister_ftrace_function_probe tracing: remove notrace from __kprobes annotation tracing: optimize global_trace_clock cachelines MAINTAINERS: Update tracing tree details ftrace: document function and function graph implementation tracing: make testing syscall events a separate configuration tracing: remove some unused macros ftrace: add compile-time check on F_printk() tracing: fix F_printk() typos tracing: have TRACE_EVENT macro use __flags to not shadow parameter tracing: add static to generated TRACE_EVENT functions ring-buffer: typecast cmpxchg to fix PowerPC warning tracing: add filter event logic to special, mmiotrace and boot tracers tracing: remove trace_event_types.h tracing: use the new trace_entries.h to create format files ... commit ca9a702e50287cf429f1c12832319a26a715e70b Merge: bbe5a96 d15d6e6 Author: Linus Torvalds Date: Thu Sep 17 20:54:49 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: Add pata_atp867x driver for Artop/Acard ATP867X controllers pata_amd: do not filter out valid modes in nv_mode_filter sata_promise: update reset code sata_promise: disable hotplug on 1st gen chips libata: fix spurious WARN_ON_ONCE() on port freeze ahci: restore pci_intx() handling commit bbe5a96f678efcad83de8f900ab4ab963a99c805 Merge: f205ce8 0a375d7 Author: Linus Torvalds Date: Thu Sep 17 20:54:12 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc: Update defconfigs. sparc: Kill PROM console driver. commit f205ce83a766c08965ec78342f138cdc00631fba Merge: 3dc9566 b31c50a Author: Linus Torvalds Date: Thu Sep 17 20:53:52 2009 -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: (66 commits) be2net: fix some cmds to use mccq instead of mbox atl1e: fix 2.6.31-git4 -- ATL1E 0000:03:00.0: DMA-API: device driver frees DMA pkt_sched: Fix qstats.qlen updating in dump_stats ipv6: Log the affected address when DAD failure occurs wl12xx: Fix print_mac() conversion. af_iucv: fix race when queueing skbs on the backlog queue af_iucv: do not call iucv_sock_kill() twice af_iucv: handle non-accepted sockets after resuming from suspend af_iucv: fix race in __iucv_sock_wait() iucv: use correct output register in iucv_query_maxconn() iucv: fix iucv_buffer_cpumask check when calling IUCV functions iucv: suspend/resume error msg for left over pathes wl12xx: switch to %pM to print the mac address b44: the poll handler b44_poll must not enable IRQ unconditionally ipv6: Ignore route option with ROUTER_PREF_INVALID bonding: make ab_arp select active slaves as other modes cfg80211: fix SME connect rc80211_minstrel: fix contention window calculation ssb/sdio: fix printk format warnings p54usb: add Zcomax XG-705A usbid ... commit 3dc95666df0e1ae5b7381a8ec97a583bb3ce4306 Merge: b938fb6 9b1fc55 Author: Linus Torvalds Date: Thu Sep 17 20:52:32 2009 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (51 commits) MIPS: BCM63xx: Add integrated ethernet mac support. MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs. MIPS: BCM63xx: Add Broadcom 63xx CPU definitions. MIPS: Octeon: Move some platform device registration to its own file. MIPS: Don't corrupt page tables on vmalloc fault. MIPS: Shrink the size of tlb handler MIPS: Alchemy: override loops_per_jiffy detection MIPS: hw_random: Add hardware RNG for Octeon SOCs. MIPS: Octeon: Add hardware RNG platform device. MIPS: Remove useless zero initializations. MIPS: Alchemy: get rid of allow_au1k_wait MIPS: Octeon: Set kernel_uses_llsc to false on non-SMP builds. MIPS: Allow kernel use of LL/SC to be separate from the presence of LL/SC. MIPS: Get rid of CONFIG_CPU_HAS_LLSC MIPS: Malta: Remove pointless use use of CONFIG_CPU_HAS_LLSC MIPS: Rewrite clearing of ll_bit on context switch in C MIPS: Rewrite sysmips(MIPS_ATOMIC_SET, ...) in C with inline assembler MIPS: Consolidate all CONFIG_CPU_HAS_LLSC use in a single C file. MIPS: Clean up linker script using new linker script macros. MIPS: Use PAGE_SIZE in assembly instead of _PAGE_SIZE. ... commit 3bb045f1e2e51124200ef043256df4c7ad86bebd Merge: 8093833 dcb73bf Author: H. Peter Anvin Date: Thu Sep 17 14:40:19 2009 -0700 Merge branch 'x86/pat' into x86/urgent Merge reason: Suresh Siddha (1): x86, pat: don't use rb-tree based lookup in reserve_memtype() ... requires previous x86/pat commits already pushed to Linus. Signed-off-by: H. Peter Anvin commit dcb73bf402e0d5b28ce925dbbe4dab3b00b21eee Author: Suresh Siddha Date: Wed Sep 16 14:28:03 2009 -0700 x86, pat: don't use rb-tree based lookup in reserve_memtype() Recent enhancement of rb-tree based lookup exposed a bug with the lookup mechanism in the reserve_memtype() which ensures that there are no conflicting memtype requests for the memory range. memtype_rb_search() returns an entry which has a start address <= new start address. And from here we traverse the linear linked list to check if there any conflicts with the existing mappings. As the rbtree is based on the start address of the memory range, it is quite possible that we have several overlapped mappings whose start address is much less than new requested start but the end is >= new requested end. This results in conflicting memtype mappings. Same bug exists with the old code which uses cached_entry from where we traverse the linear linked list. But the new rb-tree code exposes this bug fairly easily. For now, don't use the memtype_rb_search() and always start the search from the head of linear linked list in reserve_memtype(). Linear linked list for most of the systems grow's to few 10's of entries(as we track memory type of RAM pages using struct page). So we should be ok for now. We still retain the rbtree and use it to speed up free_memtype() which doesn't have the same bug(as we know what exactly we are searching for in free_memtype). Also use list_for_each_entry_from() in free_memtype() so that we start the search from rb-tree lookup result. Reported-by: Markus Trippelsdorf Signed-off-by: Suresh Siddha Cc: Venkatesh Pallipadi LKML-Reference: <1253136483.4119.12.camel@sbs-t61.sc.intel.com> Signed-off-by: H. Peter Anvin commit d15d6e6cc340566d53d953ffdec2c9e96816fa52 Author: John(Jung-Ik) Lee Date: Mon Sep 14 21:32:33 2009 -0700 libata: Add pata_atp867x driver for Artop/Acard ATP867X controllers This is a new pata driver for ARTOP 867X 64bit 4-channel UDMA133 ATA ctrls. Based on the Atp867 data sheet rev 1.2, Acard, and in part on early ide codes from Eric Uhrhane . Signed-off-by: John(Jung-Ik) Lee Reviewed-by: Grant Grundler Reviewed-by: Gwendal Gringo Signed-off-by: Jeff Garzik commit 90950a2504b66d626a73f55ca949a2e79ff4b7c4 Author: Robert Hancock Date: Sat Sep 12 23:54:47 2009 -0600 pata_amd: do not filter out valid modes in nv_mode_filter On a Compaq Presario V3000 laptop (NVIDIA MCP51 chipset), pata_amd selects PIO0 mode for the PATA DVD-RAM drive instead of MWDMA2 which it supports: ata4.00: ATAPI: HL-DT-ST DVDRAM GSA-4084N, KQ09, max MWDMA2 ata4: nv_mode_filter: 0x39f&0x7001->0x1, BIOS=0x0 (0x0) ACPI=0x7001 (60:600:0x11) ata4.00: configured for PIO0 For some reason, the BIOS-set UDMA configuration returns 0 and the ACPI _GTM reports that UDMA2 and PIO0 are enabled. This causes nv_mode_filter to end up allowing only PIO0 and UDMA0-2. Since the drive doesn't support UDMA we end up using PIO0. Since the controllers should always support PIO4, MWDMA2 and UDMA2 regardless of what cable type is used, let's make sure we don't filter out these modes regardless of what wacky settings the BIOS is using. Signed-off-by: Robert Hancock Cc: stable@kernel.org Signed-off-by: Jeff Garzik commit ff7cddf59e3618d29e12b061651ab3f5a53f4a98 Author: Mikael Pettersson Date: Tue Sep 15 15:08:47 2009 +0200 sata_promise: update reset code sata_promise's reset code has deviated quite a bit from the Promise reference driver's, and it has been observed to fail to recover from errors in some cases. This patch thus updates the reset code to more closely match the reference driver: - soft reset (pdc_reset_port): * wait for ATA engine to not be in packet command mode (2nd gen only) * write reset bit in PDC_CTLSTAT before the first read in the loop * for 2nd gen SATA follow up with FPDMA reset and clearing error status registers - hard reset (pdc_sata_hardreset): * wait for ATA engine to not be in packet command mode (2nd gen only) * reset ATA engine via the PCI control register * Tejun's change to use non-waiting hardreset + follow-up SRST I'm not changing the hotplug mask bits since they are taken care of by sata_promise's ->freeze() and ->thaw() operations. And I'm not writing the PMP port # because that's always zero (for now). Tested here on various controllers. In particular, one disk which used to timeout and fail to recover from certain hdparm and smartmonctl commands now works nicely. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 0ae6654da437db4ae6333d232e718b570c7a3eac Author: Mikael Pettersson Date: Tue Sep 15 15:07:32 2009 +0200 sata_promise: disable hotplug on 1st gen chips 1st generation Promise SATA chips are prone to generating spurious hotplug events which can disrupt normal operation. This has been observed on 20376 and 20378 chips. This patch thus disables hotplug support on 1st gen chips while leaving it enabled for 2nd gen chips. The pdc_sata_hotplug_offset() function becomes redundant so it is removed. Tested on 1st gen 20376 and 20378 mainboard chips and on a 2nd gen SATA300 PCI card. Signed-off-by: Mikael Pettersson Tested-by: Kurt Roeckx Signed-off-by: Jeff Garzik commit 4dc738ed2adf28f62f46dd53ef700a51603777f7 Author: Tejun Heo Date: Thu Sep 17 18:45:27 2009 +0900 libata: fix spurious WARN_ON_ONCE() on port freeze Commit 54c38444fad6a99b4b19512f8f0055d69115e69e makes libata abort qcs after the port is frozen. This is necessary to guarantee that TF registers are accessed after the DMA engine is shutdown after an error. However, this triggers WARN_ON_ONCE() check in ata_qc_complete() spuriously. Move WARN_ON_ONCE() downwards such that failing commands while frozen doesn't trigger it. Signed-off-by: Tejun Heo Cc: stable Signed-off-by: Jeff Garzik commit 31b239ad1ba7225435e13f5afc47e48eb674c0cc Author: Tejun Heo Date: Thu Sep 17 00:34:39 2009 +0900 ahci: restore pci_intx() handling Commit a5bfc4714b3f01365aef89a92673f2ceb1ccf246 dropped explicit pci_intx() manipulation from ahci because it seemed unnecessary and ahci doesn't seem to be the right place to be tweaking it if it were. This was largely okay but there are exceptions. There was one on an embedded platform which was fixed via firmware and now bko#14124 reports it on a HP DL320. http://bugzilla.kernel.org/show_bug.cgi?id=14124 I still think this isn't something libata drivers should be caring about (the only ones which are calling pci_intx() explicitly are libata ones and one other driver) but for now reverting the change seems to be the right thing to do. Signed-off-by: Tejun Heo Reported-by: Thomas Jarosch Signed-off-by: Jeff Garzik commit b938fb6f491113880ebaabfa06c6446723c702fd Merge: de55a89 87bfa1d Author: Linus Torvalds Date: Thu Sep 17 13:21:52 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Fix MSI GX620 mixer ASoC: remove unused #include ASoC: S3C lrsync function made to work with IRQs disabled. ALSA: hda - Fix Dell S14 pin setup ALSA: hda - Fix IDT92HD83* codec setup ASoC: Fix display of stream name in DAPM debugfs ALSA: hda - Add support for HP dv6 ALSA: hda - Fix HP/line-out initialization with IDT/STAC codecs ALSA: hda - Set default GPIO for IDT92HD71bxx ALSA: hda - Set default GPIO for STAC/IDT codecs ASoC: Clean up error handling in MPC5200 DMA setup ALSA: hda - Add missing model=auto entry for ALC269 commit 0efb4d20723d58edbad29d1ff98a86b631adb5e6 Author: Steven Rostedt Date: Thu Sep 17 09:27:29 2009 -0400 vsnprintf: remove duplicate comment of vsnprintf Remove the duplicate comment of bstr_printf that is the same as the vsnprintf. Add the 's' option to the comment for the pointer function. This is more of an internal function so the little duplication of the comment here is OK. Reported-by: Zhaolei Cc: Linus Torvalds Signed-off-by: Steven Rostedt commit 5dd4de587fd9c25cb32a7a0fe9feec3647509b6f Author: Li Zefan Date: Thu Sep 17 17:38:32 2009 +0800 softirq: add BLOCK_IOPOLL to softirq_to_name With BLOCK_IOPOLL_SOFTIRQ added, softirq_to_name[] and show_softirq_name() needs to be updated. Signed-off-by: Li Zefan LKML-Reference: <4AB20398.8070209@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 9a5963eb494c8a7be65199e15854551df7d2d939 Author: Christian Borntraeger Date: Wed Sep 16 21:56:49 2009 +0200 oprofile: fix oprofile regression: select RING_BUFFER_ALLOW_SWAP commit 85bac32c4a52c592b857f2c360cc5ec93a097d70 ring-buffer: only enable ring_buffer_swap_cpu when needed broke oprofile (at least on s390, but likely on all platforms). this patch lets oprofile select RING_BUFER_ALLOW_SWAP to make ring_buffer_swap_cpu usable for oprofile. Signed-off-by: Christian Borntraeger LKML-Reference: <200909162156.49239.borntraeger@de.ibm.com> Cc: Ingo Molnar Cc: Robert Richter Signed-off-by: Steven Rostedt commit b375a11a239e9e1cac40c7f3ff28b343d9f7ac51 Author: Steven Rostedt Date: Thu Sep 17 00:05:58 2009 -0400 tracing: switch function prints from %pf to %ps For direct function pointers (like what mcount provides) PowerPC64 requires the use of %ps, otherwise nothing is printed. This patch converts all prints of functions retrieved through mcount to use the %ps format from the %pf. Signed-off-by: Steven Rostedt commit 91adcd2c4b104a8ce2973e6e84b01fd48735ffc6 Author: Steven Rostedt Date: Wed Sep 16 20:03:06 2009 -0400 vsprintf: add %ps that is the same as %pS but is like %pf On PowerPC64 function pointers do not point directly at the functions, but instead point to pointers to the functions. The output of %pF expects to point to a pointer to the function, whereas %pS will show the function itself. mcount returns the direct pointer to the function and not the pointer to the pointer. Thus %pS must be used to show this. The function tracer requires printing of the functions without offsets and uses the %pf instead. %pF produces run_local_timers+0x4/0x1f %pf produces just run_local_timers For PowerPC64, we need to use the direct pointer, and we only have %pS which will produce .run_local_timers+0x4/0x1f This patch creates a %ps that matches the %pf as %pS matches %pF. Cc: Linus Torvalds Cc: Zhao Lei Acked-by: Benjamin Herrenschmidt Signed-off-by: Steven Rostedt commit 87bfa1dbfb22aab2bb6c1085c1fe7d56cdd2f044 Merge: 673bca1 b99dba3 Author: Takashi Iwai Date: Thu Sep 17 21:08:56 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda - Fix MSI GX620 mixer ALSA: hda - Fix Dell S14 pin setup ALSA: hda - Fix IDT92HD83* codec setup ALSA: hda - Add support for HP dv6 ALSA: hda - Fix HP/line-out initialization with IDT/STAC codecs ALSA: hda - Set default GPIO for IDT92HD71bxx ALSA: hda - Set default GPIO for STAC/IDT codecs ALSA: hda - Add missing model=auto entry for ALC269 commit 673bca1906334972c2b54e7c7c002941329039cd Merge: 1110afb d4e54e8 Author: Takashi Iwai Date: Thu Sep 17 21:08:53 2009 +0200 Merge branch 'fix/asoc' into for-linus * fix/asoc: ASoC: remove unused #include ASoC: S3C lrsync function made to work with IRQs disabled. ASoC: Fix display of stream name in DAPM debugfs ASoC: Clean up error handling in MPC5200 DMA setup commit 45bd00d31de886f8425b4dd33204b911b0a466a9 Merge: 40d9d82 ab86e57 Author: Ingo Molnar Date: Thu Sep 17 20:52:23 2009 +0200 Merge branch 'linus' into tracing/core Merge reason: Pick up kernel/softirq.c update for dependent fix. Signed-off-by: Ingo Molnar commit 9b1fc55a05006523bced65f4d99f7072831ff56a Author: Maxime Bizon Date: Tue Aug 18 13:23:40 2009 +0100 MIPS: BCM63xx: Add integrated ethernet mac support. Signed-off-by: Maxime Bizon Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller Signed-off-by: Ralf Baechle commit e7300d04bd0809eb7ea10a2ed8c729459f816e36 Author: Maxime Bizon Date: Tue Aug 18 13:23:37 2009 +0100 MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs. Signed-off-by: Maxime Bizon Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 0de663ef8627f35fda9106a8faaca512f29e493e Author: Maxime Bizon Date: Tue Aug 18 13:23:37 2009 +0100 MIPS: BCM63xx: Add Broadcom 63xx CPU definitions. Todo: Nothing ever detects CPU_BCM6338 but the code tests for it anyway. Signed-off-by: Maxime Bizon Signed-off-by: Ralf Baechle commit 512254ba8383c5dd7eca6819d0da1ce2fe9ede47 Author: David Daney Date: Wed Sep 16 14:54:18 2009 -0700 MIPS: Octeon: Move some platform device registration to its own file. There is a bunch of platform device registration in arch/mips/cavium-octeon/setup.c. We move it to its own file in preparation for adding more platform devices. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 2ca2ebfd952d0338a0972c1f1f56b9b0c1a3b09c Author: David Daney Date: Wed Sep 2 15:47:34 2009 -0700 MIPS: Don't corrupt page tables on vmalloc fault. The code after the vmalloc_fault: label in do_page_fault() modifies user page tables, this is not correct for 64-bit kernels. For 64-bit kernels we should go straight to the no_context handler skipping vmalloc_fault. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit e0cc87f59490d7d62a8ab2a76498dc8a2b64927a Author: Wu Fei Date: Thu Sep 3 22:29:53 2009 +0800 MIPS: Shrink the size of tlb handler By combining swapper_pg_dir and module_pg_dir, several if conditions can be eliminated from the tlb exception handler. The reason they can be combined is that, the effective virtual address of vmalloc returned is at the bottom, and of module_alloc returned is at the top. It also fixes the bug in vmalloc(), which happens when its return address is not covered by the first pgd. Signed-off-by: Wu Fei Signed-off-by: Ralf Baechle commit a7bcb1ae6094db78b077ae17e92c69de7643014f Author: Manuel Lauss Date: Thu Aug 27 19:21:18 2009 +0200 MIPS: Alchemy: override loops_per_jiffy detection loops_per_jiffy depends on coreclk speed; preset it instead of letting the kernel waste precious microseconds trying to approximate it. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit f7557dc8215a2e7eb22da583d03e1aef72c58b3c Author: David Daney Date: Thu Aug 20 14:10:23 2009 -0700 MIPS: hw_random: Add hardware RNG for Octeon SOCs. Signed-off-by: David Daney Acked-by: Herbert Xu Signed-off-by: Ralf Baechle commit e26449153c386904d2801d6348d66d00e5ba2211 Author: David Daney Date: Thu Aug 20 14:10:22 2009 -0700 MIPS: Octeon: Add hardware RNG platform device. Add a platform device for the Octeon Random Number Generator (RNG). Signed-off-by: David Daney Acked-by: Herbert Xu Signed-off-by: Ralf Baechle commit 982f6ffeeed5ef6104cfd72e517ff9e7a9270fda Author: Ralf Baechle Date: Thu Sep 17 02:25:07 2009 +0200 MIPS: Remove useless zero initializations. Signed-off-by: Ralf Baechle commit 2882b0c63ac6085fd5c18959240b6f7d6ffb8d5b Author: Manuel Lauss Date: Sat Aug 22 18:09:27 2009 +0200 MIPS: Alchemy: get rid of allow_au1k_wait Eliminate the 'allow_au1k_wait' variable. MIPS kernel installs the Alchemy-specific wait code before timer initialization; if the C0 timer must be used for timekeeping the wait function is set to NULL which means no wait implementation is available. As a sideeffect, the 'wait instruction available' output in /proc/cpuinfo now correctly indicates whether 'wait' is usable. Run-tested on DB1200. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 9d24bafb0d1ecf636f71a56f9d6f071f5c7a882d Author: David Daney Date: Mon Jul 13 11:15:20 2009 -0700 MIPS: Octeon: Set kernel_uses_llsc to false on non-SMP builds. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit b791d1193af9772040e592d5aa161790f800b762 Author: David Daney Date: Mon Jul 13 11:15:19 2009 -0700 MIPS: Allow kernel use of LL/SC to be separate from the presence of LL/SC. On some CPUs, it is more efficient to disable and enable interrupts in the kernel rather than use ll/sc for atomic operations. But if we were to set cpu_has_llsc to false, we would break the userspace futex interface (in asm/futex.h). We separate the two concepts, with a new predicate kernel_uses_llsc, that lets us disable the kernel's use of ll/sc while still allowing the futex code to use it. Also there were a couple of cases in bitops.h where we were using ll/sc unconditionally even if cpu_has_llsc were false. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit f7ade3c168e4f437c11f57be012992bbb0e3075c Author: Ralf Baechle Date: Thu Sep 17 02:25:06 2009 +0200 MIPS: Get rid of CONFIG_CPU_HAS_LLSC CONFIG_CPU_HAS_LLSC duplicated the function of cpu_has_llsc for no good reason and and the results if the one was enabled and the other disabled was very unobvious. Remove it now that there are no more remaining users. Signed-off-by: Ralf Baechle commit b8d6f78cd058e34ec706f7cb353fdb2eb743c050 Author: Ralf Baechle Date: Thu Sep 17 02:25:06 2009 +0200 MIPS: Malta: Remove pointless use use of CONFIG_CPU_HAS_LLSC All CPUs for Malta support LL/SC. Signed-off-by: Ralf Baechle commit 43e6ae6d9f08304682294c14c6b7f2b2441668e7 Author: Ralf Baechle Date: Thu Sep 17 02:25:05 2009 +0200 MIPS: Rewrite clearing of ll_bit on context switch in C This also means there is now only one implementation not 3 left. Signed-off-by: Ralf Baechle commit f1e39a4a616cd9981a9decfd5332fd07a01abb8b Author: Ralf Baechle Date: Thu Sep 17 02:25:05 2009 +0200 MIPS: Rewrite sysmips(MIPS_ATOMIC_SET, ...) in C with inline assembler This way it doesn't have to use CONFIG_CPU_HAS_LLSC anymore. Signed-off-by: Ralf Baechle commit f4c6b6bc5a4fc8d607f2d89369008c85a3a12a8b Author: Ralf Baechle Date: Thu Sep 17 02:25:05 2009 +0200 MIPS: Consolidate all CONFIG_CPU_HAS_LLSC use in a single C file. Signed-off-by: Ralf Baechle commit 6eb10bc9e2deab06630261cd05c4cb1e9a60e980 Author: Nelson Elhage Date: Fri Jul 31 16:58:19 2009 -0400 MIPS: Clean up linker script using new linker script macros. This patch results in fewer output sections and in some data being reordered, but should have no functional impact. Signed-off-by: Nelson Elhage Signed-off-by: Tim Abbott Signed-off-by: Ralf Baechle commit a0b54e256d513ed99e456bea6e4e188ff92e7c46 Author: Nelson Elhage Date: Fri Jul 31 16:58:18 2009 -0400 MIPS: Use PAGE_SIZE in assembly instead of _PAGE_SIZE. Now that PAGE_SIZE is available to assembly directly, there is no need to separately expose it as _PAGE_SIZE through asm-offsets. In addition, remove _PAGE_SHIFT from asm-offsets, since it was never needed, and is not used anywhere. Signed-off-by: Nelson Elhage Signed-off-by: Tim Abbott Signed-off-by: Ralf Baechle commit 24ffce18a4b6b5e9769200582c09df7ff044259f Author: Christoph Hellwig Date: Tue Aug 4 16:54:04 2009 +0200 MIPS: Convert to asm-generic/hardirq.h Signed-off-by: Christoph Hellwig Signed-off-by: Ralf Baechle commit d47fbb5996269f3081deb7a1b4ba717557256555 Author: Florian Fainelli Date: Wed Jul 15 12:09:34 2009 +0200 MIPS: AR7: Make board code register ar7_wdt as a platform device This patch makes the board code register the ar7_wdt driver as a platform device. We move the dynamic resource calculation here since the driver should not be aware of the AR7 SoC version it is running on. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 6f4c7b32e156ac67ae170554cfba0929272c7adf Author: Wu Zhangjin Date: Thu Jul 2 23:28:04 2009 +0800 MIPS: Loongson: Update the default config file for fuloong2e Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 3702bba5eb4f7a0c89107089af6fd9bc2966b65a Author: Wu Zhangjin Date: Thu Jul 2 23:27:41 2009 +0800 MIPS: Loongson: Add GCC 4.4 support for Loongson2E Because only gcc >=4.4 have loongson-specific support, we need to choose the suitable -march argument for gcc <= 4.3 and gcc >= 4.4, and here, we use -march=loongson2e for loongson2e. Thanks goes to Arnaud Patard for suggestion of using cc-options(Documentation/kbuild/makefiles.txt). and thanks Zhang Le for introducing the new CPU_LOONGSON2E kernel option. NOTE: -mtune option is not need if -march and -mtune use the same value. Signed-off-by: Zhang Le Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 3209e70e5ed1821be8d9b87fe9e8bd6cffa4b4c7 Author: Wu Zhangjin Date: Thu Jul 2 23:27:12 2009 +0800 MIPS: Loongson: Add a machtype kernel command line argument The difference between some loongson-based machines is very small, so, if there is no necessary to add new kernel config options to cope with this difference, it will be better to share the same kernel image file between them, benefit from this, the linux distribution developers only have a need to compile the kernel one time. This machtype kernel command line argument will be used later to share the same kernel image file between two different machines(menglong & yeeloong) made by lemote. Thanks very much to Zhang Le for cleaning up the machtype implementation. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 85749d24bcf90440b10394312e5b1c96d1a62cdb Author: Wu Zhangjin Date: Thu Jul 2 23:26:45 2009 +0800 MIPS: Loongson: Split common loongson source code out To share common loongson source code between all of the loongson-based machines. there is a need to split it out of the fuloong-2e/ directory. at the same time, other according tuning is needed. the machine-specific parts are defined as macros in relative header file, pci.h, mem.h, machine.h. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 8e4971175acc910eb4258df82a6bd8f2c4e4e5b5 Author: Wu Zhangjin Date: Thu Jul 2 23:26:08 2009 +0800 MIPS: Loongson: Change naming methods To make source code of loongson sharable to the machines(such as gdium) made by the other companies, we rename arch/mips/lemote to arch/mips/loongson, asm/mach-lemote to asm/mach-loongson, and rename lm2e to the name of the machine: fuloong-2e. accordingly, FULONG are renamed to FULOONG2E to make it distinguishable to the future FULOONG2F. and also, some other relative tuning is needed. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 67b35e5d01aba7a83f2161b0c90acb08afa01e3e Author: Wu Zhangjin Date: Thu Jul 2 23:25:46 2009 +0800 MIPS: Loongson: Add oprofile support This kernel support is needed by the user-space tool:oprofile to profile linux kernel or applications via loongson2 performance counters. you can enable this driver via CONFIG_OPROFILE = y or m. On Loongson2 there are two performance counters, each one can count 16 events respectively. when anyone of the performance counter overflows, an interrupt will be generated and is routed to the IRQ MIPS_CPU_IRQ_BASE + 6. Signed-off-by: Yanhua Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 92d1b63dbae0865bee5317ca6b65e0b304dc590d Author: Wu Zhangjin Date: Thu Jul 2 23:24:01 2009 +0800 MIPS: Loongson: RTC: Enable legacy RTC driver on fulong RTC_LIB is selected by MIPS by default, and therefore, the legacy RTC driver is disabled. but fortunately, RTC_LIB not works on fulong, so, enabling the legcy RTC driver is needed, otherwise, the tools like hwclock will not work. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit f7face03c66cea12159191ba8d2a9ee735da0b0d Author: Wu Zhangjin Date: Thu Jul 2 23:23:30 2009 +0800 MIPS: Loongson: PCI: Clean up pcimap setup Fixup the wrong original comment of pcimap, and make the source code more understandable. and also, some new extra consideration is added in. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 5e983ff654ca3df3007b5b558b5271bb4622afa4 Author: Wu Zhangjin Date: Thu Jul 2 23:23:03 2009 +0800 MIPS: Loongson: clean up the coding style With the help of script/checkpatch.pl, i have cleaned up the coding style. 1. remove un-needed header files and tune some comments. 2. remove some un-needed { } add a new header file loongson.h: 3. move some common header files to loongson.h 4. move some common extern declartions to loongson.h and this new header file is needed for future loongson2f support. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit bd92aa013e8fcd17328ec8e060477761cf3380d9 Author: Wu Zhangjin Date: Thu Jul 2 23:22:36 2009 +0800 MIPS: Loongson: Split the implementation of prom and setup parts This patch split the old initilization and setup implementation to several file, one file one logic function. the other main changes include: 1. as the script/checkpatch.pl suggests, use strict_strtol instead of simple_strtol in arch/mips/lemote/lm2e/cmdline.c 2. use the existed macros in asm/mips-boards/bonito64.h as the arguments of set_io_port_base() and remove the un-needed ones in asm/mach-lemote/pci.h Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit f54a40ee6b3cb4da638d7705e433bc80aa4f49f6 Author: Wu Zhangjin Date: Thu Jul 2 23:22:11 2009 +0800 MIPS: Loongson: PCI: use existing mips_io_port_base mips_io_port_base is initialized via set_io_port_base() in arch/mips/lemote/lm2e/setup.c, we can use it directly here. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit f256a5775a357e2527c7bbfb59c125c4c4c356ad Author: Wu Zhangjin Date: Thu Jul 2 23:21:27 2009 +0800 MIPS: Loongson: pm: clean up the reboot support Several magic numbers have been replaced by relative macros, which will be more readable and understandable. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 8f0de87fa97667fa05c7bc938396ec759f021a21 Author: Wu Zhangjin Date: Thu Jul 2 23:20:56 2009 +0800 MIPS: Loongson: pm: Remove redundant source code The implmentation of loongson2e_power_off and loongson2e_halt is almostly the same, just preserve one of them. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit f6a2740d0c1b3fd0d3cc8ec17e232f82f2d8b14c Author: Wu Zhangjin Date: Thu Jul 2 23:20:20 2009 +0800 MIPS: Loongson: Add new early_printk implmentation This patch is based on the implementation in the lm2e-fixes branch of Philippe's git://git.linux-cisco.org/linux-mips.git and the malta-specific early_printk implementation. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 95ff7c955376d5bd52f044f445ea04eab4fb0f9a Author: Wu Zhangjin Date: Thu Jul 2 23:19:33 2009 +0800 MIPS: Loongson: Remove out-of-date board-specific kgdb source code Since the re-implementation of kgdb by commit 8854700115ecf8aa6f087aa915b7b6cf18090d39 the platform-specific version has become superfluous, remove it. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit efc49ef556b135739386c64fd5c2ecd99b300446 Author: Wu Zhangjin Date: Thu Jul 2 23:18:09 2009 +0800 MIPS: Loongson: Remove existing early_printk implementation Removes the existing implementation of early_printk for fulong. The old implementation was based on the outdated board-specific dbg_io.c. Since commit 8d60a903d986ffa26c41f0092320a3b9da20bfaf dbg_io.c is not longer needed; it will be removed by the next patch, and a new implementation of early_printk will be added later. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit eb42306b7a45703815e898a4742507c08ca01860 Author: Ralf Baechle Date: Tue Sep 15 23:04:59 2009 +0200 MIPS: IP22, IP28: Build with -Werror Signed-off-by: Ralf Baechle commit 03bf6ad9d8b4d2f490fe08812e2c8a461219c91c Author: Ralf Baechle Date: Tue Sep 15 22:58:23 2009 +0200 MIPS: FW: Build with -Werror Signed-off-by: Ralf Baechle commit 38c9fb743f0d6e9dd8ee45e3e6247bc7d147c4de Author: Ralf Baechle Date: Tue Sep 15 15:00:02 2009 +0200 MIPS: Fulong: Convert reset initialization to initcall. Signed-off-by: Ralf Baechle commit 1f320d053c666567a8e440ebcec4ed7f7006b006 Author: Ralf Baechle Date: Tue Sep 15 14:50:39 2009 +0200 MIPS: Malta: Convert reset initialization to initcall. Signed-off-by: Ralf Baechle commit 7e17615c45980fc34d3f7d04bc7063cfc32180ec Author: Ralf Baechle Date: Tue Sep 15 13:36:13 2009 +0200 MIPS: Get rid of duplicate cpu_idle() prototype. Since 2.6.11-rc1 there is a prototype in . Signed-off-by: Ralf Baechle commit 70ebadc8e30efef3bf21ba94b3571537de8bcf4e Author: Julia Lawall Date: Sun Sep 13 21:15:18 2009 +0200 MIPS: TXx9: Fix error handling. Error handling code following a kzalloc should free the allocated data. Error handling code following an ioremap should iounmap the allocated data. The semantic match that finds the first problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Ralf Baechle commit 13680ade4e57090a8ccad332e84e1f3d48b67125 Author: Atsushi Nemoto Date: Fri Sep 4 22:09:04 2009 +0900 MIPS: TXx9: Disable PM capability of TX493[89] internal ether Some TC35815 variants (i.e. TX493[89] internal ether) report existance of PM registers though they are not supported. Disable PM features by clearing pdev->pm_cap. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 99502d94c3649c5c5e6e81e323caf422a2f1591c Author: Nelson Elhage Date: Fri Jul 31 16:58:17 2009 -0400 MIPS: make page.h constants available to assembly. page.h includes ifndef __ASSEMBLY__ guards, but PAGE_SIZE and some other constants are defined using "1UL", which the assembler does not support. Use the _AC macro from const.h to make them available to assembly (and linker scripts). Signed-off-by: Nelson Elhage Signed-off-by: Tim Abbott Signed-off-by: Ralf Baechle commit 75f453164178a1749297fc466300bf3e34ef8103 Author: Manuel Lauss Date: Fri Aug 28 11:26:58 2009 +0200 MIPS: Alchemy: add gpio_request/gpio_free stubs for CONFIG_GPIOLIB=n Some drivers use gpio_request/gpio_free regardless of whether gpiolib is actually built; add stubs to work around the ensuing compile failures. Signed-off-by: Manuel Lauss Tested-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 6de4c6f9c8ead69d2f423ea80a384ef98bb4b3f8 Author: Alexey Dobriyan Date: Wed Aug 12 23:59:27 2009 +0400 MIPS: Lasat: Fix compilation Header needed for current_cpu_data which expands to smp_processor_id(). However, linux/smp.h can't be included into asm/cpu-info.h due to horrible circular dependencies, so plug it here. Signed-off-by: Alexey Dobriyan Signed-off-by: Ralf Baechle commit 2608441164fde82b7fc0dd050ca0c46be0df23f8 Author: David Daney Date: Thu Aug 20 12:35:53 2009 -0700 MIPS: Octeon: Check all CCAs in cvmx_write_csr. The current code only checks CCA of 0 when deciding if a dummy read is needed. Since the kernel can (and does) use other CCAs we need to mask out the CCA bits from the address. Since the address constant now fits in 16 bits, there is an added benefit that smaller code is generated. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit fff9c815291d5f4132976ac337337ea5813663e6 Author: Roel Kluin Date: Wed Aug 26 14:48:35 2009 +0200 MIPS: Octeon: False positive timeout If we reach the test just below the loop with a `timeout' value of 0, this does not mean that the timeout caused the loop to end, but rather the `smi_rd.s.pending', in the last iteration. If timeout caused the loop to end, then `timeout' is -1, not 0. Since this can occur only in the last iteration, it is not very likely to be a problem. By changing the post- to prefix decrement we ensure that a timeout of 0 does mean it timed out. Signed-off-by: Roel Kluin Acked-by: David Daney Signed-off-by: Ralf Baechle commit e3bf887d73309808d47c74f2f024d2497c8f7048 Author: Ralf Baechle Date: Fri Aug 28 12:29:58 2009 +0100 MIPS: Fix potencial build error in will break if HZ isn't defined. In 2.6.26 and later we're usually lucky ... Signed-off-by: Ralf Baechle commit b31c50a7f9e93a61d14740dedcbbf2c376998bc7 Author: Sathya Perla Date: Thu Sep 17 10:30:13 2009 -0700 be2net: fix some cmds to use mccq instead of mbox All cmds issued to BE after the creation of mccq must now use the mcc-q (and not mbox) to avoid a hw issue that results in mbox poll timeout. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 03f18991614cba1fa5be5dcd1a79b0e30ac44c50 Author: Jie Yang Date: Thu Sep 17 10:27:28 2009 -0700 atl1e: fix 2.6.31-git4 -- ATL1E 0000:03:00.0: DMA-API: device driver frees DMA use the wrong API when free dma. So when map dma use a flag to demostrate whether it is 'pci_map_single' or 'pci_map_page'. When free the dma, check the flags to select the right APIs('pci_unmap_single' or 'pci_unmap_page'). set the flags type to u16 instead of unsigned long on David's comments. Signed-off-by: Jie Yang Signed-off-by: David S. Miller commit a19d2158439d6fba8160d7d2446f233f525f09e7 Author: Jarek Poplawski Date: Thu Sep 17 10:26:07 2009 -0700 pkt_sched: Fix qstats.qlen updating in dump_stats Some classful qdiscs miss qstats.qlen updating with q.qlen of their child qdiscs in dump_stats methods. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 0522fea6505f7b03a82787acdc6ad3066d9b4de3 Author: Jens Rosenboom Date: Thu Sep 17 10:24:24 2009 -0700 ipv6: Log the affected address when DAD failure occurs If an interface has multiple addresses, the current message for DAD failure isn't really helpful, so this patch adds the address itself to the printk. Signed-off-by: Jens Rosenboom Signed-off-by: David S. Miller commit 3264690b04ce4edc517fa5d31fa72496f71a7321 Author: David S. Miller Date: Thu Sep 17 10:18:30 2009 -0700 wl12xx: Fix print_mac() conversion. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: David S. Miller commit de55a8958f6e3ef5ce5f0971b80bd44bfcac7cf1 Merge: 79b520e 0672453 Author: Linus Torvalds Date: Thu Sep 17 09:55:52 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: amd64_edac: check NB MCE bank enable on the current node properly amd64_edac: Rewrite unganged mode code of f10_early_channel_count amd64_edac: cleanup amd64_check_ecc_enabled x86, EDAC: Provide function to return NodeId of a CPU amd64_edac: build driver only on AMD hardware commit 79b520e87e1214cfa107bdc8528b5d6c055a8b82 Merge: abf5940 fdec29c Author: Linus Torvalds Date: Thu Sep 17 09:54:37 2009 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: (39 commits) xfs: includecheck fix for fs/xfs/xfs_iops.c xfs: switch to seq_file xfs: Record new maintainer information xfs: use correct log reservation when handling ENOSPC in xfs_create xfs: xfs_showargs() reports group *and* project quotas enabled xfs: un-static xfs_inobt_lookup xfs: actually enable the swapext compat handler xfs: simplify xfs_trans_iget xfs: merge fsync and O_SYNC handling xfs: speed up free inode search xfs: rationalize xfs_inobt_lookup* xfs: untangle xfs_dialloc xfs: factor out debug checks from xfs_dialloc and xfs_difree xfs: improve xfs_inobt_update prototype xfs: improve xfs_inobt_get_rec prototype xfs: factor out inode initialisation fs/xfs: Correct redundant test xfs: remove XFS_INO64_OFFSET un-static xfs_read_agf xfs: add more statics & drop some unused functions ... commit abf5940dad78dde95edd7f6ba6e329cd10a92a5c Merge: 66bc4a6 5bf9cbe Author: Linus Torvalds Date: Thu Sep 17 09:53:04 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (75 commits) Blackfin: update ftrace for latest toolchain Blackfin: fix elf_fpregset_t definition Blackfin: unify cache init functions Blackfin: swap clocksource ratings for gptimer/cycles Blackfin: update ftrace_push_return_trace() breakage Blackfin: update cm board resources Blackfin: cm-bf537u: split board from cm-bf537e Blackfin: bf538-ezkit: add SPI IRQ resources Blackfin: increase default async timings for parallel flashes Blackfin: add ICPLB coverage for async banks Blackfin: use KERN_ALERT in all kgdb_test output Blackfin: fix BF54x SPI CS resources Blackfin: fix typo in isram_write() Blackfin: bf537-stamp: add adp5588 gpio resources Blackfin: add some isram-driver self tests Blackfin: workaround anomaly 05000283 Blackfin: fix spelling in a few comments Blackfin: use raw_smp_processor_id() in exception code Blackfin: remove useless duplicated assignment in gpio code Blackfin: Fix link errors with binutils 2.19 and GCC 4.3 ... commit 66bc4a6f34a950c7aede597c578352c3eba82017 Merge: 96c015b 2985709 Author: Linus Torvalds Date: Thu Sep 17 09:52:43 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (53 commits) m68knommu: Make PAGE_SIZE available to assembly files. m68knommu: fix ColdFire definition of CLOCK_TICK_RATE m68knommu: set multi-function pins for ethernet when enabled m68knommu: remove special interrupt handling code for ne2k support m68knommu: relax IO_SPACE_LIMIT setting m68knommu: remove ColdFire direct interrupt register access m68knommu: create a speciailized ColdFire 5272 interrupt controller m68knommu: add support for second interrupt controller of ColdFire 5249 m68knommu: clean up old ColdFire timer irq setup m68knommu: map ColdFire interrupts to correct masking bits m68knommu: clean up ColdFire 532x CPU timer setup m68knommu: simplify ColdFire "timers" clock initialization m68knommu: support code to mask external interrupts on old ColdFire CPU's m68knommu: merge old ColdFire interrupt controller masking macros m68knommu: remove duplicate ColdFire mcf_autovector() code m68knommu: move ColdFire INTC definitions to new include file m68knommu: mask off all interrupts in ColdFire intc-simr controller m68knommu: remove timer device interrupt setup for ColdFire 532x m68knommu: remove interrupt masking from ColdFire pit timer m68knommu: remove unecessary interrupt level setting in ColdFire 520x setup ... commit 96c015b75feaaa67c8744229937bd9c35919d16b Merge: 3aee060 5cfaf33 Author: Linus Torvalds Date: Thu Sep 17 09:47:35 2009 -0700 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: hwmon: (lm85) Don't bind to Winbond/Nuvoton WPCD377I hwmon: (pcf8591) Documentation clean-ups hwmon: Clearly mark ACPI drivers as such hwmon: Use resource_size hwmon: Include instead of hwmon: (tmp421) Add documentation hwmon: Add driver for Texas Instruments TMP421/422/423 sensor chips hwmon-vid: Ignore 6th VID pin of AMD family 0Fh processors hwmon: (asus_atk0110) Add maintainer information hwmon: (abituguru3) Support multiple DMI strings per chip ID commit 3aee0605a41399063c0ad396f1f4267108f210d3 Merge: f4c3f03 0396c21 Author: Linus Torvalds Date: Thu Sep 17 09:44:09 2009 -0700 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb: uwb: avoid radio controller reset loops uwb: stop uwbd thread if rc->start() fails uwb: handle radio controller events with out-of-range IDs correctly commit b99dba34dc9ec007a0c8be98c0333dd37463d2fd Author: Takashi Iwai Date: Thu Sep 17 18:23:00 2009 +0200 ALSA: hda - Fix MSI GX620 mixer The headphone and speaker mixer elements aren't properly set for MSI GX620 with targa-8ch-dig quirk. Also fixed the speaker volume control for other ALC883-targa quirks, too. Signed-off-by: Takashi Iwai commit 29cd8bae396583a2ee9a3340db8c5102acf9f6fd Author: Peter Zijlstra Date: Thu Sep 17 09:01:14 2009 +0200 sched: Fix SD_POWERSAVING_BALANCE|SD_PREFER_LOCAL vs SD_WAKE_AFFINE The SD_POWERSAVING_BALANCE|SD_PREFER_LOCAL code can break out of the domain iteration early, making us miss the SD_WAKE_AFFINE bits. Fix this by continuing iteration until there is no need for a larger domain. This also cleans up the cgroup stuff a bit, but not having two update_shares() invocations. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit de69a80be32445b0a71e8e3b757e584d7beb90f7 Author: Peter Zijlstra Date: Thu Sep 17 09:01:20 2009 +0200 sched: Stop buddies from hogging the system Clear buddies more agressively. The (theoretical, haven't actually observed any of this) problem is that when we do not select either buddy in pick_next_entity() because they are too far ahead of the left-most task, we do not clear the buddies. This means that as soon as we service the left-most task, these same buddies will be tried again on the next schedule. Now if the left-most task was a pure hog, it wouldn't have done any wakeups and it wouldn't have set buddies of its own. That leads to the old buddies dominating, which would lead to bad latencies. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit ad4b78bbcbab66998b05d422ac6106b645796e54 Author: Peter Zijlstra Date: Wed Sep 16 12:31:31 2009 +0200 sched: Add new wakeup preemption mode: WAKEUP_RUNNING Create a new wakeup preemption mode, preempt towards tasks that run shorter on avg. It sets next buddy to be sure we actually run the task we preempted for. Test results: root@twins:~# while :; do :; done & [1] 6537 root@twins:~# while :; do :; done & [2] 6538 root@twins:~# while :; do :; done & [3] 6539 root@twins:~# while :; do :; done & [4] 6540 root@twins:/home/peter# ./latt -c4 sleep 4 Entries: 48 (clients=4) Averages: ------------------------------ Max 4750 usec Avg 497 usec Stdev 737 usec root@twins:/home/peter# echo WAKEUP_RUNNING > /debug/sched_features root@twins:/home/peter# ./latt -c4 sleep 4 Entries: 48 (clients=4) Averages: ------------------------------ Max 14 usec Avg 5 usec Stdev 3 usec Disabled by default - needs more testing. Signed-off-by: Peter Zijlstra Acked-by: Mike Galbraith Signed-off-by: Ingo Molnar LKML-Reference: commit eb24073bc1fe3e569a855cf38d529fb650c35524 Author: Ingo Molnar Date: Wed Sep 16 21:09:13 2009 +0200 sched: Fix TASK_WAKING & loadaverage breakage Fix this: top - 21:54:00 up 2:59, 1 user, load average: 432512.33, 426421.74, 417432.74 Which happens because we now set TASK_WAKING before activate_task(). Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit bf95d20fdbd602d72c28a009a55d90d5109b8a86 Author: Hendrik Brueckner Date: Wed Sep 16 04:37:28 2009 +0000 af_iucv: fix race when queueing skbs on the backlog queue iucv_sock_recvmsg() and iucv_process_message()/iucv_fragment_skb race for dequeuing an skb from the backlog queue. If iucv_sock_recvmsg() dequeues first, iucv_process_message() calls sock_queue_rcv_skb() with an skb that is NULL. This results in the following kernel panic: <1>Unable to handle kernel pointer dereference at virtual kernel address (null) <4>Oops: 0004 [#1] PREEMPT SMP DEBUG_PAGEALLOC <4>Modules linked in: af_iucv sunrpc qeth_l3 dm_multipath dm_mod vmur qeth ccwgroup <4>CPU: 0 Not tainted 2.6.30 #4 <4>Process client-iucv (pid: 4787, task: 0000000034e75940, ksp: 00000000353e3710) <4>Krnl PSW : 0704000180000000 000000000043ebca (sock_queue_rcv_skb+0x7a/0x138) <4> R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:0 PM:0 EA:3 <4>Krnl GPRS: 0052900000000000 000003e0016e0fe8 0000000000000000 0000000000000000 <4> 000000000043eba8 0000000000000002 0000000000000001 00000000341aa7f0 <4> 0000000000000000 0000000000007800 0000000000000000 0000000000000000 <4> 00000000341aa7f0 0000000000594650 000000000043eba8 000000003fc2fb28 <4>Krnl Code: 000000000043ebbe: a7840006 brc 8,43ebca <4> 000000000043ebc2: 5930c23c c %r3,572(%r12) <4> 000000000043ebc6: a724004c brc 2,43ec5e <4> >000000000043ebca: e3c0b0100024 stg %r12,16(%r11) <4> 000000000043ebd0: a7190000 lghi %r1,0 <4> 000000000043ebd4: e310b0200024 stg %r1,32(%r11) <4> 000000000043ebda: c010ffffdce9 larl %r1,43a5ac <4> 000000000043ebe0: e310b0800024 stg %r1,128(%r11) <4>Call Trace: <4>([<000000000043eba8>] sock_queue_rcv_skb+0x58/0x138) <4> [<000003e0016bcf2a>] iucv_process_message+0x112/0x3cc [af_iucv] <4> [<000003e0016bd3d4>] iucv_callback_rx+0x1f0/0x274 [af_iucv] <4> [<000000000053a21a>] iucv_message_pending+0xa2/0x120 <4> [<000000000053b5a6>] iucv_tasklet_fn+0x176/0x1b8 <4> [<000000000014fa82>] tasklet_action+0xfe/0x1f4 <4> [<0000000000150a56>] __do_softirq+0x116/0x284 <4> [<0000000000111058>] do_softirq+0xe4/0xe8 <4> [<00000000001504ba>] irq_exit+0xba/0xd8 <4> [<000000000010e0b2>] do_extint+0x146/0x190 <4> [<00000000001184b6>] ext_no_vtime+0x1e/0x22 <4> [<00000000001fbf4e>] kfree+0x202/0x28c <4>([<00000000001fbf44>] kfree+0x1f8/0x28c) <4> [<000000000044205a>] __kfree_skb+0x32/0x124 <4> [<000003e0016bd8b2>] iucv_sock_recvmsg+0x236/0x41c [af_iucv] <4> [<0000000000437042>] sock_aio_read+0x136/0x160 <4> [<0000000000205e50>] do_sync_read+0xe4/0x13c <4> [<0000000000206dce>] vfs_read+0x152/0x15c <4> [<0000000000206ed0>] SyS_read+0x54/0xac <4> [<0000000000117c8e>] sysc_noemu+0x10/0x16 <4> [<00000042ff8def3c>] 0x42ff8def3c Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 7514bab04e567c9408fe0facbde4277f09d5eb74 Author: Hendrik Brueckner Date: Wed Sep 16 04:37:27 2009 +0000 af_iucv: do not call iucv_sock_kill() twice For non-accepted sockets on the accept queue, iucv_sock_kill() is called twice (in iucv_sock_close() and iucv_sock_cleanup_listen()). This typically results in a kernel oops as shown below. Remove the duplicate call to iucv_sock_kill() and set the SOCK_ZAPPED flag in iucv_sock_close() only. The iucv_sock_kill() function frees a socket only if the socket is zapped and orphaned (sk->sk_socket == NULL): - Non-accepted sockets are always orphaned and, thus, iucv_sock_kill() frees the socket twice. - For accepted sockets or sockets created with iucv_sock_create(), sk->sk_socket is initialized. This caused the first call to iucv_sock_kill() to return immediately. To free these sockets, iucv_sock_release() uses sock_orphan() before calling iucv_sock_kill(). <1>Unable to handle kernel pointer dereference at virtual kernel address 000000003edd3000 <4>Oops: 0011 [#1] PREEMPT SMP DEBUG_PAGEALLOC <4>Modules linked in: af_iucv sunrpc qeth_l3 dm_multipath dm_mod qeth vmur ccwgroup <4>CPU: 0 Not tainted 2.6.30 #4 <4>Process iucv_sock_close (pid: 2486, task: 000000003aea4340, ksp: 000000003b75bc68) <4>Krnl PSW : 0704200180000000 000003e00168e23a (iucv_sock_kill+0x2e/0xcc [af_iucv]) <4> R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3 <4>Krnl GPRS: 0000000000000000 000000003b75c000 000000003edd37f0 0000000000000001 <4> 000003e00168ec62 000000003988d960 0000000000000000 000003e0016b0608 <4> 000000003fe81b20 000000003839bb58 00000000399977f0 000000003edd37f0 <4> 000003e00168b000 000003e00168f138 000000003b75bcd0 000000003b75bc98 <4>Krnl Code: 000003e00168e22a: c0c0ffffe6eb larl %r12,3e00168b000 <4> 000003e00168e230: b90400b2 lgr %r11,%r2 <4> 000003e00168e234: e3e0f0980024 stg %r14,152(%r15) <4> >000003e00168e23a: e310225e0090 llgc %r1,606(%r2) <4> 000003e00168e240: a7110001 tmll %r1,1 <4> 000003e00168e244: a7840007 brc 8,3e00168e252 <4> 000003e00168e248: d507d00023c8 clc 0(8,%r13),968(%r2) <4> 000003e00168e24e: a7840009 brc 8,3e00168e260 <4>Call Trace: <4>([<000003e0016b0608>] afiucv_dbf+0x0/0xfffffffffffdea20 [af_iucv]) <4> [<000003e00168ec6c>] iucv_sock_close+0x130/0x368 [af_iucv] <4> [<000003e00168ef02>] iucv_sock_release+0x5e/0xe4 [af_iucv] <4> [<0000000000438e6c>] sock_release+0x44/0x104 <4> [<0000000000438f5e>] sock_close+0x32/0x50 <4> [<0000000000207898>] __fput+0xf4/0x250 <4> [<00000000002038aa>] filp_close+0x7a/0xa8 <4> [<00000000002039ba>] SyS_close+0xe2/0x148 <4> [<0000000000117c8e>] sysc_noemu+0x10/0x16 <4> [<00000042ff8deeac>] 0x42ff8deeac Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 56a73de3889383b70ed1fef06aaab0677731b0ea Author: Hendrik Brueckner Date: Wed Sep 16 04:37:26 2009 +0000 af_iucv: handle non-accepted sockets after resuming from suspend After resuming from suspend, all af_iucv sockets are disconnected. Ensure that iucv_accept_dequeue() can handle disconnected sockets which are not yet accepted. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit d9973179aef2af88b6fe4cc1df7ced6fe7cec7d0 Author: Hendrik Brueckner Date: Wed Sep 16 04:37:25 2009 +0000 af_iucv: fix race in __iucv_sock_wait() Moving prepare_to_wait before the condition to avoid a race between schedule_timeout and wake up. The race can appear during iucv_sock_connect() and iucv_callback_connack(). Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit b29e4da41eb1114080b06dce31326d5a0e96a15a Author: Hendrik Brueckner Date: Wed Sep 16 04:37:24 2009 +0000 iucv: use correct output register in iucv_query_maxconn() The iucv_query_maxconn() function uses the wrong output register and stores the size of the interrupt buffer instead of the maximum number of connections. According to the QUERY IUCV function, general register 1 contains the maximum number of connections. If the maximum number of connections is not set properly, the following warning is displayed: Badness at /usr/src/kernel-source/2.6.30-39.x.20090806/net/iucv/iucv.c:1808 Modules linked in: netiucv fsm af_iucv sunrpc qeth_l3 dm_multipath dm_mod vmur qeth ccwgroup CPU: 0 Tainted: G W 2.6.30 #4 Process seq (pid: 16925, task: 0000000030e24a40, ksp: 000000003033bd98) Krnl PSW : 0404200180000000 000000000053b270 (iucv_external_interrupt+0x64/0x224) R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3 Krnl GPRS: 00000000011279c2 00000000014bdb70 0029000000000000 0000000000000029 000000000053b236 000000000001dba4 0000000000000000 0000000000859210 0000000000a67f68 00000000008a6100 000000003f83fb90 0000000000004000 000000003f8c7bc8 00000000005a2250 000000000053b236 000000003fc2fe08 Krnl Code: 000000000053b262: e33010000021 clg %r3,0(%r1) 000000000053b268: a7440010 brc 4,53b288 000000000053b26c: a7f40001 brc 15,53b26e >000000000053b270: c03000184134 larl %r3,8434d8 000000000053b276: eb220030000c srlg %r2,%r2,48 000000000053b27c: eb6ff0a00004 lmg %r6,%r15,160(%r15) 000000000053b282: c0f4fffff6a7 brcl 15,539fd0 000000000053b288: 4310a003 ic %r1,3(%r10) Call Trace: ([<000000000053b236>] iucv_external_interrupt+0x2a/0x224) [<000000000010e09e>] do_extint+0x132/0x190 [<00000000001184b6>] ext_no_vtime+0x1e/0x22 [<0000000000549f7a>] _spin_unlock_irqrestore+0x96/0xa4 ([<0000000000549f70>] _spin_unlock_irqrestore+0x8c/0xa4) [<00000000002101d6>] pipe_write+0x3da/0x5bc [<0000000000205d14>] do_sync_write+0xe4/0x13c [<0000000000206a7e>] vfs_write+0xae/0x15c [<0000000000206c24>] SyS_write+0x54/0xac [<0000000000117c8e>] sysc_noemu+0x10/0x16 [<00000042ff8defcc>] 0x42ff8defcc Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit d28ecab0c40f587fd1e28701c195747220c984e2 Author: Hendrik Brueckner Date: Wed Sep 16 04:37:23 2009 +0000 iucv: fix iucv_buffer_cpumask check when calling IUCV functions Prior to calling IUCV functions, the DECLARE BUFFER function must have been called for at least one CPU to receive IUCV interrupts. With commit "iucv: establish reboot notifier" (6c005961), a check has been introduced to avoid calling IUCV functions if the current CPU does not have an interrupt buffer declared. Because one interrupt buffer is sufficient, change the condition to ensure that one interrupt buffer is available. In addition, checking the buffer on the current CPU creates a race with CPU up/down notifications: before checking the buffer, the IUCV function might be interrupted by an smp_call_function() that retrieves the interrupt buffer for the current CPU. When the IUCV function continues, the check fails and -EIO is returned. If a buffer is available on any other CPU, the IUCV function call must be invoked (instead of failing with -EIO). Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 4c89d86b4df8e4f2cdccb72495e2f4664118ebf1 Author: Ursula Braun Date: Wed Sep 16 04:37:22 2009 +0000 iucv: suspend/resume error msg for left over pathes During suspend IUCV exploiters have to close their IUCV connections. When restoring an image, it can be checked if all IUCV pathes had been closed before the Linux instance was suspended. If not, an error message is issued to indicate a problem in one of the used programs exploiting IUCV communication. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 12cbcfd386df56dce8b8ba6ba2c7f85680793716 Merge: 0aad191 c4835d8 Author: David S. Miller Date: Wed Sep 16 20:55:28 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit 0aad191c5fea3627c8efbc453cfebb6d1dca496c Author: Jean-Christophe PLAGNIOL-VILLARD Date: Wed Sep 16 14:07:38 2009 +0000 wl12xx: switch to %pM to print the mac address Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Acked-by: John W. Linville Signed-off-by: David S. Miller commit e99b1f04d922f132ffab8310b470bcc93d3ddf80 Author: Dongdong Deng Date: Wed Sep 16 16:10:47 2009 +0000 b44: the poll handler b44_poll must not enable IRQ unconditionally net/core/netpoll.c::netpoll_send_skb() calls the poll handler when it is available. As netconsole can be used from almost any context, IRQ must not be enabled blindly in the NAPI handler of the driver which supports netpoll. Call trace: netpoll_send_skb() { local_irq_save(flags) -> netpoll_poll() -> poll_napi() -> poll_one_napi() -> napi->poll() -> b44_poll() local_irq_restore(flags) } Signed-off-by: Dongdong Deng Signed-off-by: David S. Miller commit 5bf9cbef9972f851172391a37261b12bba63f733 Author: Yi Li Date: Tue Sep 15 09:24:31 2009 +0000 Blackfin: update ftrace for latest toolchain The mcount support that was finally added to the Blackfin gcc port isn't exactly the same as what ftrace was developed against. Now that the final gcc version is in place, update the ftrace code to match. While updating this, fix the swapped arguments to the tracer (signature is (ip, parent_ip) while we were passing (parent_ip, ip)). Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 3b67d91b3e2c789952379f5157704c2162330492 Author: Mike Frysinger Date: Mon Sep 14 21:22:06 2009 +0000 Blackfin: fix elf_fpregset_t definition The elf_fpregset_t type relied on an empty struct in the asm/user.h, but the transition to asm-generic/user.h dropped that empty struct. Rather than restore this useless struct, define the only user (elf_fpregset_t) as an empty struct itself. This fixes building when ELF dump support is enabled. Signed-off-by: Mike Frysinger commit ea426e6c62d0f742d87451adc47e91d87b9c3d27 Author: Mike Frysinger Date: Mon Sep 14 19:42:26 2009 +0000 Blackfin: unify cache init functions The CPLB implementations (mpu/nompu) had exact copies of the cacheinit code. Even the i/d cache functions are largely the same. So unify them both in the common kernel cache code. Signed-off-by: Mike Frysinger commit e78feaaeeb9bbf78f961917d72d692802ac110e8 Author: Graf Yang Date: Mon Sep 14 04:41:00 2009 +0000 Blackfin: swap clocksource ratings for gptimer/cycles The cycles clocksource is a higher resolution than the gptimer one, so make sure the ratings field reflects this. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 3289651a9767556822adbd492be957a1287ffd3f Author: Mike Frysinger Date: Mon Sep 14 01:50:22 2009 +0000 Blackfin: update ftrace_push_return_trace() breakage Commit 71e308a239c updated ftrace_push_return_trace() prototype but didn't update the Blackfin ftrace code, so things broke. Since we don't support the new stuff yet, call it with stub values. Signed-off-by: Mike Frysinger commit 9c21453e376c03bcba9c6d89dc5735b40a35b098 Author: Harald Krapfenbauer Date: Thu Sep 10 15:30:03 2009 +0000 Blackfin: update cm board resources Signed-off-by: Harald Krapfenbauer Signed-off-by: Mike Frysinger commit 6058434468daa16580a77922661b31b880d60db5 Author: Harald Krapfenbauer Date: Thu Sep 10 15:12:08 2009 +0000 Blackfin: cm-bf537u: split board from cm-bf537e The cm-bf537u module, while similar to the cm-bf537e, is different enough to warrant its own resources. It has a USB controller but no PHY. Signed-off-by: Harald Krapfenbauer Signed-off-by: Mike Frysinger commit 769cfc0d08e796c593b903ec393a2e90aae5f807 Author: Barry Song Date: Thu Sep 10 04:32:47 2009 +0000 Blackfin: bf538-ezkit: add SPI IRQ resources Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 88c28b2df99d306a47d7fb88520482059643e503 Author: Sonic Zhang Date: Mon Sep 7 03:20:48 2009 +0000 Blackfin: increase default async timings for parallel flashes The default async timings are a little too fast for the parallel flash that is attached by default to the async banks. So slow things down a bit so accessing the hardware is stable. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 4663f6ef251766cc9f7ab21af35661d8a736bef2 Author: Bernd Schmidt Date: Wed Sep 2 08:14:05 2009 +0000 Blackfin: add ICPLB coverage for async banks When doing XIP, we need to execute out of the async banks, so we need ICPLBs to allow this. Signed-off-by: Bernd Schmidt Signed-off-by: Mike Frysinger commit 4a3e53c1c4dd44b9d0fa1537c1294eb72229bfce Author: Mingquan Pan Date: Mon Aug 31 04:56:06 2009 +0000 Blackfin: use KERN_ALERT in all kgdb_test output Most messages are already using KERN_ALERT, so be consistent to make things easier to check with test scripts. Signed-off-by: Mingquan Pan Signed-off-by: Mike Frysinger commit 4e4d496ee3bdc587682f2bf675bed71d64752416 Author: Yi Li Date: Sun Aug 30 20:45:50 2009 +0000 Blackfin: fix BF54x SPI CS resources The BF54x has three slave select signals for SPI0/SPI1, not eight. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 774b80229fcb9df22aadec8fc5b143a842135535 Author: Robin Getz Date: Thu Aug 27 14:39:31 2009 +0000 Blackfin: fix typo in isram_write() The DTEST write bit is 2, not 1. Improve comments in the related macro while we're here. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit ba877d4491a06ae69d53981bc242ef97a8157026 Author: Michael Hennerich Date: Thu Aug 27 04:09:32 2009 +0000 Blackfin: bf537-stamp: add adp5588 gpio resources For the adp5588 GPIO daughter card. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit c40cdb2cbdd3cfa783c22087d29ef570d60dd141 Author: Mike Frysinger Date: Thu Aug 27 01:46:48 2009 +0000 Blackfin: add some isram-driver self tests Make it easy to figure out if code changes here are correct. Signed-off-by: Mike Frysinger commit dedfd5d7f21b08d50ba8c0220778e119952e2f77 Author: Robin Getz Date: Wed Aug 26 15:54:10 2009 +0000 Blackfin: workaround anomaly 05000283 Make sure our interrupt entry code with exact hardware errors handles anomaly 05000283 (infinite stall in system MMR kill) so we don't stall while under load. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 05d17dfaab6671def3fcdcd95c39fd49924dbb3b Author: Michael Hennerich Date: Fri Aug 21 03:49:19 2009 +0000 Blackfin: fix spelling in a few comments Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit b6dbde27dd95cc0397d9722ad8365fa93a07b0d3 Author: Yi Li Date: Thu Aug 20 04:17:47 2009 +0000 Blackfin: use raw_smp_processor_id() in exception code When preempt debugging is enabled, smp_processor_id() may utilize the "current" structure. This may not be safe to access under all exceptions due to it being in dynamically allocated memory. So in exception code, make sure we use raw_smp_processor_id() instead to get at the real value directly. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 00dd66d012f944817a7d0cdcb0c8cb174e46937a Author: Michael Hennerich Date: Wed Aug 19 03:15:56 2009 +0000 Blackfin: remove useless duplicated assignment in gpio code Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 8d7ac69ffaf740cdf98bdd5073c2d70a8828200e Author: Ingo Molnar Date: Tue Aug 18 16:45:25 2009 +0000 Blackfin: Fix link errors with binutils 2.19 and GCC 4.3 Not sure whether this has been reported/fixed before. Today I built a Blackfin tool-chain from scratch for -tip testing, and it triggers: arch/blackfin/kernel/vmlinux.lds:1238: undefined section `.data_a_l1' referenced in expression and: arch/blackfin/kernel/vmlinux.lds:1238: undefined section `.text_data_l1' referenced in expression Now i dont have any way to test this linker script, but it now at least builds fine after fixing what appears to be typos in those assert statements. Signed-off-by: Ingo Molnar Signed-off-by: Mike Frysinger commit 1794131471ba19c7e30610515074b520cb34d3bb Author: Graf Yang Date: Tue Aug 18 04:29:33 2009 +0000 Blackfin: handle the core timer interrupt with handle_percpu_irq on SMP Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 926494943b7d9dbc998adb298a92a708232ce46b Author: Mike Frysinger Date: Mon Aug 17 19:05:07 2009 +0000 Blackfin: optimize fixed code handling for the most common case The majority of the time we are returning to user space, it is not in the fixed atomic code region. So rather than branch to a function where we check the PC and return, do the check inline and branch only when needed. Also, tweak some of the fixed code handling based on assumptions we are aware of but cannot be expressed in C. Signed-off-by: Mike Frysinger commit dac981740f4b990eadf523b0900859f189dd2b4e Author: Barry Song Date: Thu Aug 13 21:07:37 2009 +0000 Blackfin: delete '-spi' suffix in ad1836/ad1938 driver name The ASoC drivers have dropped the redundant "-spi" suffix in the driver name, so update the board resources accordingly. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 3aa670419a02b19a2168894f7edbb5e4b9e4e607 Author: Mike Frysinger Date: Thu Aug 13 19:32:11 2009 -0400 Blackfin: punt dead cache locking code No one uses these functions, and some are duplicate of existing C code. So just punt the whole thing. Signed-off-by: Mike Frysinger commit 0198b3bcaed1374f454e56e46f0e1ca1fc24e0a1 Author: Mike Frysinger Date: Thu Aug 13 04:27:31 2009 +0000 Blackfin: drop board resources for dead devices (pbx/ad9960) These hardware devices are dead and the drivers never cleaned up/merged, so punt the useless board resource info. Signed-off-by: Mike Frysinger commit c4baebf2683d16f24a84a99268ef5f7318905337 Author: Yi Li Date: Wed Aug 12 23:05:35 2009 +0000 Blackfin: do not trace the exception handler Since the exception handler cannot cause exceptions, we cannot trace it without easily causing double faults and crashing the system. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 7b06263bd70b66210fbb919be9e706ef5e82836a Author: Mike Frysinger Date: Tue Aug 11 21:27:09 2009 +0000 Blackfin: fix BF522/BF523 max VCO mixup The BF522 and BF523 had their real max VCO values swapped. Signed-off-by: Mike Frysinger commit ad46163ac2c78eb828bbe52eaf562cab922b9e5d Author: Graf Yang Date: Fri Aug 7 03:52:54 2009 +0000 Blackfin: SMP port does not yet support cpu frequency scaling We have an item to get this fixed, but in the mean time, disable selection via Kconfig dependencies. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit eb7bd9c461bbfbb195cb1e1346453222a4352df4 Author: Yi Li Date: Fri Aug 7 01:20:58 2009 +0000 Blackfin: cleanup sync handling when enabling/disabling cplbs The handling of updating the [DI]MEM_CONTROL MMRs does not follow proper sync procedures as laid out in the Blackfin programming manual. So rather than audit/fix every call location, create helper functions that do the right things in order to safely update these MMRs. Then convert all call sites to use these new helper functions. While we're fixing the code, drop the workaround for anomaly 05000125 as that anomaly applies to old versions of silicon that we do not support. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 8312440e05ea74feabc648ad8f36c823af4ddd8e Author: Barry Song Date: Thu Aug 6 21:03:02 2009 +0000 Blackfin: bf537-stamp: update ad1836 resources Update the ad1836 resources for the new ASoC driver. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit bd411b15cc4b3f31f67d15e1afffbd1ec650d5b8 Author: Yi Li Date: Wed Aug 5 10:02:14 2009 +0000 Blackfin: update anomaly lists Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit f1cb64625c4f5309747b8067a309e0bcc630b303 Author: Barry Song Date: Mon Aug 3 04:40:36 2009 +0000 Blackfin: bf538-ezkit: add resources for parallel flash The board has some parallel flash hooked up to the async banks, so add appropriate physmap resources for it. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit ac860751eb2cb1bdf8bb341d849b38c483f5d83b Author: Roel Kluin Date: Sun Aug 2 14:26:48 2009 +0200 Blackfin: fix read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin Signed-off-by: Mike Frysinger commit 0e101ec12e68f25dd769a4b7ecb5e7ead0aae7c0 Author: Stefan Pledl Date: Wed Jul 29 08:09:45 2009 +0000 Blackfin: bf548-ezkit: fix incorrect LCD size parameters I think we have to use the physical dimensions [mm] of the display for .width and .heigth in struct bfin_bf54xfb_mach_info bf54x_lq043_data which are copied to fbinfo->var.height/.width in bf54x-lq043fb.c. linux/fb.h describes this values as 'height/weight of picture in mm' Otherwise QT calcs the wrong dpi value and the displayed fonts are very small. Signed-off-by: Stefan Pledl Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit b3dec4a4ff495248170358cb3b8254a814e5b096 Author: Barry Song Date: Mon Jul 27 06:42:50 2009 +0000 Blackfin: cm-bf527/bf537-stamp: fix dm9000 resources The dm9000 driver expects two IORESOURCE_MEM to get at the device, so make sure we declare things properly. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 8d71e075966e29232cd38d8ca6335047a164c1dc Author: Mike Frysinger Date: Mon Jul 27 00:44:25 2009 +0000 Blackfin: drop unused MMR defines that only cause bad code to be written Signed-off-by: Mike Frysinger commit 61f09b5a09fb3962bbd3990a9a5a8470197955bb Author: Michael Hennerich Date: Fri Jul 24 08:48:31 2009 +0000 Blackfin: convert boards to use platform data with smc91x Latest smc91x driver allows you to specify settings in board resources rather than needing CONFIG_BLACKFIN in the drivers/net/smc91x.h header. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 2fff7f8800e3567adf74e29b91ad192761d8fb3c Author: Barry Song Date: Thu Jul 23 04:20:48 2009 +0000 Blackfin: bf537-stamp: drop ATA interrupt probe workaround The interrupt probe workaround doesn't work without hacks to common code, and the add-on card only needs a simple resistor to fix the problem, so drop the board-specific hack. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 01b9f4b0ed3b1111b2080a3c9bcb66df1fdf48b7 Author: Graf Yang Date: Wed Jul 22 11:56:24 2009 +0000 Blackfin: improve double fault debug handling Since the hardware only provides reporting for the last exception handled, and the values are valid only when executing the exception handler, we need to save the context for reporting at a later point. While we do this for one exception, it doesn't work properly when handling a second one as the original exception is clobbered by the double fault. So when double fault debugging is enabled, create a dedicated shadow of these values and save/restore out of there. Now the crash report properly displays the first exception as well as the second one. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 858c5e9abc5c614b2eceb6a361118f31821ac968 Author: Cliff Cai Date: Wed Jul 22 06:34:55 2009 +0000 Blackfin: bf533-stamp: fix typo in SPI frequency for ad1836 codec One too many zeros means we run way faster than the codec can handle. Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger commit 36b841288656b9b30b5d2add2fd136ac7eab5867 Author: Graf Yang Date: Tue Jul 21 02:26:57 2009 +0000 Blackfin: fix MPU handling of invalid memory accesses The protect_page() function was incorrectly setting up the hardware tables based on possible access capabilities rather than the actual requested values. This means we would grant more access to mmap-ed pages than we should have. Once we fix this, we need to tweak the signal generated by such accesses to aline ourselves with other ports. This allows the LTP mmap0{5,6,7} cases to run properly. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 8fc4dd9e876cbda4dfe09ca85e4e1520b36dce77 Author: Jean Delvare Date: Sat Jul 18 16:54:03 2009 +0200 Blackfin: clean up duplicate I2C device type definitions I2C_BOARD_INFO() already sets .type, no need to set it again. Signed-off-by: Jean Delvare Signed-off-by: Mike Frysinger commit 427f277e5f472b6c1bc444ef5f7d30ebe280420e Author: Barry Song Date: Fri Jul 17 07:04:55 2009 +0000 Blackfin: bf537-stamp: update AD714x resources Push the device table to the board resources as data interpretation can be changed on a per-board basis. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 407505dc01ac2b4f2944cd3c6a0c02473ffb869e Author: Sonic Zhang Date: Thu Jul 16 10:36:35 2009 +0000 Blackfin: do not try displaying the end of the stack The end of the stack may not be valid (and that could be OK), so do not attempt to parse it. If we do, we might use a bad pointer in kernel space which makes things panic(). Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 2120b68f31d3b08be99010b3992f58f07794b8b0 Author: Yi Li Date: Thu Jul 16 10:12:30 2009 +0000 Blackfin: bf533-stamp: add resources for mmc_spi card Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit f41e2fded031cd8f3c0430687fa6b35ca0589088 Author: Barry Song Date: Mon Jul 13 04:16:42 2009 +0000 Blackfin: bf538: add bfin_clear_PPI_STATUS() helper Add the bf538 version of bfin_clear_PPI_STATUS() to match all other ports. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit a2f78cfc656e3013e5024460a7b8a0b3dde456d3 Author: Stefan Pledl Date: Sat Jul 11 13:50:42 2009 +0200 Blackfin: fix BF548 UART0 DMA IRQ translation The initial BF54x port included some defines to keep code simple across different processors, but it just ended up causing the UART0 DMA IRQs to be set to the UART1 channels. Signed-off-by: Stefan Pledl Signed-off-by: Mike Frysinger commit 837ec2d56c41640d1f1238e52c350b2a516d29ba Author: Robin Getz Date: Tue Jul 7 20:17:09 2009 +0000 Blackfin: catch hardware errors earlier during booting Allow hardware errors to be caught during early portions of booting, and leave something in the shadow console that people can use to debug their system with (to be printed out by the bootloader on next reset). This enables the hardare error interrupts in head.S, allowing us to find hardware errors when they happen (well, as much as you can with a hardware error) and prints out the trace if it is enabled. This will catch errors (like booting the wrong image on a 533) which previously resulted in a infinite loop/hang, as well as random hardware errors before before setup_arch(). To disable this debug only feature - turn off EARLY_PRINTK. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 3f871feaf3390c6d6e578818f867917c2e4738a2 Author: Robin Getz Date: Mon Jul 6 14:53:19 2009 +0000 Blackfin: add an early shadow console Add a memory based shadow console to keep a copy of the printk buffer in a location which can be found externally. This allows bootloaders to locate and utilize the log buffer in case of silent (early/resume/etc...) crashes. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 53e18df745b6f833df07ead62ded09ebae3b0303 Author: Mike Frysinger Date: Fri Jul 3 00:17:45 2009 +0000 Blackfin: add support for common FDPIC ptrace requests The FDPIC arches support a standard set of ptrace requests so rather than define our own custom API, hook up those requests for common code to leverage. Signed-off-by: Mike Frysinger commit 81c969a8bc4bdc39032f6c58e50e61a8daeeb655 Author: Mike Frysinger Date: Wed Jul 1 15:42:13 2009 +0000 Blackfin: push SRAM locks down into related ifdefs Rather than defining the locks and initializing them all the time, only do so when we actually need them (i.e. the SRAM regions exist). This avoids dead data and code bloat during runtime. Signed-off-by: Mike Frysinger commit 9c954f89412b346e0aeec01c5729cb7ca63e2673 Author: Sonic Zhang Date: Tue Jun 30 09:48:03 2009 +0000 Blackfin: unify duplicated SMP checks in L2 cache kconfig Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 204844ebd08cfb0c83689e55d6633dcd0230d36d Author: Michael Hennerich Date: Tue Jun 30 14:57:22 2009 +0000 Blackfin: rename PCF8574 driver config The "TWI_KEYPAD" driver was renamed to "INPUT_PCF8574", so update the defines in the board resources accordingly. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 2f812c0bd5ee1d9c145fb1c3523ecdf45e05f8ce Author: Robin Getz Date: Fri Jun 26 12:52:46 2009 +0000 Blackfin: clean up early memory setup code Remove code duplication, and only print out memory warnings when they are an actual problem. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit a769094061289453e8c331d7746e0e26f5d1e38b Author: Mike Frysinger Date: Fri Jun 26 00:49:51 2009 +0000 Blackfin: fix module reloc handling for all memory regions The current module relocation code has spotty handling wrt different memory regions (like L1 instruction). Rather than try to fix each little spot, use the new common memory functions to greatly simplify everything and make sure it is always correct. Signed-off-by: Mike Frysinger commit 459fec9073bca854badc1a719f7c12f5162d0edd Author: Mike Frysinger Date: Fri Jun 26 00:48:33 2009 +0000 Blackfin: cleanup module section checking The current module section handling code has a lot of verbose statements copied and pasted throughout which makes it pretty hard to digest at a glance. By unifying all of these up front, it is a lot easier to quickly get an idea of what is actually going on. Signed-off-by: Mike Frysinger commit 70deca9f9ca99e7a5fb88b9e4cb18e5eb1b79120 Author: Mike Frysinger Date: Fri Jun 26 00:37:40 2009 +0000 Blackfin: convert malloc()/memset() to zalloc() in module code Signed-off-by: Mike Frysinger commit dc6b1ac98434d2c39d86de19aec9cf701b588c81 Author: Mike Frysinger Date: Fri Jun 26 00:35:24 2009 +0000 Blackfin: cleanup printk() usage in module code Convert all printk() statements to use the common pr_xxx() funcs and use the new pr_fmt() function to standardize all of the output. Signed-off-by: Mike Frysinger commit 22532578ee0f8725e0155e528c29ff992c1950c7 Author: Robin Getz Date: Thu Jun 25 15:49:38 2009 +0000 Blackfin: reject outdated/unused/wrong relocation types All kernel modules are required to be built with -mlong-calls and thus should not generate any of these relocations. If they do, it means the module has not been compiled properly, so rather than trying to handle them (and running into random run time errors) just error out on module load to force the module to be compiled correctly. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit c014e15a2f667f91b5c2d08a90d77197a89d8065 Author: Mike Frysinger Date: Wed Jun 24 20:02:58 2009 -0400 Blackfin: convert ptrace to new memory functions Now that we have a Blackfin memory function to figure out how to properly access the different regions, drop the custom memory range checks in our ptrace code and use that. It makes the code nicer and fixes bugs where the ptrace logic wasn't handling all the different regions. Signed-off-by: Mike Frysinger commit 18070dd6692a35bec266ed9ea559c24da4fdeeef Author: Mike Frysinger Date: Tue Jun 23 20:17:21 2009 +0000 Blackfin: cleanup traps decode_address() a bit Unify the address display to shrink the code, and add missing decoding of a few special Blackfin-specific regions (L1 ROM and MMRs). Signed-off-by: Mike Frysinger commit f4e129399c9ead8ec37910ce9793813698c2df51 Author: Philippe Gerum Date: Mon Jun 22 18:26:22 2009 +0200 Blackfin: inline I-pipe bypass code in ret_from_exception Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit 9ea7770fdb0d6742d6a0aba62facda4b35356cf2 Author: Philippe Gerum Date: Mon Jun 22 18:26:07 2009 +0200 Blackfin: sanitize manual control of IPEND[4] Cleanup is performed in two ways: - remove extraneous updates of IPEND[4] w/ CONFIG_IPIPE, and document remaining use. - substitute pop-reg-from-stack instructions with plain SP fixups in all save-RETI-then-discard patterns. Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit 7a7967dc1b606f8c88e33bbec773bf82b4a52e6e Author: Philippe Gerum Date: Mon Jun 22 18:25:52 2009 +0200 Blackfin: document __ipipe_call_irqtail Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit 70f47202320623270f327e249df0121c09e45c09 Author: Philippe Gerum Date: Mon Jun 22 18:24:18 2009 +0200 Blackfin: allow EVT5 to preempt irqtail prologue (CONFIG_DEBUG_HWERR) Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit fc9afb997f3e871d1c289258d59b48db30984950 Author: Philippe Gerum Date: Mon Jun 22 18:24:02 2009 +0200 Blackfin: reuse evt_evt14 handler to perform irqtail epilogue Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit 9703a73c983edab860d6d145c87480440fc83348 Author: Philippe Gerum Date: Mon Jun 22 18:23:48 2009 +0200 Blackfin: use generic name for EVT14 handler The purpose of the EVT14 handler may depend on whether CONFIG_IPIPE is enabled, albeit its implementation can be the same in both cases. When the interrupt pipeline is enabled, EVT14 can be used to raise the core priority level for the running code; when CONFIG_IPIPE is off, EVT14 can be used to lower this level before running softirq handlers. Rename evt14_softirq to evt_evt14 to pick an identifier that fits both, which allows to reuse the same vector setup code as well. Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit 6b8019c85e18295466095a5778a14c1e9a067554 Author: Philippe Gerum Date: Mon Jun 22 18:23:32 2009 +0200 Blackfin: allow high priority domains to preempt schedule_tail() ret_from_fork is always entered with hw interrupts off, which prevents real-time domains to preempt the Linux kernel during part of the initial context switch to the new task, which could in turn raise the worst-case latency figures. To avoid this, stall the root domain stage in the interrupt pipeline to keep the scheduling tail code free from Linux-handled IRQs, then enable hardware interrupts again. Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit bc569f1a77199926be97ba6266dbea27768264df Author: Philippe Gerum Date: Mon Jun 22 18:23:12 2009 +0200 Blackfin: export show_stack() to modules Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit b9c7eb498ddce1f77536707398b6175696570e80 Author: Philippe Gerum Date: Mon Jun 22 18:22:48 2009 +0200 Blackfin: fix misnomer of some I-pipe helpers __ipipe_{stall, unstall}_root_raw() identifiers may leave the reader under the impression that only the virtual state is affected by these operations, which is wrong. Pick names following the convention used throughout the interrupt pipeline code. Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit d8ca63955a81fd443016ef8813f8e6fd8dea7de4 Author: Philippe Gerum Date: Mon Jun 22 18:22:25 2009 +0200 Blackfin: checkpatch --file arch/blackfin/kernel/ipipe.c Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit ae4f073c40bf677b03826262e6022b4a251fe437 Author: Robin Getz Date: Mon Jun 22 02:02:16 2009 +0000 Blackfin: make EVT3->EVT5 lowering more robust wrt IPEND[4] We handle many exceptions at EVT5 (hardware error level) so that we can catch exceptions in our exception handling code. Today - if the global interrupt enable bit (IPEND[4]) is set (interrupts disabled) our trap handling code goes into a infinite loop, since we need interrupts to be on to defer things to EVT5. Normal kernel code should not trigger this for any reason as IPEND[4] gets cleared early (when doing an interrupt context save) and the kernel stack there should be sane (or something much worse is happening in the system). But there have been a few times where this has happened, so this change makes sure we dump a proper crash message even when things have gone south. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit d4b834c13940b5433d16ae3605794b3d74804348 Author: Barry Song Date: Thu Jun 4 10:14:17 2009 +0000 Blackfin: bf537-stamp: add resources for AD1938 audio card Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit e68d1ebc30e033612bb69f949da654d72beae57d Author: Yi Li Date: Wed Jun 3 09:46:22 2009 +0000 Blackfin: bf537-stamp: declare SPI IRQ resources Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit f39d56ec469a9ade221ceeb85a37b051374f616b Author: Michael Hennerich Date: Tue Dec 2 14:08:58 2008 +0000 Blackfin: bf537-stamp: update ADP5588 header name Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 3933fc952a5a5af4cf23fca94e20203251c9d825 Author: Jens Rosenboom Date: Thu Sep 10 06:25:11 2009 +0000 ipv6: Ignore route option with ROUTER_PREF_INVALID RFC4191 says that "If the Reserved (10) value is received, the Route Information Option MUST be ignored.", so this patch makes us conform to the RFC. This is different to the usage of the Default Router Preference, where an invalid value must indeed be treated as PREF_MEDIUM. Signed-off-by: Jens Rosenboom Signed-off-by: David S. Miller commit b9f602533e2f5c32a09a3a75904e5373cb6e6377 Author: Jiri Pirko Date: Mon Aug 31 11:09:38 2009 +0000 bonding: make ab_arp select active slaves as other modes When I was implementing primary_passive option (formely named primary_lazy) I've run into troubles with ab_arp. This is the only mode which is not using bond_select_active_slave() function to select active slave and instead it selects it itself. This seems to be not the right behaviour and it would be better to do it in bond_select_active_slave() for all cases. This patch makes this happen. Please review. Signed-off-by: Jiri Pirko Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit c127bdf9f6c8a8aaa531321721b29ab15f250a72 Merge: 4e36a95 bbac31f Author: David S. Miller Date: Wed Sep 16 17:01:24 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit bbac31f4c0339f6c51afbd0edfb4959df9b53fa9 Author: Johannes Berg Date: Wed Sep 16 09:04:26 2009 -0700 cfg80211: fix SME connect There's a check saying /* we're good if we have both BSSID and channel */ if (wdev->conn->params.bssid && wdev->conn->params.channel) { but that isn't true -- we need the BSS struct. This leads to errors such as Trying to associate with 00:1b:53:11:dc:40 (SSID='TEST' freq=2412 MHz) ioctl[SIOCSIWFREQ]: No such file or directory ioctl[SIOCSIWESSID]: No such file or directory Association request to the driver failed Associated with 00:1b:53:11:dc:40 in wpa_supplicant, as reported by Holger. Instead, we really need to have the BSS struct, and if we don't, then we need to initiate a scan for it. But we may already have the BSS struct here, so hang on to it if we do and scan if we don't. Signed-off-by: Johannes Berg Tested-by: Holger Schurig Signed-off-by: John W. Linville commit 8c6c03fe230c448e5795464a9d73efb796acf3d6 Author: Pavel Roskin Date: Tue Sep 15 22:24:30 2009 -0400 rc80211_minstrel: fix contention window calculation The contention window is supposed to be a power of two minus one, i.e. 15, 31, 63, 127... minstrel_rate_init() forgets to subtract 1, so the sequence becomes 15, 32, 66, 134... Bug reported by Dan Halperin Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit de32cce132a9c96e1ba3fddc0c5a6d110af42ea4 Author: Randy Dunlap Date: Tue Sep 15 14:52:40 2009 -0700 ssb/sdio: fix printk format warnings Fix printk format warnings: drivers/ssb/sdio.c:336: warning: format '%u' expects type 'unsigned int', but argument 7 has type 'size_t' drivers/ssb/sdio.c:443: warning: format '%u' expects type 'unsigned int', but argument 7 has type 'size_t' Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit f7f71173ea69d4dabf166533beffa9294090b7ef Author: Christian Lamparter Date: Mon Sep 14 23:08:43 2009 +0200 p54usb: add Zcomax XG-705A usbid This patch adds a new usbid for Zcomax XG-705A to the device table. Cc: stable@kernel.org Reported-by: Jari Jaakola Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d4e54e871f4d2ca29df081abf8e0d5209d252979 Author: Huang Weiyi Date: Wed Sep 16 21:05:45 2009 +0800 ASoC: remove unused #include Remove unused #include ('s) in sound/soc/codecs/ad1836.c sound/soc/codecs/ad1938.c sound/soc/codecs/wm8974.c Signed-off-by: Huang Weiyi Signed-off-by: Mark Brown commit f4c3f03838ae47a92f2d15d48ddf68deae5d7ebb Author: Anirban Sinha Date: Wed Sep 16 10:16:18 2009 -0700 Fix ia64 build breakage in head.S The "cleanup console_print()" patch in commit 353f6dd2dec992ddd34620a94b051b0f76227379 introduced an "extern" declaration into an assembly language file. Remove it. Signed-off-by: Anirban Sinha Signed-off-by: Tony Luck Signed-off-by: Linus Torvalds commit 40d9d82c8ab8c4e2373a23a1e31dc8d84c53aa01 Merge: 983f216 b36461d Author: Ingo Molnar Date: Wed Sep 16 21:16:37 2009 +0200 Merge branch 'tip/tracing/core4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/core commit ab86e5765d41a5eb4239a1c04d613db87bea5ed8 Merge: 7ea6176 2b2af54 Author: Linus Torvalds Date: Wed Sep 16 08:27:10 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev debugfs: Modify default debugfs directory for debugging pktcdvd. debugfs: Modified default dir of debugfs for debugging UHCI. debugfs: Change debugfs directory of IWMC3200 debugfs: Change debuhgfs directory of trace-events-sample.h debugfs: Fix mount directory of debugfs by default in events.txt hpilo: add poll f_op hpilo: add interrupt handler hpilo: staging for interrupt handling driver core: platform_device_add_data(): use kmemdup() Driver core: Add support for compatibility classes uio: add generic driver for PCI 2.3 devices driver-core: move dma-coherent.c from kernel to driver/base mem_class: fix bug mem_class: use minor as index instead of searching the array driver model: constify attribute groups UIO: remove 'default n' from Kconfig Driver core: Add accessor for device platform data Driver core: move dev_get/set_drvdata to drivers/base/dd.c Driver core: add new device to bus's list before probing commit 7ea61767e41e2baedd6a968d13f56026522e1207 Merge: 0950efd e9d5992 Author: Linus Torvalds Date: Wed Sep 16 08:11:54 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (641 commits) Staging: remove sxg driver Staging: remove heci driver Staging: remove at76_usb wireless driver. Staging: rspiusb: remove the driver Staging: meilhaus: remove the drivers Staging: remove me4000 driver. Staging: line6: ffzb returns an unsigned integer Staging: line6: pod.c: style cleanups Staging: iio: introduce missing kfree Staging: dream: introduce missing kfree Staging: comedi: addi-data: NULL dereference of amcc in v_pci_card_list_init() Staging: vt665x: fix built-in compiling Staging: rt3090: enable NATIVE_WPA_SUPPLICANT_SUPPORT option Staging: rt3090: port changes in WPA_MIX_PAIR_CIPHER to rt3090 Staging: rt3090: rename device from raX to wlanX Staging: rt3090: remove possible conflict with rt2860 Staging: rt2860/rt2870/rt3070/rt3090: fix compiler warning on x86_64 Staging: rt2860: add new device ids Staging: rt3090: add device id 1462:891a Staging: asus_oled: Cleaned up checkpatch issues. ... commit 0950efd1a1490e869d19ec631eed75ef57772f8b Merge: 4406c56 889c277 Author: Linus Torvalds Date: Wed Sep 16 08:11:23 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pcmcia-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pcmcia-2.6: pcmcia: document return value of pcmcia_loop_config pcmcia: dtl1_cs: fix pcmcia_loop_config logic pcmcia: drop non-existant includes pcmcia: disable prefetch/burst for OZ6933 pcmcia: fix incorrect argument order to list_add_tail() pcmcia: drivers/pcmcia/pcmcia_resource.c: Remove unnecessary semicolons pcmcia: Use phys_addr_t for physical addresses pcmcia: drivers/pcmcia: Make static commit 4406c56d0a4da7a37b9180abeaece6cd00bcc874 Merge: 6b7b352 5e3573d Author: Linus Torvalds Date: Wed Sep 16 07:49:54 2009 -0700 Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (75 commits) PCI hotplug: clean up acpi_run_hpp() PCI hotplug: acpiphp: use generic pci_configure_slot() PCI hotplug: shpchp: use generic pci_configure_slot() PCI hotplug: pciehp: use generic pci_configure_slot() PCI hotplug: add pci_configure_slot() PCI hotplug: clean up acpi_get_hp_params_from_firmware() interface PCI hotplug: acpiphp: don't cache hotplug_params in acpiphp_bridge PCI hotplug: acpiphp: remove superfluous _HPP/_HPX evaluation PCI: Clear saved_state after the state has been restored PCI PM: Return error codes from pci_pm_resume() PCI: use dev_printk in quirk messages PCI / PCIe portdrv: Fix pcie_portdrv_slot_reset() PCI Hotplug: convert acpi_pci_detect_ejectable() to take an acpi_handle PCI Hotplug: acpiphp: find bridges the easy way PCI: pcie portdrv: remove unused variable PCI / ACPI PM: Propagate wake-up enable for devices w/o ACPI support ACPI PM: Replace wakeup.prepared with reference counter PCI PM: Introduce device flag wakeup_prepared PCI / ACPI PM: Rework some debug messages PCI PM: Simplify PCI wake-up code ... Fixed up conflict in arch/powerpc/kernel/pci_64.c due to OF device tree scanning having been moved and merged for the 32- and 64-bit cases. The 'needs_freset' initialization added in 6e19314cc ("PCI/powerpc: support PCIe fundamental reset") is now in arch/powerpc/kernel/pci_of_scan.c. commit 6b7b352f2102e21f9d8f38e932f01d9c5705c073 Merge: a3eb51e cb684b5 Author: Linus Torvalds Date: Wed Sep 16 07:46:34 2009 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: block: fix linkage problem with blk_iopoll and !CONFIG_BLOCK commit a3eb51ecfa1d7be689f05c9f12cb0fcf862c516e Merge: fdaa45e 1ef7d9a Author: Linus Torvalds Date: Wed Sep 16 07:45:38 2009 -0700 Merge branch 'writeback' of git://git.kernel.dk/linux-2.6-block * 'writeback' of git://git.kernel.dk/linux-2.6-block: writeback: fix possible bdi writeback refcounting problem writeback: Fix bdi use after free in wb_work_complete() writeback: improve scalability of bdi writeback work queues writeback: remove smp_mb(), it's not needed with list_add_tail_rcu() writeback: use schedule_timeout_interruptible() writeback: add comments to bdi_work structure writeback: splice dirty inode entries to default bdi on bdi_destroy() writeback: separate starting of sync vs opportunistic writeback writeback: inline allocation failure handling in bdi_alloc_queue_work() writeback: use RCU to protect bdi_list writeback: only use bdi_writeback_all() for WB_SYNC_NONE writeout fs: Assign bdi in super_block writeback: make wb_writeback() take an argument structure writeback: merely wakeup flusher thread if work allocation fails for WB_SYNC_NONE writeback: get rid of wbc->for_writepages fs: remove bdev->bd_inode_backing_dev_info commit 182a85f8a119c789610a9d464f4129ded9f3c107 Author: Peter Zijlstra Date: Wed Sep 16 13:24:49 2009 +0200 sched: Disable wakeup balancing Sysbench thinks SD_BALANCE_WAKE is too agressive and kbuild doesn't really mind too much, SD_BALANCE_NEWIDLE picks up most of the slack. On a dual socket, quad core, dual thread nehalem system: sysbench (--num_threads=16): SD_BALANCE_WAKE-: 13982 tx/s SD_BALANCE_WAKE+: 15688 tx/s kbuild (-j16): SD_BALANCE_WAKE-: 47.648295846 seconds time elapsed ( +- 0.312% ) SD_BALANCE_WAKE+: 47.608607360 seconds time elapsed ( +- 0.026% ) (same within noise) Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 5a9b86f647a56862cdc0a1362bfb015ae921af7f Author: Peter Zijlstra Date: Wed Sep 16 13:47:58 2009 +0200 sched: Rename flags to wake_flags For consistencies sake, rename the argument (again). Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 5158f4e4428c6b8d52796b3b460e95796123a114 Author: Peter Zijlstra Date: Wed Sep 16 13:46:59 2009 +0200 sched: Clean up the load_idx selection in select_task_rq_fair Clean up the code a little. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 3b6408942206f940dd538e980e9904e48f4b64f8 Author: Peter Zijlstra Date: Wed Sep 16 13:44:33 2009 +0200 sched: Optimize cgroup vs wakeup a bit We don't need to call update_shares() for each domain we iterate, just got the largets one. However, we should call it before wake_affine() as well, so that that can use up-to-date values too. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 1ef7d9aa32a8ee054c4d4fdcd2ea537c04d61b2f Author: Nick Piggin Date: Tue Sep 15 21:37:55 2009 +0200 writeback: fix possible bdi writeback refcounting problem wb_clear_pending AFAIKS should not be called after the item has been put on the list, except by the worker threads. It could lead to the situation where the refcount is decremented below 0 and cause lots of problems. Presumably the !wb_has_dirty_io case is not a common one, so it can be discovered when the thread wakes up to check? Also add a comment in bdi_work_clear. Signed-off-by: Nick Piggin Signed-off-by: Jens Axboe commit 77b9d059cb3ddb8b1246d5878e81d52926550b23 Author: Nick Piggin Date: Tue Sep 15 21:34:51 2009 +0200 writeback: Fix bdi use after free in wb_work_complete() By the time bdi_work_on_stack gets evaluated again in bdi_work_free, it can already have been deallocated and used for something else in the !on stack case, giving a false positive in this test and causing corruption. Signed-off-by: Nick Piggin Signed-off-by: Jens Axboe commit 77fad5e625e56eb31a343ae1d489979fdc61a2aa Author: Nick Piggin Date: Tue Sep 15 21:34:12 2009 +0200 writeback: improve scalability of bdi writeback work queues If you're going to do an atomic RMW on each list entry, there's not much point in all the RCU complexities of the list walking. This is only going to help the multi-thread case I guess, but it doesn't hurt to do now. Signed-off-by: Nick Piggin Signed-off-by: Jens Axboe commit deed62edffe600bc5b379c872d3004116e001b66 Author: Nick Piggin Date: Tue Sep 15 21:32:58 2009 +0200 writeback: remove smp_mb(), it's not needed with list_add_tail_rcu() list_add_tail_rcu contains required barriers. Signed-off-by: Nick Piggin Signed-off-by: Jens Axboe commit 49db041430e8a856dbc3af15430bf068f1c74655 Author: Jens Axboe Date: Tue Sep 15 21:27:40 2009 +0200 writeback: use schedule_timeout_interruptible() Gets rid of a manual set_current_state(). Signed-off-by: Jens Axboe commit 8010c3b6349b407f8f11b3f4d7e9f94cb00fe528 Author: Jens Axboe Date: Tue Sep 15 20:04:57 2009 +0200 writeback: add comments to bdi_work structure And document its retriever, get_next_work_item(). Acked-by: Jan Kara Signed-off-by: Jens Axboe commit ce5f8e7795195edb6f84f74aa9d72e739df38486 Author: Jens Axboe Date: Mon Sep 14 12:57:56 2009 +0200 writeback: splice dirty inode entries to default bdi on bdi_destroy() We cannot safely ensure that the inodes are all gone at this point in time, and we must not destroy this bdi with inodes having off it. So just splice our entries to the default bdi since that one will always persist. Signed-off-by: Jens Axboe commit b6e51316daede0633e9274e1e30391cfa4747877 Author: Jens Axboe Date: Wed Sep 16 15:13:54 2009 +0200 writeback: separate starting of sync vs opportunistic writeback bdi_start_writeback() is currently split into two paths, one for WB_SYNC_NONE and one for WB_SYNC_ALL. Add bdi_sync_writeback() for WB_SYNC_ALL writeback and let bdi_start_writeback() handle only WB_SYNC_NONE. Push down the writeback_control allocation and only accept the parameters that make sense for each function. This cleans up the API considerably. Signed-off-by: Jens Axboe commit bcddc3f01c9122882c8b9f12ab94a934e55aef97 Author: Jens Axboe Date: Sun Sep 13 20:07:36 2009 +0200 writeback: inline allocation failure handling in bdi_alloc_queue_work() This gets rid of work == NULL in bdi_queue_work() and puts the OOM handling where it belongs. Acked-by: Jan Kara Signed-off-by: Jens Axboe commit cfc4ba5365449cb6b5c9f68d755a142f17da1e47 Author: Jens Axboe Date: Mon Sep 14 13:12:40 2009 +0200 writeback: use RCU to protect bdi_list Now that bdi_writeback_all() no longer handles integrity writeback, it doesn't have to block anymore. This means that we can switch bdi_list reader side protection to RCU. Signed-off-by: Jens Axboe commit f11fcae8401a3175f528e2f7917362645d570111 Author: Jens Axboe Date: Tue Sep 15 09:53:35 2009 +0200 writeback: only use bdi_writeback_all() for WB_SYNC_NONE writeout Data integrity writeback must use bdi_start_writeback() and ensure that wbc->sb and wbc->bdi are set. Acked-by: Jan Kara Signed-off-by: Jens Axboe commit 32a88aa1b6dfb901cec64e1898cac78d0f25028a Author: Jens Axboe Date: Wed Sep 16 15:02:33 2009 +0200 fs: Assign bdi in super_block We do this automatically in get_sb_bdev() from the set_bdev_super() callback. Filesystems that have their own private backing_dev_info must assign that in ->fill_super(). Note that ->s_bdi assignment is required for proper writeback! Acked-by: Christoph Hellwig Signed-off-by: Jens Axboe commit c4a77a6c7dcff04a2abc7fe4b6b2ae605be41c5b Author: Jens Axboe Date: Wed Sep 16 15:18:25 2009 +0200 writeback: make wb_writeback() take an argument structure We need to be able to pass in range_cyclic as well, so instead of growing yet another argument, split the arguments into a struct wb_writeback_args structure that we can use internally. Also makes it easier to just copy all members to an on-stack struct, since we can't access work after clearing the pending bit. Signed-off-by: Jens Axboe commit f0fad8a530e7cbad5f686dbca3079d1a626a3882 Author: Christoph Hellwig Date: Fri Sep 11 09:47:56 2009 +0200 writeback: merely wakeup flusher thread if work allocation fails for WB_SYNC_NONE Since it's an opportunistic writeback and not a data integrity action, don't punt to blocking writeback. Just wakeup the thread and it will flush old data. Acked-by: Jan Kara Signed-off-by: Christoph Hellwig Signed-off-by: Jens Axboe commit 1fe06ad89255c211fe100d7f690d10b161398df8 Author: Jens Axboe Date: Tue Sep 15 15:10:20 2009 +0200 writeback: get rid of wbc->for_writepages It's only set, it's never checked. Kill it. Acked-by: Jan Kara Signed-off-by: Jens Axboe commit 2c96ce9f2084c1e04d02883e622f74a537a63aea Author: Jens Axboe Date: Tue Sep 15 09:43:56 2009 +0200 fs: remove bdev->bd_inode_backing_dev_info It has been unused since it was introduced in: commit 520808bf20e90fdbdb320264ba7dd5cf9d47dcac Author: Andrew Morton Date: Fri May 21 00:46:17 2004 -0700 [PATCH] block device layer: separate backing_dev_info infrastructure So lets just kill it. Acked-by: Jan Kara Signed-off-by: Jens Axboe commit b36461da2a0389149d7f88f3cbc05a30d1db9faa Author: Atsushi Tsuji Date: Tue Sep 15 19:06:30 2009 +0900 tracing: Fix minor bugs for __unregister_ftrace_function_probe Fix the condition of strcmp for "*". Also fix NULL pointer dereference when glob is NULL. Signed-off-by: Atsushi Tsuji LKML-Reference: <4AAF6726.5090905@bk.jp.nec.com> Signed-off-by: Steven Rostedt commit 06724535f8fa26e78238bf8adfc9c81650a665f7 Author: Borislav Petkov Date: Wed Sep 16 13:05:46 2009 +0200 amd64_edac: check NB MCE bank enable on the current node properly The old code was using smp_call_function_many which skips the current cpu if it is in the supplied cpumask. Switch to the rdmsr_on_cpus() interface which takes care of that. In addition, add get_cpus_on_this_dct_cpumask helper which computes a cpumask of all the cores on a node and thus on a DCT. Signed-off-by: Borislav Petkov commit 57a30854c89f862eeada4cce822f3a87bc006c95 Author: Wan Wei Date: Fri Aug 7 17:04:49 2009 +0200 amd64_edac: Rewrite unganged mode code of f10_early_channel_count Simplify the procedure by checking if there is any DIMM in each channel. This patch will fix the bugs such as when there is no DIMMs under certain node, two DIMMs in the same channel, and only one DIMM in each channel of the node. Borislav: minor fixups Signed-off-by: Wan Wei Signed-off-by: Borislav Petkov commit be3468e8ff768c986849870b24e85fa84806da73 Author: Borislav Petkov Date: Wed Aug 5 15:47:22 2009 +0200 amd64_edac: cleanup amd64_check_ecc_enabled Simplify code flow and make sure return value is always valid since further driver init depends on it. Carve out long warning string and make code more readable. Shorten some names, while at it. There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 6a8126911a5ab167783fce18ae9cc70ec9b84fe2 Author: Andreas Herrmann Date: Wed Sep 16 11:33:40 2009 +0200 x86, EDAC: Provide function to return NodeId of a CPU Signed-off-by: Andreas Herrmann Signed-off-by: Borislav Petkov Acked-by: H. Peter Anvin commit b9183f9b99a9bd3349aefbd51d22f7e1bdc4a087 Author: Ingo Molnar Date: Tue Sep 15 15:56:32 2009 +0200 amd64_edac: build driver only on AMD hardware -tip testing found the following build failure (config attached): drivers/built-in.o: In function `amd64_check': amd64_edac.c:(.text+0x3e9491): undefined reference to `amd_decode_nb_mce' drivers/built-in.o: In function `amd64_init_2nd_stage': amd64_edac.c:(.text+0x3e9b46): undefined reference to `amd_report_gart_errors' amd64_edac.c:(.text+0x3e9b55): undefined reference to `amd_register_ecc_decoder' drivers/built-in.o: In function `amd64_nbea_store': amd64_edac_dbg.c:(.text+0x3ea22e): undefined reference to `amd_decode_nb_mce' drivers/built-in.o: In function `amd64_remove_one_instance': amd64_edac.c:(.devexit.text+0x3eea): undefined reference to `amd_report_gart_errors' amd64_edac.c:(.devexit.text+0x3ef6): undefined reference to `amd_unregister_ecc_decoder' the AMD EDAC code has a dependency on CONFIG_CPU_SUP_AMD facilities. The patch below solves the problem here. Signed-off-by: Ingo Molnar Signed-off-by: Borislav Petkov commit 7c423e98856df9b941223a7e7845b2502ad84b00 Author: Peter Zijlstra Date: Wed Sep 16 09:38:24 2009 +0200 sched: x86: Name old_perf in a unique way Silly percpu bits don't respect static.. Signed-off-by: Peter Zijlstra LKML-Reference: commit 0a375d75902c522ea36c6dc409296622f93db4a7 Author: David S. Miller Date: Wed Sep 16 00:31:26 2009 -0700 sparc: Update defconfigs. Signed-off-by: David S. Miller commit 51e0304ce6e55a6e59658558916b4f74da085ff0 Author: Ingo Molnar Date: Wed Sep 16 08:54:45 2009 +0200 sched: Implement a gentler fair-sleepers feature Add back FAIR_SLEEPERS and GENTLE_FAIR_SLEEPERS. FAIR_SLEEPERS is the old logic: credit sleepers with their sleep time. GENTLE_FAIR_SLEEPERS dampens this a bit: 50% of their sleep time gets credited. The hope here is to still give the benefits of fair-sleepers logic (quick wakeups, etc.) while not allow them to have 100% of their sleep time as if they were running. Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit 4e36a95e591e9c58dd10bb4103c00993917c27fd Author: David Howells Date: Wed Sep 16 00:01:13 2009 -0700 RxRPC: Use uX/sX rather than uintX_t/intX_t types Use uX rather than uintX_t types for consistency. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 634354d753898f9d9d146bd47628a1ef27f7dc98 Author: Vitaliy Gusev Date: Wed Sep 16 00:00:21 2009 -0700 mlx4: Fix access to freed memory catas_reset() uses pointer to mlx4_priv, but mlx4_priv is not valid after call mlx4_restart_one(). Signed-off-by: Vitaliy Gusev Acked-by: Roland Dreier Signed-off-by: David S. Miller commit 657e9649e745b06675aa5063c84430986cdc3afa Author: Robert Varga Date: Tue Sep 15 23:49:21 2009 -0700 tcp: fix CONFIG_TCP_MD5SIG + CONFIG_PREEMPT timer BUG() I have recently came across a preemption imbalance detected by: <4>huh, entered ffffffff80644630 with preempt_count 00000102, exited with 00000101? <0>------------[ cut here ]------------ <2>kernel BUG at /usr/src/linux/kernel/timer.c:664! <0>invalid opcode: 0000 [1] PREEMPT SMP with ffffffff80644630 being inet_twdr_hangman(). This appeared after I enabled CONFIG_TCP_MD5SIG and played with it a bit, so I looked at what might have caused it. One thing that struck me as strange is tcp_twsk_destructor(), as it calls tcp_put_md5sig_pool() -- which entails a put_cpu(), causing the detected imbalance. Found on 2.6.23.9, but 2.6.31 is affected as well, as far as I can tell. Signed-off-by: Robert Varga Signed-off-by: David S. Miller commit 59abf02644c45f1591e1374ee7bb45dc757fcb88 Author: Peter Zijlstra Date: Wed Sep 16 08:28:30 2009 +0200 sched: Add SD_PREFER_LOCAL And turn it on for NUMA and MC domains. This improves locality in balancing decisions by keeping up to capacity amount of tasks local before looking for idle CPUs. (and twice the capacity if SD_POWERSAVINGS_BALANCE is set.) Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 7c64b9f3f584008000cf3b960f25cd6a68fce191 Author: Jarek Poplawski Date: Tue Sep 15 23:42:05 2009 -0700 pkt_sched: Fix qdisc_create on stab error handling If qdisc_get_stab returns error in qdisc_create there is skipped qdisc ops->destroy, which is necessary because it's after ops->init at the moment, so memory leaks are quite probable. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit fe832a3a48737b24f95fab202b1c67fb588b071d Author: Steven Rostedt Date: Tue Sep 15 23:51:31 2009 -0400 tracing: remove notrace from __kprobes annotation When ftrace had issues with NMIs, it was needed to annotate all the areas that kprobes had issues with notrace. Now that ftrace is NMI safe, the functions that limit ftrace from tracing are just a small few. Kprobes is too big of a set for ftrace not to trace. Remove the coupling. Signed-off-by: Steven Rostedt commit fdec29c5fcd2705d61c1d14a1d4c74be03e9627c Merge: 0cb583f 9ef96da Author: Alex Elder Date: Tue Sep 15 21:37:47 2009 -0500 Merge branch 'master' of git://oss.sgi.com/xfs/xfs into for-linus Conflicts: fs/xfs/linux-2.6/xfs_lrw.c commit 09d3f3f0e02c8a900d076c302c5c02227f33572d Author: David S. Miller Date: Tue Sep 15 17:04:38 2009 -0700 sparc: Kill PROM console driver. Many years ago when this driver was written, it had a use, but these days it's nothing but trouble and distributions should not enable it in any situation. Pretty much every console device a sparc machine could see has a bonafide real driver, making the PROM console hack unnecessary. If any new device shows up, we should write a driver instead of depending upon this crutch to save us. We've been able to take care of this even when no chip documentation exists (sunxvr500, sunxvr2500) so there are no excuses. Signed-off-by: David S. Miller commit 2985709d7f3078c7609ae7f16affc0fb478d7d7a Author: Tim Abbott Date: Mon Sep 7 17:26:49 2009 +1000 m68knommu: Make PAGE_SIZE available to assembly files. Signed-off-by: Tim Abbott Signed-off-by: Greg Ungerer commit 2756730b798e4f1f8343cf034c33cc730ae3a5d4 Author: Philippe De Muyter Date: Wed Aug 12 16:35:28 2009 +1000 m68knommu: fix ColdFire definition of CLOCK_TICK_RATE The good definition of CLOCK_TICK_RATE for coldfires has been lost in the merge of m68k and m68knommu include files. Restore it. Culprit : commit ebafc17468d58bd903c886175ca84a4edc69ae1d Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer commit 14c16db3906ba9453e9c786323f872e11fd0f48d Author: Greg Ungerer Date: Wed Aug 12 16:14:43 2009 +1000 m68knommu: set multi-function pins for ethernet when enabled The ethernet pins on the 532x ColdFire CPU family are multi-function pins. We need to enable them as ethernet pins when using the FEC ethernet driver. Bug report, and older patch, from timothee@manaud.net. Signed-off-by: Greg Ungerer commit d89395babbe811811e70c6ee3465e3b60c0cdc11 Author: Greg Ungerer Date: Wed Aug 12 11:35:49 2009 +1000 m68knommu: remove special interrupt handling code for ne2k support The improved interrupt support for ColdFire CPU cores means we no longer need all the interrupt setup and ack hacks to support the NE2000 driver on ColdFire platforms. Remove all that code. Signed-off-by: Greg Ungerer commit fe84c1087a6e2e76396cd4003a525c3110354ad0 Author: Greg Ungerer Date: Tue Aug 11 16:33:51 2009 +1000 m68knommu: relax IO_SPACE_LIMIT setting There is really no limit to the addresses which can be used by the in*() and out*() family of IO space calls in m68k non-MMU environments. So don't impose an artificial address limit, allow the full 32bit range. Signed-off-by: Greg Ungerer commit 49802967cb7ec4f36a64e192108babe1c3b67e8e Author: Greg Ungerer Date: Tue Jul 7 12:13:23 2009 +1000 m68knommu: remove ColdFire direct interrupt register access Now that the ColdFire 5272 has full interrupt controller functionality we can remove all the interrupt masking and acking code from the FEC ethernet driver. Signed-off-by: Greg Ungerer commit 9075216d2c8761c91dc268125f6580af3ffc58b5 Author: Greg Ungerer Date: Tue Jul 7 09:39:11 2009 +1000 m68knommu: create a speciailized ColdFire 5272 interrupt controller The ColdFire 5272 CPU has a very different interrupt controller than any of the other ColdFire parts. It needs its own controller code to correctly setup and ack interrupts. Signed-off-by: Greg Ungerer commit da3601a5fa664c8d51383fe916d96bd4fbce84b8 Author: Greg Ungerer Date: Fri May 22 14:16:39 2009 +1000 m68knommu: add support for second interrupt controller of ColdFire 5249 The ColdFire 5249 CPU has a second (compleletly different) interrupt controller. It is the only ColdFire CPU that has this type. It controlls GPIO interrupts amongst a number of interrupts from other internal peripherals. Add support code for it. Signed-off-by: Greg Ungerer commit 3945ca0f84fee3fe564189fe8cf8f02491d19622 Author: Greg Ungerer Date: Fri May 22 13:50:53 2009 +1000 m68knommu: clean up old ColdFire timer irq setup The recent changes to the old ColdFire interrupt controller code means we no longer need to manually unmask the timer interrupt. That is now done in the interrupt controller code proper. Signed-off-by: Greg Ungerer commit 39f0fb6a3448cfc316e0d5295ed1b121db50037e Author: Greg Ungerer Date: Fri May 22 13:33:35 2009 +1000 m68knommu: map ColdFire interrupts to correct masking bits The older simple ColdFire interrupt controller has no one-to-one mapping of interrupt numbers to bits in the interrupt mask register. Create a mapping array that each ColdFire CPU type can populate with its available interrupts and the bits that each use in the interrupt mask register. Signed-off-by: Greg Ungerer commit f6a66276f5fdc018d2a9378c71de3bae13c588d7 Author: Greg Ungerer Date: Tue May 19 15:00:01 2009 +1000 m68knommu: clean up ColdFire 532x CPU timer setup The newer ColdFire 532x family of CPU's uses the old timer, but has a newer interrupt controller. It doesn't need the special timer setup that was required when using the older interrupt controller. Remove the dead timer irq and level setting code, and define the hard coded vector. Signed-off-by: Greg Ungerer commit 04b75b10dceadf937e3707ecc3dfccf6a076fd29 Author: Greg Ungerer Date: Tue May 19 14:52:40 2009 +1000 m68knommu: simplify ColdFire "timers" clock initialization The ColdFire "timers" clock setup can be simplified. There is really no need for the flexible per-platform setup code. The clock interrupt can be hard defined per CPU platform (in CPU include files). This makes the actual timer code simpler. Signed-off-by: Greg Ungerer commit f9311f26434cea3e926f56ca2aa3e5740e962c72 Author: Greg Ungerer Date: Tue May 19 14:39:19 2009 +1000 m68knommu: support code to mask external interrupts on old ColdFire CPU's The external interrupts used on the old Coldfire parts with the old style interrupt controller can be properly mask/unmasked in the interrupt handling code. Signed-off-by: Greg Ungerer commit f2154bef817ac3d0ea67b52526fd8e88898b66f9 Author: Greg Ungerer Date: Tue May 19 14:38:08 2009 +1000 m68knommu: merge old ColdFire interrupt controller masking macros Currently the code that supports setting the old style ColdFire interrupt controller mask registers is macros in the include files of each of the CPU types. Merge all these into a set of real masking functions in the old Coldfire interrupt controller code proper. All the macros are basically the same (excepting a register size difference on really early parts). Signed-off-by: Greg Ungerer commit 5187995f0a9253e915dfee83684eae7b692213e6 Author: Greg Ungerer Date: Tue May 19 14:08:47 2009 +1000 m68knommu: remove duplicate ColdFire mcf_autovector() code Each of the ColdFire CPU platform code that used the old style interrupt controller had its own copy of the mcf_autovector() function. They are all the same, remove them all and create a single function in the common coldfire/intc.c code. Signed-off-by: Greg Ungerer commit 5938084bd8843490a4493d19fb108df70d87df2d Author: Greg Ungerer Date: Tue May 19 13:56:44 2009 +1000 m68knommu: move ColdFire INTC definitions to new include file Create an mcfintc.h include file with the definitions for the old style ColdFire interrupt controller. They are only needed on CPU's that use this old controller - so isolate them on their own. Signed-off-by: Greg Ungerer commit e47cc3d6acacffdc673779a44c21a4a12b20db23 Author: Greg Ungerer Date: Wed May 6 14:28:25 2009 +1000 m68knommu: mask off all interrupts in ColdFire intc-simr controller The ColdFire intc-simr interrupt controller should mask off all interrupt sources at init time. Doing it here instead of separately in each platform setup. Signed-off-by: Greg Ungerer commit 91b1b94f88219ea1b747264f4f6995a1202566cb Author: Greg Ungerer Date: Wed May 6 14:25:40 2009 +1000 m68knommu: remove timer device interrupt setup for ColdFire 532x With fully implemented interrupt controller code we don't need to do the custom interrupt setup for the timer device of the ColdFire 532x. Remove that code. Signed-off-by: Greg Ungerer commit f1a59d244abd8d7b94b90f45ee5e0988e5a154cb Author: Greg Ungerer Date: Wed May 6 11:36:00 2009 +1000 m68knommu: remove interrupt masking from ColdFire pit timer With proper interrupt controller code in place there is no need for devices like the timers to have custom interrupt masking code. Remove it (and the defines that go along with it). Signed-off-by: Greg Ungerer commit a3d9bf1dfdaf6f7df6c5340521dff1aafe39393f Author: Greg Ungerer Date: Wed May 6 10:14:04 2009 +1000 m68knommu: remove unecessary interrupt level setting in ColdFire 520x setup The new code for the interrupt controller in the ColdFire 520x takes care of all the interrupt controller setup. No manual config of the level registers (ICR) is required by the platform device setup code. So remove it. Signed-off-by: Greg Ungerer commit de4cbfb5994465e7c0f4cc545722b1144e8ba717 Author: Greg Ungerer Date: Fri May 1 17:23:37 2009 +1000 m68knommu: remove the common interrupt controller structure Each different m68knommu CPU interrupt controller type has its own interrupt controller data structures now. Remove the old, and now not used, common irq structs and init code from here. Signed-off-by: Greg Ungerer commit 0531d7b36b9894b60ba9c0633993d49a813555ff Author: Greg Ungerer Date: Fri May 1 17:22:36 2009 +1000 m68knommu: complete interrupt controller code for the 68360 CPU Define the interrupt controller structures along with the interrupt controller code for the 68360 CPU. This brings the interrupt setup and control into one place for this CPU family. Signed-off-by: Greg Ungerer commit 1985d2538cccdcdb444d03bc5994be82e85e1f60 Author: Greg Ungerer Date: Fri May 1 16:54:49 2009 +1000 m68knommu: complete interrupt controller code for the 68328 CPU's Define the interrupt controller structures along with the interrupt controller code for the 68328 CPU family. This brings the interrupt setup and control into one place for this CPU family. Signed-off-by: Greg Ungerer commit 33a21263bf74177209c11f08246fc308916d9ffa Author: Greg Ungerer Date: Thu Apr 30 16:22:24 2009 +1000 m68knommu: use common interrupt controller code for older ColdFire CPU's The old ColdFire CPU's (5206, 5307, 5407, 5249 etc) use a simple interrupt controller. Use common setup code for them. This addition means that all ColdFire CPU's now have some specific type of interrupt controller code. Signed-off-by: Greg Ungerer commit 6589c1d71581618dfc344628fb425ee4f09ce904 Author: Greg Ungerer Date: Wed Apr 29 13:31:27 2009 +1000 m68knommu: clean up ColdFire 532x interrupt setup With the common intc-simr interrupt controller code in place the ColdFire 532x family startup code can be greatly simplified. Remove all the interrupt masking code, and the per-device interrupt config here. Signed-off-by: Greg Ungerer commit 277c5e3e26cac45010f57a581c56476639b2cfa0 Author: Greg Ungerer Date: Wed Apr 29 12:07:13 2009 +1000 m68knommu: general interrupt controller for ColdFire 532x parts The ColdFire 532x family of parts uses 2 of the same INTC interrupt controlers used in the ColdFire 520x family. So modify the code to support both parts. The extra code for the second INTC controler in the case of the 520x is easily optimized away to nothing. Signed-off-by: Greg Ungerer commit 1f946533bb562f5144752ea583cac45e9410fdaa Author: Greg Ungerer Date: Tue Apr 28 15:59:10 2009 +1000 m68knommu: clean up ColdFire 523x interrupt setup With the common intc-2 interrupt controller code in place the ColdFire 523x family startup code can be greatly simplified. Remove all the interrupt masking code, and the per-device interrupt config here. Signed-off-by: Greg Ungerer commit 980f9235eba5091d9fbbeb7fb72348c19d1ba710 Author: Greg Ungerer Date: Tue Apr 28 14:24:25 2009 +1000 m68knommu: clean up ColdFire 528x interrupt setup With the common intc-2 interrupt controller code in place the ColdFire 528x family startup code can be greatly simplified. Remove all the interrupt masking code, and the per-device interrupt config here. Signed-off-by: Greg Ungerer commit 1b718c71b7830c77a9b70826be83b899e314b585 Author: Greg Ungerer Date: Tue Apr 28 10:57:36 2009 +1000 m68knommu: clean up ColdFire 527x interrupt setup With the common intc-2 interrupt controller code in place the ColdFire 527x family startup code can be greatly simplified. Remove all the interrupt masking code, and the per-device interrupt config here. Signed-off-by: Greg Ungerer commit 2fba4f0b035f7723073068cf8b3a01ec38f72ed5 Author: Greg Ungerer Date: Mon Apr 27 15:38:03 2009 +1000 m68knommu: general interrupt controller for ColdFire many 52xx parts Create general interrupt controller code for the many ColdFire version 2 cores that use the two region INTC interrupt controller. This includes the 523x family, 5270, 5271, 5274, 5275, and the 528x families. This code does proper masking and unmasking of interrupts. With this in place some of the driver hacks in place to support ColdFire interrupts can finally go away. Signed-off-by: Greg Ungerer commit d0d77c26cb6195e881325befc950cc54732ba261 Author: Greg Ungerer Date: Mon Apr 27 15:15:01 2009 +1000 m68knommu: remove per device interrupt mask setting for ColdFire 520x With general interrupt controller code in place we don't need specific unmasking code for the internal ColdFire 520x UARTs or ethernet (FEC). Signed-off-by: Greg Ungerer commit cd3dd4068db5e1258a14b63e0feaf0332640d896 Author: Greg Ungerer Date: Mon Apr 27 15:09:29 2009 +1000 m68knommu: use general interrupt controller for ColdFire 520x family Create general interrupt controller code for the ColdFire 520x family, that does proper masking and unmasking of interrupts. With this in place some of the driver hacks in place to support ColdFire interrupts can finally go away. Within the ColdFire family there is a variety of different interrupt controllers in use. Some are used on multiple parts, some on only one. There is quite some differences in some varients, so much so that common code for all ColdFire parts would be impossible. This commit introduces code to support one of the newer interrupt controllers in the ColdFire 5208 and 5207 parts. It has very simple mask and unmask operations, so is one of the easiest to support. Signed-off-by: Greg Ungerer commit 584320156b7e42e74105ca78bdf895d2b0269251 Author: Greg Ungerer Date: Wed Aug 5 14:02:48 2009 +1000 m68k: clean up comment delimiters in dma.h Change C99 style comments to traditional K&R style. Signed-off-by: Greg Ungerer commit cba89e231f97139dc6013030210624efd1087f68 Author: Greg Ungerer Date: Fri Jun 12 15:11:17 2009 +1000 m68k: merge mmu and non-mmu versions of dma.h The non-mmu version of dma.h contains a lot of ColdFire specific DMA support, but also all of the base m68k support. So use the non-mmu version of dma.h for all. Signed-off-by: Greg Ungerer commit 6192c1ea0ac5806592c5c9cc2b2b94b0298df02b Author: Greg Ungerer Date: Thu Jul 2 16:11:58 2009 +1000 m68k: merge the mmu and non-mmu versions of checksum.h The mmu and non-mmu versions of checksum.h are mostly the same, merge them. Signed-off-by: Greg Ungerer commit 3ddc7e261a990d03fa4e78e37e6623ca45b18d77 Author: Greg Ungerer Date: Fri Jun 26 16:51:05 2009 +1000 m68k: merge mmu and non-mmu versions of irq.h It is reasonably strait forward to merge the mmu and non-mmu versions of irq.h. Most of the defines and structs are not needed on non-mmu. Signed-off-by: Greg Ungerer commit 633ea5d78b8b01ba903aeaae10297033830a52dd Author: Greg Ungerer Date: Thu Apr 23 11:03:20 2009 +1000 m68k: merge mmu and non-mmu versions of processor.h The mmu and non-mmu versions of processor.h have a lot of common code. This is a strait forward merge. start_thread() could be improved, but that is not quite as strait forward, leaving for a follow on change. Signed-off-by: Greg Ungerer commit d668bf0a0d73daea4eaaf748435752f52cc077aa Author: Christoph Hellwig Date: Tue Aug 4 16:52:44 2009 +0200 m68knommu: convert to asm-generic/hardirq.h Signed-off-by: Christoph Hellwig Signed-off-by: Greg Ungerer commit f3aa42c6b26f502f6502ea2e07908d5768a3dd35 Author: Greg Ungerer Date: Sat Jul 4 00:13:57 2009 +1000 m68k: remove unused elia.h include file Signed-off-by: Greg Ungerer commit c573b29baf3e1b71a60ee6de76dd28c9c49fb87f Author: Joe Perches Date: Thu Jul 2 14:08:03 2009 +1000 arch/m68knommu/kernel/time.c: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: Greg Ungerer commit cb684b5bcd6a79ae7e2360c6b158c4aa7b0a293a Author: Jens Axboe Date: Tue Sep 15 21:53:11 2009 +0200 block: fix linkage problem with blk_iopoll and !CONFIG_BLOCK kernel/built-in.o:(.data+0x17b0): undefined reference to `blk_iopoll_enabled' Since the extern declaration makes the compile work, but the actual symbol is missing when block/blk-iopoll.o isn't linked in. Signed-off-by: Jens Axboe commit fdaa45e95d2ef59a140d2fb2e487141f83f5a07c Author: Ingo Molnar Date: Tue Sep 15 11:00:26 2009 +0200 slub: Fix build error in kmem_cache_open() with !CONFIG_SLUB_DEBUG This build bug: mm/slub.c: In function 'kmem_cache_open': mm/slub.c:2476: error: 'disable_higher_order_debug' undeclared (first use in this function) mm/slub.c:2476: error: (Each undeclared identifier is reported only once mm/slub.c:2476: error: for each function it appears in.) Triggers because there's no !CONFIG_SLUB_DEBUG definition for disable_higher_order_debug. Signed-off-by: Ingo Molnar Signed-off-by: Pekka Enberg commit e9d599220b97e7d52311f6011c75ba0cfcb356fe Author: Greg Kroah-Hartman Date: Tue Sep 15 10:09:27 2009 -0700 Staging: remove sxg driver Unfortunatly, the upstream company has abandonded development of this driver. So it's best to just remove the driver from the tree. Cc: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit 0b33559a1adb3b9953503c9b55a61c37db34ffc0 Author: Greg Kroah-Hartman Date: Fri Sep 11 09:46:35 2009 -0700 Staging: remove heci driver Intel has officially abandoned this project and does not want to maintian it or have it included in the main kernel tree, as no one should use the code, it's not needed anymore. Signed-off-by: Greg Kroah-Hartman commit 1c6592f3b78640902494650efb88d8c2520c5c92 Author: Greg Kroah-Hartman Date: Thu Sep 3 11:58:09 2009 -0700 Staging: remove at76_usb wireless driver. There is already an in-kernel driver for this hardware (since 2.6.30), at76c50x-usb, and it supports all of the same devices. So this driver can now be deleted. Acked-by: Kalle Valo Cc: linux-wireless Signed-off-by: Greg Kroah-Hartman commit ffac040c05f7887896fbd5e1139e7fc59c30fa21 Author: Greg Kroah-Hartman Date: Wed Sep 2 21:33:06 2009 -0700 Staging: rspiusb: remove the driver No one cares, it's a custom userspace interface, and the code hasn't built in a long time. So remove it. Signed-off-by: Greg Kroah-Hartman commit a8fcffbde4cedf319f7009cec21baddf9422685e Author: Greg Kroah-Hartman Date: Wed Sep 2 21:29:37 2009 -0700 Staging: meilhaus: remove the drivers The comedi drivers should be used instead, no need to have these in here as well. Cc: David Kiliani Cc: Meilhaus Support Signed-off-by: Greg Kroah-Hartman commit 06bf27ddaae4deb796ec90a11c5ecefd7364e3ed Author: Greg Kroah-Hartman Date: Wed Sep 2 21:27:08 2009 -0700 Staging: remove me4000 driver. The comedi drivers should be used instead, no need to have this driver in the tree duplicating that one. Cc: Wolfgang Beiter Cc: Guenter Gebhardt Signed-off-by: Greg Kroah-Hartman commit c2f5e9d2bfa41cd4ba1c7dc49b32d6b6df6d195b Author: Frederik Deweerdt Date: Mon Sep 14 08:52:37 2009 +0000 Staging: line6: ffzb returns an unsigned integer find_first_zero_bit returns a positive value, use it accordingly. Signed-off-by: Frederik Deweerdt Signed-off-by: Greg Kroah-Hartman commit e1769b3cf0670935d1988e65f758bf6f29c0e107 Author: Frederik Deweerdt Date: Mon Sep 14 08:51:38 2009 +0000 Staging: line6: pod.c: style cleanups Line6 pod.c: Minor style cleanups Signed-off-by: Frederik Deweerdt Signed-off-by: Greg Kroah-Hartman commit 542f491542b0312f8b28e17a013f6f8f114bda68 Author: Julia Lawall Date: Fri Sep 11 18:22:27 2009 +0200 Staging: iio: introduce missing kfree Error handling code following a kmalloc or kzalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall commit 2bb6a12a88aeac9bab4ed0cf0da1edc03f5eb686 Author: Julia Lawall Date: Fri Sep 11 18:22:27 2009 +0200 Staging: dream: introduce missing kfree Error handling code following a kmalloc or kzalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall commit a2279ae5b58edb7cbe2196d08572fcf59f292354 Author: Roel Kluin Date: Mon Aug 31 10:54:37 2009 +0200 Staging: comedi: addi-data: NULL dereference of amcc in v_pci_card_list_init() amcc allocation may fail, prevent a NULL dereference. allocation may fail, prevent a dereference. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 14386fd10c33b6a6a53901a64832f34f038857cf Author: Alexander Beregalov Date: Thu Sep 3 20:38:14 2009 +0400 Staging: vt665x: fix built-in compiling Fix this build error: undefined reference to "__this_module" Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 48118b53c6ba0c48440ba552cd7b82c9a9cf530d Author: Bartlomiej Zolnierkiewicz Date: Tue Sep 8 22:35:41 2009 +0200 Staging: rt3090: enable NATIVE_WPA_SUPPLICANT_SUPPORT option Similarly as it has been done in other in-kernel Ralink drivers and in openSUSE's rt3090sta package. Cc: Axel Koellhofer Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 230da57e68636e35c07b144fd25f4bd7f67c1e1c Author: Axel K Date: Thu Sep 3 22:04:59 2009 +0200 Staging: rt3090: port changes in WPA_MIX_PAIR_CIPHER to rt3090 This patch ports a change recently applied to rt2860/rt2870 in order to change handling of WPA1/WPA2 mixed mode to rt3090. Signed-off-by: Axel Koellhofer Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0961284c7208dfd907456fa73823f5967331b957 Author: Axel K Date: Thu Sep 3 21:53:37 2009 +0200 Staging: rt3090: rename device from raX to wlanX This patch sets "wlan" as the default suffix for naming the device, a change which has also been previously applied to rt2860/rt2870 in staging. Signed-off-by: Axel Koellhofer Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7dbefe3d581b6283c2ba70b292b450d3e2631f42 Author: Axel K Date: Thu Sep 3 21:24:19 2009 +0200 Staging: rt3090: remove possible conflict with rt2860 Both drivers (rt2860 and rt3090) register themselves as "rt2860" on loading the module. In the very rare case of somebody having two cards in his machine, one using rt3090 and the other one using the rt2860 driver, loading both modules would be impossible, the second one will not be loaded as the kernel will tell you that the driver is already registered. This was also present with rt2870/rt3070 (with both driver registering as "rt2870"), but the code has been merged to one driver recently. The follwoing patch fixes this potential problem until merging of rt2860/rt3090 code to a single driver. Signed-off-by: Axel Koellhofer Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 25cf62e43110c43869a58505dae22ad5e2b1416a Author: Axel K Date: Thu Sep 3 21:13:56 2009 +0200 Staging: rt2860/rt2870/rt3070/rt3090: fix compiler warning on x86_64 When compiling rt2860/rt2870/rt3070 or rt3090 on x86_64, the following warning is displayed: drivers/staging/rt3090/rt_linux.c: In function 'duplicate_pkt': drivers/staging/rt3090/rt_linux.c:531: warning: passing argument 1 of 'memmove' makes pointer from integer without a cast include2/asm/string_64.h:58: note: expected 'void *' but argument is of type 'sk_buff_data_t' drivers/staging/rt3090/rt_linux.c:533: warning: passing argument 1 of 'memmove' makes pointer from integer without a cast include2/asm/string_64.h:58: note: expected 'void *' but argument is of type 'sk_buff_data_t' The following patch fixes this warning. Credits go to Helmut Schaa for his kind advice/help on this patch. Signed-off-by: Axel Koellhofer Cc: Helmut Schaa Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a85236c34116621b372c309aa25c2f9bae1b8a15 Author: Axel K Date: Thu Sep 3 20:53:36 2009 +0200 Staging: rt2860: add new device ids This patch adds new device IDs to ralink rt2860 driver in linux staging. The device IDs were retrieved from the latest vendor release (version 2.1.2.0). Signed-off-by: Axel Koellhofer Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 87cbcb673481be97b96cbbeba4aac654937bc335 Author: Axel K Date: Thu Sep 3 20:47:11 2009 +0200 Staging: rt3090: add device id 1462:891a This patch adds a new device ID (1462:819a) to ralink rt3090 driver in linux staging. The device ID was retrieved from the latest vendor release (version 2.2.0.0). Signed-off-by: Axel Koellhofer Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 1ff12a4aa354bed093a0240d5e6347b1e27601bc Author: Kevin A. Granade Date: Sat Sep 5 01:03:39 2009 -0500 Staging: asus_oled: Cleaned up checkpatch issues. Signed-off-by: Kevin A. Granade Cc: Belisko Marek Signed-off-by: Greg Kroah-Hartman commit a89dfebdad050598479c73c1a22e2323085b5596 Author: Roel Kluin Date: Mon Aug 31 12:26:43 2009 +0200 Staging: rt2860: fix possible NULL dereferences Allocations may fail, prevent NULL dereferences. Signed-off-by: Roel Kluin Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 18526c7896fca5229c8d7b4b415605a17f9952d0 Author: Julia Lawall Date: Mon Aug 31 21:34:25 2009 +0200 Staging: rtl8192e: Drop unnecessary NULL test The result of container_of should not be NULL. In particular, in this case the argument to the enclosing function has passed though INIT_WORK, which dereferences it, implying that its container cannot be NULL. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ identifier fn,work,x,fld; type T; expression E1,E2; statement S; @@ static fn(struct work_struct *work) { ... when != work = E1 x = container_of(work,T,fld) ... when != x = E2 - if (x == NULL) S ... } // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit c07d3c75a76d93f00182af2c6b750a52ea4d9869 Author: Greg Kroah-Hartman Date: Fri Sep 11 14:20:21 2009 -0700 Staging: vt665x: rename the module binary So it doesn't conflict with a mainline kernel driver currently under development. Signed-off-by: Greg Kroah-Hartman commit 88ff720865fb8f9d18196810ed6a9553e034834f Author: Greg Kroah-Hartman Date: Tue Aug 25 16:26:56 2009 -0700 Staging: cowloop: remove kernel version checks Now that the code is in the kernel tree, remove the unneeded version checks. Cc: "H.J. Thomassen" Signed-off-by: Greg Kroah-Hartman commit a3b2e09333ce811e69ac71379a2dd8ccd1b2ca6f Author: Greg Kroah-Hartman Date: Tue Aug 25 16:00:48 2009 -0700 Staging: add cowloop to the build Now that the code can build, let's add it to the build system. Cc: "H.J. Thomassen" Signed-off-by: Greg Kroah-Hartman commit 5cc06df69f0865750ed5c95e3d930be31b7c861e Author: Greg Kroah-Hartman Date: Tue Aug 25 16:04:46 2009 -0700 Staging: cowloop: add TODO file Add a TODO file with a few things that needs to be fixed up. Cc: "H.J. Thomassen" Signed-off-by: Greg Kroah-Hartman commit 8cd9c297a8ad1366789b934b0e4510c87beaf274 Author: Greg Kroah-Hartman Date: Tue Aug 25 16:01:33 2009 -0700 Staging: get cowloop to build properly There has been some block api changes since the last release of the cowloop code. This patch updates the code to properly build. Cc: "H.J. Thomassen" Signed-off-by: Greg Kroah-Hartman commit dbda83255cf6a12d06527131214c123ee7ae96b9 Author: H.J. Thomassen Date: Tue Aug 25 15:39:04 2009 -0700 Staging: add cowloop driver Cowloop is a "copy-on-write" pseudo block driver. It can be stacked on top of a "real" block driver, and catches all write operations on their way from the file systems layer above to the real driver below, effectively shielding the lower driver from those write accesses. The requests are then diverted to an ordinary file, located somewhere else (configurable). Later read requests are checked to see whether they can be serviced by the "real" block driver below, or must be pulled in from the diverted location. More information is on the project's website http://www.ATComputing.nl/cowloop/ From: "H.J. Thomassen" Signed-off-by: Greg Kroah-Hartman commit fa052e912d4d575b86a7fd3623380aba897a1a8e Author: Greg Kroah-Hartman Date: Mon Aug 24 14:40:50 2009 -0700 Staging: rtl8192e: fix timeouts on firmware download We need to actually wait a specific ammount of time, not just hope that a set number of loops will be long enough. Based on a conversation with Ralink, and a proposed patch for their older kernel driver. Cc: david woo Signed-off-by: Greg Kroah-Hartman commit 3ef5a262ad0061d6147da7e3ee03aead7c160d91 Author: Greg Kroah-Hartman Date: Thu Aug 20 06:14:22 2009 -0700 Staging: rtl8192e: fix for stack bug This should be a fix for the lockup bug when attaching to an access point. Patch came from a diff from RealTek. Hopefully it resolves the issue. Signed-off-by: Greg Kroah-Hartman commit 54fb0579b9a35101b01d7b277a933e6af200ae88 Author: Greg Kroah-Hartman Date: Fri Aug 14 16:11:28 2009 -0700 Staging: rtl8192e: remove annoying printk() This message doesn't need to be constantly sent to the syslog, it's nothing but annoying gibberish. Signed-off-by: Greg Kroah-Hartman commit cbe892f6772145f160b89ef5fd4759a8dc7bf6c6 Author: Greg Kroah-Hartman Date: Wed Aug 12 16:50:57 2009 -0700 Staging: rtl8192e: remove unneeded ieee80211 files These files are not even built or used, so just remove them. Signed-off-by: Greg Kroah-Hartman commit 96ed5846c4eeb29934b789e6d83e35a8d498778f Author: Greg Kroah-Hartman Date: Wed Aug 12 16:39:54 2009 -0700 Staging: rtl8192e: coding style cleanups on r819xE_firmware.c This cleans up everything but a few 80 column issues in the r819xE_firmware.c file. Signed-off-by: Greg Kroah-Hartman commit 5bf30d96884818df79a08df8811e3eaa2f5a0818 Author: Greg Kroah-Hartman Date: Wed Aug 12 16:37:49 2009 -0700 Staging: rtl8192e: remove another firmware header file not being used The built-in firmware images are never used, the firmware files are downloaded to the device through the standard firmware interface. This removes the firmware header file as it's not ever used. It also removes a .h file as it is not needed. Signed-off-by: Greg Kroah-Hartman commit 8bfd185b950a25e511b5856bdaa67a696e533d1e Author: Greg Kroah-Hartman Date: Wed Aug 12 16:37:49 2009 -0700 Staging: rtl8192e: remove firmware header file not being used This removes the r819xP firmware file that is never used. The size of the built code after this patch is identical to before it. Signed-off-by: Greg Kroah-Hartman commit 96a51d06ccaeb2ca7e23d9e7b9b91c4a45471841 Author: Greg Kroah-Hartman Date: Wed Aug 12 16:37:26 2009 -0700 Staging: rtl8192e: remove kernel version checks This removes a lot of code that is never built in to the driver. The size of the built code after this patch is identical to before it. Signed-off-by: Greg Kroah-Hartman commit 19bebc5217c0798a16b56c18609e0f52db6b0924 Author: Greg Kroah-Hartman Date: Wed Aug 12 16:36:38 2009 -0700 Staging: rtl8192e: remove #if 0 sections This removes a lot of code that is never built in to the driver. The size of the built code after this patch is identical to before it. Signed-off-by: Greg Kroah-Hartman commit ca9b2f88d97ee39286be3cc83ac10f2c09194410 Author: Jeff Mahoney Date: Tue Aug 4 10:26:19 2009 -0400 Staging: rtl8192e: compile fixes This patch removes -fhard-float and the software float helpers. In-kernel floating point is not allowed. Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit df34e5e396e6cff3389549b27e898fdb5d140269 Author: Greg Kroah-Hartman Date: Mon Aug 10 16:33:53 2009 -0700 Staging: rtl8192e: remove unused functions This removes a number of unused functions. Signed-off-by: Greg Kroah-Hartman commit 5e1ad18a8d198ccb0e201cb444a58f7e277dfb4d Author: Greg Kroah-Hartman Date: Mon Aug 10 16:34:22 2009 -0700 Staging: rtl8192e: fix lots of sparse warnings This removes a number of static and extern warnings that sparse complains about. Signed-off-by: Greg Kroah-Hartman commit ecdfa44610fa18678c3dd481af75368b9800c6c7 Author: Greg Kroah-Hartman Date: Tue Aug 4 15:57:55 2009 -0700 Staging: add Realtek 8192 PCI wireless driver This wireless driver should work for the Realtek 8192 PCI devices. It comes directly from Realtek and has been tested to work on at least one laptop in the wild. Cc: Anthony Wong Signed-off-by: Greg Kroah-Hartman commit 2d7cf8ef75abbe0d33d9115872d4545e9cefced2 Author: Evgeniy Polyakov Date: Fri Aug 28 17:57:58 2009 +0400 Staging: pohmelfs: sync with the development tree * cache coherency protocol fix * proper timeout handling * implement dump/del all config group command (Signed-off-by: Pierpaolo Giacomin ) Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 252a1b9162b6dbac7324854eb4137404932b574d Author: Alexander Beregalov Date: Tue Aug 25 17:25:44 2009 +0400 Staging: agnx: remove flush_workqueue() mac80211 already does flush_workqueue() at stop/start and suspend\resume. (fix build error) Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 7ff177a88782461893316a512e75a3f169fbae8b Author: Roel Kluin Date: Tue Aug 25 15:19:27 2009 +0200 Staging: comedi: apci3200: fix test of ui_DelayTime range in i_APCI3200_CommandTestAnalogInput() For ui_DelayTime to be less than 1 and greater than 1023 is logically impossible. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Cc: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 48c8276d7ac534d62c594c9a493130ff9137675d Author: Roel Kluin Date: Sat Aug 22 19:32:44 2009 +0200 Staging: rspiusb: Check usb_buffer_map_sg() retval usb_buffer_map_sg() may return -1, check this directly. Signed-off-by: Roel Kluin Reviewed-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 77943d31b7dfdbd1ad58d49bd16ae6e7601bcd6c Author: Sudhakar Rajashekhara Date: Thu Aug 20 18:13:18 2009 -0400 Staging: panel: Add support for TI CLCD interface On TI DA850/OMAP-L138 EVM, HD44780 (24x2) LCD panel is being used[1], but it is interfaced through the SoC specific LCD interface and not through parallel port. A parallel port driver has been developed which interfaces to the panel driver through the SoC specific LCD interface. Basically, both the serial and parallel interfaces supported by the panel driver do not suit the specific interface SoC is supporting so, a new interface type has been introduced. Ideally the panel driver should be de-coupled from parallel and serial port related items but this patch is something that can be merged in the meantime. [1]Specification of the character LCD interface on TI DA850/OMAP-L138: http://www.ti.com/litv/pdf/sprufm0a. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Greg Kroah-Hartman commit bcb903fa303bea505902be8b1e275769515c2380 Author: Alan Cox Date: Thu Aug 27 11:03:38 2009 +0100 Staging: et131x: kill off the TXDMA CSR type Go to a u32 and masks Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit fba84166978c334f90593d4f1d6e1309c029a097 Author: Alan Cox Date: Thu Aug 27 11:03:29 2009 +0100 Staging: et131x: kill off the TXDMA error type This isn't actually used properly anyway Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 7ca5d4229093bedef3a89772249f8a2f74421a1a Author: Alan Cox Date: Thu Aug 27 11:03:21 2009 +0100 Staging: et131x: re-order the initpci code to match usual Linux style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 15700039b108fccc36507bcabdd4dda93f7c4c61 Author: Alan Cox Date: Thu Aug 27 11:03:09 2009 +0100 Staging: et131x: prune all the debug code We don't need it, we have a perfectly good set of debug tools. For this pass keep a few debug printks around which are "should not happen" items Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit bc7f9c597fa55814548845a7c43f53d6bbbce94b Author: Alan Cox Date: Thu Aug 27 11:02:43 2009 +0100 Staging: et131x: kill the loopback type Kill off the loopback type in the driver Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit e266b2022209a2bc389c1cd6b809395c67671a92 Author: Alan Cox Date: Thu Aug 27 11:02:34 2009 +0100 Staging: et131x: kill MSI type Kill off the MSI structure Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b8c4cc46541d864b37497d0047b81b62a5d4e073 Author: Alan Cox Date: Thu Aug 27 11:02:25 2009 +0100 Staging: et131x: put the jagcore routines in with their users We have two trivial IRQ routines, a single statement and a real function - relocate them. While we are at it kill the trivial to sort out soft reset and slv bits in the same areas of code. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 2211b732ba8050bc228e129cdc30b4fdedcbea86 Author: Alan Cox Date: Thu Aug 27 11:02:12 2009 +0100 Staging: et131x: kill the interrupt magic define and types Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f6b35d66cf3284fd76cd3b7dd170630235ce304c Author: Alan Cox Date: Thu Aug 27 11:02:05 2009 +0100 Staging: et131x: clean up MP_FLAG macros Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 356c74b401f6b05ae5d793e9d1a9ba8297b8e3ff Author: Alan Cox Date: Thu Aug 27 11:01:57 2009 +0100 Staging: et131x: clean up DMA10/DMA4 types Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f2c98d27b8e88cd17bb3e77f8fccf70f8d2ebd2f Author: Alan Cox Date: Thu Aug 27 11:01:49 2009 +0100 Staging: et131x: clean up PM_CSR_t Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b8ab735253320dcb9432d941536a49640cdbd914 Author: Alan Cox Date: Thu Aug 27 11:01:42 2009 +0100 Staging: et131x: kill the Q_ADDR struct Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c47a601d696e24f63f0429914b96f9cf10987e30 Author: Alan Cox Date: Thu Aug 27 11:01:31 2009 +0100 Staging: et131x: quick tidy of the debug code Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit e5cf1b75f5675c3169d638f914d1212a5b9071fa Author: Alan Cox Date: Thu Aug 27 11:01:22 2009 +0100 Staging: et131x: clean up MMC_SRAM_ Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit df482a0916a0ad7473687745e363475e8ce9cd5a Author: Alan Cox Date: Thu Aug 27 11:01:13 2009 +0100 Staging: et131x: sort out the mmc enable routine Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 13071fded6df0979d50307a463be819377fc2822 Author: Alan Cox Date: Thu Aug 27 11:01:04 2009 +0100 Staging: et131x: eeprom remove features We only read eeprom id 0, in byte mode - so the rest can go away Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c6c9f8cb38d369985c66b73ed8c15dc9cec7bd09 Author: Alan Cox Date: Thu Aug 27 11:00:56 2009 +0100 Staging: et131x: remove unused PCI identifiers Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 576b38e0cd5ab57af1c84312b0b14d77090dbeda Author: Alan Cox Date: Thu Aug 27 11:00:47 2009 +0100 Staging: et131x: continue pruning unused fields Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9fa81099210076a0269d1ef774d2e1f3c04de6e0 Author: Alan Cox Date: Thu Aug 27 11:00:36 2009 +0100 Staging: et131x: de-hungarianise a bit bOverrideAddress is write only so kill it rather than fix it Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8c5f20f36a1550d7bda22216202372a31d92825c Author: Alan Cox Date: Thu Aug 27 11:00:24 2009 +0100 Staging: et131x: fold the diet config into the other code No point having a file just for that Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8d0e4fd405cc796a14f317257f11e3d12cbece2d Author: Alan Cox Date: Thu Aug 27 11:00:14 2009 +0100 Staging: et131x: config is already zeroed Adapter was cleared by netdev allocation so any zero defaults do not need writing. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 94831463690c2a1bab2bcb9d6637e469b63d5536 Author: Alan Cox Date: Thu Aug 27 11:00:06 2009 +0100 Staging: et131x: attack the config stuff Prune this back as most of it isn't relevant or used Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c2557177f16cc0b63115a1ea09c732e3ace14d5f Author: Alan Cox Date: Thu Aug 27 10:59:56 2009 +0100 Staging: et131x: clean up constant rx/tx registry fields Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c3b4a7a92e98a51b3dd253ec6fd825ccf0dd17f7 Author: Alan Cox Date: Thu Aug 27 10:59:47 2009 +0100 Staging: et131x: eliminate write only registry fields Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 3bc9da3ed44c7abee310b3c4761845cb0e9bae60 Author: Alan Cox Date: Thu Aug 27 10:59:37 2009 +0100 Staging: et131x: Eliminate RegistryDMA Cache One writer, of a constant, one user .. it can go. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f3f415a3b4f2982391c0e790b226b43793a8ae72 Author: Alan Cox Date: Thu Aug 27 10:59:30 2009 +0100 Staging: et131x: CSRAddress to regs Switch this to a Linux like naming as it occurs all over. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6ae56042c19afe8d6be91b5d80ba85d695fa982d Author: Alan Cox Date: Thu Aug 27 10:59:21 2009 +0100 Staging: et131x: Take a kref for the PCI pointer we cache Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 5ec3487ac566dd443365100eab6861f004f617fb Author: Alan Cox Date: Thu Aug 27 10:59:13 2009 +0100 Staging: et131x: kill copied PCI fields They are all in the pcidev anyway plus are not used by the code Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 817550815e80ff237439b1631a316bebc3023649 Author: Alan Cox Date: Thu Aug 27 10:58:59 2009 +0100 Staging: et131x: MPSend macros Most are unused, one is used and can be replaced with the definition Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit bf1aa8e1befc9eadd6911773494e59f563d01ebe Author: Alan Cox Date: Thu Aug 27 10:58:49 2009 +0100 Staging et131x: kill refcount The RefCount field is accessed only by a macro and the only use of it in the tree is to read it, so it can go Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 649050894d75f374bf263d2c6046f9743e4276fb Author: Alan Cox Date: Thu Aug 27 10:58:37 2009 +0100 Staging: et131x: kill unused RCV_REF macros Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 20dedd3faa8785937df45e8518f3930be7110d96 Author: Alan Cox Date: Wed Aug 19 18:21:56 2009 +0100 Staging: et131x: power state This is assigned once to ndis d0, and then never changes so it is a constant and we can zap it Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 37628606661a8a1d3abfa5bb898426a38fa62b73 Author: Alan Cox Date: Wed Aug 19 18:21:50 2009 +0100 Staging: et131x: spinlocks Switch to the more normal "flags" naming. Also fix up the nested use of spin_lock_irqsave Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 25ad00bba42d49e37e81e7c449bbcc86a71f2894 Author: Alan Cox Date: Wed Aug 19 18:21:44 2009 +0100 Staging: et1310: kill pAdapter in favour of a sane name Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 106a47ba0a4fcdfa62e7cd708a4284c03e4db05c Author: Alan Cox Date: Wed Aug 19 17:52:08 2009 +0100 Staging: pohmelfs: fix type errors Signed-off-by: Alan Cox Cc: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 76efa5e34ed81587e26e483a624dc7f72efb389a Author: Alan Cox Date: Wed Aug 19 17:52:02 2009 +0100 Staging: pohmelfs: fix atomic type spew atomic_long != atomic Signed-off-by: Alan Cox Cc: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 9cfa2bc2f455aa9ba1b7bd92eb6790d78c8fab4a Author: Alan Cox Date: Wed Aug 19 17:18:04 2009 +0100 Staging: altpciechdma: 64bit type warning fix Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 2fdec57610309f2cf67a8c0a82d262045bcd8c41 Author: Randy Dunlap Date: Fri Aug 21 13:59:08 2009 -0700 Staging: iio: fix duplicate dev_attr_name device attr's should be static, otherwise duplicate identifiers are created: drivers/staging/iio/trigger/iio-trig-gpio.o:(.data+0x1c): multiple definition of `dev_attr_name' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Cc: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 3860dc82e64f66b861159ae6ffd7f128ff7a5c19 Author: Alan Cox Date: Wed Aug 19 16:59:31 2009 +0100 Staging: iio: Fix type warnings Signed-off-by: Alan Cox Cc: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit ff460c39ea80f4a66e47990d82211c14379d9e8a Author: Jonathan Cameron Date: Tue Aug 18 18:06:33 2009 +0100 Staging: IIO: Add todo list for staging Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit c57f1ba7326100fd90c35259a588a8484bf569b4 Author: Jonathan Cameron Date: Tue Aug 18 18:06:32 2009 +0100 Staging: IIO: Initial documentation This needs considerably more work, all comments / suggestions welcomed. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 930bae8667c100d727360c0fa0df0378af9097ea Author: Jonathan Cameron Date: Tue Aug 18 18:06:31 2009 +0100 Staging: IIO: Proof of concept gpio trigger Simple example of how a gpio trigger driver would work. Things to be added include interupt type control (high, low). Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 7f3a1fb998e11a45d14556cc17f72d4f8aa89732 Author: Jonathan Cameron Date: Tue Aug 18 18:06:30 2009 +0100 Staging: IIO: Periodic timer based trigger The original posting of this driver led to a discussion in which it was commented that a better system was needed for dealing with the many possible periodic interrupt sources available on some SoCs. Unfortunately that is a big task and as far as I know, no-one has taken it on as yet. So in the meantime this driver is still in here. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 0a1231dfea57516fb6cf107afdfb625a11a1cc5e Author: Jonathan Cameron Date: Tue Aug 18 18:06:29 2009 +0100 Staging: IIO: max1363 add software ring buffer support using ring_sw Changes since V2: * Moved to new registration methodology. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 14cd9a73d97e3c1063fa1b2b02ef32ac8a914e11 Author: Jonathan Cameron Date: Tue Aug 18 18:06:28 2009 +0100 Staging: IIO: lis3l02dq ring buffer and data ready trigger support Example of relatively common case of device sampling based on internal clock and providing a data ready signal to indicate that new data is available to be read out. Generic trigger approach used to allow other devices to be sampled 'at the same time' as this the accelerometer. This is very useful in various motion estimation algorithms. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 2235acb21890cdd3bc189720b4e98fc1b5c3b268 Author: Jonathan Cameron Date: Tue Aug 18 18:06:27 2009 +0100 Staging: IIO: Ring buffer: Initial pass at rarely locked ring buffer Please note this ring buffer implementation is very much a work in progress (and hence RFC). In it's current form it is stable and reasonably efficient. There are a couple of unlikely cases that will lead to more data being lost that is strictly necessary. The target was for the case of requiring regular sampling even during user space reads. All comments welcome. The intention is to make this only one of several implementations with run time selection. For now there is only one, so it is hard coded into the drivers using it. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 1637db44413e32a0f100dd4bd164644e641842f7 Author: Jonathan Cameron Date: Tue Aug 18 18:06:26 2009 +0100 Staging: IIO: Trigger support added to core. Add general registration support for IIO triggers. These are currently only used to initialize a 'poll' of a given device. Examples include the lis3l02dq's data ready signal being used to initialize a read and gpio triggers being used to allow externally synchronized sensor reading. Each trigger can cause any number of 'consumer' devices to be polled with each storing data into a related ring buffer. Two stage triggering is supported with 'fast' and 'slow' paths. The first is used for things like pulling a data hold line high and the second for actual read which may take far longer. Changes since V2: * As with IIO triggers now use a registration approach much closer to that of input leading to cleaner code. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 574fb258d63658e4564c32c1940068a3bad666a0 Author: Jonathan Cameron Date: Tue Aug 18 18:06:25 2009 +0100 Staging: IIO: VTI sca3000 series accelerometer driver (spi) Example of how a device with a hardware ring buffer is handled within IIO. Changes since V2: * Moved to new registration functions giving much cleaner interface. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 7026ea4b52cf23a76507b5bddc92f394603c689e Author: Jonathan Cameron Date: Tue Aug 18 18:06:24 2009 +0100 Staging: IIO: Add generic ring buffer support to the IIO core This provides a unified interface for hardware and software ring buffers. Changes since V2: * Moved to a more consistent structure. Now the ring buffer has an associated struct device which is a child of the relevant iio_dev. This in turn has two children, one for the event interface and one for the access interface. These two interfaces are now managed via cdev structures. * Numerous minor cleanups Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit e435bc191f6a224192b548bed8cb1893b64e7df2 Author: Jonathan Cameron Date: Tue Aug 18 18:06:23 2009 +0100 Staging: IIO: kxsd9 accelerometer minimal support This provides only very minimal support for this device. Note that an alternate driver has been posted to the input mailing list. When the original LMKL discussion that led to the descision to develop IIO occured, the question on whether the differing requirements of IIO and input drivers made it a good idea to have unified drivers was left as an open question. It still is. All opinions on this question welcome. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 66533b488e17df35f5cd3bc2ebdafdf1444eb187 Author: Jonathan Cameron Date: Tue Aug 18 18:06:22 2009 +0100 Staging: IIO: lis3l02dq accelerometer core support A later patch in the series will add data ready triggering and ring buffer support. This core patch provides an event interface and sysfs based reading of values. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 78632b609a71ff2f598b114026fca03747f3a8c8 Author: Jonathan Cameron Date: Tue Aug 18 18:06:21 2009 +0100 Staging: IIO: tsl2561 digital light sensor core support This is a pretty minimalist example of an IIO driver. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit d1325cf45077bd27db3271dfc320c40bf65a8a07 Author: Jonathan Cameron Date: Tue Aug 18 18:06:20 2009 +0100 Staging: IIO: max1363 ADC driver Core support for MAX1361, MAX1362, MAX1363, MAX1364, MAX1136, MAX1137, MAX1138, MAX1139, MAX1236, MAX1237, MAX1238, MAX1239. Ring buffer support later in series. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 847ec80bbaa76aae41062d6802cea9c1b2289f14 Author: Jonathan Cameron Date: Tue Aug 18 18:06:19 2009 +0100 Staging: IIO: core support for device registration and management Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit a5ca2dfc4ebd33e18f981f562833c39efdc2585c Author: Julia Lawall Date: Fri Aug 14 22:10:00 2009 +0200 staging: Make some structures static This was done using a semantic patch (http://coccinelle.lip6.fr/) that checks that the declaration is not inside a function definition, that the defined variable is not exported using EXPORTED_SYMBOL, etc, and that the defined variable does not occur in any other file. If these conditions hold, static is added before the declaration. Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit e7fcbf0e51e8a8bac9d20ac19f8ba62c8a256cc5 Author: Ben Hutchings Date: Wed Aug 26 23:32:38 2009 +0100 Staging: rt{2860,2870,3070}sta: Remove unused CRC code Signed-off-by: Ben Hutchings Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 8f679185a300d89b73ed348ecae361515b97ef59 Author: Roel Kluin Date: Tue Aug 25 14:31:11 2009 +0200 Staging: rt2860: Fix test in rt_ioctl_siwfrag() The test always evaluated to true. MIN_FRAG_THRESHOLD is defined 256, MAX_FRAG_THRESHOLD is defined 2346 Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 49debb5684009d56ec5a0f930e513b1044db5e76 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:32:20 2009 +0200 Staging: remove no longer needed rt3070 driver rt2870 handles now all rt2870/rt3070 chipsets. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e9564b81ede1645bf1d3df2657fdbb6f9e71f9fa Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:32:13 2009 +0200 Staging: rt2870: remove old firmware Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9eeb783ed4a11d7eb82d0cb5d23cc214e3827c8d Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:32:06 2009 +0200 Staging: rtxx70: merge rt3070 with rt2870 * remove RT30xx ifdefs * add -DRT3070 to rt2870's EXTRA_CFLAGS * because of changes in the way that hardware is initialized/accessed rt3070 driver's firmware should be now also used by rt2870 driver (this is also done by newer out-of-tree vendor driver versions, i.e. 2.1.0.0, historically in-kernel driver was based on 1.4.0.0 version) * change RT28xx_CHIP_NAME to RTxx70 * update rt2870's help entry text * add MODULE_ALIAS("rt3070sta") to rt2870 * update rt3070's dependencies Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 606661ea0476fb506ca87cd41b58cbb7dc14fcc0 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:32:00 2009 +0200 Staging: rt2870: add Antenna Diversity support rt3070: * remove non-working AntDiversity config parameter * remove unused bRxAntDiversity field from COMMON_CONFIG rt2870: * propagate Antenna Diversity support from rt3070 Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5cc86f28ca09738652000e73827a5579279ef810 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:54 2009 +0200 Staging: rt2870: add eFuse support rt3070: * remove unused bEEPROMFile field from RTMP_ADAPTER rt2870: * propagate eFuse support from rt3070 Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 30d36c28d03b099d5bc94dab50e91a3940f84a22 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:47 2009 +0200 Staging: rtxxxx: remove unused AsicAntenna{Select,Setting}() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 940911da242f830ab6b593b1492512694451b2f4 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:41 2009 +0200 Staging: rt2870: remove SHOW_ADHOC_ENTRY_INFO support Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 71ff9bf365d84d57957af3eb56e7a14a0175ad74 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:34 2009 +0200 Staging: rt3070: remove unused RT_CMD_SET_* internal commands Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3d49ad3327a7f95e4445b7560e2e9650b0e34ea4 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:28 2009 +0200 Staging: rt3070: remove unused MiniportDataMMRequest() Then remove no longer needed MlmeDataHardTransmit(). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f57c3b7c75a3a88d55df2e56df731da5e8f64f90 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:22 2009 +0200 Staging: rt28x0: LinkUp() fixes Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 6e87be5d6aefdebeb66115480dbdf0c7fa96dd28 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:15 2009 +0200 Staging: rt28x0: rt_ioctl_siwencode() fixes Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a0f2906f3385cfb84a6ec6b0c2c0c028dcc8cfde Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:09 2009 +0200 Staging: rt28x0: MlmeAssocReqAction() fixes for wpa_supplicant support Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7e514725c8fe3128dee131a8d4ee23545c3e8c1f Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:03 2009 +0200 Staging: rt28x0: MlmeCheckPsmChange() fix Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 598dc0e39b6267968f5a02d122295981e176ee2b Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:56 2009 +0200 Staging: rt28x0: MlmeSelectTxRateTable() fix Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b14e5084e429a88591c92d50f36f2e0ec348325d Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:50 2009 +0200 Staging: rt28x0: BssTableSetEntry() fix Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 375d662f9fbbc177485f6f6ce030fc0eb622f3d3 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:43 2009 +0200 Staging: rt28x0: AsicSwitchChannel() fix Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9a93e4e1aa8c4f65f455456bc2bb1bcb306ac0f1 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:37 2009 +0200 Staging: rt28x0 fix BACapability policy handling Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ff81b066fb9fd2a6eaa77a8bedfad2e5dcddd9a2 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:30 2009 +0200 Staging: rt28x0: fix fOP_STATUS_DOZE flag handling Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7765e89d2048fb96d91e8ad06908e87319e4aac4 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:24 2009 +0200 Staging: rt28x0: fix BPP_R66 register handling Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 74eaa42b5c2808b37f15a2911cfeb7544790ee93 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:17 2009 +0200 Staging: rt28x0: fix GTK length check in ParseKeyData() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 118d67df58a5e2e28375951aa7eb6f672e543515 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:11 2009 +0200 Staging: rt28x0: add SIOCGIWNAME support to rt_ioctl_giwscan() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 256311d34372fa8f7f2fe2af8b5f52f93fe68577 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:04 2009 +0200 Staging: rt2870: add fRTUSB_BULK_OUT_DATA_NORMAL_5 quirk Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 6e50c49684ff3240b04b91d8d8e64ad7a902ca78 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:58 2009 +0200 Staging: rt2870: use internal command for AsicUpdateProtect() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0df20b67eb6db0e4a8c011e8d5a45c47a228083a Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:51 2009 +0200 Staging: rt3070: add remaining rt2870 device ids Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b19925513b9911e1e534b8f78b745b810e0bc410 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:45 2009 +0200 Staging: rt3070: remove needless EFUSE_TAG register read * remove write-only EFuseTag field from RTMP_ADAPTER * remove needless EFUSE_TAG register read Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9a5e59add33d0962544703ed4964d2835892e21a Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:39 2009 +0200 Staging: rt3070: AsicSetSlotTime() fix Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3cf830a1dbd3ad5da682b9f6f338428f97500432 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:32 2009 +0200 Staging: rt3070: WEP fixes Propagate WEP fixes from rt28[67]0 to rt3070. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a149b51d2d2a2913e30e8697e4cc65a20719c695 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:26 2009 +0200 Staging: rt3070: fix PID checking in RTUSBEnqueueCmdFromNdis() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 34bbd837df3d4fa899de9658866068d364271da0 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:19 2009 +0200 Staging: rt3070: update allowed channels list for Japan rt3070 driver allows use of 5G channel 34 while rt{286,287,309}0 drivers don't and quick googling seems to confirm the limitation. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2ac6ff20265b2503cb1b172ac6e4e362676aaead Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:11 2009 +0200 Staging: rtxxxx: RTMPGetRalinkAuthModeStr() fixes Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5686ecd5aef71f2035f56540184f411584db06e6 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:05 2009 +0200 Staging: rtxx70: unify NICInitRT30xxRFRegisters() Unify RT30xx and !RT30xx code in NICInitRT30xxRFRegisters(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f59a9420adbd5443339c73988a1e5f70b3e1e798 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:28:58 2009 +0200 Staging: rtxxxx: unify AsicSwitchChannel() Unify RT30xx and !RT30xx code in AsicSwitchChannel(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 331e0c169a9feb66a689ecc9e7494aea4df154b8 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:28:52 2009 +0200 Staging: rtxxxx: unify AsicRxAntEvalTimeout() Unify RT30xx and !RT30xx code in AsicRxAntEvalTimeout(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5b4df5c61799411d00dde1e3937dcfbd77c865d8 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:32:09 2009 +0200 Staging: rtxxx0: remove unused code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 881abc9d2205e54f9e37e005fb5856f18021265d Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:32:02 2009 +0200 Staging: rtxxx0: remove private ioctls Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a59601e4e7f01b87227a6acf5803f68d1138ad1e Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:56 2009 +0200 Staging: rtxxx0: remove private debugging ioctls Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c338d4d73eb763217576a95b4138e0c350c50c11 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:49 2009 +0200 Staging: rtxxx0: remove superfluous function prototypes Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 232939f2660e6b850ec1f33089f8770a8c701914 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:43 2009 +0200 Staging: rtxxx0: remove unused link_list.h Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e96e946c6f3a3c58048b277b8bc50d30dc8ee6a2 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:36 2009 +0200 Staging: rtxxx0: debug messages fixes Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2497322e370710df2f7b9aa4e6df530c4853ce6a Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:30 2009 +0200 Staging: rtxxx0: remove dead virtual adapter support * remove dead virtual adapter support * remove needless rt28xx_ioctl() wrapper * remove superfluous NULL checks Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 66b1bfd10f647b0bc139363908a85022dea15bfc Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:24 2009 +0200 Staging: rtxxx0: remove dead DBG_DIAGNOSE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e932e724ba3a20876cda90732b376b64ca2cd4e8 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:17 2009 +0200 Staging: rtxxx0: unify AsicEvaluateRxAnt() Unify RT30xx and !RT30xx code in AsicEvaluateRxAnt(). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 003cb3c42a6ac4da982621efc2ac04a44d966527 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:11 2009 +0200 Staging: rtxxx0: unify MlmeCheckPsmChange() Unify RT30xx and !RT30xx code in MlmeCheckPsmChange(). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 170ee4d26f70f322fdecee4cc3cb1794df2e7842 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:04 2009 +0200 Staging: rtxxx0: unify RT{USB,MP}FilterCalibration() RTMP_BBP_IO_{READ,WRITE}8_BY_REG_ID equals RTUSB{Read,Write}BBPRegister in case of USB chipsets so unify RT30xx and !RT30xx code. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 37843390d1645d1d3dbc20ec6da373ac0ae5c4ed Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:30:57 2009 +0200 Staging: rtxxx0: remove superfluous RT30xx ifdefs * add !RT30xx version of IS_RT3090() macro * remove superfluous RT30xx ifdefs * unify RT30xx and !RT30xx code where possible * kill RT28XX_UPDATE_PROTECT() macro * remove needless variable initializations * kill some needless function prototypes Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit bf5f6ca4a855f85e2c01ca9ca7761a466db64ed5 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:30:38 2009 +0200 Staging: rtxxx0: unify different RT30xx{Read,Write}RFRegister() flavors RTMP_IO_{READ,WRITE}32 equals RTUSB{Read,Write}MACRegister in case of USB chipsets so unify RT30xx and !RT30xx code. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ca3d0a5ce9d744e78755142bfa3709ec3ee7f85a Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:30:32 2009 +0200 Staging: rtxxx0: remove unused defines Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a7cc76b2fa30a8a641e642ae92ded0dee9ce098b Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:30:25 2009 +0200 Staging: rtxxx0: kill PID macros * kill PID macros * unify now identical RT30xx and !RT30xx code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 659473ceaacb678856dcfb395ee4a290a078f8e0 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:30:19 2009 +0200 Staging: rt3070: kill TimerQThr thread first in RT28xxThreadTerminate() * kill TimerQThr thread first in RT28xxThreadTerminate() * remove the debugging printk() while at it This makes rt3070 driver match rt2870 driver's behavior. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 382280ae9d0f94a7ffed1f8963be16b96348684c Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:30:12 2009 +0200 Staging: rtxxx0: PID checking fixes * rt3070: - add missing pid_nr() invocations * rt{28,30}70: - do not treat PID 0 as valid Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c43254c13aebeb7ed1e3534ad77d8dc98dc6475f Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:30:06 2009 +0200 Staging: rtxxx0: kill RT8270_USB_DEVICES() macro Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c6597767af41d8d9d1021bc1bd7983a2d119596c Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:29:59 2009 +0200 Staging: rtxxx0: remove dead platform specific code Remove dead support for: * IKANOS_VX_1X0 * INF_TWINPASS * INF_DANUBE * BRCM_6358 platforms. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 20e3c65381e80ea8411d7786ce786013e52b97fe Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:29:53 2009 +0200 Staging: rtxxx0: remove support for older wireless extensions Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0b2e3aefc34d3d5824e687529c6992521765614d Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:29:47 2009 +0200 Staging: rt3070: fix build warnings In file included from drivers/staging/rt3070/common/../../rt2870/common/cmm_data.c:2, from drivers/staging/rt3070/common/cmm_data.c:2: drivers/staging/rt3070/common/../../rt2870/common/../../rt2860/common/cmm_data.c: In function ‘RTMP_FillTxBlkInfo’: drivers/staging/rt3070/common/../../rt2870/common/../../rt2860/common/cmm_data.c:1018: warning: label ‘FillTxBlkErr’ defined but not used In file included from drivers/staging/rt3070/common/../../rt2870/common/eeprom.c:2, from drivers/staging/rt3070/common/eeprom.c:2: drivers/staging/rt3070/common/../../rt2870/common/../../rt2860/common/eeprom.c: In function ‘set_eFuseLoadFromBin_Proc’: drivers/staging/rt3070/common/../../rt2870/common/../../rt2860/common/eeprom.c:1041: warning: unused variable ‘orgfsgid’ drivers/staging/rt3070/common/../../rt2870/common/../../rt2860/common/eeprom.c:1041: warning: unused variable ‘orgfsuid’ In file included from drivers/staging/rt3070/../rt2870/rt_profile.c:2, from drivers/staging/rt3070/rt_profile.c:2: drivers/staging/rt3070/../rt2870/../rt2860/rt_profile.c: In function ‘RTMPReadParametersHook’: drivers/staging/rt3070/../rt2870/../rt2860/rt_profile.c:863: warning: unused variable ‘orgfsgid’ drivers/staging/rt3070/../rt2870/../rt2860/rt_profile.c:863: warning: unused variable ‘orgfsuid’ In file included from drivers/staging/rt3070/common/rtusb_io.c:2: drivers/staging/rt3070/common/../../rt2870/common/rtusb_io.c: In function ‘CMDHandler’: drivers/staging/rt3070/common/../../rt2870/common/rtusb_io.c:1763: warning: ‘CipherAlg’ may be used uninitialized in this function drivers/staging/rt3070/common/../../rt2870/common/rtusb_io.c:1758: note: ‘CipherAlg’ was declared here drivers/staging/rt3070/common/../../rt2870/common/rtusb_io.c:1763: warning: ‘KeyIdx’ may be used uninitialized in this function drivers/staging/rt3070/common/../../rt2870/common/rtusb_io.c:1757: note: ‘KeyIdx’ was declared here drivers/staging/rt3070/common/../../rt2870/common/rtusb_io.c:1763: warning: ‘ApIdx’ may be used uninitialized in this function drivers/staging/rt3070/common/../../rt2870/common/rtusb_io.c:1759: note: ‘ApIdx’ was declared here Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f0da335bdc9bb9410889b4196a9ce9d7173f8c9c Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:29:41 2009 +0200 Staging: rt2870: duplicated code is executed twice in AsicEvaluateRxAnt() Fix it. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9dccc61c83db762c2bef1e100643032b92548c87 Author: Pekka Enberg Date: Wed Aug 12 11:03:39 2009 +0300 Staging: w35und: Remove some write-only struct members There's no point in keeping around struct members that are only written to but never read. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit a95c69cfe44d96489777f9eda8c2005963730bef Author: Pekka Enberg Date: Wed Aug 12 11:03:38 2009 +0300 Staging: w35und: Convert typedef MTO_PARAMETERS to struct wb35_mto_param Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 58b32cba16ecf2ffeb28a87b20d0a83c6a8ff90a Author: Pekka Enberg Date: Wed Aug 12 11:03:37 2009 +0300 Staging: w35und: Remove unused struct _STATISTICS_INFO Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 27d4642105b3fc6781e9110c7f4d0741434985ca Author: Pekka Enberg Date: Wed Aug 12 11:03:36 2009 +0300 Staging: w35und: Convert typedef DESCRIPTOR to struct wb35_descriptor Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit ef3bf091f33ea0358323da5a163e98e9c78bed32 Author: Pekka Enberg Date: Wed Aug 12 11:03:35 2009 +0300 Staging: w35und: Cleanup the mlmetxrx_f.h header file This patch removes the unused MLMEProcThread and MLMEReturnPacket declarations and indents the header file. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 27f362e7692be874348c02ac8676367842c842cc Author: Pekka Enberg Date: Wed Aug 12 11:03:34 2009 +0300 Staging: w35und: Remove unused struct _RXBUFFER Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit b7caf94fb8dcfea7a44251977bb3f1b7a8cbfeb4 Author: Pekka Enberg Date: Wed Aug 12 11:03:33 2009 +0300 Staging: w35und: Convert MDS typedef to struct w35_mds Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 7c3ab53c467acf23fd4e8265f3b867461f0bebe4 Author: Jaswinder Singh Rajput Date: Thu Aug 13 13:11:12 2009 +0530 Staging: rt2860: includecheck fix: rt_linux.h fix the following 'make includecheck' warning: drivers/staging/rt2860/rt_linux.h: linux/wireless.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Greg Kroah-Hartman commit b3184e1ec36a94602d54339699df6e1036cd71f8 Author: Michael Buesch Date: Sun Aug 9 18:02:30 2009 +0200 Staging: rtl8187se: Fix comment-out-typo This fixes a comment-out-typo that resulted in a dangling if-branch. Signed-off-by: Michael Buesch Signed-off-by: Greg Kroah-Hartman commit 9f07453d8643e224a57e2053a4536ee4a5f2e375 Author: Daniele Napolitano Date: Wed Aug 12 18:59:21 2009 +0200 Staging: rt2870: new USB ID for Belkin N+ F5D8055 New USB ID for Belkin N+ F5D8055 (USB 802.11n adapter). I've made this patch with drivers/staging branch found here: http://git.kernel.org/?p=linux/kernel/git/gregkh/staging-2.6.git Signed-off-by: Daniele Napolitano Signed-off-by: Greg Kroah-Hartman commit d1aed89996dac8326fd7eebc95da0856754f36b5 Author: Jeff Mahoney Date: Tue Aug 4 10:26:23 2009 -0400 Staging: rtl8192su: add linux/vmalloc.h Some arches don't provide vmalloc.h through the includes already included in rtl8192su. This patch adds it. Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit 8109c2fd0509f935dc811223e95f52292f1b5892 Author: Jeff Mahoney Date: Tue Aug 4 10:26:22 2009 -0400 Staging: rtl8192su: stop using skb->tail This patch replaces uses of skb->tail with skb_tail_pointer(skb). Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit f357e6ecbc4696d11539df3fd604c8da59c1e6d1 Author: Jeff Mahoney Date: Tue Aug 4 10:26:21 2009 -0400 Staging: rtl8192su: fixup size comparison warning sizeof(val) returns type unsigned long. count is already unsigned long, so just use that. This fixes a compile warning. Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit 859ebd9748fb086a272bebe6cce4d8e6461dd7fc Author: Jeff Mahoney Date: Tue Aug 4 10:26:20 2009 -0400 Staging: rtl8192su: fix up printk warnings This patch addresses printk warnings. Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit b1af19f19d43567ddc956ed37b710cba0c8b1f95 Author: Jeff Mahoney Date: Tue Aug 4 10:26:19 2009 -0400 Staging: rtl8192su: compile fixes This patch removes -fhard-float and the software float helpers. In-kernel floating point is not allowed. Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit 56791f0a85382936d3922ecd05b4eedbfb53d2a6 Author: Greg Kroah-Hartman Date: Tue Aug 25 22:07:56 2009 -0700 Staging: echo: coding style cleanups Some remaining coding style cleanups to the header files and the echo.c file. Cc: David Rowe Signed-off-by: Greg Kroah-Hartman commit c8b3953c4c267133ed3276d7b052282dca1e2e91 Author: Greg Kroah-Hartman Date: Tue Aug 25 22:07:13 2009 -0700 Staging: echo: remove unneeded USE_SSE2 defines This define is never set in the kernel, so remove the code using it. Cc: David Rowe Signed-off-by: Greg Kroah-Hartman commit 325e3b4c72ba1aaca7ceba4cac22173b1e7ae427 Author: Greg Kroah-Hartman Date: Tue Aug 25 22:06:46 2009 -0700 Staging: echo: remove unneeded USE_MMX defines This define is never set in the kernel, so remove the code using it. This lets us drop the mmx.h file as well. Cc: David Rowe Signed-off-by: Greg Kroah-Hartman commit 248ed329ac543fc795d20990495ed429043159ac Author: Greg Kroah-Hartman Date: Tue Aug 25 22:05:45 2009 -0700 Staging: echo: remove bit_operations.h This file is no longer needed, thanks to the work done by David. Cc: David Rowe Signed-off-by: Greg Kroah-Hartman commit 196e76e86a3a909125daff3d62f0a38761f79c66 Author: David Rowe Date: Sun Aug 23 10:57:53 2009 +0930 Staging: echo: top bit patch This patch removes the need for the bit_operations.h include file which can now be deleted. It also contains some minor corrections to comments (typos and alignment of ASCII formulas). I have also removed some #if lines that were not necessary. I have tested the patch using a unit test module that runs in kernel mode and have verified that the patched code gives identical results to the previous version using a 8000 sample input sequence. Let me know if you want this unit test, it runs automatically when the module is insmod-ed and outputs a go/no go result: # insmod oslec.ko # dmesg [17191803.480000] oslec_test installed [17191803.480000] Testing OSLEC with 128 taps (16 ms tail) [17191803.496000] Oslec Unit Test PASSED! pass: 8000 fail: 0 Signed-off-by: David Rowe Signed-off-by: Greg Kroah-Hartman commit a3c0f0aa4f206297ea84f91ffb61c8687e23e1a4 Author: Greg Kroah-Hartman Date: Mon Aug 10 10:46:37 2009 -0700 Staging: echo: remove TODO item The proc interface is no longer in the echo code, so remove the TODO item. Cc: Steve Underwood Cc: David Rowe Signed-off-by: Greg Kroah-Hartman commit 49bb9e6d75346980acdc43f5198032c2a0a22c2c Author: Greg Kroah-Hartman Date: Mon Aug 10 10:45:25 2009 -0700 Staging: echo: fix up remaining checkpatch.pl issues It's all just minor comment spacing issues. This patch fixes up the remaining ones and now the code is checkpatch.pl clean. Cc: Steve Underwood Cc: David Rowe Signed-off-by: Greg Kroah-Hartman commit 817bb334337e747a26322e034694042222388cd6 Author: Kamalesh Babulal Date: Fri Aug 14 15:52:50 2009 +0530 Staging: sep: SEP driver build breaks with CONFIG_PCI=n next-20090813 randconfig build breaks Discretix SEP driver when configured with CONFIG_PCI=n. drivers/staging/sep/sep_driver.c: In function 'sep_probe': drivers/staging/sep/sep_driver.c:2548: error: implicit declaration of function 'pci_dev_get' This patch adds the dependency on PCI for the DX SEP driver. Signed-off-by: Kamalesh Babulal Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 663d8bb0a9971666875551acfc15107a9b09e986 Author: Alan Cox Date: Fri Aug 14 15:49:35 2009 +0100 Staging: sep: use ioremap helpers Whee lots of code vanishes. While we are it note various existing stuff that couldn't work but was ifdeffed in this area. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a4e80a1bcc5df3a48cb8a51dd357045c4ebbebc0 Author: Alan Cox Date: Fri Aug 14 15:49:22 2009 +0100 Staging: sep: untangle the register_fs code While goto can be useful for cleaner cleaning up in C (as Linux sometimes does and I think Linus borrowed stylistically from Amiga) you can overdo it. Here is a fine fine example of when it's overkill Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit cfd498be6e1b89735259690755ad7b9b9bc2a154 Author: Alan Cox Date: Fri Aug 14 15:49:15 2009 +0100 Staging: sep: clean up time The SEP time setting stuff can now get a hoover Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 2e7dcc3bbffb0b87f64369b3dab3ac8993d446b3 Author: Alan Cox Date: Fri Aug 14 15:43:05 2009 +0100 Staging: sep: clean up command sending Split out the debug dumping functionality. Clean up the rest. For the moment leave the hideous cache flush in there as the code needs fixing to use the dma_map_sg interfaces not its own crazed table functions Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6f9e0f60c46d597ee924dd073628ca2424f4178c Author: Alan Cox Date: Fri Aug 14 15:42:41 2009 +0100 Staging: sep: flow ioctl cleanup Simple ioctl taking a single numeric argument so ditch the structs and weirdness. While we are it lock it properly and fix the error returns. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 70ae04e6cc38454187c9ade023f2bdce474e6936 Author: Alan Cox Date: Fri Aug 14 15:42:18 2009 +0100 Staging: sep: kick out various fields we can prove are not needed #1: sep->cache_addr is assigned to sep->rar_addr and never changed sep->rar_addr is never assigned after this point #2: sep->cache_bus ditto for sep->rar_bus #3 sep->rar_region_addr is assigned but necer used #4 sep->io_addr is in fact private to the probe function and the same as the reg_addr #5 The remainig sep->io fields are in fact function locals #6 sep->message_shared_area is assigned once from sep->shared_area sep->shared_area does not then change #7 sep->shared_addr and sep->shared_area_addr are the same thing, ditto for the bus addresses. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 4c29e9799878b6a5fc9ec37d40132c2380911e0f Author: Alan Cox Date: Fri Aug 14 15:41:16 2009 +0100 Staging: sep: Implement some proper open/close methods Use the mutex as a protection for open close rather than leaving it hanging invalidly across userspace. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6f13ea3df5de2af5c50e15218553c2434e455be9 Author: Alan Cox Date: Fri Aug 14 15:41:50 2009 +0100 Staging: sep: tidy firmware load Start by removing unused fields and then work this back to eliminate unused chunks of the firmware loading ioctl (ie almost all of it) Also fix the wrong handling of shared allocations and allocate the rar region properly with dma_alloc_coherent not kmalloc, as it is device shared. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 51faa9d27cbcfd5165d31762161319a2fdb11856 Author: Alan Cox Date: Fri Aug 14 15:40:45 2009 +0100 Staging: sep: various minor tidyups Do these in one batch rather than generate lots of tiny diffs Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c7b7556245f3d0e825bf5c73dd9380b6b26737c5 Author: Alan Cox Date: Fri Aug 14 15:40:32 2009 +0100 Staging: sep: fix a conversion thinko Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit ad6b9ab7a3ef6818a7b10e1202a0fb62fe242aeb Author: Alan Cox Date: Fri Aug 7 19:25:43 2009 +0100 Staging: sep: Use the proper allocators for the shared area The DMA handling in the driver is a bit of a catastrophe. Start with the simple things - allocate the shared area properly. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit d7d90a269d6c55f978645c927080c6f5991c47e1 Author: Alan Cox Date: Fri Aug 7 19:25:25 2009 +0100 Staging: sep: remove extra CFLAGS we don't use Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 790cf1b912d3166746c8a1e1e807019a397d85d9 Author: Alan Cox Date: Fri Aug 7 19:25:16 2009 +0100 Staging: sep: Try and get kernel address and user address types right We will need to tackle this in order to begin doing something about the bus handled and shared memory object mess. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 3b66bb651e6b29c1976b6d407cb53f11fcb8e7e0 Author: Alan Cox Date: Fri Aug 7 19:25:06 2009 +0100 Staging: sep: remove module int macro Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit dabe6e694685150b25ff357e1ef401b96ab81ec3 Author: Alan Cox Date: Fri Aug 7 19:24:58 2009 +0100 Staging: sep: load_rom is remarkably verbose and repetetive Give it a haircut Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 3cacf72922067271ee2ad4debc398a53aeaf8a41 Author: Alan Cox Date: Fri Aug 7 19:24:51 2009 +0100 Staging: sep: fix flow API We can return NULL - much cleaner Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8c7ff81ac371a9d90faa985241867ce5af67fc8b Author: Alan Cox Date: Fri Aug 7 19:24:43 2009 +0100 Staging: sep: clean up after switching to passing sep Various function calls can now be cleaned up Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit ca605bb68ccd1216871659371497f1e6a2543dc4 Author: Alan Cox Date: Fri Aug 7 19:24:36 2009 +0100 Staging: sep: Use filp->private_data to create proper device instances Move from using a sep_dev global. The workqueue still uses it and we use the pointer in order to know if a device was found. This requires some restructuring as the pci probe and the init module logic are all rather messed up and only worked by luck. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6343cefdc8174f2d00abf8201ecd17d354e5ddf7 Author: Alan Cox Date: Fri Aug 7 19:24:26 2009 +0100 Staging: sep: Fix PCI irq usage Don't read the IRQ from the device, the device has no idea what is going on in the full bus topology and remapping above PCI. Use the pdev->irq field. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 904290c0b7b48e757b3dc9451f4b014f42c25098 Author: Alan Cox Date: Fri Aug 7 19:24:18 2009 +0100 Staging: sep: rename some fields Make them more Linuxlike - also favour _bus over _phys Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 577092ac155005ecb3a1385d628ef27fc9b52b72 Author: Alan Cox Date: Fri Aug 7 19:24:08 2009 +0100 Staging: sep: use O_NDELAY instead of magic APIs Open is still completely bogus in this driver but we'll tackle that later - for now fix the bogus API Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 7913c21a25a9d54b093bed3522d35b188aadf6a4 Author: Alan Cox Date: Fri Aug 7 19:24:00 2009 +0100 Staging: sep: fix time handler Cleaning up the code reveals an obvious thinko Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 0a18d7b5f36f3c77a239ee752c4ce1197af7b617 Author: Alan Cox Date: Fri Aug 7 19:23:50 2009 +0100 Staging: sep: forward declaration removal time Exterminate! Exterminate! Exterminate! Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 91410066476f050121b6dc496aaa1a589e82dc21 Author: Alan Cox Date: Fri Aug 7 19:23:41 2009 +0100 Staging: sep: squish some of the wrapper functions Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b636803313b99450d21b6942f86bc57ac572b482 Author: Alan Cox Date: Fri Aug 7 19:23:34 2009 +0100 Staging: sep: kill off unused code Now it is static we can see what code is unused Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b10b483efe9f232d5d33bec2bbf91b359be590bd Author: Alan Cox Date: Fri Aug 7 19:23:26 2009 +0100 Staging: sep: make everything static Now we have it in one file we can make it all static and see what falls out Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 0097a69d55d1dd0349f8d76da50eb882f8e5af74 Author: Alan Cox Date: Fri Aug 7 19:23:19 2009 +0100 Staging: sep: merge the two files Now we have it trimmed down a bit merge the two pieces so we can clean it up properly. Code moves but no changes in functions. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8407248231df774ba81d0b968bf112edb4069461 Author: Alan Cox Date: Fri Aug 7 19:23:11 2009 +0100 Staging: sep: kill lock wrapper We don't need wrappers for this so clean them up Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 2f82614ca597ef0aa4ddc26de5f9a176f1a91ee6 Author: Alan Cox Date: Fri Aug 7 19:23:04 2009 +0100 Staging: sep: statically initialize the fops like other drivers This doesn't need to be done at runtime so do it at compile time Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a2171b6807b01bb942de9524b01df29cf71b46c6 Author: Alan Cox Date: Fri Aug 7 19:22:57 2009 +0100 Staging: sep: function shuffle Shuffle the functions into a more normal order. Don't however change any of them. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8f3aa57f8244aaeb882a83a94c994b654160ddec Author: Alan Cox Date: Fri Aug 7 19:11:48 2009 +0100 Staging: sep: Put all the ARM bits together I suspect these can be killed off entirely Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 43e8c4a3ceb2d92a89612c858753cbda0b505163 Author: Alan Cox Date: Thu Aug 6 20:46:22 2009 +0100 Staging: sep: priceless ... Remove some rather pointless goto calls Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f93e4bf953d125d634cb6a2c06aacfde18d3de05 Author: Alan Cox Date: Thu Aug 6 20:46:08 2009 +0100 Staging: sep: first pass after indent Again all formatting Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit d19cf32fddeb05a13799fd766fced4204cc9164d Author: Alan Cox Date: Thu Aug 6 20:45:57 2009 +0100 Staging: sep: indent pass Ok time to indent and get the code in vague shape. No other changes in this patch. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 46eb5a13b7f397b37bac14fbfa240cffa463783c Author: Alan Cox Date: Thu Aug 6 20:45:47 2009 +0100 Staging: sep: do something about all the printk macros Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 794f1d789520d423ef6d90d5390edea5c1b687c2 Author: Alan Cox Date: Thu Aug 6 20:45:35 2009 +0100 Staging: sep: We have two different repeats of the same logic So how about a little helper Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 79de99e864fb731392bec78f251ce0310fed5d9a Author: Alan Cox Date: Thu Aug 6 20:45:24 2009 +0100 Staging: sep: rework write_register/read_register Replace the macros with an inline to get type safety and pass sep_dev instead of the reg pointer Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f5e3980f9b28b703bc009af9dfa33ae2236503da Author: Alan Cox Date: Thu Aug 6 20:45:07 2009 +0100 Staging: sep: Create a structure to hold all the current crap spewed about as globals For now keep the field names matching the variable names Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6a107539899803c1f8f36bcd3cc5a3c68660bd13 Author: Alan Cox Date: Thu Aug 6 20:44:46 2009 +0100 Staging: rar/sep: Remove C++isms from the headers C++ header wrapping goes on the user space side Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9dd3bd42162123553b62d44c02582f735fa25763 Author: Alan Cox Date: Thu Aug 6 20:44:09 2009 +0100 Staging: sep: Fix rar build Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 4dd00845690a6744dbd879fa49584c49098823d8 Author: Alan Cox Date: Thu Aug 6 20:44:37 2009 +0100 Staging: rar/sep: Don't use random VENDOR_ID macros but the proper names Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 137cf5b22f5fd38751265eae881749c311d27c75 Author: Alan Cox Date: Thu Aug 6 20:44:29 2009 +0100 Staging: rar: fix some initial type problems Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 542385ee6da337529c1087dd3d8c7af3e4269602 Author: Alan Cox Date: Thu Aug 6 20:44:18 2009 +0100 Staging: sep: Move the RAR support into staging where it is supposed to be Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit cd1bb431d8b183e2d063267419984cc9bbe22b0b Author: Mark Allyn Date: Thu Aug 6 20:43:59 2009 +0100 Staging: sep: Upstream revision 3 of the security processor kernel driver Upstream revision 3 of the security processor kernel driver; now located in drivers/staging This revision adds an initial TODO file This driver no longer requires to have the firmware compiled in it with the CONFIG_EXTRA_FIRMWARE configuration option. Furthermore, we now have the right to distribute the firmware binaries. This is the Linux kernel driver for the Security Processor, which is a hardware device the provides cryptographic, secure storage, and key management services. Please be aware that this patch does not contain any encryption algorithm. It only transports data to and from user space applications to the security processor. Signed-off-by: Mark Allyn Signed-off-by: Greg Kroah-Hartman commit 249c033c29ed4eccd24b52959747f2663deaa02f Author: Greg Kroah-Hartman Date: Wed Jul 29 06:54:11 2009 -0700 Staging: pata_rdc: remove the driver from the staging tree Now that a "real" driver is in the libata tree for this hardware, we need to remove the staging driver as it is no longer needed. Cc: Kevin Huang Cc: Tomy Wang Cc: Alan Cox Cc: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit 0841a555af4e15c1048f69b800a475f2fbf315a9 Author: Greg Kroah-Hartman Date: Tue Jul 28 17:05:51 2009 -0700 Staging: remove epl driver This is no longer maintained upstream, and no one cares about it at all, so delete it. The fact that it is duplicating an existing network driver also is a good reason to remove it, it's causing nothing but trouble right now. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 51be97961fc74de75e9e30a7339804afb77c7b1e Author: Greg Kroah-Hartman Date: Fri Sep 11 09:51:31 2009 -0700 Staging: vme: change to VME_BUS Turns out the m68k arch already has a CONFIG_VME, so use CONFIG_VME_BUS instead. Thanks to Geet Uytterhoeven for pointing this out. Cc: Geert Uytterhoeven Cc: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit bf39f9a5bdcfdce2e4871cdb8f4219ea5f32f3c8 Author: Martyn Welch Date: Fri Aug 28 11:28:56 2009 +0100 Staging: vme: Separate the list of TODOs from the API documentation This patch moves the API documentation to it's own file and provides a proper list of TODOs. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 3d0f8bc7517718a4846de6f538ad67a4f7f83239 Author: Martyn Welch Date: Thu Aug 27 17:00:40 2009 +0100 Staging: vme: Update support for the Universe II VME driver This patch starts the reworking of the vme_ca91cx42.c for the VME core. The driver seems to have only supported the Universe II for a long time, I have no hardware to check to see if it would work on the Universe I. This patch is compile tested with minimal run-time testing. It enables basic support for slave and master windows and interrupts. The master windows have undergone basic run testing. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 42fb503122d8cd428b5b1078bd473847ca2b206c Author: Martyn Welch Date: Tue Aug 11 17:44:56 2009 +0100 Staging: vme: add VME Location Monitor management mechanism Extend the image and DMA channel resource management methods to control the location monitor resource. The location monitor should be controlled as it can only be used at a single location at a time. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 400822fec46ce69d2ba7692689a1689653f7b847 Author: Martyn Welch Date: Tue Aug 11 16:20:22 2009 +0100 Staging: Use proper mutexes in the tsi-148 VME driver The VME core and tsi-148 driver currently use semaphores as mutexes. Switch to proper mutex implementation. Signed-off-by: Martyn Welch Reviewed-by: Emilio G. Cota Signed-off-by: Greg Kroah-Hartman commit 238add523bf9c89db1a191599fff2770af55e0fd Author: Martyn Welch Date: Tue Aug 11 14:37:15 2009 +0100 Staging: Update VME vme_user module * Add ifdef wrapper to vme_user.h * Correct Initialisation routine * Add remove routine to correct probe routine * Remove old test routines Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 75155020c8dc3aa38f8cabc95f17ccd8389c37b6 Author: Martyn Welch Date: Tue Aug 11 13:50:49 2009 +0100 Staging: vme: Add syncronize interrupts before removing callback As identified by Jiri, there is no syncronisation before callback is removed. Signed-off-by: Martyn Welch Cc: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 51a569f757f233bcffbffcdfeeff510916991a55 Author: Emilio G. Cota Date: Mon Aug 10 16:52:42 2009 +0200 Staging: vme: fix {master,slave}_get check bug It's checking the wrong functions; fix it. Signed-off-by: Emilio G. Cota Acked-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit a37b0dad8b3d278fa64482ccd2381c947f432bf7 Author: Martyn Welch Date: Thu Aug 6 09:43:07 2009 +0100 Staging: vme: Extend VME core probing for special matches Add the ability to define all slots and current slot in the VME buses bind table. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit df45517536eb010ce2b3c4c7b75c1a02bdb10018 Author: Martyn Welch Date: Wed Aug 5 17:38:31 2009 +0100 Staging: vme: Correct tsi-148 VME interrupt free routine As identified by Jiri, the VME interrupt free routine removes the service routine before disabling the interrupt. Re-order operations to be performed in the reverse of the request routine. Signed-off-by: Martyn Welch Cc: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit c7ef5da35a5323bf1375eea4dd8e455c0696b206 Author: Martyn Welch Date: Fri Jul 31 14:07:53 2009 +0100 Staging: vme: add TODO file This describes the current vme api, along with a list of things that needs to be fixed up. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit d22b8ed9a3b0a157b732580258ec16b729265953 Author: Martyn Welch Date: Fri Jul 31 09:28:17 2009 +0100 Staging: vme: add Tundra TSI148 VME-PCI Bridge driver Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 60479690af6d559d4202bed139db90323386bd2b Author: Martyn Welch Date: Fri Jul 31 09:28:17 2009 +0100 Staging: vme: add Universe I/II bridge driver Currently this code doesn't compile, so it is disabled. That should be fixed up... Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit f00a86d98a1ec3e99d352cda926fab767ba43b1f Author: Martyn Welch Date: Fri Jul 31 09:28:17 2009 +0100 Staging: vme: add VME userspace driver Adds a VME userspace access driver Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit a17a75e2666f7175baac838bc4b6d11324dca3ef Author: Martyn Welch Date: Fri Jul 31 09:28:17 2009 +0100 Staging: VME Framework for the Linux Kernel This framework aims to colelese, extend and improve the VME Linux drivers found at vmelinux.org, universe2.sourceforge.net and openfmi.net/frs/?group_id=144. The last 2 drivers appear to be forks of the original code found at vmelinux.org though have extended the codebase. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 03cd7136d68b4877a9e1793d31cab38fdcb67434 Author: Roel Kluin Date: Sat Aug 8 00:35:31 2009 +0200 Staging: vt6655: fix possible Read buffer overflow If pDevice->sOpts.nRxDescs{0,1} or nTxDescs[{0,1}] is zero, the loop ends with i == 0, and we write aRD{0,1}Ring[-1]. apTD{0,1}Rings[-1] respectively. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 256a816b6b78bf29fba0c0f1bbcf998953429422 Author: Jim Lieb Date: Wed Aug 12 14:54:16 2009 -0700 Staging: vt665x: remove tbit.h part 2 Remove use of tbit macros adn remove header file. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 8a3d91b02830dd7c58d27e5de65222219ac2163f Author: Jim Lieb Date: Wed Aug 12 14:54:15 2009 -0700 Staging: vt665x: remove tbit.h Remove use of tbit macros and remove the header file. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit dad72fed3692a918fb567915f110ae71fb7ffe32 Author: Jim Lieb Date: Wed Aug 12 14:54:14 2009 -0700 Staging: vt665x: cleanup USB definitions Remove gratuitous macros re-defining usb functions. One result is to make kcompat.h now identical in both driver dirs Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit f9de7e7bd927196adb578b418ebaa9d0d37826b5 Author: Jim Lieb Date: Wed Aug 12 14:54:13 2009 -0700 Staging: vt665x: remove tpci.h file in vt6656 Remove tpci.h. It is not even used in the usb version Minor cleanup of janitor work missed earlier. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 1e5743ca6c91cf345f72b012ae362b88db115bcc Author: Jim Lieb Date: Wed Aug 12 14:54:12 2009 -0700 Staging: vt665x: remove tpci.h file Convert pci register/command defs to use kernel definitions. Remove tpci.h. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 3e362598fd3c7b8729afd0383a4cdf08849b020e Author: Jim Lieb Date: Wed Aug 12 14:54:11 2009 -0700 Staging: vt665x: Remove umem.h Part 2 Remove references to umem.h macros and refer directly to memcpy functions. Delete the include file. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 51b6d9c299f10780b3093d3748257ecc4ae7340d Author: Jim Lieb Date: Wed Aug 12 14:54:10 2009 -0700 Staging: vt665x: Remove umem.h Part 1 Remove references to umem.h macros and refer directly to memcpy functions. Delete the include file. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit a7ad322a46663755718a214a9a34e5cfe64d07f7 Author: Jim Lieb Date: Wed Aug 12 14:54:09 2009 -0700 Staging: vt665x: Clean up include files, Part 2 Remove cplusplus lines from include files Remove needless ifdefs on includes to conform with C conventions. Remove misc commented code/includes Update TODO Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 9d26d60f99855056a20ac7c0b68eb5ed04619831 Author: Jim Lieb Date: Wed Aug 12 14:54:08 2009 -0700 Staging: vt665x: Clean up include files, Part 1 Remove cplusplus lines from include files Remove needless ifdefs on includes to conform with C conventions. Remove misc commented code/includes Update TODO Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit a884847a1a30be9a55d975f1e3fe8cf5f922bb79 Author: Jim Lieb Date: Wed Aug 12 14:54:07 2009 -0700 Staging: vt665x: Typedef and macro cleanup Part 2 Clean up unused typedefs and macros to remove Win32'isms and misc non-linux constructs. Text edits to referencing source for less frequently used macros. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 193a823caaf0e2a79a447014be00a6b70ed216a2 Author: Jim Lieb Date: Wed Aug 12 14:54:06 2009 -0700 Staging: vt665x: Typedef and macro cleanup Part 1 Clean up unused typedefs and macros to remove Win32'isms and misc non-linux constructs. Text edits to referencing source for less frequently used macros. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 555044bf893bb7e6d00c304362c80672b237c49c Author: Bartlomiej Zolnierkiewicz Date: Wed Aug 12 14:54:05 2009 -0700 Staging: vt6656: add TODO Cc: Forest Bond Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 100a538442b8efe1a4b3a3632b410685ebea49ec Author: Bartlomiej Zolnierkiewicz Date: Wed Aug 12 14:54:04 2009 -0700 Staging: vt6655: add TODO Cc: Forest Bond Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 612822f5dd1638de442cf50eb9da54632fba0e66 Author: Jim Lieb Date: Wed Aug 12 14:54:03 2009 -0700 Staging: vt665x: Text janitor in prep for driver merge, part 2 Text only changes to remove textual differences between the vt6655 and vt6656 trees in prep for driver merge. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 77f58b133ea1da92faed89ec384b5e4279f6574f Author: Jim Lieb Date: Thu Jul 30 10:30:32 2009 -0700 Staging: vt665x: Text janitor in prep for driver merge These changes in vt6656 match changes in vt6655 to minimize text differences prior to merging the two trees into a single driver source. Signed-off-by: Jim Lieb Cc: Forest Bond Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7e809a9b10ab5ee985e23dea537e0236f026d1ca Author: Jim Lieb Date: Thu Jul 30 10:27:21 2009 -0700 Staging: vt6655 textual cleanup in prep for driver merge The vt6655 and vt6656 drivers are from a common origin but have drifted apart with minor textual differences. There are two changes: s/DEVICE_PRT/DBG_PRT/g and s/byPktTyp/byPktType/g This significantly reduces the differences between the two file sets in preparation to merging the common code. A few whitespace and text bits were also adjusted. Signed-off-by: Jim Lieb Cc: Forest Bond Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d899d403862863cf2230432e18e7b294a517fd96 Author: Jim Lieb Date: Thu Jul 23 17:22:42 2009 -0700 Staging: vt665x: 64bit compile fixes Part 2 Fix compile problems with 64bit. These issues could cause corrupted address crashes. Cleanup definition use to use more portable kernel typedefs etc. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit db6cb9036b2756c50efc43127c476786ea92eae2 Author: Jim Lieb Date: Thu Jul 23 17:20:49 2009 -0700 Staging: vt665x: 64bit compile fixes Part 1 Fix compile problems with 64bit. These issues could cause corrupted address crashes. In the process, replaced some definitions to use more portable kernel types. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 6f92a8d0b863619227a5865e58ca38f9a759a9a1 Author: Jaswinder Singh Rajput Date: Fri Aug 14 11:54:37 2009 +0530 Staging: otus: includecheck fix: drivers/staging/otus/usbdrv.h fix the following 'make includecheck' warning: drivers/staging/otus/usbdrv.h: linux/usb.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Greg Kroah-Hartman commit 2386b331802b1b2664c35f9f4c7aef778aac725f Author: Bill Pemberton Date: Thu Aug 6 15:22:01 2009 -0400 Staging: serqt_usb2: fix qt_open parameters The parameter list for qt_open() was from the old non usb-serial driver. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f66abce70504514b1173e4fc9973126b99f65d89 Author: Randy Dunlap Date: Thu Aug 6 16:09:35 2009 -0700 Staging: udlfb: fix printk format warning Fix printk format warning: use %td for ptrdiff: drivers/staging/udlfb/udlfb.h:209: warning: format '%d' expects type 'int', but argument 3 has type 'long int' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e82bf85ec92e9cb2db9b226c1a29e2219b489b94 Author: Alexander Beregalov Date: Thu Aug 6 16:09:34 2009 -0700 Staging: rt2860: remove dependency on WIRELESS_EXT version As the driver is in mainline now we can remove such dependencies. WIRELESS_EXT is 22 now. Signed-off-by: Alexander Beregalov Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 7d5efd61999c8d0e63f995339f76bbfc653b645a Author: Mike Galbraith Date: Fri Jul 31 07:52:58 2009 +0200 Staging: rt2870sta interface names The rest of the known universe prefers wlanN for wireless interface names, to the point that some distro configuration tools, such as opensuse's Yast, don't even allow the user to enter a name, and simply pre-select "wlan". Signed-off-by: Mike Galbraith Signed-off-by: Greg Kroah-Hartman commit d0e0507ad6ccbeaad1f6bfe5923bdc5110df8636 Author: Julia Lawall Date: Tue Jul 28 17:52:56 2009 +0200 Staging: dst: correct error-handling code dst_state_alloc returns an ERR_PTR value in an error case instead of NULL. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @match exists@ expression x, E; statement S1, S2; @@ x = dst_state_alloc(...) ... when != x = E ( * if (x == NULL || ...) S1 else S2 | * if (x == NULL && ...) S1 else S2 ) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit b6ac161364eccce1bea4a23a9de395883e90d7ab Author: Stoyan Gaydarov Date: Tue Jul 21 22:02:27 2009 -0500 Staging: ARRAY_SIZE changes These changes were a direct result of using a semantic patch More information can be found at http://www.emn.fr/x-info/coccinelle/ Signed-off-by: Stoyan Gaydarov Signed-off-by: Greg Kroah-Hartman commit 2e9ab1e72c631041f8a1c1d1fc7e5359e7e4a476 Author: Julia Lawall Date: Mon Jul 27 21:59:48 2009 +0200 Staging: Correct use of ! and & Correct priority problem in the use of ! and &. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; constant C; @@ - !E & C + !(E & C) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 658ce9d653056a537df70e3a796654446fc9ff64 Author: Uwe Kleine-König Date: Thu Jul 23 08:33:56 2009 +0200 Staging: fix typos "man[ae]g?ment" -> "management" This patch was generated by running git grep -E -l 'man[ae]g?ment' drivers/staging | xargs -r perl -p -i -e 's/\bman[ae]g?ment\b/management/g' Signed-off-by: Uwe Kleine-König Cc: Jiri Kosina Signed-off-by: Greg Kroah-Hartman commit a7cd5829d8b3837755105d71f76a75cddf49003f Author: Shan Wei Date: Fri Jul 24 16:57:35 2009 +0800 Staging: usb-ip: vhci_hdc:Fix the returned error value Compared with other drivers, the "ret" should be nagative and returned. But in vhci_hdc, it always return 0; I dont't use the driver, and I'm not familiar with the code. Hope the patch is helpful. Signed-off-by: Shan Wei Signed-off-by: Greg Kroah-Hartman commit 91c0f68ff6723cfa45aade768f89fac7c500cd0b Author: Felipe Balbi Date: Tue Jul 21 15:52:26 2009 +0300 Staging: cpc-usb: add one todo entry we need to get rid of those driver-specific error codes Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 6c4d3708f6945846785f3512d7a483d20a774745 Author: Felipe Balbi Date: Tue Jul 21 15:52:25 2009 +0300 Staging: cpc-usb: convert comment style in cpcusb.h Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 6414842a82d54464a9b6fee0b038907ac4d052f4 Author: Felipe Balbi Date: Tue Jul 21 15:52:24 2009 +0300 Staging: cpc-usb: convert comment style in cpc_int.h Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 4bbd9365c83117d7e22ed282ff567ee482a0dfe5 Author: Felipe Balbi Date: Tue Jul 21 17:35:50 2009 +0300 Staging: cpc-usb: convert comment style in cpc.h Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit b8868e45c5f8956d57ba489df3ebd24e3f858684 Author: Brian G. Merrell Date: Tue Jul 21 00:46:13 2009 -0600 Staging: USB-IP code cleanup This includes fixes for all of the legit checkpatch.pl errors and warnings. I have also included several of the suggestions from the linux-kernel mailing list when the USB-IP code was first added. Signed-off-by: Brian G. Merrell Signed-off-by: Greg Kroah-Hartman commit 1dd7def0b5d7d0464991640687fc85c143b3c850 Author: Julia Lawall Date: Sat Jul 18 17:25:30 2009 +0200 Staging: meilhaus: convert nested spin_lock_irqsave to spin_lock If spin_lock_irqsave is called twice in a row with the same second argument, the interrupt state at the point of the second call overwrites the value saved by the first call. Indeed, the second call does not need to save the interrupt state, so it is changed to a simple spin_lock. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression lock1,lock2; expression flags; @@ *spin_lock_irqsave(lock1,flags) ... when != flags *spin_lock_irqsave(lock2,flags) // Signed-off-by: Julia Lawall Cc: David Kiliani Cc: Meilhaus Support Signed-off-by: Greg Kroah-Hartman commit c60adf37eb9cbb244025a0d02ba41bc7931bc674 Author: Pavel Machek Date: Sat Aug 8 15:40:50 2009 +0200 Staging: dream: Synaptics touchscreen: check that smbus is available Check that SMBUS APIs are available in touchscreen driver. Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 420818f9755a5676db7c392ba6f77d795f13675b Author: Arve Hjønnevåg Date: Sat Aug 8 15:03:15 2009 +0200 Staging: dream: add support for input on GPIO pins Support for input devices connected to GPIO pins. This adds support for HTC Dream's keyboard and its trackball. Generic support already exists for keyboard on GPIO, but this one is more advanced because it can detect shadow key presses (and actually works with Dream :-). (It also contains Kconfig/Makefile changes, including some that were missing from previous commit. Sorry.) Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 347a799cef17e66bd532fca4e55a5f5a2f9ff36c Author: Pavel Machek Date: Sat Aug 8 14:27:02 2009 +0200 Staging: Dream: separate Kconfig/Makefile into subdirectory Separate Kconfig/Makefile glue from dream into subdirectory. I plan to add few more drivers, and changing staging/Makefile each time sounds like inviting conflicts. Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 4d62691b609cc4e66e15c8e5b2261ddb6785b7ca Author: Jiri Slaby Date: Sat Aug 8 11:33:58 2009 +0200 Staging: dream, fix buf overflow In vfe_send_msg_no_payload there is a wrong struct vfe_message allocation. It allocates only sizeof(pointer to vfe_message) for a whole structure. Add a dereference to the sizeof to allocate sizeof(vfe_message). Signed-off-by: Jiri Slaby Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 58c6d6d1a6ff66d81ad933cdbfbf7064a064e906 Author: Pavel Machek Date: Wed Aug 5 00:00:10 2009 +0200 Staging: dream: synaptics touchscreen for dream: documentation This adds pointer to hardware documentation, and adds code comment from Arve. Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 4191934cb6cf15a813ba8d2a05366859f7bd1c0b Author: Pavel Machek Date: Tue Jul 21 12:04:26 2009 +0200 Staging: HTC Dream: touchscreen: more cleanups This separates coefficient computation into separate function, so that main probe does not have 1001 variables, and is of a more reasonable size. Signed-off-by: Pavel Machek Cc: Arve Hjønnevåg Signed-off-by: Greg Kroah-Hartman commit 261314a9f242962cfde842d7a70563d6471e6bf7 Author: Pavel Machek Date: Mon Jul 20 23:59:11 2009 +0200 Staging: HTC Dream: Cleanup Dream touchscreen driver This is first part of touchscreen cleanups. I did not remove earlysuspend functionality for now (to help Google merge the changes). I mainly introduced helpers to reduce code duplication, and split huge functions into smaller ones. Signed-off-by: Pavel Machek Cc: Arve Hjønnevåg Signed-off-by: Greg Kroah-Hartman commit 2e4d2af96aad73b7275de45cb34453d18423767d Author: Arve Hjønnevåg Date: Mon Jul 20 12:53:40 2009 +0200 Staging: HTC Dream: touchscreen driver for staging This adds support for synaptic touchscreen, used in HTC dream cellphone. This is original version from Arve, fixed only to compile; I do have cleaner version, but I broken something inside, and this will preserve authorship better. I originally tried to push the driver directly to input/touchscreen, but the driver has some issues with interrupt handling that are more difficult to fix than I expected at first. Signed-off-by: Arve Hjønnevåg Signed-off-by: Pavel Machek commit d4d000f636d3fa119df5023a6b2d890dea6cef7e Author: Pavel Machek Date: Tue Jul 21 12:38:46 2009 +0200 Staging: htc: Dream: limit Kconfig for only MSM platforms Limit SMD communication glue to MSM platform. It is closely tied to MSM architecture. Signed-off-by: Pavel Machek Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0949a02544b7ffc8378fdb61aa7d0e783de73c36 Author: Greg Kroah-Hartman Date: Mon Sep 14 14:34:20 2009 -0700 Staging: hv: update the TODO file Remove a few items that have already been resolved. There are only a few checkpatch issues, they need to be resolved by larger code logic changes that are not "simple" changes. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 19d7810624d9a05d73c03b567145b7743c22b8a4 Author: Bill Pemberton Date: Fri Sep 11 21:46:46 2009 -0400 Staging: hv: Remove List.h List.h is no longer used and can be removed. Signed-off-by: Bill Pemberton Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 1f5459bcb1d944d3c1b4112fa14cac2eda981db8 Author: Bill Pemberton Date: Fri Sep 11 21:46:45 2009 -0400 Staging: hv: remove use of internal list routines in RndisFilter The hv driver has it's own linked list routines. This removes them from RndisFilter.c Signed-off-by: Bill Pemberton Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 53af545b277508d6b4829e90546cbd1beef536a9 Author: Bill Pemberton Date: Fri Sep 11 21:46:44 2009 -0400 Staging: hv: remove more usages of internal list routines The hv driver has it's own linked list routines. This removes them from more places in hv. Signed-off-by: Bill Pemberton Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit d29274efb73735c6a94f20214b1e4ea994da8848 Author: Bill Pemberton Date: Fri Sep 11 21:46:43 2009 -0400 Staging: hv: remove use of internal list routines in NetVsc The hv driver has it's own linked list routines. This removes them from NetVsc and uses the kernels routines instead. Signed-off-by: Bill Pemberton Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 03a6b30a8c4420fb4be765a945a6989d4bcd24a8 Author: Haiyang Zhang Date: Tue Sep 8 20:12:55 2009 +0000 Staging: hv: Add Haiyang's email to the TODO file Add Haiyang's email to the TODO file. Cc: Hank Janssen Signed-off-by: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 21707bed7e0577c32546e8e0ce74a18528acf398 Author: Greg Kroah-Hartman Date: Wed Sep 2 11:53:59 2009 -0700 Staging: hv: remove function pointer typedefs from vmbus.h It's amazing the hoops that people go through to make code work when they don't opensource the whole thing. Passing these types of function pointers around for no good reason is a mess, this needs to be unwound as everything is now in the open. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 7903506975905605bbb9077008ca83eabc0f6272 Author: Greg Kroah-Hartman Date: Wed Sep 2 11:44:19 2009 -0700 Staging: hv: remove PFN_CHANNEL_CALLBACK Come on people, it doesn't get simpler than this, why have a typedef for something so tiny... Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f25c749bb830890a3e31236857523a57cf6ddc7c Author: Greg Kroah-Hartman Date: Wed Sep 2 11:28:55 2009 -0700 Staging: hv: remove function pointer typedefs from StorVscApi.h function pointer typedefs are allowed in the kernel, but only if they make sense, which they really do not here, as they are not passed around with any kind of frequency. So just spell them all out, it makes the code smaller and easier to understand overall. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 211ccd6e0b4b62abc0c93eeb671f5cd970b3c185 Author: Greg Kroah-Hartman Date: Wed Sep 2 11:24:48 2009 -0700 Staging: hv: remove function pointer typedefs from NetVscApi.h function pointer typedefs are allowed in the kernel, but only if they make sense, which they really do not here, as they are not passed around with any kind of frequency. So just spell them all out, it makes the code smaller and easier to understand overall. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 74982610d08e7687c435fa6f07245fdfb2362f6d Author: Greg Kroah-Hartman Date: Wed Sep 2 11:18:10 2009 -0700 Staging: hv: remove function pointer typedefs from VmbusApi.h function pointer typedefs are allowed in the kernel, but only if they make sense, which they really do not here, as they are not passed around with any kind of frequency. So just spell them all out, it makes the code smaller and easier to understand overall. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit ce9ea4cf49b0ba4c67be71550d6cd955b718e967 Author: Greg Kroah-Hartman Date: Wed Sep 2 10:35:56 2009 -0700 Staging: hv: rename struct NETVSC_DEVICE The Linux kernel doesn't have all caps structures, we don't like to shout at our programmers, it makes them grumpy. Instead, we like to sooth them with small, rounded letters, which puts them in a nice, compliant mood, and makes them more productive and happier, allowing them more fufilling lives overall. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 21a8082043aa474107f4ed62fb62651ffad8e2f6 Author: Greg Kroah-Hartman Date: Wed Sep 2 10:33:05 2009 -0700 Staging: hv: coding style cleanup for NetVsc.c Still a lot of long lines, but that's nothing I can fix up at this time Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0120ee0d77014eb0f10b25591fcc3fa286720239 Author: Greg Kroah-Hartman Date: Wed Sep 2 09:17:52 2009 -0700 Staging: hv: coding style cleanup for RndisFilter.c It's much better now. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit ff568d3a1a1ac4f562a2303e27ce027097054803 Author: Greg Kroah-Hartman Date: Wed Sep 2 08:37:47 2009 -0700 Staging: hv: coding style cleanup for storvsc_drv.c Where's the hazard pay for cleaning up this mess... Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 90c9960e20549954d905ff9d761c954b93042b8b Author: Greg Kroah-Hartman Date: Wed Sep 2 07:11:14 2009 -0700 Staging: hv: coding style cleanups for vmbus_drv.c Almost clean. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 689bf406829c8a5e44ebf8fc8918b77b3806ee48 Author: Greg Kroah-Hartman Date: Tue Sep 1 20:12:58 2009 -0700 Staging: hv: warn the world of a bug in the release function All device release functions need to do something, if not, it's a bug. By merely providing an "empty" release function, it gets the kernel to shut up, but that's not solving the problem at all. Stick a big fat WARN_ON(1); in there to get people's attention. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f4266e342527b4309119edde777bb9fbb4e0ef33 Author: Greg Kroah-Hartman Date: Tue Sep 1 17:24:57 2009 -0700 Staging: hv: coding style cleanup for Channel.c All clean now. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 8a280399b3396ded11bbdf74f7f3bba629e3b1df Author: Greg Kroah-Hartman Date: Tue Sep 1 16:34:56 2009 -0700 Staging: hv: coding style fixes for blkvsc_drv.c There are still some very long lines, someone needs to unwind the logic there to resolve that. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 163680b4dbc056c2f1ccf497d12ae8f6fa38c455 Author: Greg Kroah-Hartman Date: Mon Aug 31 22:31:22 2009 -0700 Staging: hv: reorg StorVsc.c This gets rid of all of the forward declarations. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 068c5df20e7118d37e8c3f866ec22ee081548704 Author: Greg Kroah-Hartman Date: Mon Aug 31 22:25:48 2009 -0700 Staging: hv: coding style cleanups for StorVsc.c Some one owes me a lot of beer, or a nice bottle of rum for all of this crud cleanup... Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b1f1d2723f71547624b8007a988f06380d6dbfe0 Author: Greg Kroah-Hartman Date: Mon Aug 31 21:56:16 2009 -0700 Staging: hv: TODO: add some more items Add List.h and RingBuffer.h removal items. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit c8212f04d677ff7571339da66e7dc523ef8e8ae1 Author: Greg Kroah-Hartman Date: Mon Aug 31 21:51:50 2009 -0700 Staging: hv: reorg ChannelMgmt a bit This gets rid of the unneeded typedef and the forward declarations, saving a bit of code file size. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit bd60c33e77a806e18309bb8ab787aa852e30fa56 Author: Greg Kroah-Hartman Date: Mon Aug 31 21:47:21 2009 -0700 Staging: hv: coding style cleanups for ChannelMgmt.c There are still some too-long lines here, hopefully they will get resolved later. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit df2fff28ec9e120d458e56e210557c6a1416e819 Author: Greg Kroah-Hartman Date: Mon Aug 31 21:11:12 2009 -0700 Staging: hv: reorganize netvsc_drv.c Saves space by getting rid of the forward declarations. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 02fafbc619a57dd4b850ed6af47a40bbb8e1eae8 Author: Greg Kroah-Hartman Date: Mon Aug 31 21:09:45 2009 -0700 Staging: hv: coding style cleanups for netvsc_drv.c There are still some horrible long lines in here, which some simple code reworking will make smaller and easier to understand. Also note the FIXME in struct netvsc_driver_context... Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0831ad041fd3611b31c10b46b9716b3c6289f1a1 Author: Greg Kroah-Hartman Date: Mon Aug 31 20:23:33 2009 -0700 Staging: hv: fix coding style issues in Hv.c Lots of cleanups. Note, the use of volatile still needs to be resolved, and possibly the #ifdef could be done a bit "better". Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b3bfb3cecfef142a0caf49fbb85a1d5a056f5c16 Author: Greg Kroah-Hartman Date: Mon Aug 31 17:37:58 2009 -0700 Staging: hv: code reduction from Vmbus.c Reorder some functions to get rid of all of the forward declarations. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 772ec4e208053d125820b86b109c6339572f3961 Author: Greg Kroah-Hartman Date: Mon Aug 31 17:37:18 2009 -0700 Staging: hv: coding style cleanups on Vmbus.c It's now much nicer and cleaner. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit fd8b85eae9928f84c7780f93b8005b3dee7ccbb2 Author: Greg Kroah-Hartman Date: Mon Aug 31 11:40:14 2009 -0700 Staging: hv: coding style cleanups for Connection.c Everything is clean except for some very long lines that need a bit more code rework to resolve. That will have to be done by someone that can test the code. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 7dd03fc4be4bcfcc8c56b22494da501c569e5b4d Author: Greg Kroah-Hartman Date: Fri Aug 28 16:26:48 2009 -0700 Staging: hv: remove typedefs from StorVsc.c Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit e681b95438da3db44d7f847960ba827b624f59d5 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:26:27 2009 -0700 Staging: hv: remove typedefs from RndisFilter.c Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 1d7e907fb7486768acb843f85f0b300352add431 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:26:11 2009 -0700 Staging: hv: remove typedefs from ChannelMgmt.c Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 490707d2aaf4b142fb2fb53d8065dbae95b41377 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:25:39 2009 -0700 Staging: hv: coding style cleanups of ChannelInterface.c Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 44c67577b3e98ee89aabf021bdae1cacee362660 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:25:21 2009 -0700 Staging: hv: coding style cleanups of BlkVsc.c Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 216260d8b8225249a114494581ab387290102c1b Author: Greg Kroah-Hartman Date: Fri Aug 28 16:24:48 2009 -0700 Staging: hv: move VmbusPacketFormat.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0197e34c1b22f64bf6ac0f49160f8d6bf6fffb31 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:24:34 2009 -0700 Staging: hv: move VmbusChannelInterface.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f363ce27abacf6d67b080da209bd52c85bbb1b8c Author: Greg Kroah-Hartman Date: Fri Aug 28 16:24:16 2009 -0700 Staging: hv: move VmbusApi.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 731a7884f63586184feea6ecd418f1732d2d5161 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:23:49 2009 -0700 Staging: hv: move StorVscApi.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit cc21181217549e0a894dd6b57feacbcb979d831b Author: Greg Kroah-Hartman Date: Fri Aug 28 16:23:17 2009 -0700 Staging: hv: move NetVscApi.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 645954c54287faee983d37705b80e9ae90c63782 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:22:59 2009 -0700 Staging: hv: move logging.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0b43c1806d6fe1f1f004f9e437c992ac1ddb931e Author: Greg Kroah-Hartman Date: Fri Aug 28 16:22:45 2009 -0700 Staging: hv: move List.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 2def7b8bcd4c49ca71a950611c9d456fd35282d2 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:22:33 2009 -0700 Staging: hv: remove ChannelMessages.h It's only ever used within the ChannelMgmt.h file, so pull it into there. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 64a1403d797d38c0bd18ba43bda5653c012c0d58 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:21:33 2009 -0700 Staging: hv: move nvspprotocol.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 223c1aa632dbad672ad9b907e5d5e8f385417945 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:20:53 2009 -0700 Staging: hv: fix typedefs in nvspprotocol.h It's all clean now. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit abb7aacb5070bad0e94eeaf5fad340ab4f97b33e Author: Greg Kroah-Hartman Date: Fri Aug 28 16:20:34 2009 -0700 Staging: hv: fix coding style issues in nvspprotocol.h No typedef changes yet though. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 9f0c7d2cc30a0691d478b069b499d6b1d01546a2 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:20:07 2009 -0700 Staging: hv: fix typedefs in StorVscApi.h It's all clean now. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 9bcd786a311d7601f25a986e106d2bf774a22fdd Author: Greg Kroah-Hartman Date: Fri Aug 28 16:19:17 2009 -0700 Staging: hv: fix coding style issues in StorVscApi.h No typedef changes yet though. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 8dc0a06ad1f192ea0c8dbe4d2090206c7d880281 Author: Greg Kroah-Hartman Date: Thu Aug 27 16:02:36 2009 -0700 Staging: hv: remove typedefs from VmbusPacketFormat.h All spiffied up now, shines like a brass button on the bump of a barge's bilge. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 4bedd6be8b9e9a24f48792c1bef82f521a01db2a Author: Greg Kroah-Hartman Date: Thu Aug 27 16:01:23 2009 -0700 Staging: hv: fix coding style issues in VmbusPacketFormat.h Heh, volatiles, like that was a good idea... Turns out they were not even used, wierd stuff. All clean except for the typedefs. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b3715ee49f33f336f196e9720e44c76885eacd19 Author: Greg Kroah-Hartman Date: Thu Aug 27 16:00:24 2009 -0700 Staging: hv: fix typedefs in vstorage.h It's all clean now. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f3c7c96c8bb587263b408bf98f9208ac1c1d1c92 Author: Greg Kroah-Hartman Date: Thu Aug 27 15:59:39 2009 -0700 Staging: hv: fix remaining style issue in ChannelInterface.h It snuck in with the other typedef cleanups, sorry about that. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 2dd88b511b3ca7907b3fc0e318ff95643a87f2af Author: Greg Kroah-Hartman Date: Thu Aug 27 15:58:52 2009 -0700 Staging: hv: move vstorage.h to hv dir Move it out of the include subdir, it doesn't need to be there. No code was changed in the move. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 7e23a6e9626bf93242712f146a9657d38dda497b Author: Greg Kroah-Hartman Date: Thu Aug 27 15:58:15 2009 -0700 Staging: hv: fix up typedefs in NetVscApi.h It's now all clean from a coding style standpoint. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 8eef67392e25c04c52454e656c079bbec62487e1 Author: Greg Kroah-Hartman Date: Thu Aug 27 15:57:15 2009 -0700 Staging: hv: fix up coding style issues in NetVscApi.h Everything but the typedefs. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0b8ffe077776543bfcd7aa470ee9df0ab64651d0 Author: Greg Kroah-Hartman Date: Thu Aug 27 15:55:48 2009 -0700 Staging: hv: fix up some coding style issues in logging.h It's now clean. Well, from a coding style guide, not from a logic standpoint, the whole file needs to be tossed overboard and cheered on as the sharks tear it to individual bits. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 82250213d08689ab34589923be3064bb8f4c1964 Author: Greg Kroah-Hartman Date: Wed Aug 26 15:16:04 2009 -0700 Staging: hv: typedef removal for ChannelMessages.h ChannelMessages.h is now coding style clean. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 314b1c8b1064f4727687bd374aa4ccbe5f10b6ab Author: Greg Kroah-Hartman Date: Wed Aug 26 15:14:51 2009 -0700 Staging: hv: codingsyle cleanups for ChannelMessages.h Everything but the typedefs are taken care of. Also a number of unused defines were removed. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit ee3d7ddfe54108e2e1e3259fb62ec085404c3a74 Author: Greg Kroah-Hartman Date: Thu Aug 20 12:17:36 2009 -0700 Staging: hv: typedef removal for VmbusApi.h The function pointers still have ugly names, but the structures are now cleaned up. Note, a comment was added where the driver structure is pointing at a problem that needs to be fixed up later in the code. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 54b2b847f522eb2c015455bd592a7214972f4d6c Author: Greg Kroah-Hartman Date: Thu Aug 20 12:16:33 2009 -0700 Staging: hv: coding style cleanups for VmbusApi.h typedefs still need to be fixed up. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 1732a1e8a48459cfe4b6244284507a321e9b7725 Author: Greg Kroah-Hartman Date: Thu Aug 20 12:15:54 2009 -0700 Staging: hv: typedef removal from VmbusChannelInterface.h It's all clean now. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 1aa2383b144be596f7a09e237e47ecefdeef07af Author: Greg Kroah-Hartman Date: Thu Aug 20 12:15:54 2009 -0700 Staging: hv: coding style cleanups for VmbusChannelInterface.h typedefs still need to be fixed up. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 65452d1f728c95877cad1b7e71dc2ef0c6a8297c Author: Greg Kroah-Hartman Date: Thu Aug 20 12:15:17 2009 -0700 Staging: hv: move HvStatus.h into hv_api.h It doesn't need to be a standalone file anymore. No code changed, only moving things around. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 034469e6338b8d683419e3ee7f2543419dd5b574 Author: Greg Kroah-Hartman Date: Thu Aug 20 12:14:11 2009 -0700 Staging: hv: coding style cleanups for HvStatus.h Ugh, what a mess, it's all better now. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 6658be6ad728c347df33b8593b75aafa3c52eeba Author: Greg Kroah-Hartman Date: Thu Aug 20 12:13:27 2009 -0700 Staging: hv: create hv_api.h Merge the different include/Hv*Api.h files together into hv_api.h as they really don't justify separate files. No code was changed here, only moving stuff around. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0d08737cadc38515695540522cd8ceaa975506b4 Author: Greg Kroah-Hartman Date: Thu Aug 20 12:12:31 2009 -0700 Staging: hv: remove volatile usage from HvSynicApi.h It's pretty pointless as no one is using this structure, but even so the use of volatile is so wrong here it's sad... Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit eacb1b4d24c2a8b7c1d73bb72e04920980ec8a4f Author: Greg Kroah-Hartman Date: Thu Aug 20 12:11:26 2009 -0700 Staging: hv: typdef fixes for HvSynicApi.h Still some volatile mis-usages left to fix. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit c786a84e9c7a3a342cda0aa19831417a64383444 Author: Greg Kroah-Hartman Date: Thu Aug 20 12:10:52 2009 -0700 Staging: hv: coding style cleanups for HvSynicApi.h Don't fix the typedef issues, that will come next. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f80b3d51a6708b5f14a59c53b1343db59efdda1e Author: Greg Kroah-Hartman Date: Thu Aug 20 12:09:34 2009 -0700 Staging: hv: coding style cleanups for HvPtApi.h Fix up the typedefs in there as well. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 462eeeca0382fb00b3bd6db36a5ee9668a961eae Author: Greg Kroah-Hartman Date: Wed Aug 19 16:26:24 2009 -0700 Staging: hv: rndis.h: typedef removal, part 2 This removes the rest of the typedefs in rndis.h The file is now checkpatch.pl clean. Note, there are a lot of structures in this file that are not used anywhere. I don't know if we want to remove them, but I guess they don't take up any space so it's a nice documentation trail. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 9f33d054394314ba5b7734c6fb7a0eb1d01d3b04 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:26:24 2009 -0700 Staging: hv: rndis.h: typedef removal, part 1 This removes about half of the typedefs in rndis.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 88a3716f0c60fc6e2829e67c6be78b7c91113f62 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:25:51 2009 -0700 Staging: hv: rndis.h: codingstyle fixes This fixes all of the coding style issues in rndis.h with the exception of the typedefs. That comes next. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit c488bd746b18ae1804747ff7b6d0c3207727dfda Author: Greg Kroah-Hartman Date: Wed Aug 19 16:25:13 2009 -0700 Staging: hv: rndis.h: remove pointless typedefs The typedefs for u32 are now removed. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit e27edab4b5ae6c0d2d619af7baa9575956ad8d87 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:24:29 2009 -0700 Staging: hv: move rndis.h This moves rndis.h from the include/ subdirectory. It doesn't belong there. No code changes happened here. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 089786553723cc134ab584ecd9e19986181e04ff Author: Greg Kroah-Hartman Date: Wed Aug 19 16:23:45 2009 -0700 Staging: hv: vmbus.h coding style cleanups Coding style fixes for vmbus.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 870cde8086a40b96ce6e39552e57482d577ddd9d Author: Greg Kroah-Hartman Date: Wed Aug 19 16:21:28 2009 -0700 Staging: hv: move vmbus.h This moves vmbus.h from the include/ subdirectory. It doesn't belong there. No code changes happened here. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b4f3fda5d475931d596d5cf599a193f42b857594 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:21:28 2009 -0700 Staging: hv: coding style cleanup of include/HvVpApi.h Coding style fixes for include/HvVpApi.h All of the include/Hv*.h files should be merged eventually... Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit cba4decdd3dcd224b17631572456951aace0a27e Author: Greg Kroah-Hartman Date: Wed Aug 19 16:21:28 2009 -0700 Staging: hv: coding style cleanup of include/HvHcApi.h Coding style fixes for include/HvHcApi.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 910d7b31f598a1ce7a0325889537aa993ed1ce1c Author: Greg Kroah-Hartman Date: Wed Aug 19 16:20:41 2009 -0700 Staging: hv: remove include/HvHalApi.h It isn't needed at all, was only being used for one typedef, which is now removed. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b1fe0dca03ea41c703f2899991ae6b45dbb48e2b Author: Greg Kroah-Hartman Date: Wed Aug 19 16:20:15 2009 -0700 Staging: hv: remove include/HvTypes.h It isn't needed at all, was only being used for one typedef, which is now removed. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 93b5c9e17ab2285cc0f6527a8444e157069364a4 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:19:23 2009 -0700 Staging: hv: osd.c: coding style fixes Codingstyle fixes for osd.c Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit daaa8cc31fbd2b7356a0d67dd9ca6d336507f118 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:18:56 2009 -0700 Staging: hv: osd.h: fix GUID reference problem As GUID was a typedef, it hid the fact that we were passing it a 2 variables in functions. This fixes this up by passing it as a pointer, as it should be. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit caf26a31b51a148f70113700fd4f9860b5da3931 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:17:03 2009 -0700 Staging: hv: osd.h: remove GUID typedef GUID should not be a typedef. As proof of the problem of typedefs, look, we are passing 2 of these as a value in functions! Bah... Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0ccafb365803b3256aa75fd07bf9e5c6814a260d Author: Greg Kroah-Hartman Date: Wed Aug 19 16:16:21 2009 -0700 Staging: hv: osd.h: codingstyle cleanups This fixes up the coding style issues in osd.h, with the exception of the typedefs, they will be removed later. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 4983b39a0687b00688478e6748b979a02934b234 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:14:47 2009 -0700 Staging: hv: move osd.h This moves osd.h out of the include/ subdirectory. No code changes are made here. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit d7363a194ba9fc4e91a354d5f4ba7f084b847c82 Author: Greg Kroah-Hartman Date: Tue Aug 18 15:21:19 2009 -0700 Staging: hv: clean up vstorage.h Lots of coding style cleanups in vstorage.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit aded7165f262e0f018b23a6cd5cba6e33fd6efd1 Author: Greg Kroah-Hartman Date: Tue Aug 18 15:21:19 2009 -0700 Staging: hv: clean up typedefs in ChannelMgmt.h This removes the typedefs from ChannelMgmt.h, it's now clean from a codingstyle.pl standpoint. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit af248e1f1283792e95fd9842fe343f9260300c9d Author: Greg Kroah-Hartman Date: Tue Aug 18 15:20:34 2009 -0700 Staging: hv: clean up typedefs in Hv.h This removes the typedefs from Hv.h, it's now clean from a codingstyle.pl standpoint. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 6ddf5a789653175350745debeb92b7c018daef22 Author: Greg Kroah-Hartman Date: Tue Aug 18 15:19:43 2009 -0700 Staging: hv: clean up RndisFilter.h Cleans up coding style issues with RndisFilter.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b010e5a7bc3673d219363b01bf8591629215c384 Author: Greg Kroah-Hartman Date: Tue Aug 18 15:18:36 2009 -0700 Staging: hv: clean up NetVsc.h Cleans up coding style issues with NetVsc.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit a0086dc512ba6c2161dcf48195daf177ad0c3615 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:22:08 2009 -0700 Staging: hv: remove Sources.c It's a .c file including other .c files, ick. Remove that mess now that the header files are unwound. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 3523a805fd2462e7df1c3601c25a7a8df2f8f6a9 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:22:08 2009 -0700 Staging: hv: cleanup coding style issues in RingBuffer.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f346fdc27384c2dd0f1ffcccb5f701aaf4af75d2 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:23:00 2009 -0700 Staging: hv: cleanup coding style issues in VmbusPrivate.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b239549ca6ce78ac46d0c59ac6a5179c46256876 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:22:08 2009 -0700 Staging: hv: cleanup coding style issues in ChannelMgmt.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit e89ce628ba255537c69c6a90a20a8bb08939c963 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:22:08 2009 -0700 Staging: hv: cleanup coding style issues in ChannelInterface.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit d41024f70fa25acfa039b53720a73ff1b15098d2 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:21:51 2009 -0700 Staging: hv: cleanup coding style issues in VersionInfo.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 46a0525385f59872e16d5d0962ba3e488fb18165 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:21:31 2009 -0700 Staging: hv: cleanup coding style issues in Channel.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 98d9fac4f0dec8545ed94abe729a15865cff6686 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:20:55 2009 -0700 Staging: hv: cleanup coding style issues in Hv.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit a51ed7d65d62aa5ad8d364aa76af30328c26263f Author: Greg Kroah-Hartman Date: Mon Aug 17 17:20:02 2009 -0700 Staging: hv: remove ReadMsr and WriteMsr functions from Hv.h They aren't needed as wrappers. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit e1415db7b6f216d4344db028581227e828a38eca Author: Jan Beulich Date: Mon Aug 17 05:54:31 2009 -0600 Staging: hv: adjust Hyper-V Kconfig Hyper-V sub-components' options should all depend on the base option. The default of these sub-component options is also more reasonably set to that of the base option (since it makes little sense to enable the base option without the sub-component ones). Signed-off-by: Jan Beulich Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 79e5cdb208aaf5e7ead5c98b08a31ce6d604fead Author: Randy Dunlap Date: Fri Aug 7 11:17:04 2009 -0700 Staging: hv: blk dev depends on SCSI hv block driver uses scsi_*() interfaces so it should depend on SCSI. ERROR: "scsi_normalize_sense" [drivers/staging/hv/hv_blkvsc.ko] undefined! ERROR: "scsi_print_sense_hdr" [drivers/staging/hv/hv_blkvsc.ko] undefined! Signed-off-by: Randy Dunlap Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b219b3f7329d71cdd27355c8c64e65416a0096ce Author: Nicolas Palix Date: Thu Jul 30 17:37:23 2009 +0200 Staging: hv: Replace typedef SG_BUFFER_LIST by struct scatterlist typedef SG_BUFFER_LIST is removed and its uses are replaced by the use of struct scatterlist. Signed-off-by: Nicolas Palix Cc: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 45dcfb3809fda1f40f10a0650518a0320974caee Author: Greg Kroah-Hartman Date: Wed Jul 29 15:42:27 2009 -0700 Staging: hv: remove duplicated osd.o inclusions Now that we have properly prefixed the osd.c functions, we don't need to include it in each of the modules. So only build it into the hv_vmbus module. Export the symbols that the other hv_ modules need, so that they can properly find them. Cc: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit c8a429a465f9aaabe7fc7ddf5f34ff6dd188a68f Author: Greg Kroah-Hartman Date: Wed Jul 29 15:40:57 2009 -0700 Staging: hv: remove timer wrapper functions Use a real timer (there's only one in the code), no wrapper is needed, it just increases the complexity for no reason. Cc: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit bfc30aae73b6be57528059a9e03ce8674320e67b Author: Greg Kroah-Hartman Date: Wed Jul 29 15:40:18 2009 -0700 Staging: hv: osd: add osd_ prefix to global functions Put a "osd_" prefix on the osd.c functions in order for us to play nicer in the kernel namespace. Cc: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit fa56d361b07513cba87cc5c2b57f3f51248f89a8 Author: Greg Kroah-Hartman Date: Wed Jul 29 15:39:27 2009 -0700 Staging: hv: osd: remove physical address wrapper functions Use the real functions the kernel provides, so that people can see what is actually going on in the code easier. Cc: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 4a66384567dfa68fb0bf6604842b1262e601d4a2 Author: Greg Kroah-Hartman Date: Wed Jul 29 15:38:00 2009 -0700 Staging: hv: remove custom rdmsrl and wrmsrl functions Use the ones that the kernel provides, they do it correctly. Cc: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f931a70c370cc826191a51a79500b34cd592b25b Author: Greg Kroah-Hartman Date: Wed Jul 29 15:37:12 2009 -0700 Staging: hv: remove custom cpuid function Use the one that the kernel provides, it does it correctly. Cc: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 45da89e559219d24a639f24a8d95a6c71d54736f Author: Bill Pemberton Date: Wed Jul 29 17:00:15 2009 -0400 Staging: hv: remove wrapper functions around kmap_ Remove PageMapVirtualAddress() and PageUnmapVirtualAddress() which were wrappers around kmap_atomic() and kunmap_atomic() Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b7c947f04888b8bb2dc79832c10ede73c5b8dae2 Author: Bill Pemberton Date: Wed Jul 29 17:00:13 2009 -0400 Staging: hv: remove wrapper function VirtualFree Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f4888417083723c4f5cbfdf4895653279ffdc31e Author: Bill Pemberton Date: Wed Jul 29 17:00:12 2009 -0400 Staging: hv: remove wrapper functions for atomic operations Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 7c369f405bc918f3245c7ee0b0ad6c6b6c750166 Author: Bill Pemberton Date: Wed Jul 29 17:00:11 2009 -0400 Staging: hv: remove wrapper functions for bit operations There were several Bit* functions that did nothing but call the kernel functions with the parameters reversed. Remove these and call the functions directly. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 420beac4fcc9efd6f7d838ef7cc5693c58c98015 Author: Bill Pemberton Date: Wed Jul 29 17:00:10 2009 -0400 Staging: hv: remove WaitEventClose() All WaitEventClose() close did was call kfree(), so get rid of it and replace it with a call to kfree() Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit de65a38406bdf712abc2a845fe1f3db7d1a083ed Author: Bill Pemberton Date: Wed Jul 29 17:00:09 2009 -0400 Staging: hv: rework use of workqueues in osd Change the usage of workqueues to be consistant with other parts of the kernel. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 949cadaa054588db0c4a3a0cfc3ac93f08fda913 Author: Greg Kroah-Hartman Date: Wed Jul 29 09:06:51 2009 -0700 Staging: hv: fix sparse NULL pointer warnings This fixes up all of the sparse warnings where NULL should be used instead of 0. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 127729066686c363c405c586731235443c03c252 Author: Greg Kroah-Hartman Date: Wed Jul 29 09:05:33 2009 -0700 Staging: hv: fix sparse function warnings This fixes up all of the sparse warnings about functions not being properly declared. Meaning, void functions need to say they are a void function, otherwise the compiler assumes it is an integer here. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit bd1de709165a4f59878d4a272370fa228aa753f7 Author: Greg Kroah-Hartman Date: Wed Jul 29 09:04:51 2009 -0700 Staging: hv: fix sparse static warnings This fixes up all of the sparse warnings about static functions. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0b3f683488aaf5f501dfa9758054a23b1b625e4f Author: Nicolas Palix Date: Wed Jul 29 14:10:19 2009 +0200 Staging: hv: Remove typedef STORVSC_REQUEST and PSTORVSC_REQUEST typedef STORVSC_REQUEST and PSTORVSC_REQUEST are removed and their usages are replace by the use of struct hv_storvsc_request and struct hv_storvsc_request * respectively. Here is the semantic patch generated to perform this transformation: (http://coccinelle.lip6.fr/) // @rm_STORVSC_REQUEST@ @@ -typedef struct _STORVSC_REQUEST +struct hv_storvsc_request {...} -STORVSC_REQUEST ; @rm_PSTORVSC_REQUEST@ @@ -typedef struct _STORVSC_REQUEST *PSTORVSC_REQUEST; +struct hv_storvsc_request; @fixtypedef_STORVSC_REQUEST@ typedef STORVSC_REQUEST; @@ -STORVSC_REQUEST +struct hv_storvsc_request @fixstruct__STORVSC_REQUEST@ @@ struct -_STORVSC_REQUEST +hv_storvsc_request @fixtypedef_PSTORVSC_REQUEST@ typedef PSTORVSC_REQUEST; @@ -PSTORVSC_REQUEST +struct hv_storvsc_request* // Signed-off-by: Nicolas Palix Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 4193d4f41ca771d03d43aa9c38d70a7438e59ca7 Author: Nicolas Palix Date: Wed Jul 29 14:10:10 2009 +0200 Staging: hv: Remove typedef NETVSC_PACKET and PNETVSC_PACKET typedef NETVSC_PACKET and PNETVSC_PACKET are removed and their usages are replace by the use of struct hv_netvsc_packet and struct hv_netvsc_packet * respectively. Here is the semantic patch generated to perform this transformation: (http://coccinelle.lip6.fr/) // @rm_NETVSC_PACKET@ @@ -typedef struct _NETVSC_PACKET +struct hv_netvsc_packet {...} -NETVSC_PACKET ; @rm_PNETVSC_PACKET@ @@ -typedef struct _NETVSC_PACKET *PNETVSC_PACKET; +struct hv_netvsc_packet; @fixtypedef_NETVSC_PACKET@ typedef NETVSC_PACKET; @@ -NETVSC_PACKET +struct hv_netvsc_packet @fixstruct__NETVSC_PACKET@ @@ struct -_NETVSC_PACKET +hv_netvsc_packet @fixtypedef_PNETVSC_PACKET@ typedef PNETVSC_PACKET; @@ -PNETVSC_PACKET +struct hv_netvsc_packet* // Signed-off-by: Nicolas Palix Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 775ef25e575959ba6d104179b62b1b91a256f573 Author: Nicolas Palix Date: Wed Jul 29 14:09:45 2009 +0200 Staging: hv: Remove typedef DRIVER_OBJECT and PDRIVER_OBJECT typedef DRIVER_OBJECT and PDRIVER_OBJECT are removed and their usages are replace by the use of struct hv_driver and struct hv_driver * respectively. Here is the semantic patch generated to perform this transformation: (http://coccinelle.lip6.fr/) // @rm_DRIVER_OBJECT@ @@ -typedef struct _DRIVER_OBJECT +struct hv_driver {...} -DRIVER_OBJECT ; @rm_PDRIVER_OBJECT@ @@ -typedef struct _DRIVER_OBJECT *PDRIVER_OBJECT; +struct hv_driver; @fixtypedef_DRIVER_OBJECT@ typedef DRIVER_OBJECT; @@ -DRIVER_OBJECT +struct hv_driver @fixstruct__DRIVER_OBJECT@ @@ struct -_DRIVER_OBJECT +hv_driver @fixtypedef_PDRIVER_OBJECT@ typedef PDRIVER_OBJECT; @@ -PDRIVER_OBJECT +struct hv_driver* // Signed-off-by: Nicolas Palix Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b7d7ae6f1de803667f86d2f2a839bf513b294427 Author: Greg Kroah-Hartman Date: Tue Jul 28 16:18:05 2009 -0700 Staging: hv: properly fix the printk() warnings This fixes the printk() warnings on all platforms now (x86-64 and i386). Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit bafd2c2a16d4257fd580ad387f18a15377f60dc6 Author: Greg Kroah-Hartman Date: Tue Jul 28 15:05:29 2009 -0700 Staging: hv: remove more printk() warnings This should fix up the rest of the printk() warnings on an i386 build Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 44f357f835d8a8223b922984eea01aaea29a5f0f Author: Bill Pemberton Date: Tue Jul 28 13:46:26 2009 -0400 Staging: hv: remove HANDLE typedef Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 06d2e318b749689d659b3f0c90a157f1ebb31f15 Author: Bill Pemberton Date: Tue Jul 28 13:46:25 2009 -0400 Staging: hv remove TIMER typedef Remove the TIMER typedef and also replace HANDLE types that use the timer calls. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit aedb444a577184f7e113e1461fccc0ef10ffde55 Author: Bill Pemberton Date: Tue Jul 28 13:46:24 2009 -0400 Staging: hv: remove WAITEVENT typedef Remove the WAITEVENT typedef and also replace HANDLE types that use the WaitEvent calls with struct osd_waitevent. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b578852955765bfbe12bd31ac1e7888a3deaff40 Author: Bill Pemberton Date: Tue Jul 28 13:46:23 2009 -0400 Staging: hv: comment out blkdev variable in blkvsc_ioctl This variable generated an unused variable warning due to other code in the fuction being commented out. This comments out the variable defination so that the code compiles without warnings. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 2295ba2e7c4141e864f66830b07e635245233a3d Author: Bill Pemberton Date: Tue Jul 28 13:46:22 2009 -0400 Staging: hv: check return value of driver_for_each_device() The return value of driver_for_each_device() is now checked. A non-zero value simply generates a warning message, but it's better than not checking at all. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 3d3b5518a35fa3c31b74224d944cbc83302c5ab4 Author: Nicolas Palix Date: Tue Jul 28 17:32:53 2009 +0200 Staging: hv: Transform PDEVICE_OBJECT and DEVICE_OBJECT typedefs into their corresponding structs Remove typedef DEVICE_OBJECT and use a struct named hv_device instead. Remove typedef PDEVICE_OBJECT which aliases a pointer and use struct hv_device * instead. Here is the semantic patch to perform this transformation: (http://coccinelle.lip6.fr/) // @rm_PDEVICE_OBJECT@ @@ -typedef struct _DEVICE_OBJECT *PDEVICE_OBJECT; @rm_DEVICE_OBJECT@ @@ -typedef struct _DEVICE_OBJECT +struct hv_device {...} -DEVICE_OBJECT ; @fixtypedef_PDEVICE_OBJECT@ typedef PDEVICE_OBJECT; @@ -PDEVICE_OBJECT +struct hv_device* @fixtypedef_DEVICE_OBJECT@ typedef DEVICE_OBJECT; @@ -DEVICE_OBJECT +struct hv_device @fixstruct__DEVICE_OBJECT@ @@ struct -_DEVICE_OBJECT +hv_device // Signed-off-by: Nicolas Palix Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit df8d9b1f6deb468dd6752f0cd1029157c15248fd Author: Bill Pemberton Date: Mon Jul 27 16:47:45 2009 -0400 Staging: hv: Remove WORKQUEUE typedef WORKQUEUE was a wrapper around struct workqueue_struct so just use that instead. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit d1af1db7d6cd7818e92531e170cc65510dd57692 Author: Bill Pemberton Date: Mon Jul 27 16:47:44 2009 -0400 Staging: hv: remove NETVSC_DEVICE typedef Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit a9a71354b07dc1a3ee6a4053b43d5219fcda7a42 Author: Bill Pemberton Date: Mon Jul 27 16:47:43 2009 -0400 Staging: hv: remove VMBUS_MSGINFO typedef Note that this struct doesn't appear to be used anywhere and can probably be removed. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 662e66b0e4f91f08e0d57e30b0bd83421e04bf79 Author: Bill Pemberton Date: Mon Jul 27 16:47:42 2009 -0400 Staging: hv: remove VMBUS_CONNECTION typedef Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 5c3e375cf5cf709c95c705d564001c5a0ca3c50e Author: Bill Pemberton Date: Mon Jul 27 16:47:41 2009 -0400 Staging: hv: remove VMBUS_CONNECT_STATE typedef Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 3fcc523adca8e979eb710d54f467f8fc890a77da Author: Bill Pemberton Date: Mon Jul 27 16:47:40 2009 -0400 Staging: hv: remove VMBUS_CHANNEL_PACKET_MULITPAGE_BUFFER typedef Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0cf4fa80781dcdb5bf6096fa221f3fc6c7073405 Author: Bill Pemberton Date: Mon Jul 27 16:47:39 2009 -0400 Staging: hv: remove VMBUS_CHANNEL_PACKET_PAGE_BUFFER typedef Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b75f9c8cd2b0ed58f07142af84ddc68be45068c3 Author: Bill Pemberton Date: Mon Jul 27 16:47:38 2009 -0400 Staging: hv: Hv.c: remove unused physAddr physAddr was declared but never used in HvInit() Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 25fb66ce44fc7bf54a7d57b5d740fca4c2cf0297 Author: Bill Pemberton Date: Mon Jul 27 16:47:37 2009 -0400 Staging: hv: vmbus_drv.c: remove unused structs vmbus_ctl_table_hdr, vmbus_dev_ctl_table, vmbus_ctl_table, and vmus_root_ctl_table were never used. This removes them. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 5d48a1c20268871395299672dce5c1989c9c94e4 Author: Bill Pemberton Date: Mon Jul 27 16:47:36 2009 -0400 Staging: hv: check return value of device_register() Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit c19fbca307c19bd0d49e86b9417613c90eb9de95 Author: Bill Pemberton Date: Mon Jul 27 16:47:35 2009 -0400 Staging: hv: check return value of bus_register() Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b2aba7cc7105de5ce7769d7b5ddb0b0bc28909c5 Author: Bill Pemberton Date: Mon Jul 27 16:47:34 2009 -0400 Staging: hv: vmbus_drv.c: fix print formatting Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 7f6f27d65cfd94cab66b64cf4a1ef87f1bd8ea86 Author: Bill Pemberton Date: Mon Jul 27 16:47:33 2009 -0400 Staging: hv: storvsc_drv.c: fix print formatting Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 38d3af06737c6724e6f785fddf2679da02275dcb Author: Bill Pemberton Date: Mon Jul 27 16:47:32 2009 -0400 Staging: hv: RndisFilter.c: fix print formatting Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 4d4a0e22418b517907340248460583bbd22d0609 Author: Bill Pemberton Date: Mon Jul 27 16:47:31 2009 -0400 Staging: hv: NetVsc.c: fix print formatting Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit ed39aa6ac482f37e72634bb9fc95d976b2fd13d3 Author: Bill Pemberton Date: Mon Jul 27 16:47:30 2009 -0400 Staging: hv: Remove X2V_LINUX check Remove preprocessor check for X2V_LINUX in osd.c Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit dfe8b2d9d809fef5df24280e1e275fcd30776bd5 Author: Bill Pemberton Date: Mon Jul 27 16:47:29 2009 -0400 Staging: hv: fix blkvsc_ioctl() parameters blkvsc_ioctl() had the wrong parameter list for struct block_device_operations Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 77d2d9da7c74678b69170485909e63ff21e4af07 Author: Bill Pemberton Date: Mon Jul 27 16:47:28 2009 -0400 Staging: hv: fix blkvsc_release() parameters blkvsc_release() had the wrong parameter list for struct block_device_operations Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 39635f7d8de679d97e2773e6c5d2749a420bed87 Author: Bill Pemberton Date: Mon Jul 27 16:47:27 2009 -0400 Staging: hv: fix blkvsc_open() parameters blkvsc_open() had the wrong parameter list for struct block_device_operations Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 627c156d75582c6e678efabc64d33d4b1c66b4ce Author: Bill Pemberton Date: Mon Jul 27 16:47:26 2009 -0400 Staging: hv: blkvsc_drv.c: fix print formatting Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 78cd20035dc28f308e8c3d7a285ddfd23f129e65 Author: Bill Pemberton Date: Mon Jul 27 16:47:25 2009 -0400 Staging: hv: StorVsc.c: fix print formatting There were a few places that used %lx when they should have used %x and a few places that used %d when they should have used %ld Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 454f18a963cf6519bf317e74e6b9781ffef8d253 Author: Bill Pemberton Date: Mon Jul 27 16:47:24 2009 -0400 Staging: hv: Remove C99 comments Remove C99 // comments with traditional /* */ comments Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 226408a4998041d7832123ab9ccd743e878197ed Author: Bill Pemberton Date: Mon Jul 27 16:47:23 2009 -0400 Staging: hv: Use %ld instead of %d for a long ints Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 222076b681cb59ec0bcaf10075ecb9e05f3810b4 Author: Greg Kroah-Hartman Date: Mon Jul 27 09:17:51 2009 -0700 Staging: hv: force hyper-v drivers to be built as a module Right now they can not be built into the kernel due to global symbol name conflicts that this code is causing. Thanks to Nicolas Palix for pointing this out. Reported-by: Nicolas Palix Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 06da0bc86565765cb6bf2fd85dbdeeea88095051 Author: Nicolas Palix Date: Wed Jul 22 15:39:13 2009 +0200 Staging: hv: Transform some kzalloc calls to kcalloc Here is a short excerpt of the semantic patch performing this transformation: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E1,E2,E3; @@ - kzalloc(E1*sizeof(E2),E3) + kcalloc(E1,sizeof(E2),E3) @@ expression E1,E3; type T; @@ - kzalloc(E1*sizeof(T),E3) + kcalloc(E1,sizeof(T),E3) // Signed-off-by: Nicolas Palix Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit c18b5aed9d8c37db5e5835eb7d25f99f62a7f06a Author: Moritz Muehlenhoff Date: Tue Jul 21 01:22:08 2009 +0200 Staging: hv: Remove compatibility ifdefry Signed-off-by: Moritz Muehlenhoff Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit d4923090c1591f12d8f65e9d15a7ce2b63be2e87 Author: Greg Kroah-Hartman Date: Thu Jul 16 12:37:18 2009 -0700 Staging: hv: osd: remove GetTickCount and GetTimestamp wrappers No one was even using them. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 2701f686d7083d516c2f937031515b032d71f563 Author: Greg Kroah-Hartman Date: Thu Jul 16 12:36:37 2009 -0700 Staging: hv: fix up printk warnings After LogMsg was converted to printk, lots of build warnings showed up as no one was checking the arguments to LogMsg. This patch fixes them all. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 04f50c4d25184edb5a47dc0dcbcf8f71c42e7a16 Author: Greg Kroah-Hartman Date: Thu Jul 16 12:35:37 2009 -0700 Staging: hv: osd: remove PrintBytes wrapper Use the "real" print_hex_dump_bytes call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit a14bd58cd39b6af4d9af5827c5c70c4582c5b486 Author: Greg Kroah-Hartman Date: Thu Jul 16 12:35:07 2009 -0700 Staging: hv: osd: remove LogMsg wrapper Use the "real" printk call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 28b6ca9c07787885b89972929f45084eb3197d98 Author: Greg Kroah-Hartman Date: Thu Jul 16 12:34:20 2009 -0700 Staging: hv: osd: remove MemoryFence wrapper Use the "real" mb call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit b4362c9c1fe8bec487e275f92fdf57c585ac236a Author: Greg Kroah-Hartman Date: Thu Jul 16 11:50:41 2009 -0700 Staging: hv: osd: remove Sleep wrapper Use the "real" udelay call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 3bcfa88868fd9338606d66ee8ae18aa45fa36566 Author: Greg Kroah-Hartman Date: Wed Jul 15 14:58:10 2009 -0700 Staging: hv: osd: remove spinlock wrapper functions Now that there are no users of the wrapper functions for spinlocks, remove them. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 0f5e44ca6e777660af6b0eb44d4787563932eda8 Author: Greg Kroah-Hartman Date: Wed Jul 15 14:57:16 2009 -0700 Staging: hv: make gVmbusConnection.ChannelLock a real spinlock Don't use the wrapper functions for this lock, make it a real lock so that we know what is going on. I don't think we really want to be doing a irqsave for this code, but I left it alone to preserve the original codepath. It should be reviewed later. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit dd0813b6f51b33529f37ba43334ac65e82d772e8 Author: Greg Kroah-Hartman Date: Wed Jul 15 14:56:45 2009 -0700 Staging: hv: make gVmbusConnection.ChannelMsgLock a real spinlock Don't use the wrapper functions for this lock, make it a real lock so that we know what is going on. I don't think we really want to be doing a irqsave for this code, but I left it alone to preserve the original codepath. It should be reviewed later. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 6436873afce6f20fecc0c5099db899b25e1e6c2b Author: Greg Kroah-Hartman Date: Wed Jul 15 14:56:15 2009 -0700 Staging: hv: make netDevice->ReceivePacketListLock a real spinlock Don't use the wrapper functions for this lock, make it a real lock so that we know what is going on. I don't think we really want to be doing a irqsave for this code, but I left it alone to preserve the original codepath. It should be reviewed later. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 880fb89c1f23c17de6c964dca7943d2f76a8e17c Author: Greg Kroah-Hartman Date: Wed Jul 15 14:55:29 2009 -0700 Staging: hv: make Device->RequestLock a real spinlock Don't use the wrapper functions for this lock, make it a real lock so that we know what is going on. I don't think we really want to be doing a irqsave for this code, but I left it alone to preserve the original codepath. It should be reviewed later. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit a98f96eed5fa16f4868b4af2d50af77f57a1b231 Author: Greg Kroah-Hartman Date: Wed Jul 15 14:55:14 2009 -0700 Staging: hv: make RingInfo->RingLock a real spinlock Don't use the wrapper functions for this lock, make it a real lock so that we know what is going on. I don't think we really want to be doing a irqsave for this code, but I left it alone to preserve the original codepath. It should be reviewed later. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 54411c425fe0f5f8a5fcc1f3098693419ae87306 Author: Greg Kroah-Hartman Date: Wed Jul 15 14:48:32 2009 -0700 Staging: hv: make Channel->InboundLock a real spinlock Don't use the wrapper functions for this lock, make it a real lock so that we know what is going on. I don't think we really want to be doing a irqsave for this code, but I left it alone to preserve the original codepath. It should be reviewed later. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 8c69f52ab3d918be9d91c8202e5321421876ea50 Author: Greg Kroah-Hartman Date: Wed Jul 15 12:48:29 2009 -0700 Staging: hv: osd: remove MemFree wrapper Use the "real" kfree call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 0a72f3cf9f53ae0f4f1c6e05bb081d99b5d72db2 Author: Greg Kroah-Hartman Date: Wed Jul 15 12:48:01 2009 -0700 Staging: hv: osd: remove MemAllocAtomic wrapper Use the "real" kmalloc call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit e276a3a5781f1e1ce0f912cc909ade147fa86a53 Author: Greg Kroah-Hartman Date: Wed Jul 15 12:47:43 2009 -0700 Staging: hv: osd: remove MemAllocZeroed wrapper Use the "real" kzalloc call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit e40d37cc002de9a6e3058646114b585ec4354745 Author: Greg Kroah-Hartman Date: Wed Jul 15 12:47:22 2009 -0700 Staging: hv: osd: remove MemAlloc wrapper Use the "real" kmalloc call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 0e727613ac6e1648d681a75d794862225c801d4b Author: Greg Kroah-Hartman Date: Wed Jul 15 12:46:44 2009 -0700 Staging: hv: remove TRUE, FALSE, and NULL usage Don't define things that are either already provided (like NULL), or you shouldn't use (like TRUE and FALSE). Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 1f765540f49141e5418c3101df0f7580e7b10aa7 Author: Greg Kroah-Hartman Date: Wed Jul 15 12:46:02 2009 -0700 Staging: hv: remove FIELD_OFFSET usage This isn't needed, or even used, at all. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 4e9bfefa3c0262726607d7633cbcbec7a3f50df4 Author: Greg Kroah-Hartman Date: Wed Jul 15 12:45:20 2009 -0700 Staging: hv: remove UNUSED_VAR usage This isn't needed at all. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit b211a955d4f48c855c5341e00d27b4b61b96c1f6 Author: Greg Kroah-Hartman Date: Wed Jul 15 11:07:45 2009 -0700 Staging: hv: remove STRUCT_PACKED and STRUCT_ALIGNED defines Use the correct __attribute__((packed)) one if it's really needed. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 0ffa63b09bf99ce3ee879c7de1c687267a90d20b Author: Greg Kroah-Hartman Date: Wed Jul 15 11:06:01 2009 -0700 Staging: hv: remove PAGE_SIZE and PAGE_SHIFT and __builtin functions The kernel provides all of this, and actually gets it correct, so don't try to redefine these types of things. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit fc6a4b2609b35448ad72302d375a40edf31887d2 Author: Greg Kroah-Hartman Date: Wed Jul 15 11:05:14 2009 -0700 Staging: hv: remove MIN and MAX usages The kernel has the "correct" min() and max() functions, so use those. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 22ae0bea092e5d1d1deeeffde43b780006935335 Author: Greg Kroah-Hartman Date: Wed Jul 15 11:04:20 2009 -0700 Staging: hv: remove #defines from osd.c Remove the unneeded #defines from osd.c Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 27274e5df29d6457f1b7f74d211cde0c1b4a55c1 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:13:46 2009 -0700 Staging: hv: remove BOOL and BOOLEAN typedefs The BOOL and BOOLEAN typedefs are now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 84988a105e4acfa00f5a1e48b2c7edf1d4aa46a2 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:14:52 2009 -0700 Staging: hv: remove DWORD and BYTE typedefs No one was even using them... Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 45635d9703d649645afa52b23896d02e38a73852 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:14:20 2009 -0700 Staging: hv: remove SIZE_T typedef The SIZE_T typedef is now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 3abcbc45cb768ec84b9643bc8f141639dcfba4c3 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:13:46 2009 -0700 Staging: hv: remove ULONG and LONG typedefs The ULONG and LONG typedefs are now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit c4b0bc94828a86cfb6a975b0e0d92dc1cd389565 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:12:46 2009 -0700 Staging: hv: remove ULONG_PTR typedef The ULONG_PTR typedef is now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit b509bf5badcd30b1c163349a87a56933b59663e1 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:11:45 2009 -0700 Staging: hv: remove ULONGLONG and LONGLONG typedefs The ULONGLONG and LONGLONG typedefs are now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 2be8093ac39fa59d9e451f4bf81e1fee38e23bbb Author: Greg Kroah-Hartman Date: Tue Jul 14 15:11:03 2009 -0700 Staging: hv: remove USHORT typedef The USHORT typedef is now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 59471438ccbebafb0d63baf8b818d0ca692f882a Author: Greg Kroah-Hartman Date: Tue Jul 14 15:10:26 2009 -0700 Staging: hv: remove UINT64 and INT64 and UCHAR typedefs The UINT64 and INT64 and UCHAR typedefs are now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 4d64311468a90d4ab1e83c62d63b27da598b73ea Author: Greg Kroah-Hartman Date: Tue Jul 14 15:09:36 2009 -0700 Staging: hv: remove UINT32 and INT32 typedefs The UINT32 and INT32 typedefs are now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 5cd508bc3ac032343e6853cd5712ac392942fb2c Author: Greg Kroah-Hartman Date: Tue Jul 14 15:09:10 2009 -0700 Staging: hv: remove UINT16 and INT16 typedefs The UINT16 and INT16 typedefs are now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 5654e932262840f853233317689fc59536226d76 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:08:20 2009 -0700 Staging: hv: remove UINT8 and INT8 typedefs The UINT8 and INT8 typedefs are now removed from the Hyper-V driver code. Had to include in a few places to get the build to work properly as well. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit e20f683b6451a39619cd67e20d69597070aa8d17 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:07:21 2009 -0700 Staging: hv: remove VOID typedef The VOID typedef is now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 8282c400144a83f85f637a5251740d670e392e84 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:06:28 2009 -0700 Staging: hv: remove PVOID typedef The PVOID typedef is now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 2be1301b7dafe5c1d081607377291d4274b40d66 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:05:36 2009 -0700 Staging: hv: remove INTERNAL typedef The INTERNAL typedef is now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 621d7fb7597e8cc2e24e6b0ca67118b452675d90 Author: Greg Kroah-Hartman Date: Fri Jul 24 11:00:39 2009 -0700 Staging: hv: netvsc: fix up driver_data usage driver_data is gone now from struct device, so use the proper functions to access it instead. Thanks to Bill Pemberton for pointing out this build error. Cc: Bill Pemberton Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 511bda8fe1607ab2e4b2f3b008b7cfbffc2720b1 Author: Greg Kroah-Hartman Date: Tue Jul 14 11:01:18 2009 -0700 Staging: hv: add the Hyper-V virtual network driver to the build Add the Hyper-V virtual network driver to the kernel build system. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit c86f3e2a73f4924b20ed7a56ebdaf874af861911 Author: Greg Kroah-Hartman Date: Tue Jul 14 10:59:56 2009 -0700 Staging: hv: make the Hyper-V virtual network driver build The #define KERNEL_2_6_27 needs to be set, and I adjusted the include directories a bit to get things to build properly. The driver was changed to use net_device_ops, as that is needed to build and operate properly now. The hv_netvsc code should now build with no errors. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit b57a68dcd9030515763133f79c5a4a7c572e45d6 Author: Greg Kroah-Hartman Date: Fri Jul 24 11:00:10 2009 -0700 Staging: hv: blkvsc: fix up driver_data usage driver_data is gone now from struct device, so use the proper functions to access it instead. Thanks to Bill Pemberton for pointing out this build error. Cc: Bill Pemberton Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 88d3bb31b42f3f095bd176ccabe210023a0231b8 Author: Greg Kroah-Hartman Date: Tue Jul 14 10:25:53 2009 -0700 Staging: hv: add the Hyper-V virtual block driver to the build Add the Hyper-V virtual block driver to the kernel build system. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 0fce4c2f491cc1a579cac28b67208600cfff6d38 Author: Greg Kroah-Hartman Date: Tue Jul 14 10:24:38 2009 -0700 Staging: hv: make the Hyper-V virtual block driver build The #define KERNEL_2_6_27 needs to be set, and I adjusted the include directories a bit to get things to build properly. I also fixed up the direct access of bus_id, as that field is now gone. Lots of block api changes were needed, and I don't think I got it all correct. It would be great of someone who knows the block api better could review it. The hv_blkvsc code should now build, with no errors. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 0883c52bb245cb2be20546babcd54121e7ff17e2 Author: Greg Kroah-Hartman Date: Fri Jul 24 10:58:22 2009 -0700 Staging: hv: storvsc: fix up driver_data usage driver_data is gone now from struct device, so use the proper functions to access it instead. Thanks to Bill Pemberton for pointing out this build error. Cc: Bill Pemberton Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit c3260cfe8f08ca4564df61950cbebbb693aee292 Author: Greg Kroah-Hartman Date: Tue Jul 14 10:19:52 2009 -0700 Staging: hv: add the Hyper-V virtual scsi driver to the build Add the Hyper-V virtual scsi driver to the kernel build system. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 97f4ee3d93602882eb22a3f5e6bf4eb51b7414ce Author: Greg Kroah-Hartman Date: Tue Jul 14 10:18:50 2009 -0700 Staging: hv: make the Hyper-V virtual storage driver build The #define KERNEL_2_6_27 needs to be set, and I adjusted the include directories a bit to get things to build properly. I also fixed up the direct access of bus_id, as that field is now gone. Some minor scsi api changes were needed as well. The hv_storvsc code should now build properly, with no errors. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit c4ca0e9e6de92f46271599db90f4ab006c133441 Author: Greg Kroah-Hartman Date: Mon Jul 13 16:04:02 2009 -0700 Staging: hv: add the Hyper-V virtual bus to the build Add the Hyper-V virtual bus to the kernel build system. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 530cf2070be30831a371b6c7181d15e5976b6fc7 Author: Greg Kroah-Hartman Date: Thu Jul 16 22:31:15 2009 -0700 Staging: hv: use the correct #ifdef for x86-64 x86-64 needs a different config check. Thanks to Hank for the debugging to determine the fix for this. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 09d50ff8a233a39e8697e776b06cf5be2de48bb1 Author: Greg Kroah-Hartman Date: Mon Jul 13 17:09:34 2009 -0700 Staging: hv: make the Hyper-V virtual bus code build The #define KERNEL_2_6_27 needs to be set, and I adjusted the include directories a bit to get things to build properly. I also fixed up the direct access of bus_id, as that field is now gone. The hv_vmbus code should now build properly, with no errors. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 51b671f2f40c303fd4d18e346f63af62c9b1f622 Author: Greg Kroah-Hartman Date: Wed Jul 15 10:21:36 2009 -0700 Staging: hv: add a TODO file First cut at what needs to be done to this codebase. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit bef4a34a281ec9d631dc2acc21538a1d86bfe928 Author: Hank Janssen Date: Mon Jul 13 16:01:31 2009 -0700 Staging: hv: add the Hyper-V virtual storage driver This is the virtual storage driver when running Linux on top of Hyper-V. Signed-off-by: Hank Janssen Signed-off-by: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit fceaf24a943d8d50391f409ac7fb888cd1f36f32 Author: Hank Janssen Date: Mon Jul 13 15:34:54 2009 -0700 Staging: hv: add the Hyper-V virtual network driver This is the virtual network driver when running Linux on top of Hyper-V. Signed-off-by: Hank Janssen Signed-off-by: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit f82bd0462f251ecbe13160a3f34bd48b5087666c Author: Hank Janssen Date: Mon Jul 13 15:33:02 2009 -0700 Staging: hv: add the Hyper-V virtual block driver This is the virtual block driver when running Linux on top of Hyper-V. Signed-off-by: Hank Janssen Signed-off-by: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 3e7ee4902fe6996048f03433dd111426db3cfa92 Author: Hank Janssen Date: Mon Jul 13 16:02:34 2009 -0700 Staging: hv: add the Hyper-V virtual bus This is the virtual bus that all of the Linux Hyper-V drivers use. Signed-off-by: Hank Janssen Signed-off-by: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit ab05778195b5cc1e77130424f7f6b6f848a137f1 Author: Hank Janssen Date: Mon Jul 13 15:19:28 2009 -0700 Staging: hv: add the Hyper-V driver header files These are the header files for the different Linux Hyper-V drivers to use. Signed-off-by: Hank Janssen Signed-off-by: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 565e7dc81d9f239aa5896e754816c4f9dc51f1be Author: Hank Janssen Date: Mon Jul 13 15:15:47 2009 -0700 Staging: hv: add the Hyper-V api header files These are the header files for the API to talk to the Hyper-V core. Signed-off-by: Hank Janssen Signed-off-by: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 578f2938a43f83988f6edab86cff487889b4ef58 Author: Pavel Machek Date: Fri Jul 17 14:55:53 2009 +0200 Staging: HTC Dream: Makefile glue This provides Makefile/Kconfig glue for HTC Dream staging parts. Signed-off-by: Pavel Machek Cc: Brian Swetland Cc: Iliyan Malchev Cc: San Mehat Signed-off-by: Greg Kroah-Hartman commit eb7b797b40043a79aafa33d8493918985e2c72ab Author: Brian Swetland Date: Fri Jul 17 14:45:17 2009 +0200 Staging: HTC Dream: add camera support This patch adds driver for HTC Dream camera. I guess driver is slightly higher quality than usual for staging/ , but it is fairly big and I don't feel like doing all the cleanups myself. Also some parts can probably be removed, as they did not end up in shipping hardware.. Signed-off-by: Pavel Machek Cc: Brian Swetland Cc: Iliyan Malchev Cc: San Mehat Signed-off-by: Greg Kroah-Hartman commit caff4caead44f6a1ed0bc8ca50d8607d01f69b78 Author: Iliyan Malchev Date: Fri Jul 17 13:10:30 2009 +0200 Staging: HTC Dream: add qdsp support QDSP code is neccessarry for communication with some hardware components on HTC Dream, including camera hardware. It also drives DSP coproccessor. Signed-off-by: Pavel Machek Cc: Brian Swetland Cc: Iliyan Malchev Cc: San Mehat Signed-off-by: Greg Kroah-Hartman commit 7bf06dace0ed0f3ced257c1906409890c32f9664 Author: Brian Swetland Date: Fri Jul 17 13:09:09 2009 +0200 Staging: HTC Dream: add rpcrouter driver rpcrouter code is neccessarry for communication with QDSP and thus many hardware components on HTC Dream, including camera hardware. Cc: Brian Swetland Cc: Iliyan Malchev Cc: San Mehat Signed-off-by: Pavel Machek commit 0d8dc6b05bf2645181eeac1f7e0cc4b105911565 Author: Brian Swetland Date: Fri Jul 17 13:08:15 2009 +0200 Staging: HTC Dream: add smd code Infrastructure to support the Qualcomm "shared memory driver" interface, used to communicate with the baseband processor on MSM7k SoCs. The smd core provides low level facilities to interact with the shared memory comms region, and a "virtual serial channel" interface that higher level transports (AT command channel, rmnet virtual ethernet, qmi network management protocol, and oncrpc, for example) are routed over. Signed-off-by: Pavel Machek Cc: Brian Swetland Cc: Iliyan Malchev Cc: San Mehat Signed-off-by: Greg Kroah-Hartman commit dda7940539b7f2122776ec22737d6f6c24d8724f Author: miaofng Date: Wed Jul 15 10:33:35 2009 -0400 Staging: vt6656: disable wpa related function due to memory failure of this part of codes Signed-off-by: miaofng Cc: Forest Bond Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c0593dd9343298a3a9d8e25bd42173765bbe9919 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:14:41 2009 +0200 Staging: rtl8192su/ieee80211: move rtl8192su specific code out from ieee80211.h Move rtl8192su specific code out from ieee80211.h to ieee80211_r8192s.h. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f59d012790af9402e276e073fd89b1ed35ef91c5 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:14:34 2009 +0200 Staging: rtl8192su/ieee80211: ieee80211.h cleanups * remove unused / duplicated definitions * remove unused / used only once typedefs * fix comments, remove useless ones * convert defines to enums where appropriate * use __func__ instead of __FUNCTION__ * make some minor coding style fixes * misc cleanups Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 86467e7bc1816f13b25691487f3a64861cb33b9a Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:14:28 2009 +0200 Staging: rtl8192su/ieee80211: remove unused ieee80211_wx_get_encode_ext() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7d74deed7cd15cd5c3b54b32b9b48c37d1f54002 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:14:21 2009 +0200 Staging: rtl8192su/ieee80211: remove unused IEEE80211_PRINT_STR() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d643db940d4a2e3fd2741082334e50274f721323 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:14:15 2009 +0200 Staging: rtl8192su: remove NOT_YET ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 793f96b58571ec09b2a332c52f5218240eddab0c Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:14:08 2009 +0200 Staging: rtl8192su/ieee80211: remove superfluous container_of definition Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit fbe0051dbb265b0cc6723ae5ae1f17b28a006631 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:14:02 2009 +0200 Staging: rtl8192su/ieee80211: remove OPENSUSE_SLED ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0766f233b6332d0ab21f61a5c5c33e7629d03d45 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:13:55 2009 +0200 Staging: rtl8192su: remove JOHN_DUMP[_TXDESC] ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5d9baea95f45bddcecab050de1af2ef678e85339 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:13:49 2009 +0200 Staging: rtl8192su: make private ieee80211 stack really private * rename ieee80211_{init,exit}() to ieee80211_debug_{init,exit}() * make private ieee80211 stack really private * cleanup Makefile * remove superfluous ieee80211_* defines * remove superfluous EXPORT_SYMBOLs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit add6e6342d7d72b6a53e81f053bf86562eb14e74 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:13:36 2009 +0200 Staging: rtl8192su: remove more unused files Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e1b19da1184190904c6782b56378969970620034 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:02:17 2009 +0200 Staging: rtl8187se/ieee80211: convert MMIE_TYPE_* defines to enums Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit bea385aceb2dbd14c09180274ba74edadd46ccf3 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:02:10 2009 +0200 Staging: rtl8187se/ieee80211: ieee80211.h reorderings Reorder the code in ieee80211.h for easier comparisions with rtl8192su's version of the file. While at it: * use IEEE80211_4ADDR_LEN for IEEE80211_LEN definition * remove unused country_code_type_t typedef * make some minor coding style fixes Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 03ea5099ad34b119f8dfba7e9a981d639d38dd3b Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:02:04 2009 +0200 Staging: rtl8187se/ieee80211: switch to use While at it: * remove some commented out code * remove some unused definitions Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0ddd6f6f441607ca4a202e786460023d64b31e3f Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:01:57 2009 +0200 Staging: rtl8187se: rename struct ieee80211_hdr_QOS to struct ieee80211_hdr_4addrqos Rename struct ieee80211_hdr_QOS to struct ieee80211_hdr_4addrqos and QOS_ctl field to qos_ctl (to match the naming used by rtl8192su). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 726f11e810da1fda13e0fad8af43feb8963a6232 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:01:51 2009 +0200 Staging: rtl8187se: rename struct ieee80211_hdr_3addr_qos to struct ieee80211_hdr_3addrqos Rename struct ieee80211_hdr_3addr_QOS to struct ieee80211_hdr_3addrqos and QOS_ctl field to qos_ctl (to match the naming used by rtl8192su). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0604384d4ba4cebb4e1c81a8b2c61958f49e31fe Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:01:44 2009 +0200 Staging: rtl8187se: rename struct ieee80211_hdr to struct ieee80211_hdr_4addr ieee80211_hdr name is too generic so use ieee80211_hdr_4addr one instead (which matches the naming used by rtl8192su driver). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f5ce8fe1fd256bc7f32d13aba83145e559a76942 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:01:38 2009 +0200 Staging: rtl8187se: remove ENABLE_IPS ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 343c17b0508586a5624ebce490c619064e51cc03 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:01:31 2009 +0200 Staging: rtl8187se/ieee80211: remove NOT_YET ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 946c2adde827557c10b05bacfe9cd573a191a4a1 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:01:25 2009 +0200 Staging: rtl8187se/ieee80211: remove FEDORACORE_9 ifdef Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 846eec42ba24c27d1ad24123d33ddb75c2e2c842 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:01:19 2009 +0200 Staging: rtl8187se/ieee80211: remove OPENSUSE_SLED ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 980fd895e63a831bb8f0db8741a19169d9274c75 Author: Julia Lawall Date: Sun Jul 12 09:43:21 2009 +0200 Staging: b3dfg: Drop NULL test on list_entry result list_entry, which is an alias for container_of, cannot return NULL, as there is no way to add a NULL value to a doubly linked list. A simplified version of the semantic match that findds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r@ expression x,E; statement S1,S2; position p,p1; @@ *x = list_entry@p(...) ... when != x = E *if@p1 (x == NULL) S1 else S2 // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit f2eb5197740d5c1c85de8a96111f153c33c4891e Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 10 21:47:17 2009 +0200 Staging: vt6655: remove unused Makefile.{arm,x86} files Cc: Forest Bond Cc: Alexander Beregalov Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 83a27326ee616d6b6dcdd074ad088554a52f9b11 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 10 21:48:16 2009 +0200 Staging: vt6655: remove PRIVATE_OBJ ifdefs Cc: Forest Bond Cc: Alexander Beregalov Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b8bc58c5fbfb25acbafc021fc392a8d93b541585 Author: Marcin Slusarz Date: Wed Jul 8 22:07:26 2009 +0200 Staging: rt*: don't confuse user of rt3070 driver with rt2870 strings Original author didn't bother to change strings for rt3070 driver. Fix it. Signed-off-by: Marcin Slusarz Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit bc0db7314240c7aa2866546e80b8ba157c8009f7 Author: Marcin Slusarz Date: Wed Jul 8 22:07:20 2009 +0200 Staging: rt*: fix wait_queue_head_t declaration on stack othwerwise lockdep complains: "INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator." Signed-off-by: Marcin Slusarz Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a777167fbf3965cbc40f0c4594e2a7ba61c19e1f Author: Marcin Slusarz Date: Wed Jul 8 22:07:07 2009 +0200 Staging: rt3070: add support for Linksys WUSB54GC-EU v3 According to FCC (*1) and *2 there's really RT2070L inside, but according to *2 RT3070 and RT2070 are compatible. *1 https://fjallfoss.fcc.gov/oetcf/eas/reports/ViewExhibitReport.cfm?mode=Exhibits&RequestTimeout=500&calledFromFrame=N&application_id=327783&fcc_id=%27Q87-WUSB54GCV3%27 (look for "Internal Photos") *2 http://rt2x00.serialmonkey.com/phpBB/viewtopic.php?f=5&t=5245 Signed-off-by: Marcin Slusarz Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 35c1b4629183ef4d234b5f92728be2d9526a9a21 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:08:32 2009 +0200 Staging: rtl8192su: remove dead code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9f7f00cd28e9f3bc578eb41489f4a75cf17fbdc8 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:08:24 2009 +0200 Staging: rtl8192su: remove unused files Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0f29f5871c165e346409f62d903f97cfad3894c5 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:08:16 2009 +0200 Staging: rtl8192su: remove RTL8192SU ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 60083ee0c210ff1e7b5c921f5ef8d70d54634593 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:08:08 2009 +0200 Staging: rtl8192su: remove RTL8192SE ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit bd7b22c91af8ae58c013d5bd2774dbca8fd979a1 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:08:02 2009 +0200 Staging: rtl8192su: remove RTL8192SU_DISABLE_IQK ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 8b804677f9d38f07e2e8644e3a96440759cdfa76 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:54 2009 +0200 Staging: rtl8192su: remove RTL8192S_PREPARE_FOR_NORMAL_RELEASE ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 68b6f506c675b5c70a99b861d3044c388d35858d Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:48 2009 +0200 Staging: rtl8192su: remove RTL8190_Download_Firmware_From_Header ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 642ec04b78f77e44a2a3c88ddb4fe6ffe57d9c33 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:40 2009 +0200 Staging: rtl8192su: remove RTL8192SU_USB_PHY_TEST ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 16fb15baea85302af9215b8558103aa27e008d36 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:34 2009 +0200 Staging: rtl8192su: remove RTL8192SU_ASIC_VERIFICATION ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit cd2c3c978fffaec1dd9fd8e8a5c8a93144a9f3f3 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:27 2009 +0200 Staging: rtl8192su: remove RTL8192SU_FPGA_2MAC_VERIFICATION ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 1522987a7f5c4be0e0a19217749ff10a26e89cdb Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:20 2009 +0200 Staging: rtl8192su: remove RTL8192SU_FPGA_UNSPECIFIED_NETWORK ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3a63e8287d8d8a6e0150b27deaf7ba97110dc274 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:14 2009 +0200 Staging: rtl8192su: remove RTL8192SU_USE_PARAM_TXPWR ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 385b330228b1f10877a66b87ab9164275f33d350 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:07 2009 +0200 Staging: rtl8192su: remove DISABLE_BB_RF ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b8bd14b9123b44f53013995914b86f44a55fa272 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:00 2009 +0200 Staging: rtl8192su: remove RTL8192S_DISABLE_FW_DM ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f063ba768e4e9096c4f8502446fb0838d557402c Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:53 2009 +0200 Staging: rtl8192su: remove RTL8192SU_DISABLE_CCK_RATE ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5b36d3bfbcf0afbc6dd49375fcd088103f6af0ac Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:47 2009 +0200 Staging: rtl8192su: remove USB_TX_DRIVER_AGGREGATION_ENABLE ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit db28336458f7f86c9c1b977e0235dd8baac93253 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:40 2009 +0200 Staging: rtl8192su: remove USB_RX_AGGREGATION_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a7e3c1d62124ca5de34aebd0451fa211d410ef93 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:33 2009 +0200 Staging: rtl8192su: remove EEPROM_OLD_FORMAT_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ee13be2f9404b9d46b566f5105d67d047a6ce478 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:27 2009 +0200 Staging: rtl8192su: remove USE_ONE_PIPE ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b8545591a9d057a9a13920322e9dc5da385d7638 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:20 2009 +0200 Staging: rtl8192su: remove THOMAS_TURBO ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b81ad777b9ee66a69dd270a451c214b7e443a0c1 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:11 2009 +0200 Staging: rtl8192su: remove CONFIG_RTL8192_PM ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 622d501862c5a237311b22f3a33e094d07626762 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:05 2009 +0200 Staging: rtl8192su: remove ENABLE_DOT11D ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit fe4f699c6fb886a8deaf1120fd52402c3bd7c459 Author: Robert P. J. Day Date: Sun Jul 5 05:19:29 2009 -0400 Staging: vt6655: Remove Makefile refs to EXPORT_SYMTAB Given that EXPORT_SYMTAB was removed long ago, remove the Makefile references to it. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 6fdc7f80c90f212ff3a37492edb7a3f91efbd0e1 Author: Alexander Beregalov Date: Fri Jul 3 16:25:53 2009 +0400 Staging: wlan-ng: remove dependency on WIRELESS_EXT version As the driver is in mainline now we can remove such dependency. WIRELESS_EXT is 22 now and it is always defined. Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit b63768681f0deba6a645304f3e5f88ce53952a66 Author: Alexander Beregalov Date: Fri Jul 3 16:25:51 2009 +0400 Staging: at76_usb: replace mac2str() with %pM Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit bbff696edead56dd87e1d10593ff0b438d29fbc5 Author: Alexander Beregalov Date: Fri Jul 3 16:25:50 2009 +0400 Staging: at76_usb: fix !CONFIG_WIRELESS_EXT build Fix this build error when CONFIG_WIRELESS_EXT is not set at76_usb.c:5322: error: 'struct net_device' has no member named 'wireless_data' at76_usb.c:5325: error: 'struct net_device' has no member named 'wireless_handlers' Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit e882335bb19c0b9f96971fa6b1fe6c019280056b Author: Alexander Beregalov Date: Sat Jul 4 23:09:32 2009 +0400 Staging: vt665x: depend on WIRELESS_EXT Make vt665x depended on WIRELESS_EXT and remove remain ifdef's Signed-off-by: Alexander Beregalov Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 70f38b105311c8e19a7fe89811d13ef81690072c Author: Alexander Beregalov Date: Fri Jul 3 14:07:14 2009 +0400 Staging: vt6656: remove dependency on WIRELESS_EXT version As the driver is in mainline now we can remove such dependency. WIRELESS_EXT is 22 now and it is always defined. Signed-off-by: Alexander Beregalov Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit edb3a9507c898ae5f71bbaae932e66801318e90b Author: Alexander Beregalov Date: Fri Jul 3 09:52:59 2009 +0400 Staging: vt6656: remove dependency on kernel version Signed-off-by: Alexander Beregalov Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 560a9be8320ab632c7d1dac058662f6c82e5676a Author: Richard Ash Date: Thu Aug 20 11:25:12 2009 +0100 Staging: quatech_usb2: Improvements to set_termios method This patch implements several improvements to the set_termios method suggested by Alan Cox: * Correct check for whether any changes are being requested. * Inform callers that mark/space parity isn't supported by always clearing the bit. * Pass back the actual used baud rate in case it doesn't match what was requested. Remaining known issues are that IXANY flow control is not supported, but we don't tell the caller that, and input and output XON/XOFF flow control are either both on or both off, but we don't indicate that back to the caller either. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit eba1aaddc0fd427d62f51747c6ec5f965ef5dc56 Author: Richard Ash Date: Thu Aug 20 11:24:59 2009 +0100 Staging: quatech_usb2: Improve debug output and fix write_room This patch contains changes made in the course of successfully reading data from the device. These consist of a number of corrections and additions to debug messages, and a fix for incorrect calculation of the number of characters in the device FIFO which affected the operation of the write_room method. The use of semaphores to control access to port settings is replaced by the preferred use of mutexes as this is the only code that uses them. Aug 18 17:09:32 [kernel] BUG: unable to handle kernel paging request at f82f122c Aug 18 17:09:32 [kernel] IP: [] tty_port_close_start+0x8c/0x15e Aug 18 17:09:32 [kernel] *pde = 00000000 Aug 18 17:09:32 [kernel] Modules linked in: snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss nls_iso8859_1 cifs xt_limit xt_NFLOG nfnetlink_log nfnetlink xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack iptable_filter ip_tables x_tables i915 fb drm i2c_algo_bit cfbcopyarea i2c_core video backlight output cfbimgblt cfbfillrect quatech_usb2(C) usbserial uhci_hcd ehci_hcd snd_intel8x0 snd_ac97_codec ac97_bus usbcore tg3 snd_pcm snd_timer libphy snd intel_agp psmouse evdev ohci1394 soundcore ide_cd_mod cdrom ieee1394 snd_page_alloc agpgart floppy Aug 18 17:09:32 [kernel] Pid: 4192, comm: cat Tainted: G C (2.6.31-rc6-gkh #9) HP Compaq dc5100 MT(PW097ET) Aug 18 17:09:32 [kernel] EIP: 0060:[] EFLAGS: 00010046 CPU: 0 Aug 18 17:09:32 [kernel] EIP is at tty_port_close_start+0x8c/0x15e Aug 18 17:09:32 [kernel] EAX: 00000000 EBX: 00000246 ECX: ebacc380 EDX: 00000000 Aug 18 17:09:32 [kernel] ESI: f72f1204 EDI: e6073000 EBP: e60b3ce4 ESP: e60b3ccc Aug 18 17:09:32 [kernel] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068 Aug 18 17:09:32 [kernel] bcc17886 e60b3d2c bcc17886 f72f1200 f72f1204 e6073000 e60b3d10 f8b01a67 Aug 18 17:09:32 [kernel] <0> 00000000 e60b3d10 c11d9343 e60730a0 ebacc380 bcc17886 e6073000 00000000 Aug 18 17:09:32 [kernel] <0> ebacc380 e60b3d90 c11da71c 00000000 f7802480 bcc17886 ebacc380 00000000 Aug 18 17:09:32 [kernel] [] ? serial_close+0x3c/0x9a [usbserial] Aug 18 17:09:32 [kernel] [] ? tty_fasync+0x63/0xe3 Aug 18 17:09:32 [kernel] [] ? tty_release_dev+0x159/0x47d Aug 18 17:09:32 [kernel] [] ? prio_tree_remove+0x6c/0xc5 Aug 18 17:09:32 [kernel] [] ? put_object+0x46/0x5e Aug 18 17:09:32 [kernel] [] ? tty_release+0x19/0x35 Aug 18 17:09:32 [kernel] [] ? __fput+0xed/0x1e4 Aug 18 17:09:32 [kernel] [] ? fput+0x24/0x39 Aug 18 17:09:32 [kernel] [] ? filp_close+0x4c/0x7b Aug 18 17:09:32 [kernel] [] ? put_files_struct+0xc3/0xd2 Aug 18 17:09:32 [kernel] [] ? exit_files+0x2c/0x40 Aug 18 17:09:32 [kernel] [] ? do_exit+0xd0/0x5f5 Aug 18 17:09:32 [kernel] [] ? recalc_sigpending+0x1b/0x4b Aug 18 17:09:32 [kernel] [] ? dequeue_signal+0x96/0x154 Aug 18 17:09:32 [kernel] [] ? do_group_exit+0x3b/0x77 Aug 18 17:09:32 [kernel] [] ? get_signal_to_deliver+0x140/0x31b Aug 18 17:09:32 [kernel] [] ? tty_put_char+0x43/0x4b Aug 18 17:09:32 [kernel] [] ? do_notify_resume+0xae/0x7fb Aug 18 17:09:32 [kernel] [] ? tty_read+0x8f/0xb5 Aug 18 17:09:32 [kernel] [] ? n_tty_read+0x0/0x5d2 Aug 18 17:09:32 [kernel] [] ? vfs_read+0xb4/0x178 Aug 18 17:09:32 [kernel] [] ? tty_read+0x0/0xb5 Aug 18 17:09:32 [kernel] [] ? sys_read+0x52/0x8b Aug 18 17:09:32 [kernel] [] ? work_notifysig+0x13/0x19 Aug 18 17:09:32 [kernel] ---[ end trace 16f434ec7e2925bc ]--- Aug 18 17:09:32 [kernel] Fixing recursive fault but reboot is needed! My guess is that my driver is doing something "wrong" in terms of it's interface to the higher level layers and so is causing the oops. Are there any mechanisms to turn on more checking / debugging in the layers above the usb-serial layer to try and catch the cause of the problem? I've already got USB_DEBUG enabled, what others might be relevant (presumably USB_SERIAL_DEBUG isn't)? Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit d3f0e10a702defea05b6c3277ec6326c87138e82 Author: Richard Ash Date: Thu Aug 20 11:24:49 2009 +0100 Staging: quatech_usb2: vendor implementation of break_ctl This patch imports the implementation of the break_ctl, throttle and unthrottle methods from the vendor driver into the staging driver. This compiles but is not yet tested. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit 2715dd6a93c69b29f59bec4c6e2fca84883078f0 Author: Richard Ash Date: Thu Aug 20 11:24:39 2009 +0100 Staging: quatech_usb2: vendor implementation of set_termios method This patch imports the implementation of the set_termios method from the vendor driver into the staging driver. The common terminal setting changes should be supported. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit 2feb633d6580d8e6a61890bef1c0ea9020e61225 Author: Richard Ash Date: Mon Aug 17 10:43:49 2009 +0100 Staging: quatech_usb2: chars_in_buffer() fix It seems I can't count. Patch to fix chars_in_buffer() method (broken in vendor driver), and subsequently simplify the close() method, making it somewhat less broken. There is quite a bit more improvement to do on this method though. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit dbe2481580a6933c07627d4da0d20db5fd05a044 Author: Richard Ash Date: Mon Aug 17 10:39:58 2009 +0100 Staging: quatech_usb2: TIOCMGET and TIOCMSET removal Patch to remove TIOCMGET and TIOCMSET from the driver ioctl method, as they never get used (error in vendor driver). Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit 89b5098d8ea97eb29c064a0e093f48b7618fc88e Author: Richard Ash Date: Mon Aug 17 10:35:18 2009 +0100 Staging: quatech_usb2: write_room rewrite The following patch re-writes the write_room method to work in the obvious sort of way, so it keeps it's promises to the layers above. Based on feedback from Alan Cox. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit 713e5f69d07ce6ff4ac9c2637ece4829a8127606 Author: Richard Ash Date: Mon Aug 17 10:32:53 2009 +0100 Staging: quatech_usb2: close, read, and some ioctl support This patch implements close(), read(), write() and some ioctls, and fixes some implementation issues in open(). Compared to the previous patch it doesn't suffer an oops in the module code, however if you try to open any of the serial devices a second time then an oops occurs in tty_open(), presumably because my code isn't playing nicely on the previous close(): Aug 13 11:44:01 [kernel] WARNING: at drivers/char/tty_io.c:1268 tty_open+0x3e5/0x46d() Aug 13 11:44:01 [kernel] Hardware name: HP Compaq dc5100 MT(PW097ET) Aug 13 11:44:01 [kernel] Modules linked in: quatech_usb2(C) usbserial snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss nls_iso8859_1 cifs xt_limit xt_NFLOG nfnetlink_log nfnetlink xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack iptable_filter ip_tables x_tables i915 fb drm i2c_algo_bit cfbcopyarea i2c_core video backlight output cfbimgblt cfbfillrect snd_intel8x0 snd_ac97_codec ehci_hcd ac97_bus uhci_hcd snd_pcm snd_timer usbcore snd ohci1394 psmouse ide_cd_mod cdrom tg3 soundcore snd_page_alloc ieee1394 libphy intel_agp agpgart floppy evdev [last unloaded: usbserial] Aug 13 11:44:01 [kernel] Pid: 26765, comm: stty Tainted: G C 2.6.31-rc5-git3-gkh #7 Aug 13 11:44:01 [kernel] Call Trace: Aug 13 11:44:01 [kernel] [] ? tty_open+0x3e5/0x46d Aug 13 11:44:01 [kernel] [] warn_slowpath_common+0x88/0xb0 Aug 13 11:44:01 [kernel] [] ? tty_open+0x3e5/0x46d Aug 13 11:44:01 [kernel] [] warn_slowpath_null+0x21/0x3b Aug 13 11:44:01 [kernel] [] tty_open+0x3e5/0x46d Aug 13 11:44:01 [kernel] [] chrdev_open+0x77/0x113 Aug 13 11:44:01 [kernel] [] __dentry_open+0xb8/0x230 Aug 13 11:44:01 [kernel] [] ? chrdev_open+0x0/0x113 Aug 13 11:44:01 [kernel] [] nameidata_to_filp+0x61/0x6a Aug 13 11:44:01 [kernel] [] do_filp_open+0x248/0x7cd Aug 13 11:44:01 [kernel] [] ? __do_fault+0x2ba/0x3b2 Aug 13 11:44:01 [kernel] [] ? alloc_fd+0x6a/0xf1 Aug 13 11:44:01 [kernel] [] do_sys_open+0x5f/0x12b Aug 13 11:44:01 [kernel] [] sys_open+0x2e/0x47 Aug 13 11:44:01 [kernel] [] sysenter_do_call+0x12/0x26 Aug 13 11:44:01 [kernel] ---[ end trace 1d6b9e2cd7636394 ]--- Aug 13 11:44:01 [kernel] BUG: unable to handle kernel NULL pointer dereference at 00000004 Aug 13 11:44:01 [kernel] IP: [] file_move+0x26/0x47 Aug 13 11:44:01 [kernel] *pde = 00000000 Aug 13 11:44:01 [kernel] Modules linked in: quatech_usb2(C) usbserial snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss nls_iso8859_1 cifs xt_limit xt_NFLOG nfnetlink_log nfnetlink xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack iptable_filter ip_tables x_tables i915 fb drm i2c_algo_bit cfbcopyarea i2c_core video backlight output cfbimgblt cfbfillrect snd_intel8x0 snd_ac97_codec ehci_hcd ac97_bus uhci_hcd snd_pcm snd_timer usbcore snd ohci1394 psmouse ide_cd_mod cdrom tg3 soundcore snd_page_alloc ieee1394 libphy intel_agp agpgart floppy evdev [last unloaded: usbserial] Aug 13 11:44:01 [kernel] Pid: 26765, comm: stty Tainted: G WC (2.6.31-rc5-git3-gkh #7) HP Compaq dc5100 MT(PW097ET) Aug 13 11:44:01 [kernel] EIP: 0060:[] EFLAGS: 00010282 CPU: 0 Aug 13 11:44:01 [kernel] EIP is at file_move+0x26/0x47 Aug 13 11:44:01 [kernel] EAX: 00000000 EBX: e593b508 ECX: ea7e9900 EDX: f734a888 Aug 13 11:44:01 [kernel] ESI: 00000000 EDI: 0bc00004 EBP: d8923e10 ESP: d8923e08 Aug 13 11:44:01 [kernel] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068 Aug 13 11:44:01 [kernel] 2ba6efc8 c8c93180 d8923e48 c11dbca7 ea7e9900 eed37e6c 00000000 00008800 Aug 13 11:44:01 [kernel] <0> 00000000 e593b400 e593b400 00000004 2ba6efc8 c8c93188 00000000 eed37e6c Aug 13 11:44:01 [kernel] <0> d8923e68 c10883d1 ea7e9900 2ba6efc8 2ba6efc8 ea7e9900 eed37e6c ffffffe9 Aug 13 11:44:01 [kernel] [] ? tty_open+0x194/0x46d Aug 13 11:44:01 [kernel] [] ? chrdev_open+0x77/0x113 Aug 13 11:44:01 [kernel] [] ? __dentry_open+0xb8/0x230 Aug 13 11:44:01 [kernel] [] ? chrdev_open+0x0/0x113 Aug 13 11:44:01 [kernel] [] ? nameidata_to_filp+0x61/0x6a Aug 13 11:44:01 [kernel] [] ? do_filp_open+0x248/0x7cd Aug 13 11:44:01 [kernel] [] ? __do_fault+0x2ba/0x3b2 Aug 13 11:44:01 [kernel] [] ? alloc_fd+0x6a/0xf1 Aug 13 11:44:01 [kernel] [] ? do_sys_open+0x5f/0x12b Aug 13 11:44:01 [kernel] [] ? sys_open+0x2e/0x47 Aug 13 11:44:01 [kernel] [] ? sysenter_do_call+0x12/0x26 Aug 13 11:44:01 [kernel] ---[ end trace 1d6b9e2cd7636395 ]--- Read and Write also do not work at the moment, and I'm fairly sure that the URB completion callbacks are not running. Why this is I don't know, and haven't tried to investigate. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit 72ba94ec61d1ceb9b80e317f72548b1e88e539f4 Author: Richard Ash Date: Wed Jul 29 17:12:18 2009 +0100 Staging: quatech_usb2: implement open functionality Part two of the driver implementation has finally got done. It implements the rest of open and the callback for reads from the box. I seem to have finally found a structure that can be made to work, with a single set of URBs for bulk read and write for the whole device, which are used by all the ports. I've rationalised a few things, but there will still be a lot of clean-up needed. This one definitely can panic the kernel when a port is opened for reading, but I'm off on holiday so I thought I'd post where I have got to so far. I haven't tried to debug why it panics with a null pointer dereference yet. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit c4f3020fc40b7977090dba42e1165db653408440 Author: Richard Ash Date: Tue Jun 23 17:28:06 2009 +0100 Staging: add Support for Quatech ESU2-100 USB 2.0 8-port serial adaptor The patch is of the "works as far as it goes" variety, in that the module compiles and loads, the device nodes are registered and the unit switched on, but nothing actually works. On the other hand, it doesn't panic the kernel, as far as I know. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit d89505998e007f88e08e84381dcc720a8990507d Author: Karl Relton Date: Wed Aug 19 08:06:39 2009 +0100 Staging: wlan-ng: Convert firmware loading to load binary ihex format Convert prism2_usb firmware loading to load firmware in pre-compiled binary 'ihex' format rather than ascii 'srec' format. This moves the srec processing and sorting of records out of kernel space into a pre-compiler. The driver now just works with the binary image, but still does the 'pda plugging' of that image at runtime, as required by the prism hardware. Some Notes: - The firmware is now expected to be in the same 'ihex' (.fw) format used by other drivers. - The now driver assumes the data records are already sorted into ascending address order. - Plug and crc records are still recognised by special address locations as in original srec processing. - The srec S7 start address record is assumed to have been converted into a data record with another special address location (0xff400000), with the original start address being stored as a 4 byte data word (little endian). Signed-off-by: Karl Relton Signed-off-by: Greg Kroah-Hartman commit c4004175eb51a40069b879d547e32fe8b4d6fde1 Author: Moritz Muehlenhoff Date: Sun Jun 21 22:43:47 2009 +0200 Staging: wlan-ng: Remove more superflous comments Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 84d9bd7d55fea1d1da364a4cdd9766f1b26aa747 Author: Moritz Muehlenhoff Date: Sun Jun 21 22:43:46 2009 +0200 Staging: wlan-ng: Drop the special case handling of older wireless extensions, WIRELESS_EXT is at 22 for the current kernel. Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 2f5851917c7a2b29b0f73d974f241b9f8aaa62dd Author: Moritz Muehlenhoff Date: Sun Jun 21 22:43:45 2009 +0200 Staging: wlan-ng: Use kzfree() to securely zero-out the WEP key when freeing it Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 0d0202fd888a0f6e42d14aa903c6d79fc8777125 Author: Moritz Muehlenhoff Date: Sun Jun 21 22:43:44 2009 +0200 Staging: wlan-ng: Remove some superflous comments Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit f60f79e05aa35eaae7fc1cedaba117bdafe306e2 Author: Huang Weiyi Date: Sat Jun 20 19:16:51 2009 +0800 Staging: cpc-usb: remove unused #include Remove unused #include 's in drivers/staging/cpc-usb/cpc-usb_drv.c. Signed-off-by: Huang Weiyi Signed-off-by: Greg Kroah-Hartman commit 4ff863b1db411481971de481002aa644057b1fa6 Author: Roel Kluin Date: Sat Aug 8 00:14:20 2009 +0200 Staging: comedi: s626: Possible read buffer overflow fix If `cmd->chanlist_len' is 0, then we write ppl[-1]. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 88a28c828f25f15bf8258ae834bcb47adf3e67b4 Author: Robert P. J. Day Date: Sat Jul 4 20:32:08 2009 -0400 Staging: comedi: Remove references to dead EXPORT_SYMTAB Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit b455073c885cf78cfea1704ce9587806ec8e3c30 Author: Figo.zhang Date: Sat Jun 6 19:11:31 2009 +0800 Staging: comedi: no need for checking vfree call vfree() does it's own NULL checking,so no need for check before calling it. 'pages' is local variable argment,so in v2, it is no need assignment to NULL. Signed-off-by: Figo.zhang Acked-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 0a85b6f0ab0d2edb0d41b32697111ce0e4f43496 Author: Mithlesh Thukral Date: Mon Jun 8 21:04:41 2009 +0530 Staging: Comedi: Lindent changes to comdi driver in staging tree Lindent changes to comdi driver in staging tree. This patch is followed by the checkpatch.pl error fixes. Did not make them part of this patch as the patch size is already huge. Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit df6785681be9f05435f4299b921c41397ea061a1 Author: Julia Lawall Date: Sat Jul 11 10:32:23 2009 +0200 Staging: otus: Drop an unnecessary NULL test Apparently, the NULL test is not necessary at this point. The semantic patch that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Acked-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 92e6765f4080520759acfb0bc41402485271365a Author: Alexander Beregalov Date: Fri Jul 3 16:25:52 2009 +0400 Staging: otus: remove dependency on WIRELESS_EXT version As the driver is in mainline now we can remove such dependency. WIRELESS_EXT is 22 now and it is always defined. Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 4a5629b92ee530e7c3077689d5efb90be613a9a5 Author: Pranith Kumar Date: Mon Jun 8 13:38:26 2009 +0530 Staging: otus: Fix warnings in staging/otus/ioctl.c This fixes a number of warnings in the otus driver. Signed-off-by: D Pranith Kumar Signed-off-by: Greg Kroah-Hartman commit 4c47b34cd6c62cb4cf9fb8f873aeb99b6cc60b4d Author: Alexander Beregalov Date: Sat Jun 20 20:07:50 2009 +0400 Staging: vt6655: remove dependency on WIRELESS_EXT version As the driver is in mainline now we can remove such dependencies. WIRELESS_EXT is 22 now. Cc: Forest Bond Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 761e95493982f3365e6ef34991a6c7ff84e33d25 Author: Alexander Beregalov Date: Sat Jun 20 19:07:40 2009 +0400 Staging: vt6655: fix build when !CONFIG_WIRELESS_EXT Fix this build error when CONFIG_WIRELESS_EXT is not set: drivers/staging/vt6655/device_main.c:1153: error: 'struct net_device' has no member named 'wireless_handlers' Cc: Forest Bond Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 5d1fe0c98f2aef99fb57aaf6dd25e793c186cea3 Author: Forest Bond Date: Sat Jun 13 07:39:00 2009 -0400 Staging: vt6656: Integrate vt6656 into build system. Integrate drivers/staging/vt6656 into build system. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit f4a8df99716c9103efa423474c70a36219c58ace Author: Forest Bond Date: Sat Jun 13 07:38:56 2009 -0400 Staging: vt6656: replace call to info with printk call. vt6656: replace call to info with printk call. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit dd8db704adce547bd099096a6431aada124867a4 Author: Forest Bond Date: Sat Jun 13 07:38:54 2009 -0400 Staging: vt6656: use net_device_ops for management functions vt6656: use net_device_ops for management functions Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 1e28efa3eb3cdfe6a3be0499d309fb75250c1028 Author: Forest Bond Date: Sat Jun 13 07:38:50 2009 -0400 Staging: vt6656: Replace net_device->priv accesses with netdev_priv calls. vt6656: Replace net_device->priv accesses with netdev_priv calls. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 8f9c466f291a94b138560f28242c44e320a79ca4 Author: Forest Bond Date: Sat Jun 13 07:38:47 2009 -0400 Staging: vt6656: main_usb.c: Drop obsolete fsuid/fsgid accesses. drivers/staging/vt6656/main_usb.c: Drop obsolete fsuid/fsgid accesses. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit f02a8cbc50aaef89f56faf0cf1e27fa5a80faec6 Author: Forest Bond Date: Sat Jun 13 07:38:43 2009 -0400 Staging: vt6656: Build vt6656.ko, not vntwusb.ko. Build vt6656.ko, not vntwusb.ko. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 66252c3a27d2392e0901e220157510450bd6c2a1 Author: Forest Bond Date: Sat Jun 13 07:38:40 2009 -0400 Staging: vt6656: Add includes to drivers/staging/vt6656. Add includes to drivers/staging/vt6656. These came from the includes directory in the upstream source archive. Trailing whitespace was stripped. This is GPL-licensed code. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 92b96797118e5836294a6d42a5a8e10b86f50e3f Author: Forest Bond Date: Sat Jun 13 07:38:31 2009 -0400 Staging: Add pristine upstream vt6656 driver sources to drivers/staging/vt6656. Add pristine upstream vt6656 driver sources to drivers/staging/vt6656. These files were copied from the driver directory in the upstream source archive, available here: http://www.viaarena.com/Driver/VT6656_Linux_src_v1.19_12_x86.zip After copying, trailing whitespace was stripped. This is GPL-licensed code. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 36c7928c3e948cf8862d4b5c3df27c5a841cb503 Author: Bartlomiej Zolnierkiewicz Date: Thu Jun 25 15:40:31 2009 +0200 Staging: add rt3090 wireless driver This is the vendor driver for the Ralink RT3090 chipset. It should be later cleaned and ported to use the existing rt2x00 infrastructure or just replaced by the proper version. [ Unfortunately since it follows the same design/implementation like rt{286,287,307}0 drivers (already present in the staging tree) it is highly unlikely that it will see much love from the wireless development community.. ] However since the development of the cleaner/proper version can take significant time lets give distros (i.e. openSUSE seems to already have the package with the original vendor driver) and users "something" to use in the meantime. I forward ported it to 2.6.31-rc1, ported to the Linux build system and did some initial cleanups. More fixes/cleanups to come later (it seems that the driver can be made to share most of its code with the other Ralink drivers already present in the staging tree). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit fd882783abc0760075d42982d155e8eac2f802ac Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:20:38 2009 +0200 Staging: rtl8187se: cleanup r8180_core.c * remove commented out code * remove useless comments * beautify code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 22eec79469f32f0f9153ec19a37f7e8f448c0522 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:20:32 2009 +0200 Staging: rtl8187se: cleanup r8180_rtl8225z2.c * make read_rtl8225() static * make tables static const * remove commented out code * remove useless comments * beautify code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 02236f3fd5a2b0162c0e29595adb2458aaa441ef Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:20:23 2009 +0200 Staging: rtl8187se: remove unused definitions from r8180.h Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7abb66eba486b6268e00b3752926a0d0af9c3973 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:20:16 2009 +0200 Staging: rtl8187se: remove unused definitions from r8180_hw.h Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b6d11c07e5fca796e426329e76b0cc6ab400c0fd Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:20:10 2009 +0200 Staging: rtl8187se: merge r8180_pm.c with r8180_core.c * merge r8180_pm.c with r8180_core.c * make functions static Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b72490a5f970051bb02602c69fa918fd53b512c9 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:20:04 2009 +0200 Staging: rtl8187se: cleanup r8180_pm.c * remove unused rtl8180_{save_state,enable_wake}() * remove commented out code * beautify code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 44a7dcbc4984e57807c2c985fba84ba6521b905b Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:57 2009 +0200 Staging: rtl8187se: merge r8180_rtl8225.c with r8180_rtl8225z2.c * merge r8180_rtl8225.c with r8180_rtl8225z2.c * make functions static * make tables static const * remove unused rtl8225_set_gain() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 322f3f2fa73e42fe3163d14deabf12fd4cacc3b2 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:51 2009 +0200 Staging: rtl8187se: cleanup r8180_rtl8225.c * remove empty rtl8225_host_usb_init() * remove commented out code * remove useless comments * beautify code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e99b82d558b1fcc61a029d8e7b3f2a970371ca24 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:45 2009 +0200 Staging: rtl8187se: remove unused rtl8225_rf_* functions Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ff9548530572ba272d913d0a7e0147a9f674e373 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:38 2009 +0200 Staging: rtl8187se: remove debugging code from r8180_core.c Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 6dc1585fe4020b0c22853c5bfa9bcc3add01fc22 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:31 2009 +0200 Staging: rtl8187se: remove unused radio frontends Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5521a513e5803c31b834c55220313e363ce02ccf Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:23 2009 +0200 Staging: rtl8187se: remove dead code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 6a9a9e42b6b62551804c8c496704f5c851871fde Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:17 2009 +0200 Staging: rtl8187se: remove CONFIG_RTL8180_IO_MAP ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f19fd3357768b5964167d5ad9139b4f619007dc7 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:10 2009 +0200 Staging: rtl8187se: remove CONFIG_RTL8185B ifdefs CONFIG_RTL8185B is defined in drivers/staging/rtl8187se/r8180_hw.h. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5474405fd68ba1b7516d1cdaa68369e5e2883d6e Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:03 2009 +0200 Staging: rtl8187se: remove CONFIG_RTL818x_S ifdefs CONFIG_RTL818x_S is defined in drivers/staging/rtl8187se/r8180_hw.h. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9a5aabffd1a8c09b6567b0c10c961f4513014893 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:18:57 2009 +0200 Staging: rtl8187se: remove THOMAS_TURBO ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2e0baea9773e44f08fc2d6d6a7ebd03cf1712f53 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:18:51 2009 +0200 Staging: rtl8187se: remove CONFIG_RTL8180_PM ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5212499a7a41822496c3a62abae6fe103d308f18 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:18:44 2009 +0200 Staging: rtl8187se: remove ENABLE_DOT11D ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0bd2f8efe94ab4e6ef630a311dfd58812c80b653 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 17:40:24 2009 +0200 Staging: rtl8187se: add TODO Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9d7a9fa8be168c2637ab3ccb2dac4f545f523fa1 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 17:40:50 2009 +0200 Staging: rtl8192su: add TODO Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b4fcc8a24fbbadb9efeff67d69dd0a05034ef79d Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:37:33 2009 +0200 Staging: rtl8192su/ieee80211: switch to use * s/WLAN_AUTH_LEAP/RTL_WLAN_AUTH_LEAP/g * s/struct ieee80211_hdr/struct rtl_ieee80211_hdr/g * switch to use There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 68da8fcd50561b95d6a379455088ec7ba8ee95da Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:36:47 2009 +0200 Staging: rtl8192su/ieee80211: remove unused _ReasonCode enums Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3bd709f28f63fd316233cac4471678cb23b0c581 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:35:58 2009 +0200 Staging: rtl8192su: remove support for older wireless extensions Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 1ec9e48dbfe29e4919a9ca3d0c692c982f484c73 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:35:04 2009 +0200 Staging: rtl8192su: remove kernel version compatibility wrappers Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7fdb78d097e4282e8b54312351a135c6f54ae03c Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:35:00 2009 +0200 Staging: rtl8187se/ieee80211: remove superfluous JOHN_* ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 8f75675c3a99c91325f17bcc02651c4447d9fb81 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:33:17 2009 +0200 Staging: rtl8187se/ieee80211: remove unused dump_chnl_map() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c6e43bc83fd0f156eeb64bc2fa47323fdff16ba8 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:32:41 2009 +0200 Staging: rtl8187se/ieee80211: remove superfluous ieee80211_* defines Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 30bb89f333c566d14443efe2d03f45739c9be5ee Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:31:54 2009 +0200 Staging: rtl8187se/ieee80211: remove dead _RTL8187_EXT_PATCH_ code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 8efff1758aedb8cfbfe533304cb30eb50a6ec096 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:31:18 2009 +0200 Staging: rtl8187se: remove support for older wireless extensions Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0370453f6cc0e2d8fab5cb0001127798eb1ddeb6 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:30:28 2009 +0200 Staging: rtl8187se: remove kernel version compatibility wrappers Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f8450cf62cec9f3db424956664a11bf29244f968 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:30:22 2009 +0200 Staging: rtl8192su: remove unused ieee80211_crypt.h Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a974762356673f704fb67dfc401e43f4f4dc5355 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:30:14 2009 +0200 Staging: rtl8187se: remove unused ieee80211_crypt.h Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2a7d71ad5763f9b4b0d0ff53338a1283af73d3c0 Author: Bartlomiej Zolnierkiewicz Date: Fri Jun 12 18:29:19 2009 +0200 Staging: rtl8192su: remove duplicate dot11d.h and ieee80211.h includes Always use includes from ieee80211/ subdirectory. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit fd9b8d6e29c65711c44e115673dcbe85f1f24319 Author: Bartlomiej Zolnierkiewicz Date: Fri Jun 12 18:28:35 2009 +0200 Staging: rtl8187se: remove duplicate dot11d.h and ieee80211.h includes Always use includes from ieee80211/ subdirectory. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3380121b2a3a6543d08748aa146968dac5fe880f Author: Bartlomiej Zolnierkiewicz Date: Thu Jun 11 20:50:02 2009 +0200 Staging: rtl8192su/ieee80211: remove unused files Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 015ffd82da1c777419f81effe264ec7038521f27 Author: Bartlomiej Zolnierkiewicz Date: Thu Jun 11 20:48:11 2009 +0200 Staging: rtl8187se/ieee80211: remove unused files Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit db80ba562b05f9bf5a1e824164d417677413d7ac Author: Bartlomiej Zolnierkiewicz Date: Thu Jun 11 20:12:19 2009 +0200 Staging: rt28[67]0: remove unused md4.h Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 64f930361bede4e049509858bcef8b333399547f Author: Alan Cox Date: Wed Jun 10 17:30:41 2009 +0100 Staging: et1310: Fix the coding style UTF-8 for copyright symbols etc included. Typedefs and anything else which would cause actual code changes skipped. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 297f06cea635ea4552541a11e7fb7014425110c6 Author: Mithlesh Thukral Date: Wed Jun 10 19:36:11 2009 +0530 staging: wlan-ng: scripts/checkpatch.pl error fixes. scripts/checkpatch.pl error fixes. This is a TODO item. This patch fixes most of the errors reported by checkpatch.pl in wlan-ng directory of staging tree. Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 0984e56a65a29ad0700c5abf657327e73929ea1f Author: Randy Dunlap Date: Fri Jul 31 11:10:45 2009 -0700 Staging: android: lowmemorykiller: fix module param errors Move module_params to near the end of the source file so that their references are already known/defined. Fixes build errors: drivers/staging/android/lowmemorykiller.c: In function '__check_cost': drivers/staging/android/lowmemorykiller.c:60: error: 'lowmem_shrinker' undeclared (first use in this function) drivers/staging/android/lowmemorykiller.c: At top level: drivers/staging/android/lowmemorykiller.c:60: error: 'lowmem_shrinker' undeclared here (not in a function) drivers/staging/android/lowmemorykiller.c:60: warning: type defaults to 'int' in declaration of 'type name' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 10626434f473a7b4b0a21f427b301d3dd0db65a8 Author: Daniel Walker Date: Sun Jul 5 09:32:45 2009 -0700 Staging: android: binder: partial checkpatch cleanup Clean up 3 or so checkpatch errors from one of my prior patches. Signed-off-by: Daniel Walker Cc: Arve Hjønnevåg Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit 272bb3d8759448b2017aee149d226d7bf2d2bbb7 Author: Daniel Walker Date: Sun Jul 5 09:32:44 2009 -0700 Staging: android: lowmemorykiller: delete the decription file Move the lowmemorykiller.txt into the actual source file which is really the correct place for it, and delete lowmemorykiller.txt. Signed-off-by: Daniel Walker Cc: Arve Hjønnevåg Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit edd540ea92954f896bfb7ee0ebf5dfdde6e6cb41 Author: Daniel Walker Date: Sun Jul 5 09:32:43 2009 -0700 Staging: android: lowmemorykiller: remove a predefine I moved the struct shrinker down so that the predefine isn't needed. Signed-off-by: Daniel Walker Cc: Arve Hjønnevåg Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit 707636ff4bd4057b8fb9c1e6cc68885014623b17 Author: Daniel Walker Date: Sun Jul 5 09:32:42 2009 -0700 Staging: android: binder: cleanup some long lines This file has a lot of long line problems due to the massive indent issues that exist. This just cleans up some of the really really long ones. Signed-off-by: Daniel Walker Cc: Arve Hjønnevåg Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit 8683b987285e4542dd79192054ee4591b8cc7700 Author: Daniel Walker Date: Fri Jun 12 11:51:18 2009 -0700 staging: android: binder: clean up for all the stat statments An initial cleanup of all the binder_stat statements. The binder command and return stats still need some assistance tho. Signed-off-by: Daniel Walker Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit 39e420e0a918e7d2123e26a3617568fe2b6af8c6 Author: Daniel Walker Date: Fri Jun 12 11:51:17 2009 -0700 staging: android: binder: global variable cleanup. Replaced a manual hlist_head declaration with a macro based one. Also reorganized the globals to be grouped better. Signed-off-by: Daniel Walker Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit fd0a2f07d9b37fa52ece5bdec4f1130e080c1f51 Author: Daniel Walker Date: Fri Jun 12 11:51:16 2009 -0700 staging: android: binder: add enum usage in function arguments Declare the binder_deferred_state enum, and use the new enum for one of the binder_defer_work function arguments. This should keep the argument within the confines of the enum instead of the whole int range. Signed-off-by: Daniel Walker Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit 9980318e5405fe34a8f7e3af439647a729d10014 Author: Daniel Walker Date: Fri Jun 12 11:51:15 2009 -0700 staging: android: binder: remove a predefine I removed the binder_transaction_buffer_release predefine, and put the actual function in place of it. Signed-off-by: Daniel Walker Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit df56cb1f37415f16a187738ee9e3c03e2106e305 Author: Daniel Walker Date: Fri Jun 12 11:51:14 2009 -0700 staging: android: binder: move debugging mask into a macro I moved the continual, if (binder_debug_mask & mask) printk() into a single macro so it's all in one place. It could be refined further from there. Signed-off-by: Daniel Walker Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit e69b0f1b41c0e57bb1e29100b5810a5914efcb45 Author: Peter Zijlstra Date: Tue Sep 15 19:38:52 2009 +0200 sched: Add a few SYNC hint knobs to play with Currently we use overlap to weaken the SYNC hint, but allow it to set the hint as well. echo NO_SYNC_WAKEUP > /debug/sched_features echo SYNC_MORE > /debug/sched_features preserves pipe-test behaviour without using the WF_SYNC hint. Worth playing with on more workloads... Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 63859d4fe4c97b737e7adbfe60acb1c2b2e668cb Author: Peter Zijlstra Date: Tue Sep 15 19:14:42 2009 +0200 sched: Fix sync wakeups again The sync argument rename to introduce WF_* broke stuff by missing a local alias for an argument in __wake_up_common, fix it by using the more descriptive wake_flags name. This restores WF_SYNC propagation, which fixes wake_affine() behaviour, which fixes pipe-test. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 9ef96da6ec5e1b4cf7eb8e30852cd88ec7d5fdc0 Author: Jaswinder Singh Rajput Date: Sun Aug 9 20:23:12 2009 +0530 xfs: includecheck fix for fs/xfs/xfs_iops.c fix the following 'make includecheck' warning: fs/xfs/linux-2.6/xfs_iops.c: xfs_acl.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Reviewed-by: Alex Elder Signed-off-by: Alex Elder commit 361735fd8ff8f7d8b9f0e134d0d99d99ee193d92 Author: Alexey Dobriyan Date: Fri Aug 28 23:55:00 2009 +0400 xfs: switch to seq_file create_proc_read_entry() is getting deprecated. Signed-off-by: Alexey Dobriyan Reviewed-by: Alex Elder Signed-off-by: Alex Elder commit 889c27744c30eb7a43b68c11e33e679cfafc8cd5 Author: Wolfram Sang Date: Wed Jul 29 14:25:37 2009 +0200 pcmcia: document return value of pcmcia_loop_config Hopefully it will be harder to get it wrong now. Also fix an unneeded initialization while we are here. Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman commit cb6dbd79628a53e66352387b53b426fa88640bfe Author: Philipp Zabel Date: Fri Feb 27 17:54:08 2009 +0100 pcmcia: dtl1_cs: fix pcmcia_loop_config logic pcmcia_loop_config returns 0 on success. [wsa: added '< 0' for better readability] Signed-off-by: Philipp Zabel Acked-by: Marcel Holtmann Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman commit cc677441007a48f56117e74ac8cfc19c7851fac7 Author: Wolfram Sang Date: Mon Jul 27 11:35:07 2009 +0200 pcmcia: drop non-existant includes See http://lists.infradead.org/pipermail/linux-pcmcia/2009-April/006109.html Reported-by: Robert P. J. Day Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman commit 1ff84890b62b20823b3697a6041bbec1b5280cee Author: Tomas Kovacik Date: Sun Jul 26 22:04:58 2009 +0200 pcmcia: disable prefetch/burst for OZ6933 Problems have been reported [1], so disable prefetch/burst, to be on the safe side. [1] http://www.mail-archive.com/linux-pcmcia@lists.infradead.org/msg02048.html Signed-off-by: Tomáš Kováčik Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman commit b4b3d7bbe1e1d924dc5f3b48b6c06977aee2d494 Author: Wolfram Sang Date: Mon Jul 20 10:58:59 2009 +0200 pcmcia: fix incorrect argument order to list_add_tail() Commit a56bc69a182f501582557af7fad5bc882b1c856c fixed a wrong usage of list_add_tail() within store_new_id() for PCI. Port the fix to PCMCIA, which adapted this function from PCI. Signed-off-by: Wolfram Sang Cc: Dominik Brodowski Cc: Greg Kroah-Hartman commit d598de02187e4de89595537f69dffe8334f9a066 Author: Joe Perches Date: Sun Jun 28 09:26:41 2009 -0700 pcmcia: drivers/pcmcia/pcmcia_resource.c: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman commit 1d80766554322236aee50d6023693b3210b9cf38 Author: Steven A. Falco Date: Tue Jun 16 12:35:00 2009 -0400 pcmcia: Use phys_addr_t for physical addresses Physical addresses are currently represented as int or long types. However, this does not work for processors like the PPC440EPx, which is a 32-bit processor with a 36-bit address space. This patch uses the phys_addr_t type, which correctly holds a 36-bit address on this processor. Signed-off-by: Steven A. Falco Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman commit a0779327d25bc74a50b23136e278dba24c628741 Author: Roel Kluin Date: Tue Dec 9 22:12:50 2008 +0100 pcmcia: drivers/pcmcia: Make static Sparse asked whether these could be static. Signed-off-by: Roel Kluin Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman commit 0cb583fd2862f19ea88b02eb307d11c09e51e2f8 Merge: 723e9db a2d1056 Author: Linus Torvalds Date: Tue Sep 15 10:01:16 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6: ide: fixup for fujitsu disk ide: convert to ->proc_fops at91_ide: remove headers specific for at91sam9263 IDE: palm_bk3710: convert clock usage after clkdev conversion ide: fix races in handling of user-space SET XFER commands ide: allow ide_dev_read_id() to be called from the IRQ context ide: ide-taskfile.c fix style problems drivers/ide/ide-cd.c: Use DIV_ROUND_CLOSEST ide-tape: fix handling of postponed rqs ide-tape: convert to ide_debug_log macro ide-tape: fix debug call ide: Fix annoying warning in ide_pio_bytes(). IDE: Save a call to PageHighMem() commit 723e9db7a46e328527cc3da2b478b831184fe828 Merge: ada3fa1 d331d83 Author: Linus Torvalds Date: Tue Sep 15 09:51:09 2009 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (134 commits) powerpc/nvram: Enable use Generic NVRAM driver for different size chips powerpc/iseries: Fix oops reading from /proc/iSeries/mf/*/cmdline powerpc/ps3: Workaround for flash memory I/O error powerpc/booke: Don't set DABR on 64-bit BookE, use DAC1 instead powerpc/perf_counters: Reduce stack usage of power_check_constraints powerpc: Fix bug where perf_counters breaks oprofile powerpc/85xx: Fix SMP compile error and allow NULL for smp_ops powerpc/irq: Improve nanodoc powerpc: Fix some late PowerMac G5 with PCIe ATI graphics powerpc/fsl-booke: Use HW PTE format if CONFIG_PTE_64BIT powerpc/book3e: Add missing page sizes powerpc/pseries: Fix to handle slb resize across migration powerpc/powermac: Thermal control turns system off too eagerly powerpc/pci: Merge ppc32 and ppc64 versions of phb_scan() powerpc/405ex: support cuImage via included dtb powerpc/405ex: provide necessary fixup function to support cuImage powerpc/40x: Add support for the ESTeem 195E (PPC405EP) SBC powerpc/44x: Add Eiger AMCC (AppliedMicro) PPC460SX evaluation board support. powerpc/44x: Update Arches defconfig powerpc/44x: Update Arches dts ... Fix up conflicts in drivers/char/agp/uninorth-agp.c commit 2b2af54a5bb6f7e80ccf78f20084b93c398c3a8b Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev Devtmpfs lets the kernel create a tmpfs instance called devtmpfs very early at kernel initialization, before any driver-core device is registered. Every device with a major/minor will provide a device node in devtmpfs. Devtmpfs can be changed and altered by userspace at any time, and in any way needed - just like today's udev-mounted tmpfs. Unmodified udev versions will run just fine on top of it, and will recognize an already existing kernel-created device node and use it. The default node permissions are root:root 0600. Proper permissions and user/group ownership, meaningful symlinks, all other policy still needs to be applied by userspace. If a node is created by devtmps, devtmpfs will remove the device node when the device goes away. If the device node was created by userspace, or the devtmpfs created node was replaced by userspace, it will no longer be removed by devtmpfs. If it is requested to auto-mount it, it makes init=/bin/sh work without any further userspace support. /dev will be fully populated and dynamic, and always reflect the current device state of the kernel. With the commonly used dynamic device numbers, it solves the problem where static devices nodes may point to the wrong devices. It is intended to make the initial bootup logic simpler and more robust, by de-coupling the creation of the inital environment, to reliably run userspace processes, from a complex userspace bootstrap logic to provide a working /dev. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Tested-By: Harald Hoyer Tested-By: Scott James Remnant Signed-off-by: Greg Kroah-Hartman commit ea5ffff57dce2f4c85ab056f4b0a202f71db2bdf Author: GeunSik Lim Date: Mon Sep 7 21:39:25 2009 +0900 debugfs: Modify default debugfs directory for debugging pktcdvd. As we all know, We need change default directory for consistency of debugfs by Greg K-H Signed-off-by: GeunSik Lim Signed-off-by: Greg Kroah-Hartman commit 837cbb07618d61114354596931dd1998b672c5d8 Author: GeunSik Lim Date: Mon Sep 7 21:39:05 2009 +0900 debugfs: Modified default dir of debugfs for debugging UHCI. Change default debugfs directory as mounting point for debugging UHCI(Universal Host Controller Interface driver) for USB. As we all know, We need change default directory for consistency of debugfs by Greg K-H Signed-off-by: GeunSik Lim Signed-off-by: Greg Kroah-Hartman commit 9d480b88d830e6d6eb90767b0722def8fffc0365 Author: GeunSik Lim Date: Mon Sep 7 21:37:53 2009 +0900 debugfs: Change debugfs directory of IWMC3200 Change default debugfs directory that mount for debugging IWMC3200(Intel Wireless Multicomm 3200 WiFi driver). As we all know, We need change default directory for consistency of debugfs by Greg.K.H Signed-off-by: GeunSik Lim Acked-by: Zhu Yi Signed-off-by: Greg Kroah-Hartman commit 088a4eed282c9f75a2c165ba4909433c6dd6f959 Author: GeunSik Lim Date: Mon Sep 7 21:37:37 2009 +0900 debugfs: Change debuhgfs directory of trace-events-sample.h Default directory of debug filesystem for ftrace is /sys/kernel/debug/. Signed-off-by: GeunSik Lim Signed-off-by: Greg Kroah-Hartman commit 52ad51e7a93558a218cd00059bd69881a82eb2bb Author: GeunSik Lim Date: Mon Sep 7 21:37:17 2009 +0900 debugfs: Fix mount directory of debugfs by default in events.txt We need common default directory of denbugfs for consistency. (debugfs's default directory is /sys/kernel/debug/ by debugfs.) Signed-off-by: GeunSik Lim Signed-off-by: Greg Kroah-Hartman commit 4a351471df352474956f1fdc7bc4e7cf6836503a Author: David Altobelli Date: Mon Aug 17 17:08:01 2009 -0600 hpilo: add poll f_op Add poll handler to hpilo, to allow applications a low overhead method of waiting for data. Signed-off-by: David Altobelli Signed-off-by: Greg Kroah-Hartman commit 9f7048412163d8f8175ba01063f3db02d42cc6a7 Author: David Altobelli Date: Mon Aug 17 17:07:33 2009 -0600 hpilo: add interrupt handler Add interrupt handler to hpilo. This is enablement for poll handler, and it also simplifies the logic for handling an iLO reset, because now only the interrupt handler needs to look for reset, the file system interfaces only need to return failure when a reset has happened. Signed-off-by: David Altobelli Signed-off-by: Greg Kroah-Hartman commit 66d5e5169c96f3e0175235e2bcbaedc8bc1c728f Author: David Altobelli Date: Mon Aug 17 17:07:03 2009 -0600 hpilo: staging for interrupt handling Refactor some hpilo routines in order to allow for locking changes in interrupt handling. Should not be functionally different. Signed-off-by: David Altobelli Signed-off-by: Greg Kroah-Hartman commit daa4122673f002911122cac2b996bd36b6c01b32 Author: Andrew Morton Date: Thu Aug 6 16:00:44 2009 -0700 driver core: platform_device_add_data(): use kmemdup() Instead of open-coding it. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 4622709445705c1e423d2addcfd8ccae052fe0ba Author: Jean Delvare Date: Tue Aug 4 12:55:34 2009 +0200 Driver core: Add support for compatibility classes When turning class devices into bus devices, we may need to temporarily add links in sysfs so that user-space applications are not confused. This is done by adding the following API: * Functions to register and unregister compatibility classes. These appear in sysfs at the same location as regular classes, but instead of class devices, they contain links to bus devices. * Functions to create and delete such links. Additionally, the caller can optionally pass a target device to which a "device" link should point (typically that would be the device's parent), to fully emulate the original class device. The i2c subsystem will be the first user of this API, as i2c adapters are being converted from class devices to bus devices. Signed-off-by: Jean Delvare Signed-off-by: Kay Sievers commit ccb86a6907c9ba7b5be5f521362fc308e80bed34 Author: Michael S. Tsirkin Date: Mon Jul 20 10:29:34 2009 +0300 uio: add generic driver for PCI 2.3 devices This adds a generic uio driver that can bind to any PCI device. First user will be virtualization where a qemu userspace process needs to give guest OS access to the device. Interrupts are handled using the Interrupt Disable bit in the PCI command register and Interrupt Status bit in the PCI status register. All devices compliant to PCI 2.3 (circa 2002) and all compliant PCI Express devices should support these bits. Driver detects this support, and won't bind to devices which do not support the Interrupt Disable Bit in the command register. It's expected that more features of interest to virtualization will be added to this driver in the future. Possibilities are: mmap for device resources, MSI/MSI-X, eventfd (to interface with kvm), iommu. Signed-off-by: Michael S. Tsirkin Acked-by: Chris Wright Signed-off-by: Hans J. Koch Acked-by: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit a56af87648054089d89874b52e3fc23ed4f274ad Author: Ming Lei Date: Sun Jul 12 21:44:55 2009 +0800 driver-core: move dma-coherent.c from kernel to driver/base Placing dma-coherent.c in driver/base is better than in kernel, since it contains code to do per-device coherent dma memory handling. Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit 162dd4212409fd2d36ff22547ea821bf3e86bcc9 Author: Jin Dongming Date: Mon Sep 14 16:02:26 2009 +0900 mem_class: fix bug When I build and boot -next on fedora 10, I can not login anymore. When I input the user name and password, the system does not output any message and requires user to input the user name and password again and again. I find the patch which caused this problem with "GIT BISECT" command. And the patch is commit 7c4b7daa1878972ed0137c95f23569124bd6e2b1 "mem_class: use minor as index instead of searching the array". Though I don't know the real reason why user could not login, I confirmed the patch I made as following could resolve the problem on fedora 10. Signed-off-by: Jin Dongming Acked-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 389e0cb9a1dec22ec37a104dec5009dd7a33dd59 Author: Kay Sievers Date: Sat Jul 4 16:51:29 2009 +0200 mem_class: use minor as index instead of searching the array Declare the device list with the minor numbers as the index, which saves us from searching for a matching list entry. Remove old devfs permissions declaration. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a4dbd6740df0872cdf0a86841f75beec8381964d Author: David Brownell Date: Wed Jun 24 10:06:31 2009 -0700 driver model: constify attribute groups Let attribute group vectors be declared "const". We'd like to let most attribute metadata live in read-only sections... this is a start. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 5b2ea2f10dbb2fa91d8033993000f8664309395f Author: Daniel Mack Date: Wed Jun 24 17:30:25 2009 +0200 UIO: remove 'default n' from Kconfig 'default n' is the default, there is no need for these lines. Signed-off-by: Daniel Mack Cc: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit a5b8b1ada6dd76503884f5492b995cd29eefae0f Author: Mark Brown Date: Fri Jul 17 15:06:08 2009 +0100 Driver core: Add accessor for device platform data For consistency with driver data provide a dev_get_platdata() accessor for reading the platform data from a device. Signed-off-by: Mark Brown Signed-off-by: Greg Kroah-Hartman commit b4028437876866aba4747a655ede00f892089e14 Author: Greg Kroah-Hartman Date: Mon May 11 14:16:57 2009 -0700 Driver core: move dev_get/set_drvdata to drivers/base/dd.c No one should directly access the driver_data field, so remove the field and make it private. We dynamically create the private field now if it is needed, to handle drivers that call get/set before they are registered with the driver core. Also update the copyright notices on these files while we are there. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 2023c610dc54a4f4130b0494309a9bd668ca3df8 Author: Alan Stern Date: Thu Jul 30 15:27:18 2009 -0400 Driver core: add new device to bus's list before probing This patch (as1271) affects when new devices get linked into their bus's list of devices. Currently this happens after probing, and it doesn't happen at all if probing fails. Clearly this is wrong, because at that point quite a few symbolic links have already been created in sysfs. We are committed to adding the device, so it should be linked into the bus's list regardless. In addition, this needs to happen before the uevent announcing the new device gets issued. Otherwise user programs might try to access the device before it has been added to the bus. To fix both these problems, the patch moves the call to klist_add_tail() forward from bus_attach_device() to bus_add_device(). Since bus_attach_device() now does nothing but probe for drivers, it has been renamed to bus_probe_device(). And lastly, the kerneldoc is updated. Signed-off-by: Alan Stern CC: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit ada3fa15057205b7d3f727bba5cd26b5912e350f Merge: 2f82af0 5579fd7 Author: Linus Torvalds Date: Tue Sep 15 09:39:44 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (46 commits) powerpc64: convert to dynamic percpu allocator sparc64: use embedding percpu first chunk allocator percpu: kill lpage first chunk allocator x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA percpu: update embedding first chunk allocator to handle sparse units percpu: use group information to allocate vmap areas sparsely vmalloc: implement pcpu_get_vm_areas() vmalloc: separate out insert_vmalloc_vm() percpu: add chunk->base_addr percpu: add pcpu_unit_offsets[] percpu: introduce pcpu_alloc_info and pcpu_group_info percpu: move pcpu_lpage_build_unit_map() and pcpul_lpage_dump_cfg() upward percpu: add @align to pcpu_fc_alloc_fn_t percpu: make @dyn_size mandatory for pcpu_setup_first_chunk() percpu: drop @static_size from first chunk allocators percpu: generalize first chunk allocator selection percpu: build first chunk allocators selectively percpu: rename 4k first chunk allocator to page percpu: improve boot messages percpu: fix pcpu_reclaim() locking ... Fix trivial conflict as by Tejun Heo in kernel/sched.c commit 2f82af08fcc7dc01a7e98a49a5995a77e32a2925 Author: Nicolas Pitre Date: Mon Sep 14 03:25:28 2009 -0400 Nicolas Pitre has a new email address Due to problems at cam.org, my nico@cam.org email address is no longer valid. FRom now on, nico@fluxnic.net should be used instead. Signed-off-by: Nicolas Pitre Signed-off-by: Linus Torvalds commit f199fd990639f93d07d8e104b0a66aabaf01d67d Merge: 043fe50 b3e62e3 Author: Linus Torvalds Date: Tue Sep 15 09:34:27 2009 -0700 Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_counter: Fix buffer overflow in perf_copy_attr() commit 6ca6cca31ddc7cc8b1dc38b12d7593d2667defe8 Author: Steven Rostedt Date: Tue Sep 15 12:24:22 2009 -0400 tracing: optimize global_trace_clock cachelines The prev_trace_clock_time is only read or written to when the trace_clock_lock is taken. For better perfomance, they should share the same cache line. Reported-by: Peter Zijlstra Signed-off-by: Steven Rostedt commit 043fe50f8085c12651c96f04576eae4d8a22f3d8 Merge: 2274239 ea47689 Author: Linus Torvalds Date: Tue Sep 15 09:22:18 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (213 commits) V4L/DVB (12720): em28xx-cards: Add vendor/product id for Kworld DVD Maker 2 V4L/DVB (12713): em28xx: Cleanups at ir_i2c handler V4L/DVB (12712): em28xx: properly load ir-kbd-i2c when needed V4L/DVB (12701): saa7134: ir-kbd-i2c init data needs a persistent object V4L/DVB (12699): cx18: ir-kbd-i2c initialization data should point to a persistent object V4L/DVB (12698): em28xx: ir-kbd-i2c init data needs a persistent object V4L/DVB (12707): gspca - sn9c20x: Add SXGA support to MT9M111 V4L/DVB (12706): gspca - sn9c20x: disable exposure/gain controls for MT9M111 sensors. V4L/DVB (12705): gspca - sn9c20x: Add SXGA support to SOI968 V4L/DVB (12703): gspca - sn9c20x: Reduces size of object V4L/DVB (12704): gspca - sn9c20x: Fix exposure on SOI968 sensors V4L/DVB (12696): gspca - sonixj / sn9c102: Two drivers for 0c45:60fc and 0c45:613e. V4L/DVB (12695): gspca - vc032x: Do the LED work with the sensor hv7131r. V4L/DVB (12694): gspca - vc032x: Change the start exchanges of the sensor hv7131r. V4L/DVB (12693): gspca - sunplus: The brightness is signed. V4L/DVB (12692): gspca - sunplus: Optimize code. V4L/DVB (12691): gspca - sonixj: Don't use mdelay(). V4L/DVB (12690): gspca - pac7311: Webcam 06f8:3009 added. V4L/DVB (12686): dvb-core: check supported QAM modulations V4L/DVB (12685): dvb-core: check fe->ops.set_frontend return value ... commit 227423904c709a8e60245c97081bbeb4fb500655 Merge: 1aaf2e5 fa526d0 Author: Linus Torvalds Date: Tue Sep 15 09:19:38 2009 -0700 Merge branch 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, pat: Fix cacheflush address in change_page_attr_set_clr() mm: remove !NUMA condition from PAGEFLAGS_EXTENDED condition set x86: Fix earlyprintk=dbgp for machines without NX x86, pat: Sanity check remap_pfn_range for RAM region x86, pat: Lookup the protection from memtype list on vm_insert_pfn() x86, pat: Add lookup_memtype to get the current memtype of a paddr x86, pat: Use page flags to track memtypes of RAM pages x86, pat: Generalize the use of page flag PG_uncached x86, pat: Add rbtree to do quick lookup in memtype tracking x86, pat: Add PAT reserve free to io_mapping* APIs x86, pat: New i/f for driver to request memtype for IO regions x86, pat: ioremap to follow same PAT restrictions as other PAT users x86, pat: Keep identity maps consistent with mmaps even when pat_disabled x86, mtrr: make mtrr_aps_delayed_init static bool x86, pat/mtrr: Rendezvous all the cpus for MTRR/PAT init generic-ipi: Allow cpus not yet online to call smp_call_function with irqs disabled x86: Fix an incorrect argument of reserve_bootmem() x86: Fix system crash when loading with "reservetop" parameter commit 1aaf2e59135fd67321f47c11c64a54aac27014e9 Merge: 66a4fe0 936e894 Author: Linus Torvalds Date: Tue Sep 15 09:19:20 2009 -0700 Merge branch 'x86-txt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-txt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, intel_txt: clean up the impact on generic code, unbreak non-x86 x86, intel_txt: Handle ACPI_SLEEP without X86_TRAMPOLINE x86, intel_txt: Fix typos in Kconfig help x86, intel_txt: Factor out the code for S3 setup x86, intel_txt: tboot.c needs intel_txt: Force IOMMU on for Intel TXT launch x86, intel_txt: Intel TXT Sx shutdown support x86, intel_txt: Intel TXT reboot/halt shutdown support x86, intel_txt: Intel TXT boot support commit 66a4fe0cb80a9fde8cb173289afb863fd279466a Merge: 1824090 1212648 Author: Linus Torvalds Date: Tue Sep 15 09:18:07 2009 -0700 Merge branch 'agp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 * 'agp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6: agp/intel: remove restore in resume agp: fix uninorth build intel-agp: Set dma mask for i915 agp: kill phys_to_gart() and gart_to_phys() intel-agp: fix sglist allocation to avoid vmalloc() intel-agp: Move repeated sglist free into separate function agp: Switch agp_{un,}map_page() to take struct page * argument agp: tidy up handling of scratch pages w.r.t. DMA API intel_agp: Use PCI DMA API correctly on chipsets new enough to have IOMMU agp: Add generic support for graphics dma remapping agp: Switch mask_memory() method to take address argument again, not page commit 5cfaf338134605ce8d9272b9c16605bc920d25be Author: Jean Delvare Date: Tue Sep 15 17:18:14 2009 +0200 hwmon: (lm85) Don't bind to Winbond/Nuvoton WPCD377I The Winbond/Nuvoton WPCD377I is the reduced version of a Super-I/O which emulates the National Semiconductor LM96000 hardware monitoring chips, but without the hardware monitoring part. Instead of plain disabling the emulation, the vendor left the emulated chip visible, but all monitored values are always zero. This is rather confusing for the users. So detect this case and refuse to bind to such fake chips. This fixes lm-sensors ticket #2182: http://www.lm-sensors.org/ticket/2182 Signed-off-by: Jean Delvare commit afc31875fa5774dbc117f8c62034d77390156edc Author: Jean Delvare Date: Tue Sep 15 17:18:14 2009 +0200 hwmon: (pcf8591) Documentation clean-ups Clean up the pcf8591 driver documentation: * The PCF8591 chip is now an NXP product. * Fix a sysfs path. * Fix the name of sysfs attributes. * And a few other random fixes. Signed-off-by: Jean Delvare Cc: Aurelien Jarno commit 61cba5c244bd52e91c01e9f79abba30e54f68dd8 Author: Jean Delvare Date: Tue Sep 15 17:18:13 2009 +0200 hwmon: Clearly mark ACPI drivers as such Now that we have ACPI-based hardware monitoring drivers, and we will start telling users to use them instead of native drivers when I/O resources conflict, I think it would be good to clearly mark ACPI drivers as such in Kconfig. Also, in the case of monolithic kernels, I think the ACPI drivers should take precedence over native drivers, so they should be listed first in Makefile. Signed-off-by: Jean Delvare Cc: Luca Tettamanti commit 86855b0c1fd75338c67cabbf85d64d033612c47b Author: Julia Lawall Date: Tue Sep 15 17:18:13 2009 +0200 hwmon: Use resource_size Use the function resource_size, which reduces the chance of introducing off-by-one errors in calculating the resource size. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct resource *res; @@ - (res->end - res->start) + 1 + resource_size(res) // Signed-off-by: Julia Lawall Signed-off-by: Jean Delvare commit 6055fae8aceee41471edfd1876e5617d16e028fe Author: H Hartley Sweeten Date: Tue Sep 15 17:18:13 2009 +0200 hwmon: Include instead of Drivers should be including instead of . Signed-off-by: H Hartley Sweeten Cc: Alistair John Strachan Cc: Nicolas Boichat Cc: Juerg Haefliger Cc: Frank Seidel Acked-by: Jim Cromie Cc: "Mark M. Hoffman" Cc: Roger Lucas Signed-off-by: Jean Delvare commit 1915fb70fa23230894cd35d98fcac5a168ec5c23 Author: Andre Prendel Date: Tue Sep 15 17:18:12 2009 +0200 hwmon: (tmp421) Add documentation Add documentation for the tmp421 driver. Signed-off-by: Andre Prendel Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit 9410700b881f867a50dd8dc3204372fd9dccd8f8 Author: Andre Prendel Date: Tue Sep 15 17:18:11 2009 +0200 hwmon: Add driver for Texas Instruments TMP421/422/423 sensor chips Add support for Texas Instruments TMP421/422/423 temperature sensor IC. TI's TMP421/422/423 are I2C temperature sensor chips. These chips are similar to TI's TMP401/411 chips, but with reduced functionality (only temperature measurement). The chips have one local sensor and up to three (TMP423) remote sensors. Signed-off-by: Andre Prendel Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit 5bed13f5809927be10facccb63add834b712df51 Author: Jean Delvare Date: Tue Sep 15 17:18:11 2009 +0200 hwmon-vid: Ignore 6th VID pin of AMD family 0Fh processors We had a report about a mainboard for AMD family 0Fh processors not routing the 6th VID pin from the CPU to the hardware monitoring chip. While the vendor should have wired the pin (or, failing that, should have hardwired it to level high rather than low), the fact is that none of these processors are currently known to operate at the lower voltage levels which require the 6th VID pin. So, as a practical workaround, I propose to ignore the 6th VID pin for these CPUs. If this decision ever causes problems, we'll reconsider. Signed-off-by: Jean Delvare Cc: Frank Myhr Tested-by: Hleb Valoshka <375gnu@gmail.com> Cc: Rudolf Marek Cc: Andreas Herrmann commit 2c2a6172afab7421f6af7e228cd3121f423ea932 Author: Luca Tettamanti Date: Tue Sep 15 17:18:10 2009 +0200 hwmon: (asus_atk0110) Add maintainer information Add myself as asus_atk0110 maintainer. Signed-off-by: Luca Tettamanti Signed-off-by: Jean Delvare commit bbe5939ab1834f79f177739cb84904bc12d08073 Author: Alistair John Strachan Date: Tue Sep 15 17:18:10 2009 +0200 hwmon: (abituguru3) Support multiple DMI strings per chip ID Most known Abit motherboards have unique uguru chip IDs. However, some "refresh" boards keep the same chip ID but have a different DMI string. As our DMI board string matching is (necessarily) strict, some boards were failing DMI detection, and as the old probe method was also failing, the driver would not load. The only known boards affected by this problem are the IP35 Pro XE (vs IP35 Pro) and the AB9 Pro (vs AB9). Is it not sufficient to relax the match criteria, as some boards (e.g. the AB9 Quad GT) have different uguru chip IDs. This patch replaces the dmi_name string with a NULL terminated array of strings to be matched per uguru chip ID. It has been compile and runtime tested (thanks Rune). References: https://bugs.launchpad.net/bugs/298798 Signed-off-by: Alistair John Strachan Tested-by: Rune Svendsen Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit a7558e01056f5191ff2ecff53b075dcb9e484188 Author: Peter Zijlstra Date: Mon Sep 14 20:02:34 2009 +0200 sched: Add WF_FORK Avoid the cache buddies from biasing the time distribution away from fork()ers. Normally the next buddy will be the preferred scheduling target, but this makes fork()s prefer to run the new child, whereas we prefer to run the parent, since that will generate more work. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 7d47872146398dbede13223299fe1cb368ebc781 Author: Peter Zijlstra Date: Mon Sep 14 19:55:44 2009 +0200 sched: Rename sync arguments In order to extend the functions to have more than 1 flag (sync), rename the argument to flags, and explicitly define a WF_ space for individual flags. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 0763a660a84220cc3900fd32abdd7ad109e2278d Author: Peter Zijlstra Date: Mon Sep 14 19:37:39 2009 +0200 sched: Rename select_task_rq() argument In order to be able to rename the sync argument, we need to rename the current flag argument. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 8e6598af3f35629c37249a610cf13e73f70db279 Author: Peter Zijlstra Date: Thu Sep 3 13:20:03 2009 +0200 sched: Feature to disable APERF/MPERF cpu_power I suspect a feed-back loop between cpuidle and the aperf/mperf cpu_power bits, where when we have idle C-states lower the ratio, which leads to lower cpu_power and then less load, which generates more idle time, etc.. Put in a knob to disable it. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 47fe38fcff0517e67d395c039d2e26d2de688a60 Author: Peter Zijlstra Date: Wed Sep 2 13:49:18 2009 +0200 x86: sched: Provide arch implementations using aperf/mperf APERF/MPERF support for cpu_power. APERF/MPERF is arch defined to be a relative scale of work capacity per logical cpu, this is assumed to include SMT and Turbo mode. APERF/MPERF are specified to both reset to 0 when either counter wraps, which is highly inconvenient, since that'll give a blimp when that happens. The manual specifies writing 0 to the counters after each read, but that's 1) too expensive, and 2) destroys the possibility of sharing these counters with other users, so we live with the blimp - the other existing user does too. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 5cbc19a983141729d716be17197028434127b376 Author: Peter Zijlstra Date: Wed Sep 2 11:49:52 2009 +0200 x86: Add generic aperf/mperf code Move some of the aperf/mperf code out from the cpufreq driver thingy so that other people can enjoy it too. Cc: H. Peter Anvin Cc: Venkatesh Pallipadi Cc: Yanmin Cc: Dave Jones Cc: Len Brown Cc: Yinghai Lu Cc: cpufreq@vger.kernel.org Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit a8303aaf2b2f74714db6d204ab4fcb810942664e Author: Peter Zijlstra Date: Wed Sep 2 10:56:56 2009 +0200 x86: Move APERF/MPERF into a X86_FEATURE Move the APERFMPERF capacility into a X86_FEATURE flag so that it can be used outside of the acpi cpufreq driver. Cc: H. Peter Anvin Cc: Venkatesh Pallipadi Cc: Yanmin Cc: Dave Jones Cc: Len Brown Cc: Yinghai Lu Cc: cpufreq@vger.kernel.org Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit d6a59aa3a2b1ca8411884c833a313b33b5f76e20 Author: Peter Zijlstra Date: Wed Sep 2 13:28:02 2009 +0200 sched: Provide arch_scale_freq_power Provide an ach specific hook for cpufreq based scaling of cpu_power. Signed-off-by: Peter Zijlstra [ego@in.ibm.com: spotting bugs] LKML-Reference: Signed-off-by: Ingo Molnar commit b8a543ea5a5896830a9969bacfd047f9d15940b2 Author: Peter Zijlstra Date: Tue Sep 15 15:22:03 2009 +0200 sched: Reduce forkexec_idx If we're looking to place a new task, we might as well find the idlest position _now_, not 1 tick ago. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 0ec9fab3d186d9cbb00c0f694d4a260d07c198d9 Author: Mike Galbraith Date: Tue Sep 15 15:07:03 2009 +0200 sched: Improve latencies and throughput Make the idle balancer more agressive, to improve a x264 encoding workload provided by Jason Garrett-Glaser: NEXT_BUDDY NO_LB_BIAS encoded 600 frames, 252.82 fps, 22096.60 kb/s encoded 600 frames, 250.69 fps, 22096.60 kb/s encoded 600 frames, 245.76 fps, 22096.60 kb/s NO_NEXT_BUDDY LB_BIAS encoded 600 frames, 344.44 fps, 22096.60 kb/s encoded 600 frames, 346.66 fps, 22096.60 kb/s encoded 600 frames, 352.59 fps, 22096.60 kb/s NO_NEXT_BUDDY NO_LB_BIAS encoded 600 frames, 425.75 fps, 22096.60 kb/s encoded 600 frames, 425.45 fps, 22096.60 kb/s encoded 600 frames, 422.49 fps, 22096.60 kb/s Peter pointed out that this is better done via newidle_idx, not via LB_BIAS, newidle balancing should look for where there is load _now_, not where there was load 2 ticks ago. Worst-case latencies are improved as well as no buddies means less vruntime spread. (as per prior lkml discussions) This change improves kbuild-peak parallelism as well. Reported-by: Jason Garrett-Glaser Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra LKML-Reference: <1253011667.9128.16.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit c4835d81efb1795eb8bbeb40b73d74e5c04b1257 Author: Dmitry Eremin-Solenikov Date: Thu Sep 10 18:02:30 2009 +0400 ieee802154: add locking for seq numbers Signed-off-by: Dmitry Eremin-Solenikov commit 066fc51275cef94d1624fd58bb3065d050a6f17e Author: Dmitry Eremin-Solenikov Date: Tue Sep 15 17:54:43 2009 +0400 af_ieee802154: setsockopt optlen arg isn't __user Remove __user annotation from optlen arg as it's bogus. Signed-off-by: Dmitry Eremin-Solenikov commit 6bd7821f905a8d6c471f0d6675f5cb7ea448d791 Author: Peter Zijlstra Date: Fri Sep 11 18:42:15 2009 +0200 sched: Fix some domain tunings CPU level should have WAKE_AFFINE, whereas ALLNODES is dubious. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 78e7ed53c9f42f04f9401ada6f7047db60781676 Author: Peter Zijlstra Date: Thu Sep 3 13:16:51 2009 +0200 sched: Tweak wake_idx When merging select_task_rq_fair() and sched_balance_self() we lost the use of wake_idx, restore that and set them to 0 to make wake balancing more aggressive. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit d7c33c4930f569caf6b2ece597432853c4151a45 Author: Peter Zijlstra Date: Fri Sep 11 12:45:38 2009 +0200 sched: Fix task affinity for select_task_rq_fair While merging select_task_rq_fair() and sched_balance_self() I made a mistake that leads to testing the wrong task affinty. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 83f54960c11a14942ab00b54c51e91906b9d8235 Author: Peter Zijlstra Date: Thu Sep 10 18:18:47 2009 +0200 sched: for_each_domain() vs RCU for_each_domain() uses RCU to serialize the sched_domains, except it doesn't actually use rcu_read_lock() and instead relies on disabling preemption -> FAIL. XXX: audit other sched_domain code. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit ae154be1f34a674e6cbb43ccf6e442f56acd7a70 Author: Peter Zijlstra Date: Thu Sep 10 14:40:57 2009 +0200 sched: Weaken SD_POWERSAVINGS_BALANCE One of the problems of power-saving balancing is that under certain scenarios it is too slow and allows tons of real work to pile up. Avoid this by ignoring the powersave stuff when there's real work to be done. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit c88d5910890ad35af283344417891344604f0438 Author: Peter Zijlstra Date: Thu Sep 10 13:50:02 2009 +0200 sched: Merge select_task_rq_fair() and sched_balance_self() The problem with wake_idle() is that is doesn't respect things like cpu_power, which means it doesn't deal well with SMT nor the recent RT interaction. To cure this, it needs to do what sched_balance_self() does, which leads to the possibility of merging select_task_rq_fair() and sched_balance_self(). Modify sched_balance_self() to: - update_shares() when walking up the domain tree, (it only called it for the top domain, but it should have done this anyway), which allows us to remove this ugly bit from try_to_wake_up(). - do wake_affine() on the smallest domain that contains both this (the waking) and the prev (the wakee) cpu for WAKE invocations. Then use the top-down balance steps it had to replace wake_idle(). This leads to the dissapearance of SD_WAKE_BALANCE and SD_WAKE_IDLE_FAR, with SD_WAKE_IDLE replaced with SD_BALANCE_WAKE. SD_WAKE_AFFINE needs SD_BALANCE_WAKE to be effective. Touch all topology bits to replace the old with new SD flags -- platforms might need re-tuning, enabling SD_BALANCE_WAKE conditionally on a NUMA distance seems like a good additional feature, magny-core and small nehalem systems would want this enabled, systems with slow interconnects would not. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit e9c8431185d6c406887190519f6dbdd112641686 Author: Peter Zijlstra Date: Tue Sep 15 14:43:03 2009 +0200 sched: Add TASK_WAKING We're going to want to drop rq->lock in try_to_wake_up() for a longer period of time, however we also want to deal with concurrent waking of the same task, which is currently handled by holding rq->lock. So introduce a new TASK state, namely TASK_WAKING, which indicates someone is already waking the task (other wakers will fail p->state & state). We also keep preemption disabled over the whole ttwu(). Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 5f3edc1b1ead6d9bd45a85c551f44eff8fe76b9f Author: Peter Zijlstra Date: Thu Sep 10 13:42:00 2009 +0200 sched: Hook sched_balance_self() into sched_class::select_task_rq() Rather ugly patch to fully place the sched_balance_self() code inside the fair class. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit aaee1203ca52b9db799433c33c9bffc33cdf8909 Author: Peter Zijlstra Date: Thu Sep 10 13:36:25 2009 +0200 sched: Move sched_balance_self() into sched_fair.c Move the sched_balance_self() code into sched_fair.c This facilitates the merger of sched_balance_self() and sched_fair::select_task_rq(). Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit f5f08f39ee4c5fd0a757d25d9e04d696676b3df7 Author: Peter Zijlstra Date: Thu Sep 10 13:35:28 2009 +0200 sched: Move code around In preparation to other code movement, move weighted_cpuload(), source_load() and target_load() before the class includes. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit e26af0e8b2c9916f1e8a12ddaf52057bbe8ff600 Author: Peter Zijlstra Date: Fri Sep 11 12:31:23 2009 +0200 sched: Add come comments to the sched features Add text... Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 3cb63d527f76e25dbccce4f577f21aecfa2abac7 Author: Mike Galbraith Date: Fri Sep 11 12:01:17 2009 +0200 sched: Complete buddy switches Add a NEXT_BUDDY feature flag to aid in debugging. Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit e6b1b2c9c0461c4e0971ed905ce3cda6512ee82a Author: Peter Zijlstra Date: Fri Sep 11 11:59:22 2009 +0200 sched: Split WAKEUP_OVERLAP It consists of two conditions, split them out in separate toggles so we can test them independently. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit b78bb868c54bebbf8d8786a3f8320700d6d2b864 Author: Peter Zijlstra Date: Tue Sep 15 14:23:18 2009 +0200 sched: Fix double_rq_lock() compile warning Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit fa68e0025d4184ba917621a9c977d4243d0a013e Author: Jassi Date: Tue Sep 15 19:02:37 2009 +0900 ASoC: S3C lrsync function made to work with IRQs disabled. s3c2412_snd_lrsync() maybe reached with IRQs disabled and if LRCLK is dead due to improper initialization of CPU or CODEC, the system gets stuck in the loop because jiffies may never get updated. Implemented counter based wait mechanism for atleast the same timeout period. Signed-off-by: Jassi Signed-off-by: Mark Brown commit 69b5655a85b7bbfdb724a3fb25ae01fd4bc7f53b Author: Takashi Iwai Date: Tue Sep 15 12:37:42 2009 +0200 ALSA: hda - Fix Dell S14 pin setup The pin setup for Dell S14 quirk is rather wrong for the latest driver. Fixed pin 0x0a, 0x0b, 0x0d and 0x0f. Signed-off-by: Takashi Iwai commit 44da531e95647b2c90f2b89dec9000d36705934e Author: Takashi Iwai Date: Tue Sep 15 12:35:56 2009 +0200 ALSA: hda - Fix IDT92HD83* codec setup Remove unnecessary (and buggy) init sequences left for IDT92HD83* codecs in the previous fixes. The DACs are now dynamically connected, thus shouldn't be set statically in init verbs. Also, the mono_nid is detected dynamically, thus shouldn't be set staticaly, too. Signed-off-by: Takashi Iwai commit 983f2163e7fdf11a15e05816de243f93f07eafca Author: Ingo Molnar Date: Tue Sep 15 12:29:20 2009 +0200 MAINTAINERS: Update tracing tree details Acked-by: Steven Rostedt Acked-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 926e61b7c44db83013159ac2f74bccd451607b5a Author: Jarek Poplawski Date: Tue Sep 15 02:53:07 2009 -0700 pkt_sched: Fix tx queue selection in tc_modify_qdisc After the recent mq change there is the new select_queue qdisc class method used in tc_modify_qdisc, but it works OK only for direct child qdiscs of mq qdisc. Grandchildren always get the first tx queue, which would give wrong qdisc_root etc. results (e.g. for sch_htb as child of sch_prio). This patch fixes it by using parent's dev_queue for such grandchildren qdiscs. The select_queue method's return type is changed BTW. With feedback from: Patrick McHardy Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit ca519274d537706b6fb1e3e91238d34a23320584 Author: Stephen Hemminger Date: Mon Sep 14 06:22:29 2009 +0000 sky2: Make sure both ports initialize correctly Sorry Mike, I sent you off the wrong way. The following is simpler and the second port is diffrent enough in setup (because of NAPI), that the following is simpler. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 07e316377458484d95f7624f7af7af99d9bd18cb Author: Stephen Hemminger Date: Mon Sep 14 06:12:55 2009 +0000 sky2: transmit ring accounting Be more accurate about number of transmit list elements required. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 99455153d0670ba110e6a3b855b8369bcbd11120 Author: David Howells Date: Mon Sep 14 01:17:46 2009 +0000 RxRPC: Parse security index 5 keys (Kerberos 5) Parse RxRPC security index 5 type keys (Kerberos 5 tokens). Signed-off-by: David Howells Signed-off-by: David S. Miller commit ed6dd18b5aceb322da9840f01a68d648e91c8a72 Author: David Howells Date: Mon Sep 14 01:17:40 2009 +0000 RxRPC: Allow RxRPC keys to be read Allow RxRPC keys to be read. This is to allow pioctl() to be implemented in userspace. RxRPC keys are read out in XDR format. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 339412841d7620f93fea805fbd7469f08186f458 Author: David Howells Date: Mon Sep 14 01:17:35 2009 +0000 RxRPC: Allow key payloads to be passed in XDR form Allow add_key() and KEYCTL_INSTANTIATE to accept key payloads in XDR form as described by openafs-1.4.10/src/auth/afs_token.xg. This provides a way of passing kaserver, Kerberos 4, Kerberos 5 and GSSAPI keys from userspace, and allows for future expansion. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 8b815477f382f96deefbe5bd4404fa7b31cf5dcf Author: David Howells Date: Mon Sep 14 01:17:30 2009 +0000 RxRPC: Declare the security index constants symbolically Declare the security index constants symbolically rather than just referring to them numerically. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 531afd64d027e3d798c416b2b37b3cfb1de417d9 Author: Ken Kawasaki Date: Tue Sep 15 02:42:25 2009 -0700 pcnet_cs: add cis of Linksys multifunction pcmcia card pcnet_cs,serial_cs: add cis of Linksys lan&modem mulitifunction pcmcia card and some modem card(MT5634ZLX, RS-COM-2P). Signed-off-by: Ken Kawasaki Signed-off-by: David S. Miller commit 29a020d35f629619c67fa5e32acaaac3f8a1ba90 Author: Eric Dumazet Date: Tue Sep 15 02:39:20 2009 -0700 [PATCH] net: kmemcheck annotation in struct socket struct socket has a 16 bit hole that triggers kmemcheck warnings. As suggested by Ingo, use kmemcheck annotations Signed-off-by: Eric Dumazet Acked-by: Ingo Molnar Signed-off-by: David S. Miller commit 75c78500ddad74b229cd0691496b8549490496a2 Author: Moni Shoua Date: Tue Sep 15 02:37:40 2009 -0700 bonding: remap muticast addresses without using dev_close() and dev_open() This patch fixes commit e36b9d16c6a6d0f59803b3ef04ff3c22c3844c10. The approach there is to call dev_close()/dev_open() whenever the device type is changed in order to remap the device IP multicast addresses to HW multicast addresses. This approach suffers from 2 drawbacks: *. It assumes tha the device is UP when calling dev_close(), or otherwise dev_close() has no affect. It is worth to mention that initscripts (Redhat) and sysconfig (Suse) doesn't act the same in this matter. *. dev_close() has other side affects, like deleting entries from the routing table, which might be unnecessary. The fix here is to directly remap the IP multicast addresses to HW multicast addresses for a bonding device that changes its type, and nothing else. Reported-by: Jason Gunthorpe Signed-off-by: Moni Shoua Signed-off-by: David S. Miller commit a2d10568fd3965fffeb29a3a6f29966dd3801727 Author: Wu Zhangjin Date: Tue Sep 15 01:36:25 2009 -0700 ide: fixup for fujitsu disk This patch will fix the following problem on Yeeloong netbook with fujitsu disk. irq 14: nobody cared (try booting with the "irqpoll" option) Call Trace: [] dump_stack+0x8/0x40 [] __report_bad_irq+0x58/0xe4 [] note_interrupt+0x17c/0x23c [] handle_level_irq+0xcc/0x134 [] mach_irq_dispatch+0xb8/0x1e0 [] ret_from_irq+0x0/0x4 [] free_hot_cold_page+0x224/0x2a0 [] swsusp_free+0xb0/0x14c [] hibernate+0x198/0x218 [] state_store+0x90/0x138 [] sysfs_write_file+0x130/0x194 [] vfs_write+0xb8/0x180 [] SyS_write+0x50/0x98 [] handle_sys+0x158/0x174 handlers: [] (ide_intr+0x0/0x300) Disabling IRQ #14 References: 1. commit 1fde02e7146d4a1bab80fd1506f9018fe71e8521 of git://dev.lemote.com/linux_loongson.git 2. 8bc1e5aa06a2a9a425c4a6795fc564cba1521487 (ide: respect quirk_drives[] list on all controllers) Signed-off-by: Yan Hua Signed-off-by: Wu Zhangjin Signed-off-by: David S. Miller commit 481a8199142c050b72bff8a1956a49fd0a75bbe0 Author: Oliver Hartkopp Date: Tue Sep 15 01:31:34 2009 -0700 can: fix NOHZ local_softirq_pending 08 warning When using nanosleep() in an userspace application we get a ratelimit warning NOHZ: local_softirq_pending 08 for 10 times. The echo of CAN frames is done from process context and softirq context only. Therefore the usage of netif_rx() was wrong (for years). This patch replaces netif_rx() with netif_rx_ni() which has to be used from process/softirq context. It also adds a missing comment that can_send() must no be used from hardirq context. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit 0b6a05c1dbebe8c616e2e5b0f52b7a01fd792911 Author: Ilpo Järvinen Date: Tue Sep 15 01:30:10 2009 -0700 tcp: fix ssthresh u16 leftover It was once upon time so that snd_sthresh was a 16-bit quantity. ...That has not been true for long period of time. I run across some ancient compares which still seem to trust such legacy. Put all that magic into a single place, I hopefully found all of them. Compile tested, though linking of allyesconfig is ridiculous nowadays it seems. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b3e62e35058fc744ac794611f4e79bcd1c5a4b83 Author: Xiao Guangrong Date: Tue Sep 15 14:44:36 2009 +0800 perf_counter: Fix buffer overflow in perf_copy_attr() If we pass a big size data over perf_counter_open() syscall, the kernel will copy this data to a small buffer, it will cause kernel crash. This bug makes the kernel unsafe and non-root local user can trigger it. Signed-off-by: Xiao Guangrong Acked-by: Peter Zijlstra Acked-by: Paul Mackerras Cc: LKML-Reference: <4AAF37D4.5010706@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 18240904960a39e582ced8ba8ececb10b8c22dd3 Merge: f86054c 8a47890 Author: Linus Torvalds Date: Mon Sep 14 20:07:31 2009 -0700 Merge branch 'for-linus3' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus3' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: SELinux: inline selinux_is_enabled in !CONFIG_SECURITY_SELINUX KEYS: Fix garbage collector KEYS: Unlock tasklist when exiting early from keyctl_session_to_parent CRED: Allow put_cred() to cope with a NULL groups list SELinux: flush the avc before disabling SELinux SELinux: seperate avc_cache flushing Creds: creds->security can be NULL is selinux is disabled commit f86054c24565d09d1997f03192761dabf6b8a9c9 Merge: c91d7d5 33f82d1 Author: Linus Torvalds Date: Mon Sep 14 20:03:54 2009 -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: (23 commits) at_hdmac: Rework suspend_late()/resume_early() PM: Reset transition_started at dpm_resume_noirq PM: Update kerneldoc comments in drivers/base/power/main.c PM: Add convenience macro to make switching to dev_pm_ops less error-prone hp-wmi: Switch driver to dev_pm_ops floppy: Switch driver to dev_pm_ops PM: Trivial fixes PM / Hibernate / Memory hotplug: Always use for_each_populated_zone() PM/Hibernate: Do not try to allocate too much memory too hard (rev. 2) PM/Hibernate: Do not release preallocated memory unnecessarily (rev. 2) PM/Hibernate: Rework shrinking of memory PM: Fix typo in label name s/Platofrm_finish/Platform_finish/ PM: Run-time PM platform device bus support PM: Introduce core framework for run-time PM of I/O devices (rev. 17) Driver Core: Make PM operations a const pointer PM: Remove platform device suspend_late()/resume_early() V2 USB: Rework musb suspend()/resume_early() I2C: Rework i2c-s3c2410 suspend_late()/resume() V2 I2C: Rework i2c-pxa suspend_late()/resume_early() DMA: Rework txx9dmac suspend_late()/resume_early() ... Fix trivial conflict in drivers/base/platform.c (due to same constification patch being merged in both sides, along with some other PM work in the PM branch) commit c91d7d54ea9e75ec18c733969ba16dd7ab94fc99 Merge: 133309a 4858621 Author: Linus Torvalds Date: Mon Sep 14 19:59:37 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig: kconfig: add missing dependency of conf to localyesconfig kconfig: test if a .config already exists kconfig: make local .config default for streamline_config kconfig: test for /boot/config-uname after /proc/config.gz in localconfig kconfig: unset IKCONFIG_PROC and clean up nesting kconfig: search for a config to base the local(mod|yes)config on kconfig: keep config.gz around even if CONFIG_IKCONFIG_PROC is not set kconfig: have extract-ikconfig read ELF files kconfig: add check if end exists in extract-ikconfig kconfig: enable CONFIG_IKCONFIG from streamline_config.pl kconfig: do not warn about modules built in kconfig: streamline_config.pl do not stop with no depends kconfig: add make localyesconfig option kconfig: make localmodconfig to run streamline_config.pl kconfig: add streamline_config.pl to scripts commit 555f386c98cc93890f48fdea098936755270304b Author: Mike Frysinger Date: Mon Sep 14 20:10:15 2009 -0400 ftrace: document function and function graph implementation While implementing function tracer and function tracer graph support, I found the exact arch implementation details to be a bit lacking (and my x86 foo ain't great). So after pounding out support for the Blackfin arch, start documenting the requirements/details. Signed-off-by: Mike Frysinger LKML-Reference: <1252973415-21264-1-git-send-email-vapier@gentoo.org> Acked-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit ea47689e74a1637fac4f5fc44890f3662c976849 Author: Douglas Schilling Landgraf Date: Sun Sep 6 18:41:59 2009 -0300 V4L/DVB (12720): em28xx-cards: Add vendor/product id for Kworld DVD Maker 2 Added Kworld DVD Maker 2 Thanks to C Western for reporting this board. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 8a478905adbb2e09a59644e76f7fe7e0ab644204 Author: Eric Paris Date: Mon Sep 14 20:59:48 2009 -0400 SELinux: inline selinux_is_enabled in !CONFIG_SECURITY_SELINUX Without this patch building a kernel emits millions of warning like: include/linux/selinux.h:92: warning: ?selinux_is_enabled? defined but not used When it is build without CONFIG_SECURITY_SELINUX. This is harmless, but the function should be inlined, so it gets compiled out. Reported-by: Linus Torvalds Signed-off-by: Eric Paris Signed-off-by: James Morris commit 5579fd7e6aed8860ea0c8e3f11897493153b10ad Merge: 04a13c7 c2a7e81 Author: Tejun Heo Date: Tue Sep 15 09:57:19 2009 +0900 Merge branch 'for-next' into for-linus * pcpu_chunk_page_occupied() doesn't exist in for-next. * pcpu_chunk_addr_search() updated to use raw_smp_processor_id(). Conflicts: mm/percpu.c commit 133309a89e7430f907ebe85e78906ee12c311727 Merge: 5489375 fc8e1ea Author: Linus Torvalds Date: Mon Sep 14 17:56:51 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (52 commits) Input: bcm5974 - silence uninitialized variables warnings Input: wistron_btns - add keymap for AOpen 1557 Input: psmouse - use boolean type Input: i8042 - use platform_driver_probe Input: i8042 - use boolean type where it makes sense Input: i8042 - try disabling and re-enabling AUX port at close Input: pxa27x_keypad - allow modifying keymap from userspace Input: sunkbd - fix formatting Input: i8042 - bypass AUX IRQ delivery test on laptops Input: wacom_w8001 - simplify querying logic Input: atkbd - allow setting force-release bitmap via sysfs Input: w90p910_keypad - move a dereference below a NULL test Input: add twl4030_keypad driver Input: matrix-keypad - add function to build device keymap Input: tosakbd - fix cleaning up KEY_STROBEs after error Input: joydev - validate axis/button maps before clobbering current ones Input: xpad - add USB ID for the drumkit controller from Rock Band Input: w90p910_keypad - rename driver name to match platform Input: add new driver for Sentelic Finger Sensing Pad Input: psmouse - allow defining read-only attributes ... commit 5489375d481c8456c8259b48e107d03b05309d1d Merge: 355bbd8 8123e8f Author: Linus Torvalds Date: Mon Sep 14 17:55:53 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: completely remove apple mightymouse from blacklist HID: support larger reports than 64 bytes in hiddev HID: local function should be static HID: ignore Philips IEEE802.15.4 RF Dongle HID: ignore all recent SoundGraph iMON devices HID: fix memory leak on error patch in debug code HID: fix overrun in quirks initialization HID: Drop NULL test on list_entry result HID: driver for Twinhan USB 6253:0100 remote control HID: adding __init/__exit macros to module init/exit functions HID: add rumble support for Thrustmaster Dual Trigger 3-in-1 HID: ntrig tool separation and pen usages HID: Avoid double spin_lock_init on usbhid->lock HID: add force feedback support for Logitech WingMan Formula Force GP HID: Support new variants of Samsung USB IR receiver (0419:0001) HID: fix memory leak on error path in debug code HID: fix debugfs build with !CONFIG_DEBUG_FS HID: use debugfs for events/reports dumping HID: use debugfs for report dumping descriptor commit 355bbd8cb82e60a592f6cd86ce6dbe5677615cf4 Merge: 3969522 746cd1e Author: Linus Torvalds Date: Mon Sep 14 17:55:15 2009 -0700 Merge branch 'for-2.6.32' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.32' of git://git.kernel.dk/linux-2.6-block: (29 commits) block: use blkdev_issue_discard in blk_ioctl_discard Make DISCARD_BARRIER and DISCARD_NOBARRIER writes instead of reads block: don't assume device has a request list backing in nr_requests store block: Optimal I/O limit wrapper cfq: choose a new next_req when a request is dispatched Seperate read and write statistics of in_flight requests aoe: end barrier bios with EOPNOTSUPP block: trace bio queueing trial only when it occurs block: enable rq CPU completion affinity by default cfq: fix the log message after dispatched a request block: use printk_once cciss: memory leak in cciss_init_one() splice: update mtime and atime on files block: make blk_iopoll_prep_sched() follow normal 0/1 return convention cfq-iosched: get rid of must_alloc flag block: use interrupts disabled version of raise_softirq_irqoff() block: fix comment in blk-iopoll.c block: adjust default budget for blk-iopoll block: fix long lines in block/blk-iopoll.c block: add blk-iopoll, a NAPI like approach for block devices ... commit 39695224bd84dc4be29abad93a0ec232a16fc519 Merge: a9bbd21 ea038f6 Author: Linus Torvalds Date: Mon Sep 14 17:53:36 2009 -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: (209 commits) [SCSI] fix oops during scsi scanning [SCSI] libsrp: fix memory leak in srp_ring_free() [SCSI] libiscsi, bnx2i: make bound ep check common [SCSI] libiscsi: add completion function for drivers that do not need pdu processing [SCSI] scsi_dh_rdac: changes for rdac debug logging [SCSI] scsi_dh_rdac: changes to collect the rdac debug information during the initialization [SCSI] scsi_dh_rdac: move the init code from rdac_activate to rdac_bus_attach [SCSI] sg: fix oops in the error path in sg_build_indirect() [SCSI] mptsas : Bump version to 3.04.12 [SCSI] mptsas : FW event thread and scsi mid layer deadlock in SYNCHRONIZE CACHE command [SCSI] mptsas : Send DID_NO_CONNECT for pending IOs of removed device [SCSI] mptsas : PAE Kernel more than 4 GB kernel panic [SCSI] mptsas : NULL pointer on big endian systems causing Expander not to tear off [SCSI] mptsas : Sanity check for phyinfo is added [SCSI] scsi_dh_rdac: Add support for Sun StorageTek ST2500, ST2510 and ST2530 [SCSI] pmcraid: PMC-Sierra MaxRAID driver to support 6Gb/s SAS RAID controller [SCSI] qla2xxx: Update version number to 8.03.01-k6. [SCSI] qla2xxx: Properly delete rports attached to a vport. [SCSI] qla2xxx: Correct various NPIV issues. [SCSI] qla2xxx: Correct qla2x00_eh_wait_on_command() to wait correctly. ... commit a9bbd210a44102cc50b30a5f3d111dbf5f2f9cd4 Merge: 2ca7d67 6c19efb Author: Linus Torvalds Date: Mon Sep 14 17:52:32 2009 -0700 Merge branch 'docs-next' of git://git.lwn.net/linux-2.6 * 'docs-next' of git://git.lwn.net/linux-2.6: Document the flex_array library. Doc: seq_file.txt fix wrong dd command example. commit 2ca7d674d7ab2220707b2ada0b690c0e7c95e7ac Merge: 2195d28 87d721a Author: Linus Torvalds Date: Mon Sep 14 17:48:14 2009 -0700 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (257 commits) [ARM] Update mach-types ARM: 5636/1: Move vendor enum to AMBA include ARM: Fix pfn_valid() for sparse memory [ARM] orion5x: Add LaCie NAS 2Big Network support [ARM] pxa/sharpsl_pm: zaurus c3000 aka spitz: fix resume ARM: 5686/1: at91: Correct AC97 reset line in at91sam9263ek board ARM: 5640/1: This patch modifies the support of AC97 on the at91sam9263 ek board ARM: 5689/1: Update default config of HP Jornada 700-series machines ARM: 5691/1: fix cache aliasing issues between kmap() and kmap_atomic() with highmem ARM: 5688/1: ks8695_serial: disable_irq() lockup ARM: 5687/1: fix an oops with highmem ARM: 5684/1: Add nuc960 platform to w90x900 ARM: 5683/1: Add nuc950 platform to w90x900 ARM: 5682/1: Add cpu.c and dev.c and modify some files of w90p910 platform ARM: 5626/1: add suspend/resume functions to amba-pl011 serial driver ARM: 5625/1: fix hard coded 4K resource size in amba bus detection MMC: MMCI: convert realview MMC to use gpiolib ARM: 5685/1: Make MMCI driver compile without gpiolib ARM: implement highpte ARM: Show FIQ in /proc/interrupts on CONFIG_FIQ ... Fix up trivial conflict in arch/arm/kernel/signal.c. It was due to the TIF_NOTIFY_RESUME addition in commit d0420c83f ("KEYS: Extend TIF_NOTIFY_RESUME to (almost) all architectures") and follow-ups. commit 2195d2818c37bdf263865f1e9effccdd9fc5f9d4 Author: Hugh Dickins Date: Sat Sep 12 12:21:27 2009 +0100 fix undefined reference to user_shm_unlock My 353d5c30c666580347515da609dd74a2b8e9b828 "mm: fix hugetlb bug due to user_shm_unlock call" broke the CONFIG_SYSVIPC !CONFIG_MMU build of both 2.6.31 and 2.6.30.6: "undefined reference to `user_shm_unlock'". gcc didn't understand my comment! so couldn't figure out to optimize away user_shm_unlock() from the error path in the hugetlb-less case, as it does elsewhere. Help it to do so, in a language it understands. Reported-by: Mike Frysinger Signed-off-by: Hugh Dickins Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 69def9f05dfce3281bb06599057e6b8097385d39 Merge: 353f6dd 8e616fc Author: Linus Torvalds Date: Mon Sep 14 17:43:43 2009 -0700 Merge branch 'kvm-updates/2.6.32' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.32' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (202 commits) MAINTAINERS: update KVM entry KVM: correct error-handling code KVM: fix compile warnings on s390 KVM: VMX: Check cpl before emulating debug register access KVM: fix misreporting of coalesced interrupts by kvm tracer KVM: x86: drop duplicate kvm_flush_remote_tlb calls KVM: VMX: call vmx_load_host_state() only if msr is cached KVM: VMX: Conditionally reload debug register 6 KVM: Use thread debug register storage instead of kvm specific data KVM guest: do not batch pte updates from interrupt context KVM: Fix coalesced interrupt reporting in IOAPIC KVM guest: fix bogus wallclock physical address calculation KVM: VMX: Fix cr8 exiting control clobbering by EPT KVM: Optimize kvm_mmu_unprotect_page_virt() for tdp KVM: Document KVM_CAP_IRQCHIP KVM: Protect update_cr8_intercept() when running without an apic KVM: VMX: Fix EPT with WP bit change during paging KVM: Use kvm_{read,write}_guest_virt() to read and write segment descriptors KVM: x86 emulator: Add adc and sbb missing decoder flags KVM: Add missing #include ... commit 353f6dd2dec992ddd34620a94b051b0f76227379 Author: Anirban Sinha Date: Mon Sep 14 11:13:37 2009 -0700 cleanup console_print() console_print() is an old legacy interface mostly unused in the entire kernel tree. It's best to clean up its existing use and let developers use their own implementation of it as they feel fit. Signed-off-by: Anirban Sinha Signed-off-by: Linus Torvalds commit 5e3573db2bd5db6925159279d99576a4635bdb66 Author: Bjorn Helgaas Date: Mon Sep 14 16:35:40 2009 -0600 PCI hotplug: clean up acpi_run_hpp() This patch cleans up acpi_run_hpp() and follows the style of acpi_run_hpx(): - remove unnecessary METHOD_NAME__HPP #define - use ACPI_ALLOCATE_BUFFER rather than evaluating _HPP twice - validate _HPP package length (defined as 4 by the spec) - avoid ref to undefined data if FW provides < 4 elements - remove temporary nui[] array Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit e81995bb1c0077a312cb621abc406a36f65a986a Author: Bjorn Helgaas Date: Mon Sep 14 16:35:35 2009 -0600 PCI hotplug: acpiphp: use generic pci_configure_slot() Use the generic pci_configure_slot() rather than the acpiphp-specific decode_hpp() and program_hpp(). Unlike the previous acpiphp-specific code, pci_configure_slot() programs PCIe settings when an _HPX method provides them, so acpiphp-managed PCIe devices can now be configured. Signed-off-by: Bjorn Helgaas Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 11876e52e9148bf923795d6fcf8abed7f3662aaa Author: Bjorn Helgaas Date: Mon Sep 14 16:35:30 2009 -0600 PCI hotplug: shpchp: use generic pci_configure_slot() Use the generic pci_configure_slot() rather than the SHPC-specific program_fw_provided_values(). Unlike the previous SHPC-specific code, pci_configure_slot() programs PCIe settings when an _HPX method provides them, so if it's possible to have an SHPC-managed PCIe device, it can now be configured. Signed-off-by: Bjorn Helgaas Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit d569c74d78ffcde2f163256e4da934ec3bacff0e Author: Bjorn Helgaas Date: Mon Sep 14 16:35:25 2009 -0600 PCI hotplug: pciehp: use generic pci_configure_slot() Use the generic pci_configure_slot() rather than the PCIe-specific program_fw_provided_values(). Unlike the previous pciehp-specific code, we now walk through subordinate devices even if there are no settings for the parent. This should be harmless because we won't change anything unless we discover firmware settings farther down. Signed-off-by: Bjorn Helgaas Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 8838400db5193c37588813c2eb1249b821781950 Author: Bjorn Helgaas Date: Mon Sep 14 16:35:20 2009 -0600 PCI hotplug: add pci_configure_slot() This patch adds a new pci_configure_slot() function that programs the PCI bus characteristics for a newly-added device. This is based on code in pciehp_pci.c, but should be generic enough to be used by pciehp, shpchp, and acpiphp. The hotplug_params struct and the program_hpp_typeX() functions are based on the ACPI definitions, but they aren't really ACPI-specific, and there's no alternate implementation, so I don't see the need to abstract them yet. Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit bb193c986a7104f718c1b92709e1e6e22ac3f864 Merge: f65ac45 aceda77 Author: Linus Torvalds Date: Mon Sep 14 17:38:52 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: fix slab_pad_check() slub: release kobject if sysfs_create_group failed in sysfs_slab_add SLUB: fix ARCH_KMALLOC_MINALIGN cases 64 and 256 SLUB: Fix some coding style issues SLUB: Drop write permission to /proc/slabinfo slab: remove duplicate kmem_cache_init_late() declarations slub: change kmem_cache->align to record the real alignment slub: use size and objsize orders to disable debug flags slub: add option to disable higher order debugging slabs commit f65ac45e20b03081ed64f41ce91bb982f8ac258d Merge: 4142e0d 22223c9 Author: Linus Torvalds Date: Mon Sep 14 17:38:38 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: x86, mce: do not compile mcelog message on AMD EDAC, AMD: decode FR MCEs EDAC, AMD: decode load store MCEs EDAC, AMD: decode bus unit MCEs EDAC, AMD: decode instruction cache MCEs EDAC, AMD: decode data cache MCEs EDAC, AMD: carve out decoding of MCi_STATUS ErrorCode EDAC, AMD: carve out MCi_STATUS decoding x86, mce: pass mce info to EDAC for decoding amd64_edac: cleanup amd64_decode_bus_error amd64_edac: remove memory and GART TLB error decoders amd64_edac: cleanup/complete NB MCE decoding amd64_edac: cleanup amd64_process_error_info EDAC: beef up ErrorCodeExt error signatures EDAC: move MCE error descriptions to EDAC core commit 6a29172ba90e49c046245610caff9848307bfd6a Author: Bjorn Helgaas Date: Mon Sep 14 16:35:15 2009 -0600 PCI hotplug: clean up acpi_get_hp_params_from_firmware() interface This patch makes acpi_get_hp_params_from_firmware() take a pci_dev rather than a pci_bus and makes it return a standard int errno rather than acpi_status. Signed-off-by: Bjorn Helgaas Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit fca6825ad7382ae9df8ecda9068ac13ee9e343f4 Author: Bjorn Helgaas Date: Mon Sep 14 16:35:10 2009 -0600 PCI hotplug: acpiphp: don't cache hotplug_params in acpiphp_bridge We always look up hotplug_params with decode_hpp() immediately before using them, so we don't need to save them in the acpiphp_bridge struct. This patch follows the example of program_fw_provided_values() in pciehp_pci.c and shpchp_pci.c by just keeping the params on the stack while we need them. Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit dffb4bb560ed73937a52c68c304b232c743b49f7 Author: Bjorn Helgaas Date: Mon Sep 14 16:35:05 2009 -0600 PCI hotplug: acpiphp: remove superfluous _HPP/_HPX evaluation decode_hpp() looks up hotplug PCI parameters from ACPI and saves them in the acpiphp_bridge structure. These parameters (in bridge->hpp) are only used by the acpiphp_set_hpp_values() -> program_hpp() path. In that path, we always call decode_hpp() before program_hpp(), so there's no need to do it in init_bridge_misc(). Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 036d6a673fa0a2e2c5b72a3b1d1b86114c1711c0 Author: Jarek Poplawski Date: Sun Sep 13 22:35:44 2009 +0000 pkt_sched: Fix qdisc_graft WRT ingress qdisc After the recent mq change using ingress qdisc overwrites dev->qdisc; there is also a wrong old qdisc pointer passed to notify_and_destroy. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit d314737ad3bad6b4603b243fd6db572385259690 Author: Alexander Duyck Date: Mon Sep 14 08:23:13 2009 +0000 igb: do not allow phy sw reset code to make calls to null pointers In the case of fiber and serdes adapters we were seeing issues with ethtool -t causing kernel panics due to null function pointers. To prevent this we need to exit out of the phy reset code in the event that we do not have a valid phy. Signed-off-by: Alexander Duyck Signed-off-by: Don Skidmore Signed-off-by: David S. Miller commit 2fb02a26bda1cbc3553164a8358c303d936255c5 Author: Alexander Duyck Date: Mon Sep 14 08:22:54 2009 +0000 igb: reset sgmii phy at start of init Our SGMII phy code was incomplete in that it was not actually placing the phy in SGMII mode and as a result the PHY was not able to establish a link when connected to a non serdes link partner. This patch updates the code to combine the SGMII/serdes PCS init and to add the necessary reset. Signed-off-by: Alexander Duyck Signed-off-by: Don Skidmore Signed-off-by: David S. Miller commit 6b1be1990d2f7d1a3b1f25bf3e6444600665764a Author: Peter P Waskiewicz Jr Date: Mon Sep 14 07:48:10 2009 +0000 ixgbe: Create separate media type for CX4 adapters Currently the media type detection for CX4 adapters lumps them into a type of fiber. This causes some strange fallout when firmware verification is done on the NIC, and certain fiber NIC rules get enforced incorrectly. This patch introduces a new media type for CX4, and puts both 82598 and 82599 CX4 adapters into this bucket. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: Don Skidmore Signed-off-by: David S. Miller commit 8911184fed68d2cdde1a8a920813e07a6d4f997f Author: Peter P Waskiewicz Jr Date: Mon Sep 14 07:47:49 2009 +0000 ixgbe: Add support for 82599-based CX4 adapters This patch adds support for CX4 adapters based on 82599. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: Don Skidmore Signed-off-by: David S. Miller commit 1b3ff02eac6dcb6d7d03a5be6a642b58ec9cf4bb Author: Peter P Waskiewicz Jr Date: Mon Sep 14 07:47:27 2009 +0000 ixgbe: Properly disable packet split per-ring when globally disabled The packet split feature was recently moved out of the adapter-wide flags feature field and into a per-Rx ring feature field. In the process, packet split isn't properly disabled in the Rx ring if the adapter has it globally disabled, followed by a device reset. This won't impact the driver today, since it's always in packet split mode. However, this will prevent any pitfalls if someone disables packet split on the adapter in the future and doesn't disable it in each ring. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: Don Skidmore Signed-off-by: David S. Miller commit ce187619e8f39abd60a8d99eeb2c52b4c00adc13 Author: Rémi Denis-Courmont Date: Mon Sep 14 03:10:28 2009 +0000 cdc-phonet: remove noisy debug statement From: Rémi Denis-Courmont Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit b11b5165ae7b6506e0e4889b6bf6a11491e1ec6b Author: Rémi Denis-Courmont Date: Mon Sep 14 03:10:27 2009 +0000 Phonet: Netlink event for autoconfigured addresses From: Rémi Denis-Courmont Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 5708e868dc512f055f0ea4a14d01f8252c3ca8a1 Author: Alexey Dobriyan Date: Mon Sep 14 12:23:23 2009 +0000 net: constify remaining proto_ops Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 41135cc836a1abeb12ca1416bdb29e87ad021153 Author: Alexey Dobriyan Date: Mon Sep 14 12:22:28 2009 +0000 net: constify struct inet6_protocol Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 32613090a96dba2ca2cc524c8d4749d3126fdde5 Author: Alexey Dobriyan Date: Mon Sep 14 12:21:47 2009 +0000 net: constify struct net_protocol Remove long removed "inet_protocol_base" declaration. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit e4c57d0f964cdbe278ed6b3bf632138fe575267e Author: Michael Hennerich Date: Mon Sep 14 08:03:42 2009 +0000 netdev: smc91x: drop Blackfin cruft Now that all Blackfin boards are using the board resources, we don't need to keep the arch/board specific crap in the driver header. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit aa1b1ff0991b469eca6fde4456190df6ed59ff40 Author: Gerrit Renker Date: Sat Sep 12 07:47:01 2009 +0000 net-next-2.6 [PATCH 1/1] dccp: ccids whitespace-cleanup / CodingStyle No code change, cosmetical changes only: * whitespace cleanup via scripts/cleanfile, * remove self-references to filename at top of files, * fix coding style (extraneous brackets), * fix documentation style (kernel-doc-nano-HOWTO). Thanks are due to Ivo Augusto Calado who raised these issues by submitting good-quality patches. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit d136f1bd366fdb7e747ca7e0218171e7a00a98a5 Author: Johannes Berg Date: Sat Sep 12 03:03:15 2009 +0000 genetlink: fix netns vs. netlink table locking Since my commits introducing netns awareness into genetlink we can get this problem: BUG: scheduling while atomic: modprobe/1178/0x00000002 2 locks held by modprobe/1178: #0: (genl_mutex){+.+.+.}, at: [] genl_register_mc_grou #1: (rcu_read_lock){.+.+..}, at: [] genl_register_mc_g Pid: 1178, comm: modprobe Not tainted 2.6.31-rc8-wl-34789-g95cb731-dirty # Call Trace: [] __schedule_bug+0x85/0x90 [] schedule+0x108/0x588 [] netlink_table_grab+0xa1/0xf0 [] netlink_change_ngroups+0x47/0x100 [] genl_register_mc_group+0x12f/0x290 because I overlooked that netlink_table_grab() will schedule, thinking it was just the rwlock. However, in the contention case, that isn't actually true. Fix this by letting the code grab the netlink table lock first and then the RCU for netns protection. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 8be8057e72d7d319f8e97b26e16de8021fe63988 Author: Mark Smith Date: Sat Sep 12 20:48:43 2009 +0000 Have atalk_route_packet() return NET_RX_SUCCESS not NET_XMIT_SUCCESS Have atalk_route_packet() return NET_RX_SUCCESS not NET_XMIT_SUCCESS atalk_route_packet() returns NET_RX_DROP if it's call to aarp_send_ddp() returns NET_XMIT_DROP. If aarp_send_ddp() returns anything else atalk_route_packet() should return NET_RX_SUCCESS, not NET_XMIT_SUCCESS. Signed-off-by: Mark Smith Signed-off-by: David S. Miller commit c08ef808ef24df32e25fbd949fe5310172f3c408 Author: David Howells Date: Mon Sep 14 17:26:13 2009 +0100 KEYS: Fix garbage collector Fix a number of problems with the new key garbage collector: (1) A rogue semicolon in keyring_gc() was causing the initial count of dead keys to be miscalculated. (2) A missing return in keyring_gc() meant that under certain circumstances, the keyring semaphore would be unlocked twice. (3) The key serial tree iterator (key_garbage_collector()) part of the garbage collector has been modified to: (a) Complete each scan of the keyrings before setting the new timer. (b) Only set the new timer for keys that have yet to expire. This means that the new timer is now calculated correctly, and the gc doesn't get into a loop continually scanning for keys that have expired, and preventing other things from happening, like RCU cleaning up the old keyring contents. (c) Perform an extra scan if any keys were garbage collected in this one as a key might become garbage during a scan, and (b) could mean we don't set the timer again. (4) Made key_schedule_gc() take the time at which to do a collection run, rather than the time at which the key expires. This means the collection of dead keys (key type unregistered) can happen immediately. Signed-off-by: David Howells Signed-off-by: James Morris commit 5c84342a3e147a23752276650340801c237d0e56 Author: Marc Dionne Date: Mon Sep 14 12:46:23 2009 +0100 KEYS: Unlock tasklist when exiting early from keyctl_session_to_parent When we exit early from keyctl_session_to_parent because of permissions or because the session keyring is the same as the parent, we need to unlock the tasklist. The missing unlock causes the system to hang completely when using keyctl(KEYCTL_SESSION_TO_PARENT) with a keyring shared with the parent. Signed-off-by: Marc Dionne Signed-off-by: David Howells Signed-off-by: James Morris commit 4a5d6ba1914d1bf1fcfb5e15834c29d84a879219 Author: David Howells Date: Mon Sep 14 12:45:39 2009 +0100 CRED: Allow put_cred() to cope with a NULL groups list put_cred() will oops if given a NULL groups list, but that is now possible with the existence of cred_alloc_blank(), as used in keyctl_session_to_parent(). Added in commit: commit ee18d64c1f632043a02e6f5ba5e045bb26a5465f Author: David Howells Date: Wed Sep 2 09:14:21 2009 +0100 KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] Reported-by: Marc Dionne Signed-off-by: David Howells Signed-off-by: James Morris commit 4142e0d1def2c0176c27fd2e810243045a62eb6d Merge: 33f1de6 2daea67 Author: Linus Torvalds Date: Mon Sep 14 14:36:47 2009 -0700 Merge branch 'osync_cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'osync_cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: fsync: wait for data writeout completion before calling ->fsync vfs: Remove generic_osync_inode() and sync_page_range{_nolock}() fat: Opencode sync_page_range_nolock() pohmelfs: Use new syncing helper xfs: Convert sync_page_range() to simple filemap_write_and_wait_range() ocfs2: Update syncing after splicing to match generic version ntfs: Use new syncing helpers and update comments ext4: Remove syncing logic from ext4_file_write ext3: Remove syncing logic from ext3_file_write ext2: Update comment about generic_osync_inode vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode vfs: Rename generic_file_aio_write_nolock ocfs2: Use __generic_file_aio_write instead of generic_file_aio_write_nolock pohmelfs: Use __generic_file_aio_write instead of generic_file_aio_write_nolock vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() vfs: Export __generic_file_aio_write() and add some comments vfs: Introduce filemap_fdatawait_range commit 33f1de69312432baecb997a570b7d77c4d02d1ed Merge: 041d6d0 86d0063 Author: Linus Torvalds Date: Mon Sep 14 14:35:56 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: GFS2: Whitespace fixes GFS2: Remove unused sysfs file GFS2: Be extra careful about deallocating inodes GFS2: Remove no_formal_ino generating code GFS2: Rename eattr.[ch] as xattr.[ch] GFS2: Clean up of extended attribute support GFS2: Add explanation of extended attr on-disk format GFS2: Add "-o errors=panic|withdraw" mount options GFS2: jumping to wrong label? GFS2: free disk inode which is deleted by remote node -V2 GFS2: Add a document explaining GFS2's uevents GFS2: Add sysfs link to device GFS2: Replace assertion with proper error handling GFS2: Improve error handling in inode allocation GFS2: Add some more info to uevents GFS2: Add online uevent to GFS2 commit 041d6d0be82bed7e0b87181dba5d10b8ab14afd9 Merge: af8cb8a cbc8cc3 Author: Linus Torvalds Date: Mon Sep 14 14:35:07 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: udf: Fix possible corruption when close races with write udf: Perform preallocation only for regular files udf: Remove wrong assignment in udf_symlink udf: Remove dead code commit af8cb8aa38296ecc43aca7fae9e574db7b8ae0c4 Merge: 6cdb593 41f4db0 Author: Linus Torvalds Date: Mon Sep 14 14:34:33 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (21 commits) fs/Kconfig: move nilfs2 outside misc filesystems nilfs2: convert nilfs_bmap_lookup to an inline function nilfs2: allow btree code to directly call dat operations nilfs2: add update functions of virtual block address to dat nilfs2: remove individual gfp constants for each metadata file nilfs2: stop zero-fill of btree path just before free it nilfs2: remove unused btree argument from btree functions nilfs2: remove nilfs_dat_abort_start and nilfs_dat_abort_free nilfs2: shorten freeze period due to GC in write operation v3 nilfs2: add more check routines in mount process nilfs2: An unassigned variable is assigned to a never used structure member nilfs2: use GFP_NOIO for bio_alloc instead of GFP_NOWAIT nilfs2: stop using periodic write_super callback nilfs2: clean up nilfs_write_super nilfs2: fix disorder of nilfs_write_super in nilfs_sync_fs nilfs2: remove redundant super block commit nilfs2: implement nilfs_show_options to display mount options in /proc/mounts nilfs2: always lookup disk block address before reading metadata block nilfs2: use semaphore to protect pointer to a writable FS-instance nilfs2: fix format string compile warning (ino_t) ... commit 6cdb5930a6fa0e35b236f4aa0e056001fe1384b4 Merge: 99bc470 9162ab2 Author: Linus Torvalds Date: Mon Sep 14 14:33:13 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: cifs: consolidate reconnect logic in smb_init routines cifs: Replace wrtPending with a real reference count cifs: protect GlobalOplock_Q with its own spinlock cifs: use tcon pointer in cifs_show_options cifs: send IPv6 addr in upcall with colon delimiters [CIFS] Fix checkpatch warnings PATCH] cifs: fix broken mounts when a SSH tunnel is used (try #4) [CIFS] Memory leak in ntlmv2 hash calculation [CIFS] potential NULL dereference in parse_DFS_referrals() commit 4b77b0a2ba27d64f58f16d8d4d48d8319dda36ff Author: Rafael J. Wysocki Date: Wed Sep 9 23:49:59 2009 +0200 PCI: Clear saved_state after the state has been restored Some PCI devices fail if their standard configuration registers are restored twice in a row. Prevent this from happening by making pci_restore_state() clear the saved_state flag of the device right after the device's standard configuration registers have been populated with the previously saved values. Simplify PCI PM callbacks by removing the direct clearing of state_saved from them, as it shouldn't be necessary any more (except in pci_pm_thaw(), where it has to be cleared, so that the values saved during the "freeze" phase of hibernation are not used later by mistake). Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 999cce4a52d5abdda5d2cec6bac241899bc19e4c Author: Rafael J. Wysocki Date: Wed Sep 9 23:51:27 2009 +0200 PCI PM: Return error codes from pci_pm_resume() Currently pci_pm_resume() always returns 0, which makes the error variable defined in there a bit pointless. Make pci_pm_resume() return error codes obtained from drivers' callbacks. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit fdcdaf6c4feca025de2f5e1b6c8e08ba0649e85a Author: Bjorn Helgaas Date: Mon Sep 14 14:36:41 2009 -0600 PCI: use dev_printk in quirk messages Convert quirk printks to dev_printk(). Signed-off-by: Bjorn Helgaas CC: Olaf Dabrunz Signed-off-by: Jesse Barnes commit e9d8288871efa0d98a1d1d1f17976b5b00a0234d Author: Rafael J. Wysocki Date: Mon Sep 14 22:25:11 2009 +0200 PCI / PCIe portdrv: Fix pcie_portdrv_slot_reset() After commit c82f63e411f1b58427c103bd95af2863b1c96dd1 (PCI: check saved state before restore) pcie_portdrv_slot_reset() may not work correctly if dev->error_state is equal to pci_channel_io_frozen, because dev->state_saved need not be set at that time. Fix this issue by setting dev->state_saved before pci_restore_state() is called in pcie_portdrv_slot_reset(). Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit e34e77ce348feac3c8c607774efb1f8a9262127d Author: Andi Kleen Date: Mon Sep 14 20:52:25 2009 +0200 x86, mce: Fix compilation with !CONFIG_DEBUG_FS in mce-severity.c Fix compilation error in arch/x86/kernel/cpu/mcheck/mce-severity.c when CONFIG_DEBUG_FS is disabled, introduced in commit 5be9ed251f58881dfc3dd6742a81ff9ad1a7bb04. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit cd559b36e77c396425284a58ce4b2c5d2167d40d Author: Larry Finger Date: Sun Sep 13 15:55:13 2009 -0500 ssb: Fix error when V1 SPROM extraction is forced When an SPROM revision is not recognized, the code falls back to a V1 SPROM; however, that revision is not forced in the appropriate structure. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 559a4741b8a5b4551b8c7e8e0de7f3e41a79bb5a Author: Johannes Berg Date: Fri Sep 11 10:50:37 2009 -0700 iwlwifi: disable powersave for 4965 There's a bug in 4965 powersave that appears to be related to the way it keeps track of its data during sleep, but we haven't found it yet. Due to that, using powersave may spontaneously cause the device to SYSASSERT when transitioning from sleep to wake. Therefore, disable powersave for 4965, until (if ever, unfortunately) we can identify and fix the problem. Cf. http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=1982 which was closed, but now has re-appeared with IDLE mode, which probably means we never really fixed it. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2ff6578ba2ac38c0082c1e56babd5f575029faf8 Author: Wey-Yi Guy Date: Fri Sep 11 10:38:18 2009 -0700 iwlwifi: find the correct first antenna We can not assume antenna "A" is the first valid anttena for all the NIC. Need to make sure choice the correct antenna based on h/w configuration for transmit to avoid sending frame on invalid antenna Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0aae511c0bf9e49165cfa04c51f6a3bf179aef09 Author: Reinette Chatre Date: Fri Sep 11 10:38:12 2009 -0700 iwlwifi: fix potential rx buffer loss RX handling maintains a few lists that keep track of the RX buffers. Buffers move from one list to the other as they are used, replenished, and again made available for usage. In one such instance, when a buffer is used it enters the "rx_used" list. When buffers are replenished an skb is attached to the buffer and it is moved to the "rx_free" list. The problem here is that the buffer is first removed from the "rx_used" list _before_ the skb is allocated. Thus, if the skb allocation fails this buffer remains removed from the "rx_used" list and is thus lost for future usage. Fix this by first allocating the skb before trying to attach it to a list. We add an additional check to not do this unnecessarily. Reported-by: Rick Farrington Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 392a0baf31b39b50cc6bf6d4400d542641d466c4 Author: Daniel C Halperin Date: Fri Sep 11 10:38:08 2009 -0700 iwlwifi: fix HT operation in 2.4 GHz band When we cleaned up the driver to properly tell mac80211 about HT rates ("iwlwifi: use iwl_hwrate_get_mac80211_idx where appropriate"), we broke internal rate indexing in 2.4 GHz band. Signed-off-by: Daniel C Halperin Tested-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e175e99646f21602d844ce85a727c83ba644ab87 Author: Michael Buesch Date: Fri Sep 11 18:31:32 2009 +0200 b43: Fix resume failure This fixes a resume failure where a signal is pending on resume so the firmware upload fails. This removes the interruptible sleep, because we don't really need it. In the worst case (with broken firmware) the sleep loop will take 1 second. In the common case (working firmware), it will only take a few milliseconds. So we don't really need to be interruptible. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 54a68d14e0bc4f2328fb630a3058729f61452c2e Author: Michael Buesch Date: Fri Sep 11 16:08:06 2009 +0200 ssb: Disable verbose SDIO coreswitch Disable SDIO coreswitch debugging. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit ff4d572a186c1276ea2118e405528432eb1f747c Author: Luis R. Rodriguez Date: Fri Sep 11 04:43:29 2009 -0400 wireless: default CONFIG_WLAN to y When this was added no defaults were set and it seems this implies n. Default this to y. Reported-by: Jouni Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8862dc5f25153a3c565a097220ed3de14ed72dfd Author: Holger Schurig Date: Fri Sep 11 10:13:55 2009 +0200 cfg80211: minimal error handling for wext-compat freq scanning Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit a4e7b730f1c8c9179def7033a024183c58cf2538 Author: Holger Schurig Date: Fri Sep 11 10:13:53 2009 +0200 cfg80211: use cfg80211_wext_freq() for freq conversion WEXT's "struct iw_freq" can also be used to handle a channel. This patch now uses cfg80211_wext_freq() instead of hand-converting the frequency. That allows user-space to specify channels as well, like with SIOCSIWFREQ. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit d37b7da39dbac8197e41a5f9c8162730f6b36d8b Author: Sujith Date: Fri Sep 11 08:30:03 2009 +0530 ath9k: Fix bug in ANI channel handling When processing MIB interrupts, OFDM and CCK error handling routines for low RSSI values have to be invoked only when the channel mode is 11G/11B. Since HT channels will also fall under the bands 2Ghz/5Ghz, check appropriately. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 32f6afd82c1c4e9415db9f8d18e3fd6fc65cfd46 Author: Michael Buesch Date: Thu Sep 10 20:31:46 2009 +0200 b43: Force-wake queues on init Force wake the mac80211 queues on init. Under rare circumstances they may be stopped, if a DMA error or something else causes a device reset while a queue was stopped. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e484c16f6212f7f06407382efa4d3ad214b6c589 Author: Martin Decky Date: Thu Sep 10 03:44:47 2009 +0200 hostap: Revert a toxic part of the conversion to net_device_ops As the hostap driver was converted to use net_device_ops, a mistake was made in hostap_main.c (commit 5ae4efbcd2611562a8b93596be034e63495706a5). Originally, the tx_queue_len was set to 0 for every other interface than HOSTAP_INTERFACE_MASTER, but the new fragment of code sets tx_queue_len to 0 only for HOSTAP_INTERFACE_MASTER. The opposite of the previous behavior makes the driver to drop all packets in AP mode. Change the way 0 is assigned to tx_queue_len according to the original logic. Signed-off-by: Martin Decky Signed-off-by: John W. Linville commit 33f82d141c897f39cd8bce592d88cb3c5af58342 Author: Dan Williams Date: Thu Sep 10 00:06:44 2009 +0200 at_hdmac: Rework suspend_late()/resume_early() This patch reworks platform driver power management code for at_hdmac from legacy late/early callbacks to dev_pm_ops. The callbacks are converted for CONFIG_SUSPEND like this: suspend_late() -> suspend_noirq() resume_early() -> resume_noirq() Signed-off-by: Dan Williams Signed-off-by: Rafael J. Wysocki commit 3eb132c986f04f64b9c360abd67a1e0d18d6d5b4 Author: Xiaotian Feng Date: Thu Aug 20 20:28:33 2009 +0200 PM: Reset transition_started at dpm_resume_noirq transition_started should be set once the preparation of devices for a PM has started, reset before starting to resume devices. When resuming devices, kernel calls dpm_resume_noirq then dpm_resume_end(dpm_resume). Thus we should reset transition_started at dpm_resume_noirq. This patch fixes ACPI warning when resuming from suspend/hibernate: ACPI: \_SB_.PCI0.IDE1.PRI1.MAS1 - docking ------------[ cut here ]------------ WARNING: at drivers/base/power/main.c:87 device_pm_add+0x8b/0xcc() Hardware name: OptiPlex 760 Device: acpi Parentless device registered during a PM transaction [rjw: Fixed up the changelog.] Signed-off-by: Xiaotian Feng Signed-off-by: Rafael J. Wysocki commit 20d652d7d1c2f202215ecf0306ccecc3569df9ba Author: Rafael J. Wysocki Date: Thu Aug 20 20:25:52 2009 +0200 PM: Update kerneldoc comments in drivers/base/power/main.c The kerneldoc comments in drivers/base/power/main.c are generally outdated and some of them don't describe the functions very accurately. Update them and standardize the format to use spaces instead of tabs. Signed-off-by: Rafael J. Wysocki Acked-by: Randy Dunlap Acked-by: Greg Kroah-Hartman Acked-by: Alan Stern commit 9d62ec6ca71d71c8a0d2cb1004f476d33f668955 Author: Albin Tonnerre Date: Wed Aug 5 23:59:59 2009 +0200 PM: Add convenience macro to make switching to dev_pm_ops less error-prone In a number of cases, the .suspend, .freeze, .poweroff and .resume, .thaw, .restore functions are identical. However, they all need to be assigned to avoid regressionsm as the previous code called .suspend resp. .resume in all those cases. SIMPLE_DEV_PM_OPS helps to deal with this case. [rjw: Changed the name of the macro and added the comment explaining its purpose.] Signed-off-by: Albin Tonnerre Signed-off-by: Rafael J. Wysocki commit 8dd2b42665f9d4ca4fded99f048631b60f669dc5 Author: Frans Pop Date: Thu Aug 20 20:38:13 2009 +0200 hp-wmi: Switch driver to dev_pm_ops Gets rid of the following warning: Platform driver 'hp-wmi' needs updating - please use dev_pm_ops I tested that the resume handler still works on my HP 2510p notebook. [rjw: Fixed up the definition of hp_wmi_pm_ops.] Signed-off-by: Frans Pop Signed-off-by: Andrew Morton Signed-off-by: Rafael J. Wysocki commit c90cd332d3dbf9fc78934b8bda271c1f909216ea Author: Frans Pop Date: Sat Jul 25 22:24:54 2009 +0200 floppy: Switch driver to dev_pm_ops Gets rid of the following warning: Platform driver 'floppy' needs updating - please use dev_pm_ops [rjw: Fixed up the definition of floppy_pm_ops.] Signed-off-by: Frans Pop Signed-off-by: Andrew Morton Signed-off-by: Rafael J. Wysocki commit 8de0307326be94148436082a9abf365da8e3c66d Author: Wu Fengguang Date: Wed Jul 22 19:56:10 2009 +0200 PM: Trivial fixes Fix the definition of BM_BITS_PER_BLOCK and kerneldoc description of create_bm_block_list(). [rjw: Added changelog.] Signed-off-by: Wu Fengguang Signed-off-by: Rafael J. Wysocki commit 98e73dc5d2dadfcb95305ad71ac9239f4e361870 Author: Gerald Schaefer Date: Wed Jul 22 00:36:56 2009 +0200 PM / Hibernate / Memory hotplug: Always use for_each_populated_zone() Use for_each_populated_zone() instead of for_each_zone() in hibernation code. This fixes a bug on s390, where we allow both config options HIBERNATION and MEMORY_HOTPLUG, so that we also have a ZONE_MOVABLE here. We only allow hibernation if no memory hotplug operation was performed, so in fact both features can only be used exclusively, but this way we don't need 2 differently configured (distribution) kernels. If we have an unpopulated ZONE_MOVABLE, we allow hibernation but run into a BUG_ON() in memory_bm_test/set/clear_bit() because hibernation code iterates through all zones, not only the populated zones, in several places. For example, swsusp_free() does for_each_zone() and then checks for pfn_valid(), which is true even if the zone is not populated, resulting in a BUG_ON() later because the pfn cannot be found in the memory bitmap. Replacing all occurences of for_each_zone() in hibernation code with for_each_populated_zone() would fix this issue. [rjw: Rebased on top of linux-next hibernation patches.] Signed-off-by: Gerald Schaefer Acked-by: KOSAKI Motohiro Signed-off-by: Rafael J. Wysocki commit ef4aede3f10d82adef1fb044b565ba5f08f851e0 Author: Rafael J. Wysocki Date: Wed Jul 8 13:24:12 2009 +0200 PM/Hibernate: Do not try to allocate too much memory too hard (rev. 2) We want to avoid attempting to free too much memory too hard during hibernation, so estimate the minimum size of the image to use as the lower limit for preallocating memory. The approach here is based on the (experimental) observation that we can't free more page frames than the sum of: * global_page_state(NR_SLAB_RECLAIMABLE) * global_page_state(NR_ACTIVE_ANON) * global_page_state(NR_INACTIVE_ANON) * global_page_state(NR_ACTIVE_FILE) * global_page_state(NR_INACTIVE_FILE) minus * global_page_state(NR_FILE_MAPPED) Namely, if this number is subtracted from the number of saveable pages in the system, we get a good estimate of the minimum reasonable size of a hibernation image. Signed-off-by: Rafael J. Wysocki Acked-by: Wu Fengguang commit 64a473cb74a88cb4991edf985d55a266e65292e1 Author: Rafael J. Wysocki Date: Wed Jul 8 13:24:05 2009 +0200 PM/Hibernate: Do not release preallocated memory unnecessarily (rev. 2) Since the hibernation code is now going to use allocations of memory to make enough room for the image, it can also use the page frames allocated at this stage as image page frames. The low-level hibernation code needs to be rearranged for this purpose, but it allows us to avoid freeing a great number of pages and allocating these same pages once again later, so it generally is worth doing. [rev. 2: Take highmem into account correctly.] Signed-off-by: Rafael J. Wysocki commit 4bb334353ebd821bc8eeabeb019eaac33c7307df Author: Rafael J. Wysocki Date: Wed Jul 8 13:23:51 2009 +0200 PM/Hibernate: Rework shrinking of memory Rework swsusp_shrink_memory() so that it calls shrink_all_memory() just once to make some room for the image and then allocates memory to apply more pressure to the memory management subsystem, if necessary. Unfortunately, we don't seem to be able to drop shrink_all_memory() entirely just yet, because that would lead to huge performance regressions in some test cases. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek commit e681c9dd62fe8fcc5bba28a3ca3f7dc8be940206 Author: Thadeu Lima de Souza Cascardo Date: Wed Jul 8 13:23:32 2009 +0200 PM: Fix typo in label name s/Platofrm_finish/Platform_finish/ Although the same label name is used somewhere else in the file, this particular label was consistently typoed in all of its uses. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Rafael J. Wysocki commit ac8d513a6801c8636922ccf4f30211810c9a56ce Merge: bf992fa 99bc470 Author: Rafael J. Wysocki Date: Mon Sep 14 20:26:05 2009 +0200 Merge branch 'master' into for-linus commit 99bc47067910f7070e65ee318a6dd79a2371f1e5 Merge: d7e9660 cabc5c0 Author: Linus Torvalds Date: Mon Sep 14 10:48:59 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (21 commits) sparc64: Initial niagara2 perf counter support. sparc64: Perf counter 'nop' event is not constant. sparc64: Provide a way to specify a perf counter overflow IRQ enable bit. sparc64: Provide hypervisor tracing bit support for perf counters. sparc64: Initial hw perf counter support. sparc64: Implement a real set_perf_counter_pending(). sparc64: Use nmi_enter() and nmi_exit(), as needed. sparc64: Provide extern decls for sparc_??u_type strings. sparc64: Make touch_nmi_watchdog() actually work. sparc64: Kill unnecessary cast in profile_timer_exceptions_notify(). sparc64: Manage NMI watchdog enabling like x86. sparc: add basic support for 'perf' sparc: convert /proc/io_map, /proc/dvma_map to seq_file sparc, leon: sparc-leon specific SRMMU initialization and bootup fixes. sparc,leon: Added support for AMBAPP bus. sparc,leon: Introduce the sparc-leon CPU type. sparc,leon: Redefine MMU register access asi if CONFIG_LEON sparc,leon: CONFIG_SPARC_LEON option and leon specific files. sparc64: cheaper asm/uaccess.h inclusion SPARC: fix duplicate declaration ... commit d7e9660ad9d5e0845f52848bce31bcf5cdcdea6b Merge: b8cb48a 13af7a6 Author: Linus Torvalds Date: Mon Sep 14 10:37:28 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1623 commits) netxen: update copyright netxen: fix tx timeout recovery netxen: fix file firmware leak netxen: improve pci memory access netxen: change firmware write size tg3: Fix return ring size breakage netxen: build fix for INET=n cdc-phonet: autoconfigure Phonet address Phonet: back-end for autoconfigured addresses Phonet: fix netlink address dump error handling ipv6: Add IFA_F_DADFAILED flag net: Add DEVTYPE support for Ethernet based devices mv643xx_eth.c: remove unused txq_set_wrr() ucc_geth: Fix hangs after switching from full to half duplex ucc_geth: Rearrange some code to avoid forward declarations phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs drivers/net/phy: introduce missing kfree drivers/net/wan: introduce missing kfree net: force bridge module(s) to be GPL Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded ... Fixed up trivial conflicts: - arch/x86/include/asm/socket.h converted to in the x86 tree. The generic header has the same new #define's, so that works out fine. - drivers/net/tun.c fix conflict between 89f56d1e9 ("tun: reuse struct sock fields") that switched over to using 'tun->socket.sk' instead of the redundantly available (and thus removed) 'tun->sk', and 2b980dbd ("lsm: Add hooks to the TUN driver") which added a new 'tun->sk' use. Noted in 'next' by Stephen Rothwell. commit b8cb48aae1b8c50b37dcb7710363aa69a7a0d9ca Merge: 0cc6d77 78c86e5 Author: Linus Torvalds Date: Mon Sep 14 10:23:49 2009 -0700 Merge branch 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: split __phys_addr out into separate file xen: use stronger barrier after unlocking lock xen: only enable interrupts while actually blocking for spinlock xen: make -fstack-protector work under Xen commit aceda773606f2506a25b91aaafae87b2e4315834 Merge: 0cc6d77 5086c38 8a3d271 Author: Pekka Enberg Date: Mon Sep 14 20:19:06 2009 +0300 Merge branches 'slab/cleanups' and 'slab/fixes' into for-linus commit cbc8cc33529b0e0e55ae0ff077b8cb0b71d54c7a Author: Jan Kara Date: Fri Aug 7 00:27:27 2009 +0200 udf: Fix possible corruption when close races with write When we close a file, we remove preallocated blocks from it. But this truncation was not protected by i_mutex and thus it could have raced with a write through a different fd and cause crashes or even filesystem corruption. Signed-off-by: Jan Kara commit 81056dd04465902461b627169c4b4487a11acba1 Author: Jan Kara Date: Thu Jul 16 18:02:25 2009 +0200 udf: Perform preallocation only for regular files So far we preallocated blocks also for directories but that brings a problem, when to get rid of preallocated blocks we don't need. So far we removed them in udf_clear_inode() which has a disadvantage that 1) blocks are unavailable long after writing to a directory finished and thus one can get out of space unnecessarily early 2) releasing blocks from udf_clear_inode is problematic because VFS does not expect us to redirty inode there and it also slows down memory reclaim. So preallocate blocks only for regular files where we can drop preallocation in udf_release_file. Signed-off-by: Jan Kara commit 7c6e3d1aaeb3b25b49510d193000c27037004acb Author: Jan Kara Date: Thu Jul 16 17:36:54 2009 +0200 udf: Remove wrong assignment in udf_symlink Recomputation of the pointer was wrong (it should have been just increment). Luckily, we never use the computed value. Remove it. Signed-off-by: Jan Kara commit 5891d9dd2a47d38c205115211841a3d82304628f Author: Jan Kara Date: Thu Jul 16 17:35:11 2009 +0200 udf: Remove dead code Remove code that gets never used. Signed-off-by: Jan Kara commit 22223c9b417be5fd0ab2cf9ad17eb7bd1e19f7b9 Author: Borislav Petkov Date: Tue Jul 28 14:47:10 2009 +0200 x86, mce: do not compile mcelog message on AMD Now that decoding is done in-kernel, suppress mcelog message part. CC: Andi Kleen Signed-off-by: Borislav Petkov commit 53bd5fedca7d0c28b35b02cab5f4e27bf8d7fabe Author: Borislav Petkov Date: Tue Jul 28 14:20:46 2009 +0200 EDAC, AMD: decode FR MCEs See Fam10h BKDG (31116, rev. 3.28), Table 101. Signed-off-by: Borislav Petkov commit f9350efd6f37ef60d2334739edb76ef1f8ee0183 Author: Borislav Petkov Date: Tue Jul 28 14:17:30 2009 +0200 EDAC, AMD: decode load store MCEs See Fam10h BKDG (31116, rev. 3.28), Table 100. Signed-off-by: Borislav Petkov commit 56cad2d6fb832a876ab8bda4b01e5d0722dc754b Author: Borislav Petkov Date: Tue Jul 28 14:14:24 2009 +0200 EDAC, AMD: decode bus unit MCEs ... according to Table 69, Fam10h BKDG (31116, rev. 3.28). Signed-off-by: Borislav Petkov commit ab5535e70fb35b8046b6ace50259fe212e074a4f Author: Borislav Petkov Date: Tue Jul 28 14:06:26 2009 +0200 EDAC, AMD: decode instruction cache MCEs See Fam10h BKDG (31116, rev. 3.28), Table 95 Signed-off-by: Borislav Petkov commit 51966241360874e85d1e4d93c9fcdd2ef917b0fb Author: Borislav Petkov Date: Tue Jul 28 13:50:43 2009 +0200 EDAC, AMD: decode data cache MCEs Those get reported in MC0_STATUS, see Table 92, F10h BKDG (31116, rev. 3.28) for more details. Signed-off-by: Borislav Petkov commit d93cc222adf3532ddb442648f8db00c15d1dc4c1 Author: Borislav Petkov Date: Tue Jul 28 10:56:15 2009 +0200 EDAC, AMD: carve out decoding of MCi_STATUS ErrorCode This is the MCE error code from the MCi_STATUS banks, bits [15:0] which describe what type of error was encountered: GART TLB, Memory or Bus error. The semantics of those bits are identical across all MCE banks so decode those separately, irrespectively of MCE type. Signed-off-by: Borislav Petkov commit b69b29de65fe4078b125acc9dea34be82f7c362c Author: Borislav Petkov Date: Mon Jul 27 16:21:14 2009 +0200 EDAC, AMD: carve out MCi_STATUS decoding The MCi_STATUS registers have most field definitions in common so decode them in the general path. Do not pass ecc_type along and compute it in __amd64_decode_bus_error instead. Signed-off-by: Borislav Petkov commit 549d042df240dfb4203bab40ad44f9336751b7d6 Author: Borislav Petkov Date: Fri Jul 24 13:51:42 2009 +0200 x86, mce: pass mce info to EDAC for decoding Move NB decoder along with required defines to EDAC MCE core. Add registration routines for further decoding of the MCE info in the AMD64 EDAC module. CC: Andi Kleen Signed-off-by: Borislav Petkov commit ecaf5606de65cdd04de5f526185fe28fb0df654e Author: Borislav Petkov Date: Thu Jul 23 16:32:01 2009 +0200 amd64_edac: cleanup amd64_decode_bus_error Signed-off-by: Borislav Petkov commit b7225e4fc19ce27a594cb2b868ef151bf82f8f93 Author: Borislav Petkov Date: Thu Jul 23 16:05:53 2009 +0200 amd64_edac: remove memory and GART TLB error decoders Signed-off-by: Borislav Petkov commit 5110dbdeab546268dda2e4c6a83448639b2fc5ae Author: Borislav Petkov Date: Thu Jun 25 19:51:04 2009 +0200 amd64_edac: cleanup/complete NB MCE decoding * don't dump info which mcheck already does * update to newest BKDG * mv amd64_process_error_info -> amd64_decode_nb_mce * shorten error struct names * remove redundant info ptr in amd64_process_error_info * remove unused ErrorCodeExt[19:16] (MCx_STATUS) defines Signed-off-by: Borislav Petkov commit ef44cc4c2245d3c43f3c11c7bff6239852eef498 Author: Borislav Petkov Date: Thu Jul 23 14:45:48 2009 +0200 amd64_edac: cleanup amd64_process_error_info * mv amd64_error_info_regs -> err_regs * remove redundant info ptr Signed-off-by: Borislav Petkov commit 1c43f2e24d059913bce58887f1d6e4267aaed284 Author: Borislav Petkov Date: Thu Jul 23 15:47:51 2009 +0200 EDAC: beef up ErrorCodeExt error signatures Signed-off-by: Borislav Petkov commit b70ef01016850de87b9a28a6af19fed8801df076 Author: Borislav Petkov Date: Thu Jun 25 19:32:38 2009 +0200 EDAC: move MCE error descriptions to EDAC core This is in preparation of adding AMD-specific MCE decoding functionality to the EDAC core. The error decoding macros originate from the AMD64 EDAC driver albeit in a simplified and cleaned up version here. While at it, add macros to generate the error description strings and use them in the error type decoders directly which removes a bunch of code and makes the decoding functions much more readable. Also, fix strings and shorten macro names. Remove superfluous htlink_msgs. Signed-off-by: Borislav Petkov commit 1f5a6b45416694ff8c0d04625f1a438a0e380add Author: Steven Rostedt Date: Mon Sep 14 11:58:24 2009 -0400 tracing: make testing syscall events a separate configuration Parag noticed that the number of event tests has increased tremendously: grep "Testing event" dmesg.31rc9 |wc -l 100 grep "Testing event" dmesg.31git |wc -l 1172 This is due to the testing of every syscall event when ftrace self test is enabled. This adds a bit more time to kernel boot up and can affect development by slowing down the time it takes between reboots. This option makes the testing of the syscall events into a separate config, to still be able to test most of ftrace internals at boot up but not have to wait for all the syscall events to be tested. The syscall event testing only tests the enabling and disabling of the trace point, since the syscalls are not executed. What really needs to be done is to somehow have a userspace tool test the syscall tracepoints as well. Reported-by: Parag Warudkar LKML-Reference: Signed-off-by: Steven Rostedt commit 3eef08ba522775360cc59fe0a6b1bca6ecc8da4e Author: Mark Brown Date: Mon Sep 14 16:49:00 2009 +0100 ASoC: Fix display of stream name in DAPM debugfs Also display streams all the time while we're here. Signed-off-by: Mark Brown commit 7f53866932fd08add06ee2f93ead129949158490 Author: Alex Chiang Date: Thu Sep 10 12:34:09 2009 -0600 PCI Hotplug: convert acpi_pci_detect_ejectable() to take an acpi_handle acpi_pci_detect_ejectable() goes through effort to convert its struct pci_bus arg to an acpi_handle, but every time we use this interface, we already have the handle available. So let's just use the handle instead of converting back and forth. Reviewed-by: Kenji Kaneshige Tested-by: Kenji Kaneshige Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 6edd7679db92376ca54f328d6b0f12291c2dab35 Author: Alex Chiang Date: Thu Sep 10 12:34:04 2009 -0600 PCI Hotplug: acpiphp: find bridges the easy way Instead of constantly evaluating _ADR and _SEG over and over again, let's simplify our lives by using: acpi_pci_find_root() for root bridges acpi_get_pci_dev() for p2p bridges This change eliminates some copy 'n paste code and also allows us to simplify some internal interfaces. Reviewed-by: Kenji Kaneshige Tested-by: Kenji Kaneshige Cc: Bjorn Helgaas Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 20a58a77231c5f5f61470932503b889303e8d4f3 Author: Li Zefan Date: Mon Sep 14 15:55:18 2009 +0800 tracing: remove some unused macros - remove FTRACE_ENTRY_STRUCT_ONLY() - remove TRACE_XXX() macros Signed-off-by: Li Zefan LKML-Reference: <4AADF6E6.3080606@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 05ffa2d02066c2cb169c02d5417308ee8ecab638 Author: Li Zefan Date: Mon Sep 14 15:54:52 2009 +0800 ftrace: add compile-time check on F_printk() Make sure F_printk() has corrent format and args, and make sure changes in F_STRUCT() won't break F_printk(). Signed-off-by: Li Zefan LKML-Reference: <4AADF6CC.1060809@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit c16de8fd7a608aba8708dd056cf6e4d9462e800a Author: Li Zefan Date: Mon Sep 14 15:51:39 2009 +0800 tracing: fix F_printk() typos I found some typos in F_printk(), so I wrote compile-time check for it, and triggered some compile errors and warnings. I've fixed them on x86_32, but I have no x86_64 in my hand, so there may still be some compile warnings on 64bits. Signed-off-by: Li Zefan LKML-Reference: <4AADF60B.5070407@cn.fujitsu.com> [ tested on x86_64, and works fine ] Signed-off-by: Steven Rostedt commit a48f494e1dbdcf4fb7c02100ae3208c4c1daecbf Author: Steven Rostedt Date: Mon Sep 14 11:18:02 2009 -0400 tracing: have TRACE_EVENT macro use __flags to not shadow parameter The generated functions of TRACE_EVENT uses "flags" in one of the sub macros which shadows a parameter in the outside macro. Simple fix is to make the submacro use __flags instead. Discovered by sparse. Reported-by: Jaswinder Singh Rajput Signed-off-by: Steven Rostedt commit 2daea67e966dc0c42067ebea015ddac6834cef88 Author: Christoph Hellwig Date: Thu Sep 3 12:39:39 2009 +0200 fsync: wait for data writeout completion before calling ->fsync Currenly vfs_fsync(_range) first calls filemap_fdatawrite to write out the data, the calls into ->fsync to write out the metadata and then finally calls filemap_fdatawait to wait for the data I/O to complete. What sounds like a clever micro-optimization actually is nast trap for many filesystems. For many modern filesystems i_size or other inode information is only updated on I/O completion and we need to wait for I/O to finish before we can write out the metadata. For old fashionen filesystems that instanciate blocks during the actual write and also update the metadata at that point it opens up a large window were we could expose uninitialized blocks after a crash. While a few filesystems that need it already wait for the I/O to finish inside their ->fsync methods it is rather suboptimal as it is done under the i_mutex and also always for the whole file instead of just a part as we could do for O_SYNC handling. Here is a small audit of all fsync instances in the tree: - spufs_mfc_fsync: - ps3flash_fsync: - vol_cdev_fsync: - printer_fsync: - fb_deferred_io_fsync: - bad_file_fsync: - simple_sync_file: don't care - filesystems/drivers do't use the page cache or are purely in-memory. - simple_fsync: - file_fsync: - affs_file_fsync: - fat_file_fsync: - jfs_fsync: - ubifs_fsync: - reiserfs_dir_fsync: - reiserfs_sync_file: never touch pagecache themselves. We need to wait before if we do not want to expose stale data after an allocation. - afs_fsync: - fuse_fsync_common: do the waiting writeback itself in awkward ways, would benefit from proper semantics - block_fsync: Does a filemap_write_and_wait on the block device inode. Because we now have f_mapping that is the same inode we call it on in vfs_fsync. So just removing it and letting the VFS do the work in one go would be an improvement. - btrfs_sync_file: - cifs_fsync: - xfs_file_fsync: need the wait first and currently do it themselves. would benefit from doing it outside i_mutex. - coda_fsync: - ecryptfs_fsync: - exofs_file_fsync: - shm_fsync: only passes the fsync through to the lower layer - ext3_sync_file: doesn't seem to care, comments are confusing. - ext4_sync_file: would need the wait to work correctly for delalloc mode with late i_size updates. Otherwise the ext3 comment applies. currently implemens it's own writeback and wait in an odd way, could benefit from doing it properly. - gfs2_fsync: not needed for journaled data mode, but probably harmless there. Currently writes back data asynchronously itself. Needs some major audit. - hostfs_fsync: just calls fsync/datasync on the host FD. Without the wait before data might not even be inflight yet if we're unlucky. - hpfs_file_fsync: - ncp_fsync: no-ops. Dangerous before and after. - jffs2_fsync: just calls jffs2_flush_wbuf_gc, not sure how this relates to data. - nfs_fsync_dir: just increments stats, claims all directory operations are synchronous - nfs_file_fsync: only writes out data??? Looks very odd. - nilfs_sync_file: looks like it expects all data done, but not sure from the code - ntfs_dir_fsync: - ntfs_file_fsync: appear to do their own data writeback. Very convoluted code. - ocfs2_sync_file: does it's own data writeback, but no wait. probably needs the wait. - smb_fsync: according to a comment expects all pages written already, probably needs the wait before. This patch only changes vfs_fsync_range, removal of the wait in the methods that have it is left to the filesystem maintainers. Note that most filesystems really do need an audit for their fsync methods given the gems found in this very brief audit. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara commit 18f2ee705d98034b0f229a3202d827468d4bffd9 Author: Jan Kara Date: Tue Aug 18 18:43:15 2009 +0200 vfs: Remove generic_osync_inode() and sync_page_range{_nolock}() Remove these three functions since nobody uses them anymore. Signed-off-by: Jan Kara commit 2f3d675bcd4a84251d6e8eea8096ec8fc795e5d6 Author: Jan Kara Date: Mon Aug 17 17:00:02 2009 +0200 fat: Opencode sync_page_range_nolock() fat_cont_expand() is the only user of sync_page_range_nolock(). It's also the only user of generic_osync_inode() which does not have a file open. So opencode needed actions for FAT so that we can convert generic_osync_inode() to a standard syncing path. Update a comment about generic_osync_inode(). CC: OGAWA Hirofumi Signed-off-by: Jan Kara commit aa3caafe53cab7ef60605e481cd5d7943e1c3022 Author: Jan Kara Date: Tue Aug 18 18:38:45 2009 +0200 pohmelfs: Use new syncing helper Use new generic_write_sync() helper instead of sync_page_range(). Acked-by: Evgeniy Polyakov Signed-off-by: Jan Kara commit af0f4414f343429971d33b0dd8dccc85c1f3dcd2 Author: Jan Kara Date: Tue Aug 18 18:32:55 2009 +0200 xfs: Convert sync_page_range() to simple filemap_write_and_wait_range() Christoph Hellwig says that it is enough for XFS to call filemap_write_and_wait_range() instead of sync_page_range() because we do all the metadata syncing when forcing the log. CC: Felix Blyakher CC: xfs@oss.sgi.com CC: Christoph Hellwig Signed-off-by: Jan Kara commit d23c937b0f740888765676f6f82f509dbbb2bbad Author: Jan Kara Date: Tue Aug 18 18:24:31 2009 +0200 ocfs2: Update syncing after splicing to match generic version Update ocfs2 specific splicing code to use generic syncing helper. The sync now does not happen under rw_lock because generic_write_sync() acquires i_mutex which ranks above rw_lock. That should not matter because standard fsync path does not hold it either. Acked-by: Joel Becker Acked-by: Mark Fasheh CC: ocfs2-devel@oss.oracle.com Signed-off-by: Jan Kara commit ebbbf757c6b8577ac2fb6181c08c2059153bb0e2 Author: Jan Kara Date: Tue Aug 18 18:13:58 2009 +0200 ntfs: Use new syncing helpers and update comments Use new syncing helpers in .write and .aio_write functions. Also remove superfluous syncing in ntfs_file_buffered_write() and update comments about generic_osync_inode(). CC: Anton Altaparmakov CC: linux-ntfs-dev@lists.sourceforge.net Signed-off-by: Jan Kara commit 0d34ec62e18984ac9476208660372306ef54e70d Author: Jan Kara Date: Tue Aug 18 17:48:27 2009 +0200 ext4: Remove syncing logic from ext4_file_write The syncing is now properly handled by generic_file_aio_write() so no special ext4 code is needed. CC: linux-ext4@vger.kernel.org CC: tytso@mit.edu Signed-off-by: Jan Kara commit e367626b6164aeecb97fb7c20509ed8696babc26 Author: Jan Kara Date: Tue Aug 18 17:51:23 2009 +0200 ext3: Remove syncing logic from ext3_file_write Syncing is now properly done by generic_file_aio_write() so no special logic is needed in ext3. CC: linux-ext4@vger.kernel.org Signed-off-by: Jan Kara commit a2a735ad666a04306a708b5a0109cc1fe113f569 Author: Jan Kara Date: Tue Aug 18 17:54:11 2009 +0200 ext2: Update comment about generic_osync_inode We rely on generic_write_sync() now. CC: linux-ext4@vger.kernel.org Signed-off-by: Jan Kara commit 148f948ba877f4d3cdef036b1ff6d9f68986706a Author: Jan Kara Date: Mon Aug 17 19:52:36 2009 +0200 vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Introduce new function for generic inode syncing (vfs_fsync_range) and use it from fsync() path. Introduce also new helper for syncing after a sync write (generic_write_sync) using the generic function. Use these new helpers for syncing from generic VFS functions. This makes O_SYNC writes to block devices acquire i_mutex for syncing. If we really care about this, we can make block_fsync() drop the i_mutex and reacquire it before it returns. CC: Evgeniy Polyakov CC: ocfs2-devel@oss.oracle.com CC: Joel Becker CC: Felix Blyakher CC: xfs@oss.sgi.com CC: Anton Altaparmakov CC: linux-ntfs-dev@lists.sourceforge.net CC: OGAWA Hirofumi CC: linux-ext4@vger.kernel.org CC: tytso@mit.edu Acked-by: Christoph Hellwig Signed-off-by: Jan Kara commit eef99380679e20e7edc096aa4d8a98b875404d79 Author: Christoph Hellwig Date: Thu Aug 20 17:43:41 2009 +0200 vfs: Rename generic_file_aio_write_nolock generic_file_aio_write_nolock() is now used only by block devices and raw character device. Filesystems should use __generic_file_aio_write() in case generic_file_aio_write() doesn't suit them. So rename the function to blkdev_aio_write() and move it to fs/blockdev.c. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara commit 918941a3f3d46c2a69971b4718aaf13b1be2f1a7 Author: Jan Kara Date: Mon Aug 17 18:50:08 2009 +0200 ocfs2: Use __generic_file_aio_write instead of generic_file_aio_write_nolock Use the new helper. We have to submit data pages ourselves in case of O_SYNC write because __generic_file_aio_write does not do it for us. OCFS2 developpers might think about moving the sync out of i_mutex which seems to be easily possible but that's out of scope of this patch. CC: ocfs2-devel@oss.oracle.com Acked-by: Joel Becker Signed-off-by: Jan Kara commit b04f932171e8a99bb8ca2f863b2b9eadb85741e8 Author: Jan Kara Date: Mon Aug 17 18:14:33 2009 +0200 pohmelfs: Use __generic_file_aio_write instead of generic_file_aio_write_nolock Use new helper __generic_file_aio_write(). Since the fs takes care of syncing by itself afterwards, there are no more changes needed. CC: Evgeniy Polyakov Signed-off-by: Jan Kara commit c7b50db21fe8c295092518e224d60b95e69da3b0 Author: Jan Kara Date: Tue Aug 18 16:18:20 2009 +0200 vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() generic_file_direct_write() and generic_file_buffered_write() called generic_osync_inode() if it was called on O_SYNC file or IS_SYNC inode. But this is superfluous since generic_file_aio_write() does the syncing as well. Also XFS and OCFS2 which call these functions directly handle syncing themselves. So let's have a single place where syncing happens: generic_file_aio_write(). We slightly change the behavior by syncing only the range of file to which the write happened for buffered writes but that should be all that is required. CC: ocfs2-devel@oss.oracle.com CC: Joel Becker CC: Felix Blyakher CC: xfs@oss.sgi.com Signed-off-by: Jan Kara commit e4dd9de3c66bc7e26c5c7f149a060c5a67cf06a0 Author: Jan Kara Date: Mon Aug 17 18:10:06 2009 +0200 vfs: Export __generic_file_aio_write() and add some comments Rename __generic_file_aio_write_nolock() to __generic_file_aio_write(), add comments to write helpers explaining how they should be used and export __generic_file_aio_write() since it will be used by some filesystems. CC: ocfs2-devel@oss.oracle.com CC: Joel Becker Acked-by: Evgeniy Polyakov Reviewed-by: Christoph Hellwig Signed-off-by: Jan Kara commit d3bccb6f4b886060aa0f58976b92b77d951f5434 Author: Jan Kara Date: Mon Aug 17 19:30:27 2009 +0200 vfs: Introduce filemap_fdatawait_range This simple helper saves some filesystems conversion from byte offset to page numbers and also makes the fdata* interface more complete. Reviewed-by: Christoph Hellwig Signed-off-by: Jan Kara commit 0cc6d77e55eca9557bbe41bf2db94b31aa8fcb2a Merge: 55e0715 5051fd6 Author: Linus Torvalds Date: Mon Sep 14 08:01:47 2009 -0700 Merge branch 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, e820: Guard against array overflowed in __e820_add_region() x86, setup: remove obsolete pre-Kconfig CONFIG_VIDEO_ variables commit 55e0715f612f19b44c17497929091df2f3357e5d Merge: 7dfd54a bdf977b Author: Linus Torvalds Date: Mon Sep 14 08:01:28 2009 -0700 Merge branch 'x86-percpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-percpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, percpu: Collect hot percpu variables into one cacheline x86, percpu: Fix DECLARE/DEFINE_PER_CPU_PAGE_ALIGNED() x86, percpu: Add 'percpu_read_stable()' interface for cacheable accesses commit 7dfd54a905be0242bd604557d543c3a2d7b0a540 Merge: 6512c0d 565b0c1 Author: Linus Torvalds Date: Mon Sep 14 07:59:32 2009 -0700 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, highmem_32.c: Clean up comment x86, pgtable.h: Clean up types x86: Clean up dump_pagetable() commit 6512c0d62589c9f4da00328518e492ddd1c01c7f Merge: 625037c c7bd041 Author: Linus Torvalds Date: Mon Sep 14 07:59:07 2009 -0700 Merge branch 'x86-kbuild-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-kbuild-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Simplify the Makefile in a minor way through use of cc-ifversion commit 625037cc405eabbfd2a39e9297e583a94886225f Merge: 8fafa0a 17950c5 Author: Linus Torvalds Date: Mon Sep 14 07:58:08 2009 -0700 Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86-64: move clts into batch cpu state updates when preloading fpu x86-64: move unlazy_fpu() into lazy cpu state part of context switch x86-32: make sure clts is batched during context switch x86: split out core __math_state_restore commit 8fafa0a789faaff4318cbfa9c2f827d2198505dc Merge: c7208de 23b6c52 Author: Linus Torvalds Date: Mon Sep 14 07:57:50 2009 -0700 Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Decrease the level of some NUMA messages to KERN_DEBUG commit c7208de304ac335d5d58db346bb773a471fc636b Merge: 15b0404 5367b68 Author: Linus Torvalds Date: Mon Sep 14 07:57:32 2009 -0700 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (22 commits) x86: Fix code patching for paravirt-alternatives on 486 x86, msr: change msr-reg.o to obj-y, and export its symbols x86: Use hard_smp_processor_id() to get apic id for AMD K8 cpus x86, sched: Workaround broken sched domain creation for AMD Magny-Cours x86, mcheck: Use correct cpumask for shared bank4 x86, cacheinfo: Fixup L3 cache information for AMD multi-node processors x86: Fix CPU llc_shared_map information for AMD Magny-Cours x86, msr: Fix msr-reg.S compilation with gas 2.16.1, on 32-bit too x86: Move kernel_fpu_using to irq_fpu_usable in asm/i387.h x86, msr: fix msr-reg.S compilation with gas 2.16.1 x86, msr: Export the register-setting MSR functions via /dev/*/msr x86, msr: Create _on_cpu helpers for {rw,wr}msr_safe_regs() x86, msr: Have the _safe MSR functions return -EIO, not -EFAULT x86, msr: CFI annotations, cleanups for msr-reg.S x86, asm: Make _ASM_EXTABLE() usable from assembly code x86, asm: Add 32-bit versions of the combined CFI macros x86, AMD: Disable wrongly set X86_FEATURE_LAHF_LM CPUID bit x86, msr: Rewrite AMD rd/wrmsr variants x86, msr: Add rd/wrmsr interfaces with preset registers x86: add specific support for Intel Atom architecture ... commit 15b0404272e1513940223cf9eefadfd22804a060 Merge: 9b74aec d535e43 Author: Linus Torvalds Date: Mon Sep 14 07:56:43 2009 -0700 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Make memtype_seq_ops const x86: uv: Clean up uv_ptc_init(), use proc_create() x86: Use printk_once() x86/cpu: Clean up various files a bit x86: Remove duplicated #include x86, ipi: Clean up safe_smp_processor_id() by using the cpu_has_apic() macro helper x86: Clean up idt_descr and idt_tableby using NR_VECTORS instead of hardcoded number x86: Further clean up of mtrr/generic.c x86: Clean up mtrr/main.c x86: Clean up mtrr/state.c x86: Clean up mtrr/mtrr.h x86: Clean up mtrr/if.c x86: Clean up mtrr/generic.c x86: Clean up mtrr/cyrix.c x86: Clean up mtrr/cleanup.c x86: Clean up mtrr/centaur.c x86: Clean up mtrr/amd.c: x86: ds.c fix invalid assignment commit 9b74aec028e7d7ce57b8deef490e440003555520 Merge: b581af5 73a2d09 Author: Linus Torvalds Date: Mon Sep 14 07:55:37 2009 -0700 Merge branch 'x86-asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: remove all now-duplicate header files x86: convert termios.h to the asm-generic version x86: convert almost generic headers to asm-generic version x86: convert trivial headers to asm-generic version x86: add copies of some headers to convert to asm-generic commit b581af5110ab62db3a33f86ea7531d5f898a520c Merge: ffaf854 53f8245 Author: Linus Torvalds Date: Mon Sep 14 07:53:49 2009 -0700 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86/i386: Put aligned stack-canary in percpu shared_aligned section x86/i386: Make sure stack-protector segment base is cache aligned x86: Detect stack protector for i386 builds on x86_64 x86: allow "=rm" in native_save_fl() x86: properly annotate alternatives.c x86: Introduce GDT_ENTRY_INIT(), initialize bad_bios_desc statically x86, 32-bit: Use generic sys_pipe() x86: Introduce GDT_ENTRY_INIT(), fix APM x86: Introduce GDT_ENTRY_INIT() x86: Introduce set_desc_base() and set_desc_limit() x86: Remove unused patch_espfix_desc() x86: Use get_desc_base() commit ffaf854b011bde97d63955a71232a20fe4382a38 Merge: 86d7101 eebc57f Author: Linus Torvalds Date: Mon Sep 14 07:51:20 2009 -0700 Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits) ACPI, x86: expose some IO-APIC routines when CONFIG_ACPI=n x86, apic: Slim down stack usage in early_init_lapic_mapping() x86, ioapic: Get rid of needless check and simplify ioapic_setup_resources() x86, ioapic: Define IO_APIC_DEFAULT_PHYS_BASE constant x86: Fix x86_model test in es7000_apic_is_cluster() x86, apic: Move dmar_table_init() out of enable_IR() x86, ioapic: Panic on irq-pin binding only if needed x86/apic: Enable x2APIC without interrupt remapping under KVM x86, apic: Drop redundant bit assignment x86, ioapic: Throw BUG instead of NULL dereference x86, ioapic: Introduce for_each_irq_pin() helper x86: Remove superfluous NULL pointer check in destroy_irq() x86/ioapic.c: unify ioapic_retrigger_irq() x86/ioapic.c: convert __target_IO_APIC_irq to conventional for() loop x86/ioapic.c: clean up replace_pin_at_irq_node logic and comments x86/ioapic.c: convert replace_pin_at_irq_node to conventional for() loop x86/ioapic.c: simplify add_pin_to_irq_node() x86/ioapic.c: convert io_apic_level_ack_pending loop to normal for() loop x86/ioapic.c: move lost comment to what seems like appropriate place x86/ioapic.c: remove redundant declaration of irq_pin_list ... commit ec827c7ece8901044e6b3f92aeea489be9e1bcf7 Author: Steven Rostedt Date: Mon Sep 14 10:50:23 2009 -0400 tracing: add static to generated TRACE_EVENT functions Some of the generated functions used in the TRACE_EVENT macros are not declared static, but they are not global. Discovered by sparse. Reported-by: Jaswinder Singh Rajput Signed-off-by: Steven Rostedt commit 6e34c033210bb86b3f5f45fd6497f74150bdf620 Author: Takashi Iwai Date: Mon Sep 14 15:42:18 2009 +0200 ALSA: hda - Add support for HP dv6 Add the quirk entry for HP dv6. Also add a workaround for the headphone detection by setting hp_detect=1 beforehand. Without this, the driver won't do auto-muting because BIOS doesn't give any HP pin but only a line-out pin. Signed-off-by: Takashi Iwai commit 08a408161749d2406f94f4e3d47cfdbc826ad1cc Author: Steven Rostedt Date: Mon Sep 14 09:31:35 2009 -0400 ring-buffer: typecast cmpxchg to fix PowerPC warning The cmpxchg used by PowerPC does the following: ({ \ __typeof__(*(ptr)) _o_ = (o); \ __typeof__(*(ptr)) _n_ = (n); \ (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long)_o_, \ (unsigned long)_n_, sizeof(*(ptr))); \ }) This does a type check of *ptr to both o and n. Unfortunately, the code in ring-buffer.c assigns longs to pointers and pointers to longs and causes a warning on PowerPC: ring_buffer.c: In function 'rb_head_page_set': ring_buffer.c:704: warning: initialization makes pointer from integer without a cast ring_buffer.c:704: warning: initialization makes pointer from integer without a cast ring_buffer.c: In function 'rb_head_page_replace': ring_buffer.c:797: warning: initialization makes integer from pointer without a cast This patch adds the typecasts inside cmpxchg to annotate that a long is being cast to a pointer and a pointer is being casted to a long and this removes the PowerPC warnings. Reported-by: Stephen Rothwell Signed-off-by: Steven Rostedt commit 5f380eb1eff2031b5101a64c76b54cca8e1c7079 Author: Takashi Iwai Date: Mon Sep 14 15:36:14 2009 +0200 ALSA: hda - Fix HP/line-out initialization with IDT/STAC codecs It's possible that hp_detect is set even though no headphone pin is detected. The driver issues, however, an unsol event only to hp_pins[0], which can be invalid. This patch adds the check of the valid pin to send an unsol event at initialization and resume callbacks. Signed-off-by: Takashi Iwai commit fc64b26cfa3c7ee5ba23ab549ecd6415bed6b0eb Author: Takashi Iwai Date: Mon Sep 14 15:33:01 2009 +0200 ALSA: hda - Set default GPIO for IDT92HD71bxx A smiliar fix for IDT 92HD71Bxx codecs like the previous commit for other IDT/STAC codecs. Signed-off-by: Takashi Iwai commit af6ee302020101bd16c7224c2b03a5fb36e17d99 Author: Takashi Iwai Date: Mon Sep 14 15:03:12 2009 +0200 ALSA: hda - Set default GPIO for STAC/IDT codecs IDT92HD73xx and STAC927x codecs use GPIO0 bit as EAPD on many machines. However, currently we don't set it unless the model is specified just for safety reason. But, most machines do need this bit, so this safety handling is rather annoying. This patch enables GPIO0 setup as default for them. Many HP / Dell laptops should work even without model override with this change. Signed-off-by: Takashi Iwai commit 41f4db0f48c72db3a93cc1a0b18368d9a9aca700 Author: Ryusuke Konishi Date: Sat Aug 8 16:09:46 2009 +0900 fs/Kconfig: move nilfs2 outside misc filesystems Some people asked me questions like the following: On Wed, 15 Jul 2009 13:11:21 +0200, Leon Woestenberg wrote: > just wondering, any reasons why NILFS2 is one of the miscellaneous > filesystems and, for example, btrfs, is not in Kconfig? Actually, nilfs is NOT a filesystem came from other operating systems, but a filesystem created purely for Linux. Nor is it a flash filesystem but that for generic block devices. So, this moves nilfs outside the misc category as I responded in LKML "Re: Why does NILFS2 hide under Miscellaneous filesystems?" (Message-Id: <20090716.002526.93465395.ryusuke@osrg.net>). Signed-off-by: Ryusuke Konishi commit 0f3fe33b398abbecfcf9f08c16959d1a9a14a49a Author: Ryusuke Konishi Date: Sat Aug 15 02:29:28 2009 +0900 nilfs2: convert nilfs_bmap_lookup to an inline function The nilfs_bmap_lookup() is now a wrapper function of nilfs_bmap_lookup_at_level(). This moves the nilfs_bmap_lookup() to a header file converting it to an inline function and gives an opportunity for optimization. Signed-off-by: Ryusuke Konishi commit 2e0c2c73923fed27337039ddfd69985e6c4b91fe Author: Ryusuke Konishi Date: Sat Aug 15 15:34:33 2009 +0900 nilfs2: allow btree code to directly call dat operations The current btree code is written so that btree functions call dat operations via wrapper functions in bmap.c when they allocate, free, or modify virtual block addresses. This abstraction requires additional function calls and causes frequent call of nilfs_bmap_get_dat() function since it is used in the every wrapper function. This removes the wrapper functions and makes them available from btree.c and direct.c, which will increase the opportunity of compiler optimization. Signed-off-by: Ryusuke Konishi commit bd8169efae8bdd292675c386010f6b35f0771057 Author: Ryusuke Konishi Date: Sat Aug 15 17:22:13 2009 +0900 nilfs2: add update functions of virtual block address to dat This is a preparation for the successive cleanup ("nilfs2: allow btree to directly call dat operations"). This adds functions bundling a few operations to change an entry of virtual block address on the dat file. Signed-off-by: Ryusuke Konishi commit 7a102b09232be1ad7c180dfd1f46c7aa95dff1e0 Author: Ryusuke Konishi Date: Sat Aug 15 13:47:09 2009 +0900 nilfs2: remove individual gfp constants for each metadata file This gets rid of NILFS_CPFILE_GFP, NILFS_SUFILE_GFP, NILFS_DAT_GFP, and NILFS_IFILE_GFP. All of these constants refer to NILFS_MDT_GFP, and can be removed. Signed-off-by: Ryusuke Konishi commit 3218929dbd25245e0f601df1e359a3ed3f7fb03b Author: Ryusuke Konishi Date: Sat Aug 15 01:54:59 2009 +0900 nilfs2: stop zero-fill of btree path just before free it The btree path object is cleared just before it is freed. This will remove the code doing the unnecessary clear operation. Signed-off-by: Ryusuke Konishi commit 6d28f7ea43856449ed2f344cb209af3ba1c6b757 Author: Ryusuke Konishi Date: Sat Aug 15 01:14:10 2009 +0900 nilfs2: remove unused btree argument from btree functions Even though many btree functions take a btree object as their first argument, most of them are not used in their functions. This sticky use of the btree argument is hurting code readability and giving the possibility of inefficient code generation. So, this removes the unnecessary btree arguments. Signed-off-by: Ryusuke Konishi commit 9ead98637300dc7caefd904bbe1e092bf4d21f87 Author: Ryusuke Konishi Date: Fri Aug 14 23:39:45 2009 +0900 nilfs2: remove nilfs_dat_abort_start and nilfs_dat_abort_free These functions are not called from any functions. Signed-off-by: Ryusuke Konishi commit 1cf58fa840472ec7df6bf2312885949ebb308853 Author: Jiro SEKIBA Date: Thu Sep 3 22:24:17 2009 +0900 nilfs2: shorten freeze period due to GC in write operation v3 This is a re-revised patch to shorten freeze period. This version include a fix of the bug Konishi-san mentioned last time. When GC is runnning, GC moves live block to difference segments. Copying live blocks into memory is done in a transaction, however it is not necessarily to be in the transaction. This patch will get the nilfs_ioctl_move_blocks() out from transaction lock and put it before the transaction. I ran sysbench fileio test against nilfs partition. I copied some DVD/CD images and created snapshot to create live blocks before starting the benchmark. Followings are summary of rc8 and rc8 w/ the patch of per-request statistics, which is min/max and avg. I ran each test three times and bellow is average of those numers. According to this benchmark result, average time is slightly degrated. However, worstcase (max) result is significantly improved. This can address a few seconds write freeze. - random write per-request performance of rc8 min 0.843ms max 680.406ms avg 3.050ms - random write per-request performance of rc8 w/ this patch min 0.843ms -> 100.00% max 380.490ms -> 55.90% avg 3.233ms -> 106.00% - sequential write per-request performance of rc8 min 0.736ms max 774.343ms avg 2.883ms - sequential write per-request performance of rc8 w/ this patch min 0.720ms -> 97.80% max 644.280ms-> 83.20% avg 3.130ms -> 108.50% -----8<-----8<-----nilfs_cleanerd.conf-----8<-----8<----- protection_period 150 selection_policy timestamp # timestamp in ascend order nsegments_per_clean 2 cleaning_interval 2 retry_interval 60 use_mmap log_priority info -----8<-----8<-----nilfs_cleanerd.conf-----8<-----8<----- Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 43be0ec0387a5ccce2e064cb78502e7b2b4dd590 Author: Zhu Yanhai Date: Wed Aug 12 14:17:59 2009 +0800 nilfs2: add more check routines in mount process nilfs2: Add more safeguard routines and protections in mount process, which also makes nilfs2 report consistency error messages when checkpoint number is invalid. Signed-off-by: Zhu Yanhai Signed-off-by: Ryusuke Konishi commit a4f0b9c5b4ae83636dafde8f3a0e04b5e411a0f3 Author: Zhang Qiang Date: Sun Aug 9 19:13:10 2009 +0800 nilfs2: An unassigned variable is assigned to a never used structure member nilfs2: In procedure 'nilfs_get_sb()', when a nilfs filesysttem is mounted for the first time, local variable 'nilfs->ns_last_cno' is used before loading the latest checkpoint number from disk (in 'nilfs_fill_super'). 'nilfs->ns_last_cno' is assigned to 'sd.cno', but 'sd.cno' has never been used in the procedure. Signed-off-by: Zhang Qiang Signed-off-by: Ryusuke Konishi commit c1b353f04a42f1b531be920149b85343d56a6b3b Author: Ryusuke Konishi Date: Fri Jun 19 15:25:42 2009 +0900 nilfs2: use GFP_NOIO for bio_alloc instead of GFP_NOWAIT Alberto Bertogli advised me about bio_alloc() use in nilfs: On Sat, 13 Jun 2009 22:52:40 -0300, Alberto Bertogli wrote: > By the way, those bio_alloc()s are using GFP_NOWAIT but it looks > like they could use at least GFP_NOIO or GFP_NOFS, since the caller > can (and sometimes do) sleep. The only caller is nilfs_submit_bh(), > which calls nilfs_submit_seg_bio() which can sleep calling > wait_for_completion(). This takes in the comment and replaces the use of GFP_NOWAIT flag with GFP_NOIO. Signed-off-by: Ryusuke Konishi commit 1dfa27105a6cf4171c439fd40a004a0a17838115 Author: Jiro SEKIBA Date: Thu Jul 23 01:33:49 2009 +0900 nilfs2: stop using periodic write_super callback This removes nilfs_write_super and commit super block in nilfs internal thread, instead of periodic write_super callback. VFS layer calls ->write_super callback periodically. However, it looks like that calling back is ommited when disk I/O is busy. And when cleanerd (nilfs GC) is runnig, disk I/O tend to be busy thus nilfs superblock is not synchronized as nilfs designed. To avoid it, syncing superblock by nilfs thread instead of pdflush. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 79efdd94111f30c373fce05e4e5822d8ff671c2a Author: Jiro SEKIBA Date: Thu Jul 23 01:26:34 2009 +0900 nilfs2: clean up nilfs_write_super Separate conditions that check if syncing super block and alternative super block are required as inline functions to reuse the conditions. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 6233caa9d5b153c2190d6c1c35c1dd1010104fc1 Author: Jiro SEKIBA Date: Thu Jul 23 01:26:33 2009 +0900 nilfs2: fix disorder of nilfs_write_super in nilfs_sync_fs This fixes disorder of nilfs_write_super in nilfs_sync_fs. Commiting super block must be the end of the function so that every changes are reflected. ->sync_fs() is not called frequently so this makes nilfs_sync_fs call nilfs_commit_super instead of nilfs_write_super. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit ec5d66abdb0caf8b753a138568f20770a3d64c8c Author: Jiro SEKIBA Date: Fri Jul 10 19:57:28 2009 +0900 nilfs2: remove redundant super block commit This removes redundant super block commit. nilfs_write_super will call nilfs_commit_super to store super block into block device. However, nilfs_put_super will call nilfs_commit_super right after calling nilfs_write_super. So calling nilfs_write_super in nilfs_put_super would be redundant. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit b58a285ba40866e22e5876969a8f796a74311d9e Author: Jiro SEKIBA Date: Wed Jun 24 20:06:34 2009 +0900 nilfs2: implement nilfs_show_options to display mount options in /proc/mounts This is a patch to display mount options in procfs. Mount options will show up in the /proc/mounts as other fs does. ... /dev/sda6 /mnt nilfs2 ro,relatime,barrier=off,cp=3,order=strict 0 0 ... Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 143511046765504d2d1be633efd710f8d84e0407 Author: Ryusuke Konishi Date: Sun Sep 6 17:49:49 2009 +0900 nilfs2: always lookup disk block address before reading metadata block The current metadata file code skips disk address lookup for its data block if the buffer has a mapped flag. This has a potential risk to cause read request to be performed against the stale block address that GC moved, and it may lead to meta data corruption. The mapped flag is safe if the buffer has an uptodate flag, otherwise it may prevent necessary update of disk address in the next read. This will avoid the potential problem by ensuring disk address lookup before reading metadata block even for buffers with the mapped flag. Signed-off-by: Ryusuke Konishi commit 027d6404eb4327878454db72a006adfcb8001bb8 Author: Ryusuke Konishi Date: Sun Aug 2 22:45:33 2009 +0900 nilfs2: use semaphore to protect pointer to a writable FS-instance will get rid of nilfs_get_writer() and nilfs_put_writer() pair used to retain a writable FS-instance for a period. The pair functions were making up some kind of recursive lock with a mutex, but they became overkill since the commit 201913ed746c7724a40d33ee5a0b6a1fd2ef3193. Furthermore, they caused the following lockdep warning because the mutex can be released by a task which didn't lock it: ===================================== [ BUG: bad unlock balance detected! ] ------------------------------------- kswapd0/422 is trying to release lock (&nilfs->ns_writer_mutex) at: [] mutex_unlock+0x8/0xa but there are no more locks to release! other info that might help us debug this: no locks held by kswapd0/422. stack backtrace: Pid: 422, comm: kswapd0 Not tainted 2.6.31-rc4-nilfs #51 Call Trace: [] ? printk+0xf/0x18 [] print_unlock_inbalance_bug+0xcc/0xd7 [] ? prop_put_global+0x3/0x35 [] lock_release+0xed/0x1dc [] ? mutex_unlock+0x8/0xa [] __mutex_unlock_slowpath+0xaf/0x119 [] mutex_unlock+0x8/0xa [] nilfs_mdt_write_page+0xd8/0xe1 [nilfs2] [] shrink_page_list+0x379/0x68d [] ? isolate_pages_global+0xb4/0x18c [] shrink_list+0x26b/0x54b [] shrink_zone+0x20c/0x2a2 [] kswapd+0x407/0x591 [] ? isolate_pages_global+0x0/0x18c [] ? autoremove_wake_function+0x0/0x33 [] ? kswapd+0x0/0x591 [] kthread+0x69/0x6e [] ? kthread+0x0/0x6e [] kernel_thread_helper+0x7/0x1a This patch uses a reader/writer semaphore instead of the own lock and kills this warning. Signed-off-by: Ryusuke Konishi commit b5696e5e0dbfb6323277d51d67d230317c18aba9 Author: Heiko Carstens Date: Thu Sep 3 17:42:48 2009 +0200 nilfs2: fix format string compile warning (ino_t) Unlike on most other architectures ino_t is an unsigned int on s390. So add an explicit cast to avoid this compile warning: fs/nilfs2/recovery.c: In function 'recover_dsync_blocks': fs/nilfs2/recovery.c:555: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'ino_t' Signed-off-by: Heiko Carstens Signed-off-by: Ryusuke Konishi commit 1b2f5a641bca91966fd91dc489238068a0ab4b69 Author: Ryusuke Konishi Date: Sat Aug 22 19:10:07 2009 +0900 nilfs2: fix ignored error code in __nilfs_read_inode() The __nilfs_read_inode function is ignoring the error code returned from nilfs_read_inode_common(), and wrongly delivers a success code (zero) when it escapes from the function in erroneous cases. This adds the missing error handling. Signed-off-by: Ryusuke Konishi commit 121264827656f5f06328b17983c796af17dc5949 Author: Zhenyu Wang Date: Mon Sep 14 10:47:06 2009 +0800 agp/intel: remove restore in resume As early pci resume has already restored config for host bridge and graphics device, don't need to restore it again, This removes an original order hack for graphics device restore. This fixed the resume hang issue found by Alan Stern on 845G, caused by extra config restore on graphics device. Cc: Stable Team Cc: Alan Stern Signed-off-by: Zhenyu Wang Signed-off-by: Dave Airlie commit 86d006365610fe6cda243d89b67d5047dca44656 Author: Steven Whitehouse Date: Mon Sep 14 09:50:57 2009 +0100 GFS2: Whitespace fixes Reported-by: Daniel Walker Signed-off-by: Steven Whitehouse commit 746cd1e7e4a555ddaee53b19a46e05c9c61eaf09 Author: Christoph Hellwig Date: Sat Sep 12 07:35:43 2009 +0200 block: use blkdev_issue_discard in blk_ioctl_discard blk_ioctl_discard duplicates large amounts of code from blkdev_issue_discard, the only difference between the two is that blkdev_issue_discard needs to send a barrier discard request and blk_ioctl_discard a non-barrier one, and blk_ioctl_discard needs to wait on the request. To facilitates this add a flags argument to blkdev_issue_discard to control both aspects of the behaviour. This will be very useful later on for using the waiting funcitonality for other callers. Based on an earlier patch from Matthew Wilcox . Signed-off-by: Christoph Hellwig Signed-off-by: Jens Axboe commit 3d2257f157c2324acbc0fa0fa54e8626a987edd2 Author: David Woodhouse Date: Sat Sep 12 07:35:37 2009 +0200 Make DISCARD_BARRIER and DISCARD_NOBARRIER writes instead of reads The commands are conceptually writes, and in the case of IDE and SCSI commands actually are writes. They were only reads because we thought that would interact better with the elevators. Now the elevators know about discard requests, that advantage no longer exists. Signed-off-by: David Woodhouse Signed-off-by: Matthew Wilcox Signed-off-by: Jens Axboe commit b8a9ae779f2c7049071034661e09cb7e1e82250c Author: Jens Axboe Date: Fri Sep 11 22:44:29 2009 +0200 block: don't assume device has a request list backing in nr_requests store Stacked devices do not. For now, just error out with -EINVAL. Later we could make the limit apply on stacked devices too, for throttling reasons. This fixes 5a54cd13353bb3b88887604e2c980aa01e314309 and should go into 2.6.31 stable as well. Cc: stable@kernel.org Signed-off-by: Jens Axboe commit 3c5820c743479285ce2678fd3c12b1fd39fe998f Author: Martin K. Petersen Date: Fri Sep 11 21:54:52 2009 +0200 block: Optimal I/O limit wrapper Implement blk_limits_io_opt() and make blk_queue_io_opt() a wrapper around it. DM needs this to avoid poking at the queue_limits directly. Signed-off-by: Martin K. Petersen Signed-off-by: Mike Snitzer Signed-off-by: Jens Axboe commit 06d2188644c85c56d243efab914f368d1d23c4a3 Author: Jeff Moyer Date: Fri Sep 11 17:08:59 2009 +0200 cfq: choose a new next_req when a request is dispatched This patch addresses http://bugzilla.kernel.org/show_bug.cgi?id=13401, a regression introduced in 2.6.30. From the bug report: Signed-off-by: Jens Axboe commit a9327cac440be4d8333bba975cbbf76045096275 Author: Nikanth Karthikesan Date: Fri Sep 11 09:18:54 2009 +0200 Seperate read and write statistics of in_flight requests Currently, there is a single in_flight counter measuring the number of requests in the request_queue. But some monitoring tools would like to know how many read requests and write requests are in progress. Split the current in_flight counter into two seperate counters for read and write. This information is exported as a sysfs attribute, as changing the currently available stat files would break the existing tools. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit 18d8217bc441630c3c5ec7416c5a65c69e8a0979 Author: Ed Cashin Date: Thu Sep 10 22:30:47 2009 +0200 aoe: end barrier bios with EOPNOTSUPP BugLink: http://bugzilla.kernel.org/show_bug.cgi?id=13942 Bruno Premont noticed that aoe throws a BUG during umount of an XFS in 2.6.31: [ 5259.349897] aoe: bi_io_vec is NULL [ 5259.349940] ------------[ cut here ]------------ [ 5259.349958] kernel BUG at /usr/src/linux-2.6/drivers/block/aoe/aoeblk.c:177! [ 5259.349990] invalid opcode: 0000 [#1] The bio in question is a barrier. Jens Axboe suggested that such bios need to be recognized and ended with -EOPNOTSUPP by any driver that provides its own ->make_request_fn handler and does not handle barriers. In testing the changes below eliminate the BUG. (Better would be real barrier support, something that Ed says he'll add for later in the .32 cycle. For now, this at least gets rid of a bug with crashing on an empty barrier. Jens) Signed-off-by: Ed L. Cashin Signed-off-by: Jens Axboe commit 8a3d271deb0cc9c2fc47317d8e431046382939c9 Author: Eric Dumazet Date: Thu Sep 3 16:08:06 2009 +0200 slub: fix slab_pad_check() When SLAB_POISON is used and slab_pad_check() finds an overwrite of the slab padding, we call restore_bytes() on the whole slab, not only on the padding. Acked-by: Christoph Lameer Reported-by: Zdenek Kabelac Signed-off-by: Eric Dumazet Signed-off-by: Pekka Enberg commit fc8e1ead9314cf0e0f1922e661428b93d3a50d88 Merge: 2bcaa6a 9de48cc Author: Dmitry Torokhov Date: Sun Sep 13 21:16:56 2009 -0700 Merge branch 'next' into for-linus commit 4e6d0bffd3d72a32b620525c9007d2482c731775 Author: Eric Paris Date: Sat Sep 12 22:54:23 2009 -0400 SELinux: flush the avc before disabling SELinux Before SELinux is disabled at boot it can create AVC entries. This patch will flush those entries before disabling SELinux. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 008574b11171a1ee9583a00188e27ff9e0432061 Author: Eric Paris Date: Sat Sep 12 22:54:17 2009 -0400 SELinux: seperate avc_cache flushing Move the avc_cache flushing into it's own function so it can be reused when disabling SELinux. Signed-off-by: Eric Paris Signed-off-by: James Morris commit ed868a56988464cd31de0302426a5e94d3127f10 Author: Eric Paris Date: Sat Sep 12 22:54:10 2009 -0400 Creds: creds->security can be NULL is selinux is disabled __validate_process_creds should check if selinux is actually enabled before running tests on the selinux portion of the credentials struct. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 8123e8f7c89a07cb22279b15bf47cdee0205d4a1 Merge: affbb8c 42960a1 a809dda Author: Jiri Kosina Date: Sun Sep 13 20:09:41 2009 +0200 Merge branches 'upstream', 'upstream-fixes' and 'debugfs' into for-linus commit 9de48cc300fb10f7d9faa978670becf5e352462a Author: Henrik Rydberg Date: Sun Sep 13 09:10:11 2009 -0700 Input: bcm5974 - silence uninitialized variables warnings Signed-off-by: Dmitry Torokhov commit 85927b0d5240dd2f48f1debf2797bd28ed4d112b Author: Dmitry Torokhov Date: Wed Sep 9 19:17:24 2009 -0700 Input: wistron_btns - add keymap for AOpen 1557 This one does not have anything useful in DMI either so again we need to use: force=1 keymap=aopen1557 Signed-off-by: Dmitry Torokhov commit 60ba77022712c7cda0eda286154bae160446b24a Author: Steven Rostedt Date: Sat Sep 12 23:34:04 2009 -0400 tracing: add filter event logic to special, mmiotrace and boot tracers Now that the pluging tracers use macros to create the structures and automate the exporting of their formats to the format files, they also automatically get a filter file. This patch adds the code to implement the filter logic in the trace recordings. Signed-off-by: Steven Rostedt commit 51df5fcbc1296a84cf1c093c6cb56d40ca3e697e Author: Steven Rostedt Date: Sat Sep 12 20:29:22 2009 -0400 tracing: remove trace_event_types.h The macros in trace_entries.h have made the code in trace_event_types.h obsolete. The file is no longer used, so this patch removes it. Signed-off-by: Steven Rostedt commit 4e5292ea1ac0c2939e815e6c44fad3d8696ea281 Author: Steven Rostedt Date: Sat Sep 12 19:26:21 2009 -0400 tracing: use the new trace_entries.h to create format files This patch changes the way the format files in debugfs/tracing/events/ftrace/*/format are created. It uses the new trace_entries.h file to automate the creation of the format files to ensure that they are always in sync with the actual structures. This is the same methodology used to create the format files for the TRACE_EVENT macro. This also updates the filter creation that was built on the creation of the format files. Signed-off-by: Steven Rostedt commit d73150943cf47b6cabcb4f4e52dd25975e820ae2 Author: Steven Rostedt Date: Sat Sep 12 19:22:23 2009 -0400 tracing: show details of structures within the ftrace structures Some of the internal ftrace structures use structures within. The output of a field saying it is just a structure is useless for a format file. A binary reader of the ring buffer needs to know more about how the fields are broken up. This patch adds to the ftrace structure macros new fields to describe the structures inside a structure. Signed-off-by: Steven Rostedt commit 0a1c49db8d91c538f104f8d70e560c6fdd589bd4 Author: Steven Rostedt Date: Sat Sep 12 19:17:15 2009 -0400 tracing: use macros to create internal ftrace entry ring buffer structures The entries used by ftrace internal code (plugins) currently have their formats manually exported to userspace. That is, the format files in debugfs/tracing/events/ftrace/*/format are currently created by hand. This is a maintenance nightmare, and can easily become out of sync with what is actually shown. This patch uses the methodology of the TRACE_EVENT macros to build the structures so that their formats can be automated and this will keep the structures in sync with what users can see. This patch only changes the way the structures are created. Further patches will build off of this to automate the format files. Signed-off-by: Steven Rostedt commit 16bb8eb1b73bf940d30ff88cae622bfcd3790f61 Author: Steven Rostedt Date: Sat Sep 12 19:04:54 2009 -0400 tracing: allow filter predicates to handle ksym symbols This patch increases the max string used by predicates to handle KSYM_SYMBOL_LEN. Also moves an include to look nicer. Signed-off-by: Steven Rostedt commit 95b696088c1cf152c3bb62560bbe3a441922d68b Author: Tom Zanussi Date: Thu Sep 10 23:13:51 2009 -0500 tracing/filters: add filter Documentation Documentation for event filters and formats. v2 changes: fix a few problems noticed by Randy Dunlap. Reviewed-by: Li Zefan Acked-by: Randy Dunlap Signed-off-by: Tom Zanussi LKML-Reference: <1252642431.8016.9.camel@tropicana> Signed-off-by: Steven Rostedt commit 558e6547e4b8a2b13608a24a9d3679802f91c4c7 Author: Li Zefan Date: Mon Aug 24 12:19:47 2009 +0800 tracing/profile: fix profile_disable vs module_unload If the correspoding module is unloaded before ftrace_profile_disable() is called, event->profile_disable() won't be called, which can cause oops: # insmod trace-events-sample.ko # perf record -f -a -e sample:foo_bar sleep 3 & # sleep 1 # rmmod trace_events_sample # insmod trace-events-sample.ko OOPS! Signed-off-by: Li Zefan LKML-Reference: <4A9214E3.2070807@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 4818d80942b7c0021d213b7c5f1a14a832820a01 Author: Jiri Olsa Date: Wed Jul 29 10:58:37 2009 +0200 tracing/function-graph: x86_64 stack allocation cleanup Only 24 bytes needs to be reserved on the stack for the function graph tracer on x86_64. Signed-off-by: Jiri Olsa LKML-Reference: <20090729085837.GB4998@jolsa.lab.eng.brq.redhat.com> Signed-off-by: Steven Rostedt commit 4b3b4c5e64ce26612646867ee354373620063534 Author: John Reiser Date: Mon Jul 27 11:23:50 2009 -0700 ftrace: __start_mcount_loc should be .init.rodata __start_mcount_loc[] is unused after init, yet occupies RAM forever as part of .rodata. 152kiB is typical on a 64-bit architecture. Instead, __start_mcount_loc should be in the interval [__init_begin, __init_end) so that the space is reclaimed after init. __start_mcount_loc[] is generated during the load portion of kernel build, and is used only by ftrace_init(). ftrace_init is declared '__init' and is in .init.text, which is freed after init. __start_mcount_loc is placed into .rodata by a call to MCOUNT_REC inside the RO_DATA macro of include/asm-generic/vmlinux.lds.h. The array *is* read-only, but more importantly it is not used after init. So the call to MCOUNT_REC should be moved from RO_DATA to INIT_DATA. This patch has been tested on x86_64 with CONFIG_DEBUG_PAGEALLOC=y which verifies that the address range never is accessed after init. Signed-off-by: John Reiser LKML-Reference: <4A6DF0B6.7080402@bitwagon.com> Signed-off-by: Steven Rostedt commit b5130b1e7d3717d03ab1916b198bf0d49fa0a619 Author: Carsten Emde Date: Sun Sep 13 01:43:07 2009 +0200 tracing: do not update tracing_max_latency when tracer is stopped The state of the function pair tracing_stop()/tracing_start() is correctly considered when tracer data are updated. However, the global and externally accessible variable tracing_max_latency is always updated - even when tracing is stopped. The update should only occur, if tracing was not stopped. Signed-off-by: Carsten Emde Signed-off-by: Steven Rostedt commit 41dfba4367109b92d92ec6e059be6950497d932f Author: Carsten Emde Date: Sun Sep 13 01:41:31 2009 +0200 tracing: remove unused local variables in tracer probe functions When the nsecs_to_usecs() conversion in probe_wakeup_sched_switch() and check_critical_timing() was moved to a later stage in order to avoid unnecessary computing, it was overlooked to remove the original variables, assignments and comments.. Signed-off-by: Carsten Emde Signed-off-by: Steven Rostedt commit fe63b94a430c0c8058de317f0a8ce921c69dbee4 Author: Carsten Emde Date: Sat Sep 12 00:05:37 2009 +0200 tracing: prevent NULL pointer dereference in ftrace_raw_event_block_bio_bounce Booting 2.6.31 and executing echo 1 >/sys/kernel/debug/tracing/events/enable leads to BUG: unable to handle kernel NULL pointer dereference at (null) IP: [] ftrace_raw_event_block_bio_bounce+0x4b/0xb9 Apparently, bio = bio_map_user(q, NULL, uaddr, len, reading, gfp_mask); is called in block/blk-map.c:58 where bio->bi_bdev in set to NULL and still is NULL when an attempt is made to evaluate bio->bi_bdev->bd_dev in include/trace/events/block.h:189. The tracepoint should ensure bio->bi_bdev is not dereferenced, if NULL. Signed-off-by: Carsten Emde LKML-Reference: <4AAAC9B1.9060505@osadl.org> Signed-off-by: Steven Rostedt commit 7e8e16ca39801279697c6cb6195710ba7653bfc2 Author: Mauro Carvalho Chehab Date: Tue Sep 8 14:07:05 2009 -0300 V4L/DVB (12713): em28xx: Cleanups at ir_i2c handler There are some extra parenthesis at the clauses, and some switch() tests for boards that don't have i2c ir. Remove those extra code. Signed-off-by: Mauro Carvalho Chehab commit ac07bb73fe226ae2088f060c63829afddb3f2403 Author: Mauro Carvalho Chehab Date: Tue Sep 8 14:04:41 2009 -0300 V4L/DVB (12712): em28xx: properly load ir-kbd-i2c when needed Currently, the logic to load ir i2c ancillary module is broken. It is associated to Hauppauge devices with IR flag on their eeprom, no matter if the device uses i2c or em28xx direct IR support. That's wrong. Instead, add a flag to the boards that use i2c IR chips and load the module only for those devices and if ir is not disabled. Signed-off-by: Mauro Carvalho Chehab commit 7aedd5ec87686c557d48584d69ad880c11a0984d Author: Mauro Carvalho Chehab Date: Mon Sep 7 02:22:01 2009 -0300 V4L/DVB (12701): saa7134: ir-kbd-i2c init data needs a persistent object ir-kbd-i2c's ir_probe() function can be called much later (i.e. at ir-kbd-i2c module load), than the lifetime of a struct IR_i2c_init_data allocated off of the stack in cx18_i2c_new_ir() at registration time. Make sure we pass a pointer to a persistent IR_i2c_init_data object at i2c registration time. Thanks to Brian Rogers, Dustin Mitchell, Andy Walls and Jean Delvare to rise this question. Before this patch, if ir-kbd-i2c were probed after SAA7134, trash data were used. Compile tested only, but the patch is identical to em28xx one. So, it should work properly. Signed-off-by: Mauro Carvalho Chehab commit 78f2e672b37ae8935ec0b97cedbc2d877ffa0c5f Author: Andy Walls Date: Sat Sep 5 10:58:37 2009 -0300 V4L/DVB (12699): cx18: ir-kbd-i2c initialization data should point to a persistent object ir-kbd-i2c's ir_probe() function can be called much later (i.e. at ir-kbd-i2c module load), than the lifetime of a struct IR_i2c_init_data allocated off of the stack in cx18_i2c_new_ir() at registration time. Make sure we pass a pointer to a persistent IR_i2c_init_data object at i2c registration time. Thanks to Brian Rogers for pointing out a solution, and Dustin Mitchell for testing against a 2.6.30 kernel. Reported-by: Dustin Mitchell Reported-by: Brian Rogers Tested-by: Dustin Mitchell Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d2ebd0f806fdb6104903365e355675934eec22b2 Author: Mauro Carvalho Chehab Date: Mon Sep 7 02:16:47 2009 -0300 V4L/DVB (12698): em28xx: ir-kbd-i2c init data needs a persistent object ir-kbd-i2c's ir_probe() function can be called much later (i.e. at ir-kbd-i2c module load), than the lifetime of a struct IR_i2c_init_data allocated off of the stack in cx18_i2c_new_ir() at registration time. Make sure we pass a pointer to a persistent IR_i2c_init_data object at i2c registration time. Thanks to Brian Rogers, Dustin Mitchell, Andy Walls and Jean Delvare to rise this question. Before this patch, if ir-kbd-i2c were probed after em28xx, trash data were used. After the patch, no matter what order, it is properly reported as tested by me: input: i2c IR (i2c IR (EM2840 Hauppaug as /class/input/input10 ir-kbd-i2c: i2c IR (i2c IR (EM2840 Hauppaug detected at i2c-4/4-0030/ir0 [em28xx #0] Signed-off-by: Mauro Carvalho Chehab commit 4d708a5e9e5db74da28965fa00082d8c9323f523 Author: Brian Johnson Date: Thu Sep 3 19:10:15 2009 -0300 V4L/DVB (12707): gspca - sn9c20x: Add SXGA support to MT9M111 Signed-off-by: Brian Johnson Signed-off-by: Mauro Carvalho Chehab commit 13a84fa4de7c050b27f14d39720f8b036cecde24 Author: Brian Johnson Date: Thu Sep 3 19:07:13 2009 -0300 V4L/DVB (12706): gspca - sn9c20x: disable exposure/gain controls for MT9M111 sensors. Using the MT9M111's IFP to handle exposure/gain gives better results. Signed-off-by: Brian Johnson Signed-off-by: Mauro Carvalho Chehab commit e8b7acc18045afd52c801e196e6a04aefc252795 Author: Brian Johnson Date: Wed Sep 2 13:14:41 2009 -0300 V4L/DVB (12705): gspca - sn9c20x: Add SXGA support to SOI968 Signed-off-by: Brian Johnson Signed-off-by: Mauro Carvalho Chehab commit 58aa68c2fbdc3d025a3aff280935ede66dbcdc3e Author: Joe Perches Date: Wed Sep 2 01:12:13 2009 -0300 V4L/DVB (12703): gspca - sn9c20x: Reduces size of object Use s16 instead of int where possible. Use struct instead of arrays Signed-off-by: Joe Perches Signed-off-by: Brian Johnson Signed-off-by: Mauro Carvalho Chehab commit e14304712939133d58a5132501e80509658e0449 Author: Brian Johnson Date: Wed Sep 2 12:39:41 2009 -0300 V4L/DVB (12704): gspca - sn9c20x: Fix exposure on SOI968 sensors Fixes broken exposure on SOI968 webcams that was causing the camera to display a black screen Signed-off-by: Brian Johnson Signed-off-by: Mauro Carvalho Chehab commit f077b0a64856c5b3bf346ae9fba8631c1fb210cf Author: Jean-Francois Moine Date: Tue Sep 1 14:52:04 2009 -0300 V4L/DVB (12696): gspca - sonixj / sn9c102: Two drivers for 0c45:60fc and 0c45:613e. Let 0c45:60fc in sn9c102 and 0c45:613e in gspca-sonixj (sensor not supported). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ae310ee1090113edeb46dfb6f07ab125046ec50c Author: Jean-Francois Moine Date: Tue Sep 1 14:02:22 2009 -0300 V4L/DVB (12695): gspca - vc032x: Do the LED work with the sensor hv7131r. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0ee7e4d6d4f58c3b2d9f0ca8ad8f63abda8694b1 Author: Jean-Francois Moine Date: Tue Sep 1 13:49:05 2009 -0300 V4L/DVB (12694): gspca - vc032x: Change the start exchanges of the sensor hv7131r. The new exchanges are taken from the information file of the ms-win driver (usbvm326.inf - webcam 15b8:6002). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 760f2713cb09c532154d41ae6f2d32e787580758 Author: Jean-Francois Moine Date: Wed Sep 2 06:04:14 2009 -0300 V4L/DVB (12693): gspca - sunplus: The brightness is signed. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2e1794b51b3917d09412a118711ef994ea72a403 Author: Jean-Francois Moine Date: Mon Aug 31 06:15:22 2009 -0300 V4L/DVB (12692): gspca - sunplus: Optimize code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1f78a976ce18bc98e8b509cee04c5b3756098614 Author: Jean-Francois Moine Date: Sat Aug 29 07:11:58 2009 -0300 V4L/DVB (12691): gspca - sonixj: Don't use mdelay(). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b5948bee1332eff719c074a760f99da9f02c7308 Author: Stephane Marguet (Stemp) Date: Tue Aug 25 04:14:04 2009 -0300 V4L/DVB (12690): gspca - pac7311: Webcam 06f8:3009 added. Signed-off-by: Stephane Marguet (Stemp) Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f51fad85af7b296b56031747c873c309b24ff77c Author: Janne Grunau Date: Tue Sep 1 19:24:08 2009 -0300 V4L/DVB (12686): dvb-core: check supported QAM modulations Check the modulation in dvb_frontend_check_parameters against frontend's capabilties for FE_QAM devices. Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 01886255ddf440eb21d3388bfc5343c966904d0e Author: Janne Grunau Date: Tue Sep 1 19:23:09 2009 -0300 V4L/DVB (12685): dvb-core: check fe->ops.set_frontend return value Various frontend driver have parameter checks in their set_frontend functions and return an error if the parameters are not supported, tda10021 and cx24116 to name two. The tuning ioctls FE_SET_FRONTEND/FE_SET_PROPERTY only change values in the property cache and return before set_frontend is called. If a set_frontend call in software zigzag algorithm fails and the card was previously locked it will report a lock and the new parameters but is still tuned to the old transport. This is not detectable from userspace. This change checks the return values of fe->ops.set_frontend and changes the state to the added FESTATE_ERROR for software zigzag. No lock will be reported to userspace if the State is FESTATE_ERROR. Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 4457ef1d6163533073efdebed82a049aad44e3b3 Author: Janne Grunau Date: Tue Sep 1 19:15:39 2009 -0300 V4L/DVB (12684): DVB: make DVB_MAX_ADAPTERS configurable Support for more than 8 DVB devices is requested regularly so make it a kconfig variable instead of a header define. Values in the range 4-32 are tested. Signed-off-by: Janne Grunau Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f9089b0f9ed48be9c83101d1f1fded37b415a90e Author: Hans de Goede Date: Thu Sep 3 04:14:36 2009 -0300 V4L/DVB (12627): gspca_mr97310a: Add one more vivitar mini cam to the list of CIF cams gspca_mr97310a: Add one more vivitar mini cam to the list of CIF cams Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 780287061b844aa44833b3e7d1a6b760e7aff2f6 Author: Hans de Goede Date: Wed Sep 2 09:55:16 2009 -0300 V4L/DVB (12626): gspca_mr97310a: Allow overriding of detected sensor type gspca_mr97310a: Allow overriding of detected sensor type Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 1e3c1f7695a446742e24ea1f0c80715be98edbc4 Author: Hans de Goede Date: Mon Aug 31 11:32:46 2009 -0300 V4L/DVB (12625): Add new V4L2_FMT_FLAG_EMULATED flag to videodev2.h V4L2_FMT_FLAG_EMULATED 0x0002 This format is not native to the device but emulated through software (usually libv4l2), where possible try to use a native format instead for better performance. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 823902defe89b1de8caab1ae82c8916feeb19b01 Author: Hans de Goede Date: Mon Aug 17 12:25:17 2009 -0300 V4L/DVB (12624): gspca_mr97310a: Use correct register for CIF type 1 sensor gain settings gspca_mr97310a: Use correct register for CIF type 1 sensor gain settings Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit a2e081b64ed5ea344bdfe6115059c08f3d0b26f6 Author: Hans de Goede Date: Fri Aug 14 17:11:36 2009 -0300 V4L/DVB (12623): gspca_mr97310a: Add controls for CIF type 0 sensor cams gspca_mr97310a: Add controls for CIF type 0 sensor cams Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 5494378911df767d408df28524a19a1617154ea3 Author: Hans de Goede Date: Fri Aug 14 11:05:38 2009 -0300 V4L/DVB (12622): gspca_mr97310a: make the probing a bit less chatty gspca_mr97310a: make the probing a bit less chatty Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 5f5e26b1e6c23f23e9b116a4439437e752e56eb7 Author: Hans de Goede Date: Fri Aug 14 10:40:26 2009 -0300 V4L/DVB (12621): gspca_mr97310a: Move detection of CIF sensor type to probe() function gspca_mr97310a: Move detection of CIF sensor type to probe() function, so that the right controls are set to disabled from the start, rather then having them disappear all of a sudden when the stream is started. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 9ac6978a10a22499f6333d55364809f4ddb32b0c Author: Hans de Goede Date: Fri Aug 14 10:15:52 2009 -0300 V4L/DVB (12620): gspca_mr97310a: cleanup/fixup control handling gspca_mr97310a: cleanup/fixup control handling Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 58d0b2f66e2495429bc7c4e7c8b0f02fe4a7c260 Author: Hans de Goede Date: Fri Aug 14 06:56:32 2009 -0300 V4L/DVB (12619): gspca: mr97310a fix detection of sensortype for vivicam with id byte of 0x53 gspca: mr97310a fix detection of sensortype for vivicam with id byte of 0x53 Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 89f0863c4225aaed2763f526815c54a9e1b0f788 Author: Theodore Kilgore Date: Fri Aug 14 06:51:52 2009 -0300 V4L/DVB (12618): gspca: mr97310a add support for CIF and more VGA camera's This patch adds supports for mr97310a camera's with CIF sensors (2 different types) and for VGA mr97310a camera with a different sensor then supported until now. This patch also add support for controls for one of the 2 CIF sensors, this was written by Thomas Kaiser Signed-off-by: Theodore Kilgore Signed-off-by: Thomas Kaiser Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 0e4a90993dceffa881ee6d42266eb3080b7fad04 Author: Hans de Goede Date: Wed Jul 29 08:03:17 2009 -0300 V4L/DVB (12617): gspca_pac207: enable higher framerates / lower exposure settings Now that we've figured out the higher compression settings (supported in libv4l-0.6.0 and later, so after this patch the driver should be used with libv4l-0.6.0 or higher only!), we can enable higher framerates. Which means lower exposure times, which is important for the use of the pac207 in full daylight. This patch also tweakes the brightness default and the per color gain balances to use the values which are adviced by Pixart in the pac207 application note. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit c529e556f64951a9d50f39e39c4be04ae43f5499 Author: Hans de Goede Date: Wed Jul 29 08:02:50 2009 -0300 V4L/DVB (12616): gspca_pac207: remove a number of unneeded (repeated) register writes gspca_pac207: remove a number of unneeded (repeated) register writes Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 8d81ae243158b0ac8b2c1646d5adcbdf26a260bc Author: Hans Verkuil Date: Mon Aug 31 17:57:52 2009 -0300 V4L/DVB (12613): cx25840: fix determining the firmware name Depending on the model there are three different firmwares to choose from. Unfortunately if a cx23885 is loaded first, then the global firmware name is overwritten with that firmware and if ivtv is loaded next, then it tries to load the wrong firmware. In addition, the original approach would also overwrite any firmware that the user specified explicitly. Cc: Jarod Wilson Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a65f3159244f27ce6ff84dd1bb641079acdbd396 Author: Hans Verkuil Date: Mon Aug 31 17:21:04 2009 -0300 V4L/DVB (12612): si4713: simplify the code to remove a compiler warning. The compiler warned about an uninitialized stereo variable. By simplifying the code it 1) improved readability and 2) fixed the compiler warning. Acked-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a4c1cbc7819e890d4c2bc2b79b6cbf0fd9cad699 Author: Mauro Carvalho Chehab Date: Sat Aug 29 22:03:47 2009 -0300 V4L/DVB (12600): dvb-usb-remote: return KEY_RESERVED if there's free space for new keys The input subsystem checks if get_keycode works for a scan code. Due to that, we need to return a valid value when there's some space at the table that can be used by a scancode. Signed-off-by: Mauro Carvalho Chehab commit b77f0a76304dae754003b0a84fb4f66bf9934c97 Author: Mauro Carvalho Chehab Date: Sat Aug 29 15:27:29 2009 -0300 V4L/DVB (12599): dvb-usb-remote: Allow dynamically replacing the IR keycodes Implements handler for EVIOCGKEYCODE/EVIOCSKEYCODE via adding two new callbacks to the input device. Since on dvb-usb a scan code has 16 bits, to fulfill rc5 standard codes, the default getkeycode/setkeycode input methods would require the driver to spend up to 64 Kb of a sparse table. Instead, add two new callbacks to the event device. With this, it is now possible to replace the keycode tables. There are, however, a few implementation details at the current patch: 1) It will replace the existing device keytable, instead of creating an instance of the data. This works. However, if two devices pointing to the same table were connected, changing the IR table of one will also change the IR table for the other (the solution for this one is simple: just kmalloc some memory); 2) In order to change the scan code, you need first to change the key to KEY_RESERVED or KEY_UNKNOWN to free some space at the table (solution: allocate some additional space for newer scan codes or allow dynamic table grow); 3) The table size cannot be extended. It would be easy to allow the table to grow dynamically: just calling kmalloc(size+1); kfree(old). Yet, maybe we can just create a bigger table with a fixed size, like for example a table with 128 entries. This should be enough even for a very big IR. The current issues should be addressed on a later patch. Signed-off-by: Mauro Carvalho Chehab commit 2e3658836efad06662968bd6373c72df06c4b2f1 Author: Mauro Carvalho Chehab Date: Sat Aug 29 15:19:31 2009 -0300 V4L/DVB (12598): dvb-usb: store rc5 custom and data at the same field In order to be closer to V4L IR implementation, it is needed to replace u8 custom, data to: u16 scan This allows using non-rc5 mappings, like the 8 bit keycodes used on older protocols. It will also allow future implementations of rc6 keystrokes when needed. Signed-off-by: Mauro Carvalho Chehab commit 715a223323c8c8bcbe7739e20f6c619f7343b595 Author: Mauro Carvalho Chehab Date: Sat Aug 29 14:15:55 2009 -0300 V4L/DVB (12595): common/ir: use a struct for keycode tables Currently, V4L uses a scancode table whose index is the scancode and the value is the keycode. While this works, it has some drawbacks: 1) It requires that the scancode to be at the range 00-7f; 2) keycodes should be masked on 7 bits in order for it to work; 3) due to the 7 bits approach, sometimes it is not possible to replace the default keyboard to another one with a different encoding rule; 4) it is different than what is done with dvb-usb approach; 5) it requires a typedef for it to work. This is not a recommended Linux CodingStyle. This patch is part of a larger series of IR changes. It basically replaces the IR_KEYTAB_TYPE tables by a structured table: struct ir_scancode { u16 scancode; u32 keycode; }; This is very close to what dvb does. So, a further integration with DVB code will be easy. While we've changed the tables, for now, the IR keycode handling is still based on the old approach. The only notable effect is the redution of about 35% of the ir-common module size: text data bss dec hex filename 6721 29208 4 35933 8c5d old/ir-common.ko 5756 18040 4 23800 5cf8 new/ir-common.ko In thesis, we could be using above u8 for scancode, reducing even more the size of the module, but defining it as u16 is more convenient, since, on dvb, each scancode has up to 16 bits, and we currently have a few troubles with rc5, as their scancodes are defined with more than 8 bits. This patch itself shouldn't be doing any functional changes. Signed-off-by: Mauro Carvalho Chehab commit 47f7f6fb7949b6546baf4b6f26bf0ca075d12759 Author: Jean-Francois Moine Date: Tue Aug 25 06:14:54 2009 -0300 V4L/DVB (12501): gspca - sonixj: Do the ov7660 sensor work again. - bad sensor power - bad edge gain/threshold - set back the auto gain - light frequency filter inverted Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5706934967e4d98e531615b116c86e2b01b858b8 Author: Mauro Carvalho Chehab Date: Thu Aug 20 10:14:45 2009 -0300 V4L/DVB (12469): fix bad whitespaces at cx88_geniatech_x8000_mt It were using 7 spaces instead of tab for indent. Signed-off-by: Mauro Carvalho Chehab commit 6d888a66be1c50c2f5193c53d6ea556e01dd60e3 Author: Mauro Carvalho Chehab Date: Sun Aug 30 13:05:56 2009 -0300 V4L/DVB (12591): em28xx: Add entry for GADMEI UTV330+ and related IR keymap [mchehab@redhat.com: Fix a few wrong IR keymaps] Signed-off-by: Shine Liu Signed-off-by: Mauro Carvalho Chehab commit 23389b8852e32824186c76fa4d87f818268adca1 Author: Eugene Yudin Date: Sat Aug 29 09:32:11 2009 -0300 V4L/DVB (12589): Add support for RoverMedia TV Link Pro FM This patch add support for RoverMedia TV Link Pro FM (LR138 REV:I) card based on saa7134. Signed-off-by: Eugene Yudin Signed-off-by: Mauro Carvalho Chehab commit 2012c87f8346ebf322826c3de5126d917ed75281 Author: Dmitri Belimov Date: Wed Aug 26 01:01:12 2009 -0300 V4L/DVB (12587): Add support BeholdTV X7 card Add support our new TV card based on xc5000 and saa7134. Analog TV works well. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 736dadaa17218b6e516053ee896dbb075eadba4b Author: Oldřich Jedlička Date: Sat Aug 22 15:13:51 2009 -0300 V4L/DVB (12586): Update ALSA capture controls according to selected source. The patch introduces new snd_saa7134_capsrc_set (code taken from snd_saa7134_capsrc_put) that updates also the ALSA capture controls during snd_card_saa7134_capture_prepare and snd_saa7134_capsrc_put. There can be much more work done in order to unify the control of the card (now the card's capture source is tuned/switched in saa7134-video.c too), but I don't have enough time. This work could be a starting point, but it can be applied as-is too (it doesn't need any further work to make it working). Signed-off-by: Oldřich Jedlička Signed-off-by: Mauro Carvalho Chehab commit ed44f66e4039dfc8fb7905078d546c83adf76811 Author: Mauro Carvalho Chehab Date: Sat Aug 22 14:43:50 2009 -0300 V4L/DVB (12585): Add remote support to cph03x bttv card Hello kernel developers. I found a bug report from an user in launchpad. I just copy it here. It includes patch. I don't own the necessary hardware to test it but the patch looks trivial. I'm not subscribed to this list, so please CC me. Thanks! Here is the text: """ remote control for my tv card doesnt work I have Askey CPH03x TV Capturer. When I load bttv module with "card=59" option which is proper for this tv card, I can watch tv with sound but my remote control doesnt work. There is no ir event in /proc/bus/input/device . When bttv module is loaded with "card=137" option remote control works very well. $ cat /proc/bus/input/devices ....... ........ : Bus=0001 Vendor=109e Product=0350 Version=0001 N: Name="bttv IR (card=137)" P: Phys=pci-0000:00:0d.0/ir0 S: Sysfs=/devices/pci0000:00/0000:00:0d.0/input/input144 U: Uniq= H: Handlers=kbd event6 B: EV=100003 B: KEY=2c0814 100004 0 0 0 4 2008000 2090 2001 1e0000 4400 0 ffc Unfortunately there is no sound. """ https://bugs.launchpad.net/ubuntu/+bug/239733 http://bugzilla.kernel.org/show_bug.cgi?id=11995 -- Signed-off-by: Mauro Carvalho Chehab commit 200e861c511ded56783a3032f9d41fc6f1474e7a Author: James A Webb Date: Tue Aug 4 02:38:05 2009 -0300 V4L/DVB (12584): Support for Kaiser Baas ExpressCard Dual HD Tuner The card is reported as YUAN High-Tech Development Co., Ltd STK7700D [mchehab@redhat.com: fix merge conflicts and properly name USB PID] Cc: Patrick Boettcher Signed-off-by: James A Webb Signed-off-by: Mauro Carvalho Chehab commit 96e242a594961d40c9b2be3f16d6d83e2091c8e7 Author: Stefan Richter Date: Sat Aug 1 08:05:16 2009 -0300 V4L/DVB (12583): firedtv: combine some debug logging code Shrinks source and kernel object size a bit. Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit 15344779b28f8ba12d769a4aa62d48c9ea1f4ce5 Author: Henrik Kurelid Date: Sat Aug 1 08:04:06 2009 -0300 V4L/DVB (12582): The current AVC debugging can clog the log down a lot since many applications tend to check the signal strength very often. This patch enables users to select which AVC messages to log using a bitmask. In addition, it also enables the possibility to debug application PMTs sent to the driver. This will be usable since the CA support is still poorly tested for lots of CAMs and CA systems. Signed-off-by: Henrik Kurelid Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit 81016b496ee75cfb13d346ee58176d36a5f9c191 Author: Michael Krufky Date: Thu Aug 27 16:58:06 2009 -0300 V4L/DVB (12578): tda18271: allow drivers to request RF tracking filter calibration during attach On certain master / slave dual tuner configurations, tuning performance improves when the RF tracking filter calibration is performed sequentially. This patch allows for the bridge driver to specify this behavior in the configuration structure at attach-time. The "cal" module option will continue to override this attach-time configuration: set cal=0 to prevent RF tracking filter calibration on startup, and set cal=1 to force it. Signed-off-by: Michael Krufky Reviewed-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit ee8145d5634da4e062f8693f59695b0b2ed6e60d Author: Michael Krufky Date: Wed Aug 26 22:43:16 2009 -0300 V4L/DVB (12577): tda18271: remove excess whitespace from tda_foo printk macros remove excess spacing from the tda_foo printk macros & line things up better Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1b6b73336dbb3c6513ce7d8454b279fd96603126 Author: Michael Krufky Date: Wed Aug 26 22:43:16 2009 -0300 V4L/DVB (12576): tda18271: simplify debug printk macros Rename dprintk to tda_dprintk to be consistent with the other tda_foo macros. Move KERN_DEBUG facility level to tda_dprintk. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8e30ddcf2fbd2ec68ec42156d9a04d946d195b54 Author: Roel Kluin Date: Wed Aug 26 22:13:43 2009 -0300 V4L/DVB (12575): Fix test of bandwidth range in cx22700_set_tps() For the bandwidth to be less than 8 MHZ and greater than 6 MHZ is logically impossible. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 5a5e1da579beb38fa8bf7d0a80cfa027cd7a2751 Author: Vasiliy Temnikov Date: Wed Aug 26 22:10:55 2009 -0300 V4L/DVB (12574): support AverMedia Studio 505 Added support to AverMedia Studio 505 [dougsland@redhat.com: fixed rejects and removed the change to add dk as default secam variant] [mchehab@redhat.com: fix a few CodingStyle issues] Signed-off-by: Vasiliy Temnikov Signed-off-by: Andrew Morton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 5bc53a9f91d15628b65761e43234137904627642 Author: Dmitri Belimov Date: Wed Aug 26 22:06:28 2009 -0300 V4L/DVB (12573): FM1216MK5 FM radio Implement Philips FM1216MK5. 1. Implement get_stereo function. 2. Add correct data byte for FM radio mode Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 092315a76ca28a2e8e09b071f1c0efb83bafc234 Author: Mauro Carvalho Chehab Date: Sat Aug 29 09:48:21 2009 -0300 V4L/DVB (12567): ir-keymaps: use KEY_CAMERA for snapshots KEY_CAMERA is already used for a long time with webcam drivers to take a picture. On other media drivers, due to the lack of a snapshot button, random KEY codes were sent, being KEY_SHUFFLE the most used one, probably due to cut-and-paste from other remotes, since one of them uses the same key for snapshot and shuffle. The better is to use KEY_CAMERA on all drivers solving this issue. This follows the IR standard map as defined at: http://linuxtv.org/wiki/index.php/Remote_Controllers Signed-off-by: Mauro Carvalho Chehab commit cd748871fe5e689cd9917f561967bf4c63960e66 Author: Mauro Carvalho Chehab Date: Sat Aug 29 09:37:00 2009 -0300 V4L/DVB (12566): ir-keymaps: Fix IR mappings for channel and volume +/- keys Use standard definitions for channel controls, as defined at: http://linuxtv.org/wiki/index.php/Remote_Controllers While here, fix a few broken up/down/left/right mappings Signed-off-by: Mauro Carvalho Chehab commit f545cb43942d0556958af9f35cc06cdd42a78971 Author: Mauro Carvalho Chehab Date: Sat Aug 29 09:06:07 2009 -0300 V4L/DVB (12565): ir-keymaps: standardize timeshift key Each remote were using a different keycode for timeshift. Use the same keycode for all of them, using the map as defined at: http://linuxtv.org/wiki/index.php/Remote_Controllers Signed-off-by: Mauro Carvalho Chehab commit 62f1aa9f98dca68d5393d555faa8a038bb91cedc Author: Mauro Carvalho Chehab Date: Sat Aug 29 09:01:54 2009 -0300 V4L/DVB (12564): ir-keymaps: Replace most KEY_[A-Z] to the proper definitions There are several IR's that were using IR to type a letter that it is known by some random application. Instead, the better is to use the standard definitions found at: http://linuxtv.org/wiki/index.php/Remote_Controllers And, if needed, submit a patch for the application to understand the media keys. Signed-off-by: Mauro Carvalho Chehab commit 7f9d6913619eebc84bb447e8f4635c331fd373d8 Author: Mauro Carvalho Chehab Date: Sat Aug 29 08:43:20 2009 -0300 V4L/DVB (12563): ir-keymaps: add a link to the IR standard layout page While we're still discussing it, let's point to the wiki page. In the future, this should be added at V4L2 API spec DocBooks. Signed-off-by: Mauro Carvalho Chehab commit 88d25a1ee47fb6fcb5073240e48c340b2409a85e Author: Mauro Carvalho Chehab Date: Sat Aug 29 08:37:58 2009 -0300 V4L/DVB (12562): ir-keymaps: replace KEY_KP[0-9] to KEY_[0-9] This is needed to match the standard mapping defined at: http://linuxtv.org/wiki/index.php/Remote_Controllers#Remote_Controllers Signed-off-by: Mauro Carvalho Chehab commit a83520f432a335ff12f260e9cf3602eabb64ee48 Author: Mauro Carvalho Chehab Date: Thu Aug 27 09:54:44 2009 -0300 V4L/DVB (12560): Fix a number of EXPORT_SYMBOL warnings Make Checkpatch tool happy: -:2349: WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable On all cases, it were just a blank line at the wrong place. Yet, fixing it is trivial Signed-off-by: Mauro Carvalho Chehab commit 5d35364e3163531bf08984091bcaf605337efa6a Author: Mauro Carvalho Chehab Date: Thu Aug 27 09:50:21 2009 -0300 V4L/DVB (12559): Properly indent comments with tabs Signed-off-by: Mauro Carvalho Chehab commit 3b82bddb15d677653a9e0c790fba4dde0e5488fa Author: Mauro Carvalho Chehab Date: Thu Aug 27 09:31:30 2009 -0300 V4L/DVB (12558): CodingStyle: Use [0x0f] instead of [ 0x0f ] Signed-off-by: Mauro Carvalho Chehab commit 97fd4f7fb62b018ff7afc0aea8cfffa2d79e59cd Author: Mauro Carvalho Chehab Date: Thu Aug 27 09:28:48 2009 -0300 V4L/DVB (12557): Use C99 comment CodingStyle The ir-keymaps.c has frequent additions. As people tend to copy an old keyboard entry, a bad CodingStyle at an ancient entry may result on a freshly bad CodingStyle patch. So, better to fix the CodingStyle for the entire file. This patch is the first of a series of patches fixing it, generated by some perl magic plus manual handling. Signed-off-by: Mauro Carvalho Chehab commit 436e7e7c07ff153be6ee22220f47c7fa62176a26 Author: Eduardo Valentin Date: Sat Aug 8 09:01:34 2009 -0300 V4L/DVB (12554): FM TX: si4713: Add document file This patch adds a document file for si4713 device driver. It describes the driver interfaces and organization. Signed-off-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9c9dbedf397c704dd694f6066af114d373a75a5d Author: Hans Verkuil Date: Sat Aug 8 09:00:37 2009 -0300 V4L/DVB (12553): FM TX: si4713: Add Kconfig and Makefile entries Simply add Makefile and Kconfig entries. [hverkuil@xs4all.nl: auto-select I2C_SI4713] Signed-off-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 02bee89e79b1302776e32214b8ca96a00c70c446 Author: Eduardo Valentin Date: Sat Aug 8 08:46:53 2009 -0300 V4L/DVB (12552): FM TX: si4713: Add files to handle si4713 i2c device This patch adds files to control si4713 devices. Internal functions to control device properties and initialization procedures are into these files. Also, a v4l2 subdev interface is also exported. This way other drivers can use this as v4l2 i2c subdevice. Signed-off-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1fd2121c08eeef2e9a792719628a467e0fe97b96 Author: Eduardo Valentin Date: Sat Aug 8 08:45:49 2009 -0300 V4L/DVB (12551): FM TX: si4713: Add files to add radio interface for si4713 This patch adds files which creates the radio interface for si4713 FM transmitter (modulator) devices. In order to do the real access to device registers, this driver uses the v4l2 subdev interface exported by si4713 i2c driver. Signed-off-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fdf82dc2e2d43cf135b5fd352dea523642bb553a Author: Eduardo Valentin Date: Tue Aug 11 18:49:12 2009 -0300 V4L/DVB (12549): v4l2: video device: Add FM TX controls default configurations This patch adds basic configurations for FM TX extended controls. That includes controls names, menu strings, pointer identification, type classification and flags configuration. Signed-off-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6b4249413abb634d9b2ff44c685da744f02e49d1 Author: Eduardo Valentin Date: Sat Aug 8 08:38:58 2009 -0300 V4L/DVB (12548): v4l2: video device: Add V4L2_CTRL_CLASS_FM_TX controls This patch adds a new class of extended controls. This class is intended to support FM Radio Modulators properties such as: rds, audio limiters, audio compression, pilot tone generation, tuning power levels and preemphasis properties. Signed-off-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d6bacea6cfc3bb8a385f8c4104ee6b3d5768af8a Author: Eduardo Valentin Date: Sat Aug 8 08:34:18 2009 -0300 V4L/DVB (12547): v4l2-subdev.h: Add g/s_modulator callbacks to subdev api Signed-off-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6b5a9492ca0c991bab1ac495624e17520e9edf18 Author: Hans Verkuil Date: Tue Aug 11 18:47:18 2009 -0300 V4L/DVB (12543): v4l: introduce string control support. The upcoming RDS encoder needs support for string controls. This patch implements the core implementation. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a138ebcf826b9cbf6683e1db25905d7cd89e2dd1 Author: hermann pitton Date: Wed Aug 19 22:30:58 2009 -0300 V4L/DVB (12492): saa7134-input: don't probe for the Pinnacle remotes anymore With the recent improvements we don't need to probe anymore, if we know the i2c address of the receiver. The address of the receiver for the remote with the gray buttons is not confirmed anywhere, but it is very unlikely to see it on something else. We want to have that information anyway. BTW, those remaining still probing, please join. Signed-off-by: hermann pitton Signed-off-by: Mauro Carvalho Chehab commit 821c777080c43710a3ddbf8bcd708093191b1630 Author: Oliver Neukum Date: Wed Aug 19 16:41:59 2009 -0300 V4L/DVB (12491): remove unnecessary power management primitive in stk-webcam This patch removes an unneeded power management primitive. Power management is automatically enabled as probe ends. Signed-off-by: Oliver Neukum Signed-off-by: Mauro Carvalho Chehab commit 7b54360293c9d72b54e462d146c9376287d2f71b Author: Oldřich Jedlička Date: Tue Aug 18 16:24:54 2009 -0300 V4L/DVB (12490): Report only 32kHz for ALSA There are several reasons: - SAA7133/35 uses DDEP (DemDec Easy Programming mode), which works in 32kHz only - SAA7134 for TV mode uses DemDec mode (32kHz) - Radio works in 32kHz only - When recording 48kHz from Line1/Line2, switching of capture source to TV means switching to 32kHz without any frequency translation Signed-off-by: Oldřich Jedlička Acked-by: hermann pitton Signed-off-by: Mauro Carvalho Chehab commit 89dec01b7e251697720ac3d6a5310d72359eba69 Author: Dmitry Torokhov Date: Fri Aug 14 02:22:52 2009 -0300 V4L/DVB (12489): pwc - fix few use-after-free and memory leaks I just happen to peek inside the PWC driver and did not like what I saw there. Please consider applying the patch below. Signed-off-by: Mauro Carvalho Chehab commit 35c3057bb71ba0683e6f1268f3663099d8454e5f Author: Dmitri Belimov Date: Mon Aug 10 21:47:29 2009 -0300 V4L/DVB (12488): Add RDS config for BeholdTV cards Add config of RDS part for the BeholdTV tuners. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 7ae26889635d0708bb2a0b5d21f99368abc2366c Author: Dmitri Belimov Date: Mon Aug 10 04:48:16 2009 -0300 V4L/DVB (12487): Fix control AC-3 of the 6752HS Fix error for AC-3 control of the 6752HS MPEG-2 coder. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit ad5f74c0ad9afcc9a20f35850aa5170768c64a0c Author: Igor M. Liplianin Date: Wed Jul 29 19:18:28 2009 -0300 V4L/DVB (12486): cx88: fix TBS 8920 card support It does matter to set explicitly gpio0 value in cx88_board structure for TBS 8920 card. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit decee2e8a9538ae5476e6cb3f4b7714c92a04a2b Author: Aleksandr V. Piskunov Date: Sun Aug 2 16:01:19 2009 -0300 V4L/DVB (12485): zl10353: correct implementation of FE_READ_UNCORRECTED_BLOCKS Makes zl10353 a bit more DVB API compliant: FE_READ_UNCORRECTED_BLOCKS - keep a counter of UNC blocks FE_GET_FRONTEND - return last set frequency instead of zero Signed-off-by: Aleksandr V. Piskunov Signed-off-by: Mauro Carvalho Chehab commit 75b697f747b14b0c6afae48ee0f5e605abd2df4c Author: Julia Lawall Date: Sat Aug 1 16:48:41 2009 -0300 V4L/DVB (12483): Use DIV_ROUND_CLOSEST The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d but is perhaps more readable. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit 166987c6987a25a95cef6889d24088f0eb2daa36 Author: Henrik Kurelid Date: Sat Aug 1 08:02:38 2009 -0300 V4L/DVB (12482): firedtv: add PID filtering for SW zigzag retune The AVC protocol uses the same command for tuning and PID filtering and since dvb-core uses a software zigzagging to do automatic retuning this could cause all PID filters to be cleared. PID filter information is now included in all DSD commands to the card. Background: There is a problem in the firedtv driver that causes recordings to stop if the SW zigzag algorithm in dvb-core kicks in with a retune after the application has set up the PID filters. Since tuning and setting PID filters uses the same AVC command (DSD) and only the replace subfunction is supported by the card, it is not possible to do a retune without setting the PID filters. This means that the PID filtering has to be sent in each tune. This problem applies to C and T cards since S and S2 cards tune using a vendor specific command. The patch corrects the problem by sending the PID list in each tune. I have tested it on my T card with a good result. How to trigger problem: Zap to a channel and output AV to a file, e.g. "tzap -c channels.conf SVT1 -r -o SVT1.ts". After a short while, pull the antenna cable from the card. The lock on the channel will disappear and the TS file will stop increasing in size. Wait a couple of seconds. Replug the cable again. You will get a lock on the channel again, but the TS file will never increase in size agains sinze no PIDS are filtered. Tested with kaffeine with DVB-T and DVB-C: Fixes retuning after antenna was plugged out and back in with DVB-T. Does not fix this with DVB-C, but also doesn't regress on DVB-C. Signed-off-by: Henrik Kurelid Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit 114323ede9e84a64327b74ff6f7da5576c9ae361 Author: Julian Scheel Date: Fri Jul 31 13:40:43 2009 -0300 V4L/DVB (12481): Fix lowband tuning with tda8261 Attached is a patch which fixes tuning to low frequency channels with stb0899+tda8261 cards like the KNC TV-Station DVB-S2. The cause of the issue was a broken if construct, which should have been an if/else if, so that the setting for the lowest matching frequency is applied. Without this patch for example tuning to "arte" on Astra 19.2, 10744MHz SR22000 failed most times and when it failed the communication between driver and tda8261 was completely broken. This problem disappears with the attached patch. Signed-off-by: Julian Scheel Signed-off-by: Mauro Carvalho Chehab commit c92f056308c4a77a833e1cc1e16c1b68974483a6 Author: Mart Raudsepp Date: Fri Jul 24 13:45:41 2009 -0300 V4L/DVB: af9015: add new USB ID for KWorld PlusTV Dual DVB-T Stick (DVB-T 399U) Add new USB ID (1b80:e400) for KWorld PlusTV Dual DVB-T Stick (DVB-T 399U). The model number on the devices sticker label is "KW-DVB-T 399UR". Signed-off-by: Mart Raudsepp Acked-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit d6f76b979c9f83aaf2fa3d51eb5b175690f7acbc Author: Mauro Carvalho Chehab Date: Wed Jul 22 00:02:29 2009 -0300 V4L/DVB (12478): ARRAY_SIZE changes These changes were a direct result of using a semantic patch More information can be found at http://www.emn.fr/x-info/coccinelle/ [mchehab@redhat.com: fix a merge conflict] Signed-off-by: Stoyan Gaydarov Signed-off-by: Mauro Carvalho Chehab commit 3227c860b6c96f97671e9373c14a280429956928 Author: Julia Lawall Date: Tue Jul 21 13:47:46 2009 -0300 V4L/DVB (12477): Use dst_type field instead of type_flags It seems from other code that it is the dst_type field rather than the type_flags field that contains values of the form DST_TYPE_IS... The type_flags field contains values of the form DST_TYPE_HAS... The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct dst_state E; @@ ( *E.type_flags == \( DST_TYPE_IS_SAT\|DST_TYPE_IS_TERR\|DST_TYPE_IS_CABLE\|DST_TYPE_IS_ATSC \) | *E.type_flags != \( DST_TYPE_IS_SAT\|DST_TYPE_IS_TERR\|DST_TYPE_IS_CABLE\|DST_TYPE_IS_ATSC \) ) // Cc: Manu Abraham Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit ce212f052fa2fe1a5e71af13be63667e1916d084 Author: Nam Phạm Thành Date: Sun Jul 12 11:51:10 2009 -0300 V4L/DVB (12475): Add support for Humax/Coex DVB-T USB Stick 2.0 High Speed This patch adds support for Humax/Coex DVB-T USB Stick 2.0 High Speed which is a very popular tuner sold in Vietnam. Tested with at least 3 tuners. Cc: Patrick Boettcher Signed-off-by: Pham Thanh Nam Signed-off-by: Mauro Carvalho Chehab commit 1c2ca352944e1899e72a39cc640d874dfa008a1b Author: Mauro Carvalho Chehab Date: Thu Aug 20 10:20:06 2009 -0300 V4L/DVB (12472): hdpvr-control: fix bad whitespaces It were using 7 spaces instead of tab for indent. Cc: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 272ece5e798b7ff0d9bc083fe7df2e960e8d5db8 Author: Mauro Carvalho Chehab Date: Thu Aug 20 10:18:29 2009 -0300 V4L/DVB (12471): stv06xx: fix bad whitespaces It were using 7 spaces instead of tab for indent. Cc: Erik Andren Signed-off-by: Mauro Carvalho Chehab commit 8ccd4cd07e36bd8529010a520865fa275c3051f0 Author: Mauro Carvalho Chehab Date: Thu Aug 20 10:15:48 2009 -0300 V4L/DVB (12470): cx231xx/cx231xx-conf-reg.h: fix bad whitespaces It were using 7 spaces instead of tab for indent. Signed-off-by: Mauro Carvalho Chehab commit dfb4ba1e13061b655cb2d077f621fc87cf4e920f Author: Mauro Carvalho Chehab Date: Thu Aug 20 10:13:40 2009 -0300 V4L/DVB (12468): saa7134: Fix bad whitespacing The changeset 0b17d0ed that aded ASUSTeK P7131 Analog were using 7 spaces instead of tab, probably due to some bad cut-and-paste. Signed-off-by: Mauro Carvalho Chehab commit b24ed7b662351c8ea5c4b3dbc879c9971e721070 Author: Mauro Carvalho Chehab Date: Thu Aug 20 09:38:44 2009 -0300 V4L/DVB (12466): Kconfig files: Fix improper use of whitespaces On VIDEO_M52790 and USB_GSPCA_SN9C20X, instead of tab, it were using 7 whitespaces at the beginning, probably due to some cut-and-paste trouble. Signed-off-by: Mauro Carvalho Chehab commit 3c1c48bbcf892e97c4e965b8528f4d735bf9a746 Author: Andrzej Hajda Date: Thu Jul 2 11:50:35 2009 -0300 V4L/DVB (12465): cx88: High resolution timer for Remote Controls Patch solves problem of missed keystrokes on some remote controls, as reported on http://bugzilla.kernel.org/show_bug.cgi?id=9637 . Signed-off-by: Andrzej Hajda Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit ecfcfec80493097967aa40e3433d65a8ff65c86b Author: Igor M. Liplianin Date: Thu Aug 13 21:42:21 2009 -0300 V4L/DVB (12463): Add support for Compro VideoMate S350 DVB-S PCI card. Add Compro VideoMate S350 DVB-S driver. The card uses zl10313, zl10039, saa7130 integrated circuits. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit d0a1ddad1c9723f4a61e9b216c4c34ac03344fdd Author: Igor M. Liplianin Date: Sat Jun 20 09:54:18 2009 -0300 V4L/DVB (12462): Add TeVii S630 USB DVB-S card support. The card includes Intel ce5039(Zarlink zl10039) tuner and Intel ce6313 (Zarlink zl10313) demod. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 2ccf5a9906564cd06facc846c32d065752268dcf Author: Igor M. Liplianin Date: Sat Jun 20 09:51:48 2009 -0300 V4L/DVB (12461): Add ce5039(zl10039) tuner support. The code from Jan D. Louw with some minor changes. http://article.gmane.org/gmane.linux.drivers.dvb/38163 Tested with TeVii S630 DVB-S USB card by me (Igor) Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 3040b043423c1726a14595d500f6409070b1e722 Author: Theodore Kilgore Date: Mon Aug 3 04:13:23 2009 -0300 V4L/DVB (12459): gspca - jeilinj: New subdriver for Jeilin chip. Signed-off-by: Theodore Kilgore Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9d7530d53d6cd8b50efc8dcecad4febe8ae53fd4 Author: Hans Verkuil Date: Wed Aug 12 10:10:20 2009 -0300 V4L/DVB (12455): radio-typhoon: remove obsolete RADIO_TYPHOON_PROC_FS config option Thanks to Robert P.J. Day for finding this. Thanks-to: Robert P.J. Day Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 17d8dfe8c8a23dfadd714315465d992410bebd88 Author: Mauro Carvalho Chehab Date: Fri Aug 14 01:45:57 2009 -0300 V4L/DVB (12452): gspca/Kconfig: Fix bad identation for USB_GSPCA_SN9C20X_EVDEV Signed-off-by: Mauro Carvalho Chehab commit 8cd9aaefad5968f8f5aff3852a67870550ce941d Author: Devin Heitmueller Date: Mon Aug 3 23:56:51 2009 -0300 V4L/DVB (12444): em28xx: add support for Terratec Cinergy Hybrid T USB XS remote control Add support for the remote control that comes with the Cinergy Hybrid T USB XS Thanks to Jelle de Jong for providing sample hardware to test with. Cc: Jelle de Jong Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 4d14c833c0d5f926721da1e0b07287ab8b64f0ba Author: Vlastimil Labsky Date: Mon Aug 10 22:15:54 2009 -0300 V4L/DVB (12439): cx88: add support for WinFast DTV2000H rev. J I updated and simplyfied patch from Zbynek Hrabovsky for recent kernel. It enables autodetection of card, sound in analog TV , sound in FM radio and switching between antenna and cable RF input. Radio tuner still doesn't work, I don't even know how it works. Some guys wrote me that FM radio works with TV tuner used instead of radio part (symlink video0 -> radio0). Cc: Gerd Knorr Signed-off-by: Vlastimil Labsky Signed-off-by: Andrew Morton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit bd0eb12f61fef7f500e374b8d5068e7556f61901 Author: Roel Kluin Date: Sat Aug 8 12:58:52 2009 -0300 V4L/DVB (12435): strlcpy() will always null terminate the string. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit a35c87c7084f3f4972f3ce5f23cfcb34f95341b1 Author: Douglas Schilling Landgraf Date: Thu Aug 6 12:52:11 2009 -0300 V4L/DVB (12434): em28xx: fix empire auto-detect Fixed eeprom hash table Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit eb2de30b318ae583fef113cac94150924ae1ed6b Author: Hans Verkuil Date: Fri Aug 7 05:50:02 2009 -0300 V4L/DVB (12427): cx24113: fix mips compiler warning do_div requires an u64 as the first argument, not a s64. Signed-off-by: Hans Verkuil Acked-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f19b56a8eb54d758bff94ae6a1b4f79335155238 Author: Hans Verkuil Date: Fri Aug 7 05:32:20 2009 -0300 V4L/DVB (12426): pvrusb2: fix compile warning Signed-off-by: Hans Verkuil Acked-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 6bf1a997ed135df322e64b6f604227f6fdc54865 Author: David T.L. Wong Date: Wed Aug 5 13:07:10 2009 -0300 V4L/DVB (12423): cxusb, d680 dmbth use unified lgs8gxx code instead of lgs8gl5 Use unified lgs8gxx frontend instead of reverse engineered lgs8gl5 frontend. After this patch, lgs8gl5 frontend could be mark as deprecated. Future development should base on unified lgs8gxx frontend. Signed-off-by: David T.L. Wong Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit b807d17555dcc4ea28abadd4d647ba0c4d822cdb Author: Julia Lawall Date: Tue Aug 4 22:00:24 2009 -0300 V4L/DVB (12421): drivers/media/video/gspca: introduce missing kfree Error handling code following a kmalloc should free the allocated data. Signed-off-by: Julia Lawall Acked-by: Erik Andrén Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 46058128ff57db466ec132cb7de76cf9ecbd3dd3 Author: hermann pitton Date: Tue Aug 4 20:11:43 2009 -0300 V4L/DVB (12420): saa7134: fix the radio on Avermedia GO 007 FM We have support for radio on saa7133/35/31e cards with tda8290/8275(a) and 5.5MHz ceramic filter on the bridge chips since a while. It was previously not tested, if this card supports it too, but the old "ghost" radio with wrong filters doesn't work anymore. Thanks go to Pham Thanh Nam and Laszlo Kustan for reporting it working on that input. Signed-off-by: hermann pitton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 4786dd65fc354cae804635726c2768b8559a51bf Author: Beholder Intl. Ltd. Dmitry Belimov Date: Tue Aug 4 20:07:42 2009 -0300 V4L/DVB (12419): Fix incorrect type of tuner for the BeholdTV H6 card Define correct tuner in config. Radio now works fine Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 9dcb79c2eedb5b3ec50f73bd531fb6dd52c94bfc Author: Tobias Lorenz Date: Mon Aug 10 18:44:14 2009 -0300 V4L/DVB (12417): I2C cleanups and version checks The structure and comments of the I2C part have been adopted to fit to the USB part. Some additional cleanups and precisements have been made to the version detection and checking functionality to clearly separate HW/SW/FW version. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit cc35bbddfe10f77d949f0190764b252cd2b70c3c Author: Joonyoung Shim Date: Sun Aug 9 14:23:35 2009 -0300 V4L/DVB (12416): radio-si470x: add i2c driver for si470x This patch supports i2c interface of si470x. The i2c specific part exists in radio-si470x-i2c.c file and the common part uses radio-si470x-common.c file. The '#if defined' is inserted inevitably because of parts used only si470x usb in the common file. The current driver version doesn't support the RDS. Signed-off-by: Joonyoung Shim Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 3c7cc8d52c0bd60d214aca22772aa3602a2b3198 Author: Joonyoung Shim Date: Sun Aug 9 14:23:02 2009 -0300 V4L/DVB (12415): radio-si470x: add disconnect check function The si470x_disconnect_check is function to check disconnect state of radio in common file. The function is implemented in each interface file. Signed-off-by: Joonyoung Shim Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit a9d6fd5e316f1bbed08278c88cb984a2616a0278 Author: Joonyoung Shim Date: Sun Aug 9 14:22:41 2009 -0300 V4L/DVB (12414): radio-si470x: change to dev_* macro from printk This patch is for using dev_* macro instead of printk. Signed-off-by: Joonyoung Shim Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit b09cd16354454daa1f047b4982691a3826787a0b Author: Joonyoung Shim Date: Sun Aug 9 14:22:20 2009 -0300 V4L/DVB (12413): radio-si470x: separate common and usb code This patch is a preceding work to add the i2c interface of si470x. The si470x directory includes a common file and usb specific file and header file. The part unrelated with usb interface and i2c interface exists in radio-si470x-common.c file, and The usb specific part exists in radio-si470x-usb.c file. Signed-off-by: Joonyoung Shim [tobias.lorenz@gmx.net: Small changes, due to new include "linux/smp_lock.h"] Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 4efa2d75d4a3b86c2d47c422237c848d1f04ba58 Author: Mauro Carvalho Chehab Date: Sun Aug 9 19:39:23 2009 -0300 V4L/DVB (12408): em28xx: Implement g/s_register via address match Signed-off-by: Mauro Carvalho Chehab commit c53d83ccc8a180d05f6f930167a4acd4a9694e5d Author: Pete Hildebrandt Date: Wed Aug 5 11:46:38 2009 -0300 V4L/DVB (12396): [patch] Added Support for STK7700D (DVB) This patch adds support for the STK7700D USB-DVB-Device. lsusb identifies it as: idVendor 0x1164 YUAN High-Tech Development Co., Ltd idProduct 0x1efc iProduct 2 STK7700D The device is build into a Samsung R55-T5500 notebook. Signed-off-by: Pete Hildebrandt Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 0b0157398eb5c0786567b11fcf651147b0892c81 Author: Eberhard Mattes Date: Sun Aug 2 15:44:37 2009 -0300 V4L/DVB (12388): dvb-usb: fix tuning with Cinergy T2 cinergyInitialize param.flags. Signed-off-by: Eberhard Mattes Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit bb2c818fae1dfdb6bea6e4f80b391656101bbd38 Author: Jean-Francois Moine Date: Sun Aug 2 06:56:47 2009 -0300 V4L/DVB (12383): gspca - vc032x: Bad h/v flip controls when inverted by default. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d40a1da2b4eb8f798175fdf98d92b83746a31a31 Author: Marton Nemeth Date: Wed Jul 29 05:01:54 2009 -0300 V4L/DVB (12382): gspca - main: Remove vidioc_s_std(). The vidioc_s_std() is not necessary when vdev->tvnorms == 0. Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8e113595edf0741b45ba10ba88cb5d077787c155 Author: Laurent Pinchart Date: Wed Jul 1 20:24:47 2009 -0300 V4L/DVB (12379): uvcvideo: Multiple streaming interfaces support Restructure the UVC descriptors parsing code to handle multiple streaming interfaces. The driver now creates a uvc_video_chain instance for each chain detected in the UVC control interface descriptors, and tries to register one video device per streaming endpoint. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 35f02a681b72ece756cf005e17f305a72329c140 Author: Laurent Pinchart Date: Sun Jun 28 08:37:50 2009 -0300 V4L/DVB (12378): uvcvideo: Restructure the driver to support multiple simultaneous streams. As a first step towards multiple streaming interfaces support, reorganize the driver's data structures to cleanly separate video control and video streaming data. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 6c428b578b15a1dbf40832d3aeed43761940b81f Author: Mauro Carvalho Chehab Date: Tue Aug 4 19:52:37 2009 -0300 V4L/DVB (12376): em28xx: fix V4L2 API compliance: don't expose audio inputs for devices without it V4L2 API (chapter 1.5) states that: Drivers must implement all input ioctls when the device has one or more inputs, all output ioctls when the device has one or more outputs. When the device has any audio inputs or outputs the driver must set the V4L2_CAP_AUDIO flag in the struct v4l2_capability returned by the VIDIOC_QUERYCAP ioctl. So, devices without audio input should return -EINVAL. Signed-off-by: Mauro Carvalho Chehab commit 00c1e2167e3163d2e193644b7d768f06d2a8c279 Author: Jiri Slaby Date: Thu Jul 30 20:00:44 2009 -0300 V4L/DVB (12373): hdpvr: fix lock imbalances There are many lock imbalances in this driver. Fix all found. Signed-off-by: Jiri Slaby Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit b9ab3508efa57905ae037ddf48c97ea6ed74b799 Author: Jiri Slaby Date: Tue Jul 28 11:56:33 2009 -0300 V4L/DVB (12372): saa7134: fix lock imbalance There seems to be one superfluos unlock in a poll function. Remove it. Signed-off-by: Jiri Slaby Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 575f9af89952c7e7703e48666d95609daaf99630 Author: Mhayk Whandson Date: Tue Jul 28 11:53:20 2009 -0300 V4L/DVB (12370): v4l doc: fix cqcam source code path Fixed the c-qcam source code path in the linux kernel tree. Signed-off-by: Mhayk Whandson Signed-off-by: Randy Dunlap Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 085575a325de87b4931a43c9d0a75ca0d3ba5075 Author: Oliver Neukum Date: Tue Jul 28 11:52:10 2009 -0300 V4L/DVB (12369): stv680: kfree called before usb_kill_urb The irq handler will touch memory. Even in the error case some URBs may complete. Thus no memory must be kfreed before all URBs are killed. Signed-off-by: Oliver Neukum Acked-by: Greg Kroah-Hartman Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f5d887ae60ea1b05fcdab65e51e1ef88398ed274 Author: Andy Walls Date: Tue Jul 28 11:50:14 2009 -0300 V4L/DVB (12368): ir-kbd-i2c: Add support for Z8F0811/Hauppage IR transceivers This patch adds support for Zilog Z8F0811 IR transceiver chips on CX2341[68] based boards to ir-kbd-i2c for both the old i2c binding model and the new i2c binding model. Signed-off-by: Andy Walls Reviewed-by: Jean Delvare Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 8ca955689a957ecf956bb052f60412da2753a977 Author: Andy Walls Date: Tue Jul 28 11:48:18 2009 -0300 V4L/DVB (12367): cx18: Add i2c initialization for Z8F0811/Hauppage IR transceivers This patch add support to the cx18 driver for setting up the Z8F0811/Hauppauge IR Tx/Rx chip with the i2c binding model in newer kernels. Signed-off-by: Andy Walls Reviewed-by: Jean Delvare Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 1b6e59e3f48eecdab97bdd1568422e22f7d2f4f5 Author: Andy Walls Date: Tue Jul 28 11:44:05 2009 -0300 V4L/DVB (12366): ir-kbd-i2c: Allow use of ir-kdb-i2c internal get_key funcs and set ir_type This patch augments the init data passed by bridge drivers to ir-kbd-i2c, so that the ir_type can be set explicitly, and so ir-kbd-i2c internal get_key functions can be reused without requiring symbols from ir-kbd-i2c in the bridge driver. Signed-off-by: Andy Walls Reviewed-by: Jean Delvare Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 157da2762c610073e76329bb030e993fb4c2cc77 Author: Jean Delvare Date: Tue Jul 28 11:41:35 2009 -0300 V4L/DVB (12365): ir-kbd-i2c: Remove superfulous inlines Functions which are referenced by their address can't be inlined by definition. Signed-off-by: Jean Delvare Signed-off-by: Andy Walls Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 5376176199fdd55e6310738bfacb57bf606f16bf Author: Michael Krufky Date: Mon Jul 27 17:35:59 2009 -0300 V4L/DVB (12360): au0828: fix typo: dvb uses bulk xfer, dont say isoc in debug The au0828-dvb driver uses bulk usb transfers for digital transport, but the debug reports, "iso xfer already running!\n". Fix this to report bulk instead of isoc. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1c8336d338099cbef6eb4bacd869c602c3988a06 Author: Jean-Francois Moine Date: Tue Jul 28 04:38:25 2009 -0300 V4L/DVB (12358): gspca - main: Memorize the current alt before setting it This prevents a loop if a permanent error occurs in usb_set_interface(). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c61fd24f2d613264d08d2cac844bdcbd754da285 Author: Hans de Goede Date: Tue Jul 28 04:28:45 2009 -0300 V4L/DVB (12357): gspca - tv8532: Bad ISOC packet scan Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 6baefab531b22288be3b4ddef5671ea6469b09f8 Author: Denis Loginov Date: Tue Jul 28 03:39:10 2009 -0300 V4L/DVB (12356): gspca - sonixj: Webcam 0c45:6148 added Signed-off-by: Denis Loginov Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8b605f18104c369e838e29a123ed768a7457d3d3 Author: Jean-Francois Moine Date: Mon Jul 27 06:28:37 2009 -0300 V4L/DVB (12355): gspca - vc032x: Cleanup source Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit e27188ee6bed7fae205dfeee0d22fc9fc83a3cb2 Author: Jean-Francois Moine Date: Mon Jul 27 06:00:03 2009 -0300 V4L/DVB (12354): gspca - vc032x: H and V flip controls added for mi13x0_soc sensors Also, H/V flip default values adjusted according to the webcam IDs. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 111815ef7e944d28aff9be7bee6e71a33c401a51 Author: Jean-Francois Moine Date: Mon Jul 27 05:52:27 2009 -0300 V4L/DVB (12353): gspca - vc032x: Add the 1280x960 resolution for sensor mi1310_soc Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4041f6b3b4deaa3c67fbe71b67c3c18ac9ce0207 Author: AceLan Kao Date: Mon Jul 27 05:43:55 2009 -0300 V4L/DVB (12352): gspca - vc032x: Fix mi1310_soc preview and LED The patches gspca - vc032x: Add resolution 1280x1024 for sensor mi1310_soc. gspca - vc032x: Webcam 041e:405b added and mi1310_soc updated. will make the preview function not work, so I disable the 1280x1024 resolution and revert back to the origin mi1310_soc settings. And, using USB snoop tool on Windows to get the correct i2c commands to turn on/off the LED flash. Signed-off-by: AceLan Kao Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 00b581ef0d31db9c28215254b64f3890c7c9f939 Author: Brian Johnson Date: Thu Jul 23 05:55:43 2009 -0300 V4L/DVB (12351): gspca - sn9c20x: Misc fixes * use i2c_w instead of reg_w * return error on failure * read the correct number of bytes Signed-off-by: Brian Johnson Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f3d6f63302bfcd7462d46bd1fe44146c971634d4 Author: Steven Toth Date: Thu Jul 23 12:18:54 2009 -0300 V4L/DVB (12347): cx25840: Bugfix for no DVB-T on the Hauppauge HVR-1700 After the i2c subdev changes the ordering of initialization changed, causing a total loss of previous GPIO settings and a loss of DTV. The generic firmware loading routine has now changed to preserve GPIO values if the device is cx23885 based (safety) and I've moved the GPIO configuration from probe() into the cx23885 init func which is a little clearer and fixes the bug. Tested-by: Sohail Syyed Reviewed-by: Michael Krufky Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 73c6f462d1d07f276e279467f311a96a2a43d9c5 Author: Mauro Carvalho Chehab Date: Wed Jul 29 01:42:02 2009 -0300 V4L/DVB (12345): em28xx: fix audio VIDIOC_S_CTRL adjustments on devices without ac97 Even devices without ac97 needs to call analog audio setup function, to properly set xclk and mute/unmute. Thanks to Angelo Cano for reporting and testing it. Signed-off-by: Mauro Carvalho Chehab commit e81516c58ef84663ee05a43760a53a416d529de7 Author: Jean Delvare Date: Fri Jun 19 16:56:56 2009 -0300 V4L/DVB (12343): Stop defining I2C adapter IDs nobody uses There is no point in defining I2C adapter IDs when no code is using them. As this field might go away in the future, stop using it when we don't need to. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 43f8de7ac6d504dea159d7842724857e9e020964 Author: Jan Nikitenko Date: Mon Jul 27 19:05:19 2009 -0300 V4L/DVB (12342): af9015: avoid magically sized temporary buffer in eeprom_dump Replace printing to magically sized temporary buffer with use of KERN_CONT for continual printing of eeprom registers dump. Since deb_info is defined as dprintk, which is conditionally defined to printk without additional parameters, meaning that deb_info is equivalent to direct printk (without adding KERN_ facility), we can use KERN_DEBUG and KERN_CONT in there, eliminating the need for sprintf into temporary buffer with not easily readable/magical size. Though it's strange, that deb_info definition uses printk without KERN_ facility and callers don't use it either. Signed-off-by: Jan Nikitenko Signed-off-by: Mauro Carvalho Chehab commit 1420d498fd8890bbd878d261f317f9d64544ce0b Author: Andy Walls Date: Wed Jul 22 21:24:53 2009 -0300 V4L/DVB (12336): ivtv: Fix improper GPIO audio mux input switch on video standard change Remove the subdev_s_std() method from the GPIO subdev. It appears it was used in the past to effect the switch back from radio mode to tuner mode, but it had a side effect that is improper and against the V4L2 spec, when you were not in radio mode. Whenever the video stanadrd was changed, the GPIO audio mux was set back to the tuner audio input, even if you were set to a Line In input. Thanks to Ravi A. for doing the troubleshooting to point me right to the problem. Reported-by: Ravi A Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d31b67d81b1b724d0610e9f0cfeac494d62ffca4 Author: Andy Walls Date: Wed Jul 22 21:15:58 2009 -0300 V4L/DVB (12335): ivtv: Fix errors in AVerTV M113 card definitions and add a new M113 card Tested-by: Ravi A. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit e3e1920b28d47cb18b477fc9884b889f9622fc97 Author: Andy Walls Date: Wed Jul 22 21:02:44 2009 -0300 V4L/DVB (12334): tuner-simple: Add an entry for the Partsnic PTI-5NF05 NTSC tuner Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d8300df9fb76552ba81bf57d79c3ad3309eda13d Author: Igor M. Liplianin Date: Wed Jul 22 17:30:25 2009 -0300 V4L/DVB (12332): Create card parameters array in SDMC DM1105 driver Create card parameters array in SDMC DM1105 driver. It is useful for cards with the same pci id, but different tuners, lnb power control circuits, etc. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit bab6f66c08043a93b9460f6e0bf2b1cd9cc03e53 Author: Laurent Pinchart Date: Sun Jul 19 18:39:56 2009 -0300 V4L/DVB (12327): uvcvideo: Add PROBE_DEF quirk and enable it for the MT6227 device At least one MT6227 model crashes when receiving a GET_DEF request on the video probe control. As the various models can't be told apart based on the descriptors, add a PROBE_DEF quirk to avoid sending the GET_DEF request and enable the quirk for all models. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 76594c5315d843fb1d3bffe7a8e2559086755f72 Author: Lamarque Vieira Souza Date: Wed Jul 22 16:54:51 2009 -0300 V4L/DVB (12326): zr364xx: error message when buffer is too small and code cleanup . added code to print an error message when buffer is too small to hold frame data, that is better than just a hard crash. Tested using MAX_FRAME_SIZE = 50000, lots of error messages appeared in /var/log/messages but no crash. . removed line "f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;" in zr364xx_vidioc_try_fmt_vid_cap, it should not be there. . changes to improve performance (or at least not hurt it): removed some unneeded debug messages; added macro FULL_DEBUG to enable debug messages in performance critical places, this macro is disabled by default; removed "if (frm->lpvbits == NULL)..." in zr364xx_read_video_callback because after analisying the source code I concluded it will always results to false, so it is not needed. . some small code reorganization. Signed-off-by: Lamarque V. Souza Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 8c5f32ac2f8c1b92149b08bba673ccecb7578e57 Author: Lamarque Vieira Souza Date: Mon Jul 20 20:46:42 2009 -0300 V4L/DVB (12325): Implement changing resolution on the fly for zr364xx driver This patch implements changing resolution in zr364xx_vidioc_s_fmt_vid_cap for zr364xx driver. This version is synced with v4l-dvb as of 20/Jul/2009. Tested with Creative PC-CAM 880. OBS: I had to increase MAX_FRAME_SIZE to prevent a hard crash in my notebook (caps lock blinking) when testing with mplayer, which automatically sets resolution to the maximum (640x480). Maybe we should add code to auto-detect frame size to prevent this kind of crash in the future. Signed-off-by: Lamarque V. Souza Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 6ace40effd34331a604c5eeae90838cf8dd7eb8f Author: Hans Verkuil Date: Sat Jun 20 09:50:39 2009 -0300 V4L/DVB (12316): v4l: add V4L2_CAP_RDS_OUTPUT and V4L2_CAP_MODULATOR caps Add capabilities to describe an FM transmitter device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8db6d633be17a1ed3459dbc0d4d43c4238ccf082 Author: Igor M. Liplianin Date: Mon Jul 20 12:27:27 2009 -0300 V4L/DVB (12314): cx23885: add CAM presence checkout Add CAM presence checkout during CiMax init for NetUP card. CAM presence checkout is needed after power on PC. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit c846121058c2604cc8c513addd0fad1050014b3d Author: Igor M. Liplianin Date: Sun Jul 19 18:21:38 2009 -0300 V4L/DVB (12313): stv6110: Read registers through one time i2c_transfer calling Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit fc7e4a3e7201ee8a9a6359fdbcb6677231f353b5 Author: Abylay Ospan Date: Sun Jul 19 18:15:45 2009 -0300 V4L/DVB (12312): stv0900: fix i2c repeater configuration must be set to manual In automatic mode every stop event on SDA line ends repetition. However, in NetUP Dual card on the same i2c bus we have several devices. If someone using both adapters to lock simultaneously or working with CAM interface during lock procedure, it lead to end repetition prematurely quite often. Set stv0900 i2c repeater to manual mode prevents such situation. Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit 644c7ef0b9a9c4f4dec4a44249b7047452654722 Author: Abylay Ospan Date: Sun Jul 19 18:06:00 2009 -0300 V4L/DVB (12311): Change clocking configuration and frequency for NetUP card. Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit ee5e7d94c96ae5a95906fcecde6c69c9d9ee4352 Author: Igor M. Liplianin Date: Sun Jul 19 17:57:29 2009 -0300 V4L/DVB (12310): stv6110 tuner: remove unused iq_wiring configuration parameter. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 92782bb00387585e2a4249f6996da3c863c1f580 Author: Igor M. Liplianin Date: Sun Jul 19 17:37:09 2009 -0300 V4L/DVB (12309): Add output clock configuration for stv6110 tuner. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 25ea66e2696066a12274119ceec084963427e75b Author: Steven Toth Date: Mon Jul 20 15:40:31 2009 -0300 V4L/DVB (12307): cx23885: Modify hardware revision detection for newer silicon cx23885: Modify hardware revision detection for newer silicon Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 1369738023900302ef9677c90c4da873b5593ee7 Author: Steven Toth Date: Mon Jul 20 15:37:25 2009 -0300 V4L/DVB (12306): cx23885: Add support for ATSC/QAM on Hauppauge HVR-1850 cx23885: Add support for ATSC/QAM on Hauppauge HVR-1850 Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 21ff3e4f63a3095f739f6398accd3b43d77e30b5 Author: Steven Toth Date: Thu Jun 25 23:50:39 2009 -0300 V4L/DVB (12305): cx23885: Convert existing HVR1800 GPIO calls into new format ... improves readability and routes the calls through a specific single point. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit f659c513d59b91cd5f3c0e2a59d8d287221e98f7 Author: Steven Toth Date: Thu Jun 25 23:43:31 2009 -0300 V4L/DVB (12304): cx23885: Remove hardcoded gpio bits from the encoder driver The encoder driver has hardcoded GPIO bits set for the HVR1800, regardless of whether it's being used by a HVR1800 or not. I've implemented some generic GPIO manipulation routines and I'm calling them only when appropriate. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 7a6fbd83378dd0a6127b5d59a51d35688bcd6d9d Author: Trent Piepho Date: Thu Jun 11 19:31:22 2009 -0300 V4L/DVB (12294): b2c2: Use dvb-pll for Cablestar2 The dvb-pll code should do the same thing that alps_tdee4_stv0297_tuner_set_params() was doing. Except the dvb-pll code will check for tuner presence when attaching, while the old code didn't. This tuner appears to not be behind the stv0297's I2C gate but is instead on a different I2C adapter provided by the flexcop chip. The old code would turn the I2C gate off each time the tuner was used. I've changed it to turn the gate off when the tuner is attached and then disable the gate control function. This should result in the gate staying off, which should be even better. [hverkuil@xs4all.nl: fix compile error] Signed-off-by: Trent Piepho Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 016e53de0a5929c7b2ce2661e3af240e7f85fd55 Author: Trent Piepho Date: Thu Jun 11 19:31:22 2009 -0300 V4L/DVB (12293): b2c2: Use dvb-pll for Skystar2 rev 2.3 and rev 2.6 The code in skystar23_samsung_tbdu18132_tuner_set_params() and samsung_tbmu24112_tuner_set_params() is equivalent to what the dvb-pll code does. There could be an issue because the dvb-pll code will probe to check for the tuner, while the previous code didn't do any checks. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 6d67c9717bb71fd23a1f87c464df3ac886759cd0 Author: Trent Piepho Date: Thu Jun 11 19:31:22 2009 -0300 V4L/DVB (12292): b2c2: Use dvb-pll for AirStar DVB-T's tuner The code in samsung_tdtc9251dh0_calc_regs() is equivalent to what dvb-pll's code does. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit d799ce570871bcb3f035e753a5bb3814f9530681 Author: Trent Piepho Date: Thu Jun 11 19:24:00 2009 -0300 V4L/DVB (12290): dvb-pll: Add support for Alps TDEE4 DVB-C NIM No datasheet, data take from code in flexcop driver. That code rounded down the divisor rather than rounding to nearest, which was probably not intentional and the dvb-pll code will round to nearest. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 9d5d75a9eb85d49dc539ce0beb184754e0bad60d Author: Trent Piepho Date: Thu Jun 11 19:21:34 2009 -0300 V4L/DVB (12289): dvb-pll: Add support for Samsung TBMU24112 DVB-S NIM Tuner parameters determined from code in flexcop driver. That code rounded the divisor down instead of to the nearest value. This was probably not intentional and the dvb-pll version will round to nearest. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit f52c48535ffc5c470b07d774d9dc8414c98deb2b Author: Trent Piepho Date: Thu Jun 11 19:21:34 2009 -0300 V4L/DVB (12288): dvb-pll: Add support for Samsung TBDU18132 DVB-S NIM Tuner parameters taken from flexcop driver. This PLL has a 17 bit divisor while the dvb-pll driver is designed for 15 bit divisors. It's not a problem as 15 bits is enough for the tuner's entire range. But if a larger range was wanted, it could be done by adding additional bands with the extra divisor bits appearing as band switch bits. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit a104ed073bc33b262fa9250c1f262c27da56067d Author: Trent Piepho Date: Thu Jun 11 19:21:34 2009 -0300 V4L/DVB (12287): dvb-pll: Add Samsung TDTC9251DH0 DVB-T NIM No datasheet, tuner data comes from code in flexcop driver. This tuner is also used on the AVerTV 771 supported by the bttv driver, but that code uses a different tuner configuration, which is surprising. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit af5f88c8776b2b9163460ff94127f68a9a0e02da Author: Johannes Goerner Date: Thu Jul 9 03:28:46 2009 -0300 V4L/DVB (12281): gspca - sunplus: Webcam 052b:1803 added. Signed-off-by: Johannes Goerner Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d8f400efc1ef7b344e07590fb6b77431bc358ba0 Author: Jean-Francois Moine Date: Wed Jul 8 06:33:44 2009 -0300 V4L/DVB (12280): gspca - sonixj: Remove auto gain/wb/expo for the ov7660 sensor. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ccbf035ae5de4c535160fc99f73feb44cc55b534 Author: Lamarque Vieira Souza Date: Wed Jul 15 20:54:55 2009 -0300 V4L/DVB (12278): zr364xx: implement V4L2_CAP_STREAMING This patch implements V4L2_CAP_STREAMING for the zr364xx driver, by converting the driver to use videobuf. This version is synced with v4l-dvb as of 15/Jul/2009. Tested with Creative PC-CAM 880. It basically: . implements V4L2_CAP_STREAMING using videobuf; . re-implements V4L2_CAP_READWRITE using videobuf; . copies cam->udev->product to the card field of the v4l2_capability struct. That gives more information to the users about the webcam; . moves the brightness setting code from before requesting a frame (in read_frame) to the vidioc_s_ctrl ioctl. This way the brightness code is executed only when the application requests a change in brightness and not before every frame read; . comments part of zr364xx_vidioc_try_fmt_vid_cap that says that Skype + libv4l do not work. This patch fixes zr364xx for applications such as mplayer, Kopete+libv4l and Skype+libv4l can make use of the webcam that comes with zr364xx chip. Signed-off-by: Lamarque V. Souza Signed-off-by: Antoine Jacquet [mchehab@redhat.com: fix the lack of linux/version.h] Signed-off-by: Mauro Carvalho Chehab commit a4afd65870188b872ec9b5cc0330f7c818c4c3a4 Author: Andreas Oberritter Date: Tue Jul 14 20:48:37 2009 -0300 V4L/DVB (12276): Remove a useless check from dvb_dmx_swfilter_packet() Values for 'pid' range from 0 to 0x1fff. Therefore 'feed->pid' can never be equal to both 'pid' and 0x2000. This makes the continue statement have no effect. Signed-off-by: Andreas Oberritter Signed-off-by: Mauro Carvalho Chehab commit 1cb662a3144992259edfd3cf9f54a6b25a913a0f Author: Andreas Oberritter Date: Tue Jul 14 20:28:50 2009 -0300 V4L/DVB (12275): Add two new ioctls: DMX_ADD_PID and DMX_REMOVE_PID DMX_ADD_PID allows to add multiple PIDs to a transport stream filter previously set up with DMX_SET_PES_FILTER and output=DMX_OUT_TSDEMUX_TAP. DMX_REMOVE_PID is used to drop a PID from a filter. These ioctls are to be used by readers of /dev/dvb/adapterX/demuxY. They may be called at any time, i.e. before or after the first filter on the shared file descriptor was started. They make it possible to record multiple services without the need to de- or re-multiplex TS packets. To accomplish this, dmxdev_filter->feed.ts has been converted to a list of struct dmxdev_feeds, each containing a PID value and a pointer to a struct dmx_ts_feed. Signed-off-by: Andreas Oberritter Signed-off-by: Mauro Carvalho Chehab commit a98f6af96ec5b22453054b36eaa325ebf20ea429 Author: Mauro Carvalho Chehab Date: Sun Jul 19 10:45:49 2009 -0300 V4L/DVB (12274): em28xx-video: better implement ac97 control ioctls In the past, some devices with saa711x had their parameters controlled directly inside em28xx driver, instead of using their proper module for it. Due to that, the ac97 controls were mixed with saa711x ones. Older patches removed all saa711x controls, but we still need to control ac97 devices on em28xx, since we don't have a separate v4l2 device for it. The proper way to address is to create a separate ac97 v4l2 device. While we don't have it, we should clean up the code to allow having a better view of what is part of em28xx core code and what's due to ac97 control inside it. Signed-off-by: Mauro Carvalho Chehab commit ed10daaeb3512165505eda8bb311edabea5cb485 Author: Mauro Carvalho Chehab Date: Sun Jul 19 09:10:06 2009 -0300 V4L/DVB (12273): em28xx-video: rename ac97 audio controls to better document it As em28xx chip has nothing to do with volume/mute controls, rename those controls to properly indicate that they control the companion AC97 chip that it is inside the boards with this chip. Signed-off-by: Mauro Carvalho Chehab commit 2365b2d307ee0323062c674ea0495584085e8c24 Author: David Wong Date: Wed Jun 17 01:38:12 2009 -0300 V4L/DVB (12272): cx23885: add card Magic-Pro ProHDTV Extreme 2 cx23885: add card Magic-Pro ProHDTV Extreme 2 PCI-E. Signed-off-by: David T.L. Wong Signed-off-by: Mauro Carvalho Chehab commit b80dc1c673f5ff79805215eb94ff008e634e4b2d Author: David Wong Date: Wed Jun 17 01:38:10 2009 -0300 V4L/DVB (12271): lgs8gxx: add lgs8g75 support lgs8gxx: add lgs8g75 demodulator support Signed-off-by: David T.L. Wong Signed-off-by: Mauro Carvalho Chehab commit a0d64456f765297782d34750cf4dc862f2a8bce0 Author: Jean-Francois Moine Date: Tue Jul 7 04:13:23 2009 -0300 V4L/DVB (12231): gspca - main: Version change. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 78a6d74e8101c5bdb7439a46689e9c81f784f570 Author: Jean-Francois Moine Date: Tue Jul 7 04:03:24 2009 -0300 V4L/DVB (12230): gspca - t613: Change tas5130a init sequences. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1f53b0b0107e3d4b5a4382eaed6a8b4fc146b50c Author: Jean-Francois Moine Date: Tue Jun 30 07:07:01 2009 -0300 V4L/DVB (12229): gspca - main: Change the ISOC initialization mechanism. - call a new subdriver function 'isoc_init' before chosing the first alternate setting. - call a new subdriver function 'isoc_nego' when submitting the URBs failed. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1852e75a55287156f2a435ca4ea4f8c1c75bac6c Author: Jean-Francois Moine Date: Sat Jun 27 05:33:48 2009 -0300 V4L/DVB (12228): gspca - vc032x: Webcam 0ac8:c301 added. Only the back sensor (mi1320_soc) is usable. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3eed78259935bc833242f6d47e7b77cd327334c7 Author: Jean-Francois Moine Date: Sat Jun 20 04:58:57 2009 -0300 V4L/DVB (12227): gspca - pac7311: Webcam 093a:2629 added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c4d363ccd75e1bf6a32f10df7ceb789a86f9291a Author: Jean-Francois Moine Date: Fri Jun 12 03:49:39 2009 -0300 V4L/DVB (12226): gspca - spca508: Extend the write_vector routine. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 43b786677eb15edf7e8a2440878e5fa912bcccc6 Author: Hans Verkuil Date: Sat Jun 20 06:25:14 2009 -0300 V4L/DVB (12218): radio-si470x: conform to the RDS spec. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8e280f24d33dbe7dab719978dfc2f266af76c8af Author: Hans Verkuil Date: Sat Jun 20 06:19:09 2009 -0300 V4L/DVB (12217): radio-cadet: conform to the RDS spec. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f101a2a7877d0573d93649a62c4ed65284e7ed9d Author: Hans Verkuil Date: Sat Jun 20 06:09:52 2009 -0300 V4L/DVB (12216): saa7134: set RDS capability if applicable. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3c86cf7a7d323019a7942df8bacf47c9fd2c31fa Author: Hans Verkuil Date: Sat Jun 20 06:09:14 2009 -0300 V4L/DVB (12215): saa6588: conform to the final RDS spec. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6a052c84342dd047226ecad0e1aa4e4b37d45a6c Author: Hans Verkuil Date: Sat Jun 20 06:09:33 2009 -0300 V4L/DVB (12214): bttv: set RDS capability if applicable. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ef5b5b7e73038f2c7d0d1b020c6eac6435c2b552 Author: Hans Verkuil Date: Sat Jun 20 05:37:27 2009 -0300 V4L/DVB (12212): v4l2: add RDS API to videodev2.h Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3bd10fc9f53fffe5913619733d7b1707a06899cf Author: Andy Walls Date: Sun Jul 5 15:13:56 2009 -0300 V4L/DVB (12210): ivtv: Fix automatic detection of AVerMedia UltraTV 1500MCE. My initial change left the AVerMedia UtlraTV 1500MCE card entry out of the list of cards to check during the probe. This change adds it to the ivtv_card_list[]. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 50364593f8d4a5b9c2a025c8acb41dc92f1c901d Author: Andy Walls Date: Thu Jul 2 23:08:59 2009 -0300 V4L/DVB (12209): ivtv: Add card entry for AVerMedia UltraTV 1500 MCE (M113 variant) Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 25a42e4d4a4e03d5807f8aa1a5619f4d805f6fd8 Author: Andy Walls Date: Sun Jul 5 17:09:28 2009 -0300 V4L/DVB (12207): cx18: Add an EEPROM dump routine for the Yuan MPC718 and future cards Add a routine for dumping the EEPROM of the MPC718. It is generic enough to use for other cards in the future that may have an EEPROM. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 76e9741d1d7deb332abbbc3d8fc4c55154e2c180 Author: Joe Perches Date: Sun Jul 5 15:59:21 2009 -0300 V4L/DVB (12204): bttv and meye: Use PCI_VDEVICE Signed-off-by: Joe Perches Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 0389b34e7c5c2dcdef61ed1741db674b47e4dc00 Author: Matthias Schwarzott Date: Thu Jul 2 16:17:28 2009 -0300 V4L/DVB (12200): mt312: Fix checkpatch warnings This patch fixes some checkpatch warnings in mt312-driver. Signed-off-by: Matthias Schwarzott Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit de81c3c3f5db3ca35548c54024df50be18d64830 Author: Roel Kluin Date: Thu Jul 2 16:09:25 2009 -0300 V4L/DVB (12199): remove redundant tests on unsigned input, inp and i are unsigned. When negative they are wrapped and caught by the other test. Cc: Andy Walls Signed-off-by: Roel Kluin Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit ce27cd3bf989fe7187526cb120c69bf33b0b68d0 Author: Joe Perches Date: Thu Jul 2 16:02:20 2009 -0300 V4L/DVB (12198): ivtv-driver.c: Remove unnecessary semicolons Cc: Hans Verkuil Signed-off-by: Joe Perches Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 1ebcad77078a10571eb194b53cb65006d3daf3c4 Author: Joe Perches Date: Thu Jul 2 15:57:09 2009 -0300 V4L/DVB (12197): Remove unnecessary semicolons Cc: Patrick Boettcher Cc: Steven Toth Cc: Igor M. Liplianin Cc: Srinivasa Deevi Signed-off-by: Joe Perches Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 32a60955fb6312f19ea4856e66b894bfb6c4e949 Author: Joe Perches Date: Thu Jul 2 13:52:46 2009 -0300 V4L/DVB (12196): cx18-fileops.c: Remove unnecessary semicolons Signed-off-by: Joe Perches Acked-by: Andy Walls Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 7c8b56795fdf59761ee3475b6add2fd4b635d2b6 Author: Zhenyu Wang Date: Sun Jul 5 10:51:21 2009 -0300 V4L/DVB (12190): em28xx: Add support for Gadmei UTV330+ em28xx: Add support for Gadmei UTV330+ Signed-off-by: Zhenyu Wang Signed-off-by: Mauro Carvalho Chehab commit 5bdf1377587bbde8ef0893cf726de116c2250208 Author: Laurent Pinchart Date: Fri Jul 3 12:32:46 2009 -0300 V4L/DVB (12188): uvcvideo: Set PROBE_MINMAX quirk for Aveo Technology webcams Some Aveo Technology USB 2.0 Camera (1871:0306) revisions seem to require the PROBE_MINMAX quirk. As the camera supports uncompressed YUYV data only, it's safe to set the quirk even if not strictly required for all models. Update the device entry in the device IDs list. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit de05f63430e8cb8cde0a21260bc6b01765111e5c Author: Laurent Pinchart Date: Fri Jun 26 12:15:38 2009 -0300 V4L/DVB (12187): uvcvideo: Move UVC definitions to linux/usb/video.h To make UVC constants accessible by a future UVC gadget driver, move them from drivers/media/video/uvc/uvcvideo.h to include/linux/usb/video.h. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 446a164b70655d7cc19f6e9023c129b7425eb0f8 Author: Laurent Pinchart Date: Fri Jun 26 11:41:04 2009 -0300 V4L/DVB (12186): uvcvideo: Remove unused Logitech-specific constants Those constants are not used anymore, remove them. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit b482d9231a73478763e6b42fd88ea453731a67eb Author: Laurent Pinchart Date: Fri Jun 26 11:39:42 2009 -0300 V4L/DVB (12185): uvcvideo: Prefix all UVC constants with UVC_ In preparation to moving UVC constants to a public location, prefix all constants with UVC_ to avoid namespace clashes. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 042e143e8b21dca7c84e32c2e647980cb9101224 Author: Laurent Pinchart Date: Fri Jun 26 11:30:09 2009 -0300 V4L/DVB (12184): uvcvideo: Use class-specific descriptor types from usb/ch9.h uvcvideo.h redefines class-specific descriptor types already present in usb/ch9.h. Remove the duplicated definitions and use the ones from usb/ch9.h. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit d33fbcbb21ba53358ba8a83765cfd1401e06d883 Author: Mauro Carvalho Chehab Date: Thu Jul 2 17:07:32 2009 -0300 V4L/DVB (12168): v4l2-ioctl: avoid flooding log with unasked debug messages Thanks to Hans Verkuil for pointing this issue on my last patch. Signed-off-by: Mauro Carvalho Chehab commit d1afe4250a0aecf7ee92fa3d563a2f2aabf6cc0b Author: Mauro Carvalho Chehab Date: Sun Jun 21 22:37:12 2009 -0300 V4L/DVB (12124): v4l2-ioctl: better output debug messages for VIDIOC_ENUM_FRAMESIZES Signed-off-by: Mauro Carvalho Chehab commit b7f2cef0c80c3ac29c13d2f4fc31691f2bd75f05 Author: Guennadi Liakhovetski Date: Wed Jun 24 10:31:25 2009 -0300 V4L/DVB (12158): v4l: add cropping prototypes to struct v4l2_subdev_video_ops Add g_crop, s_crop and cropcap methods to video v4l2-subdev operations. Signed-off-by: Guennadi Liakhovetski Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 65dd2f93febf6345ce9e39d2f6e35ce1122f4a4a Author: Mauro Carvalho Chehab Date: Tue Jun 30 16:14:17 2009 -0300 V4L/DVB (12149): videodev2.h: Reorganize fourcc table With the changes this file suffered along the time, things got a little disorganized. In particular, V4L2_PIX_FMT_YVYU were shown as a device-specific format, instead of yet another variant of YUV. There's no functional change on this patch. It just adds some comments and reorder fourcc formats to their proper places. Signed-off-by: Mauro Carvalho Chehab commit c85e46e3486e786a4ce5ff9febf0028882987029 Author: Mauro Carvalho Chehab Date: Tue Jun 30 12:45:45 2009 -0300 V4L/DVB (12147): pwc: remove definitions that are already present at videodev2.h Signed-off-by: Mauro Carvalho Chehab commit fca9596b17dd39a110121fc2b2daedcda441ecf4 Author: Tobias Lorenz Date: Sat Jun 20 19:17:30 2009 -0300 V4L/DVB (12144): radio-si470x: removed v4l2_queryctrl in favor of v4l2_ctrl_query_fill Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 9817dc3133b8f75812b8b2c9e7a52c7c34f715d9 Author: Tobias Lorenz Date: Sat Jun 20 19:14:50 2009 -0300 V4L/DVB (12143): radio-si470x: cleanups - Remove user count log messages - Comments adopted to general style Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 721f59ed612477a9f83f3f3a222a14d16505c1a4 Author: Tobias Lorenz Date: Sat Jun 20 19:00:06 2009 -0300 V4L/DVB (12142): radio-si470x: Add suport for RDS endpoint interrupt mode Add support for interrupt mode for RDS endpoint, instead of polling. Improves RDS reception significantly Signed-off-by: Edouard Lafargue Acked-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit ea038f63ac52439e7816295fa6064fe95e6c1f51 Author: James Bottomley Date: Fri Aug 21 09:47:54 2009 -0600 [SCSI] fix oops during scsi scanning Chris Webb reported: p0# uname -a Linux f7ea8425-d45b-490f-a738-d181d0df6963.host.elastichosts.com 2.6.30.4-elastic-lon-p #2 SMP PREEMPT Thu Aug 20 14:30:50 BST 2009 x86_64 Intel(R) Xeon(R) CPU E5420 @ 2.50GHz GenuineIntel GNU/Linux p0# zgrep SCAN_ASYNC /proc/config.gz # CONFIG_SCSI_SCAN_ASYNC is not set p0# cat /var/log/kern/2009-08-20 [...] 15:27:10.485 kernel: scsi9 : iSCSI Initiator over TCP/IP 15:27:11.493 kernel: scsi 9:0:0:0: RAID IET Controller 0001 PQ: 0 ANSI: 5 15:27:11.493 kernel: scsi 9:0:0:0: Attached scsi generic sg6 type 12 15:27:11.495 kernel: scsi 9:0:0:1: Direct-Access IET VIRTUAL-DISK 0001 PQ: 0 ANSI: 5 15:27:11.495 kernel: sd 9:0:0:1: Attached scsi generic sg7 type 0 15:27:11.495 kernel: sd 9:0:0:1: [sdg] 4194304 512-byte hardware sectors: (2.14 GB/2.00 GiB) 15:27:11.495 kernel: sd 9:0:0:1: [sdg] Write Protect is off 15:27:11.495 kernel: sd 9:0:0:1: [sdg] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA 15:27:13.012 kernel: sdg:<6>scsi 9:0:0:1: [sdg] Unhandled error code 15:27:13.012 kernel: scsi 9:0:0:1: [sdg] Result: hostbyte=0x07 driverbyte=0x00 15:27:13.012 kernel: end_request: I/O error, dev sdg, sector 0 15:27:13.012 kernel: Buffer I/O error on device sdg, logical block 0 15:27:13.012 kernel: ldm_validate_partition_table(): Disk read failed. 15:27:13.012 kernel: unable to read partition table 15:27:13.014 kernel: BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 15:27:13.014 kernel: IP: [] disk_part_iter_next+0x74/0xfd 15:27:13.014 kernel: PGD 82ad0b067 PUD 82cd7e067 PMD 0 15:27:13.014 kernel: Oops: 0000 [#1] PREEMPT SMP 15:27:13.014 kernel: last sysfs file: /sys/devices/platform/host9/session4/iscsi_session/session4/ifacename 15:27:13.014 kernel: CPU 5 15:27:13.014 kernel: Modules linked in: 15:27:13.014 kernel: Pid: 13999, comm: async/0 Not tainted 2.6.30.4-elastic-lon-p #2 X7DBN 15:27:13.014 kernel: RIP: 0010:[] [] disk_part_iter_next+0x74/0xfd 15:27:13.014 kernel: RSP: 0018:ffff88066afa3dd0 EFLAGS: 00010246 15:27:13.014 kernel: RAX: ffff88082b58a000 RBX: ffff88066afa3e00 RCX: 0000000000000000 15:27:13.014 kernel: RDX: 0000000000000000 RSI: ffff88082b58a000 RDI: 0000000000000000 15:27:13.014 kernel: RBP: ffff88066afa3df0 R08: ffff88066afa2000 R09: ffff8806a204f000 15:27:13.014 kernel: R10: 000000fb12c7d274 R11: ffff8806c2bf0628 R12: ffff88066afa3e00 15:27:13.014 kernel: R13: ffff88082c829a00 R14: 0000000000000000 R15: ffff8806bc50c920 15:27:13.014 kernel: FS: 0000000000000000(0000) GS:ffff88002818a000(0000) knlGS:0000000000000000 15:27:13.014 kernel: CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b 15:27:13.014 kernel: CR2: 0000000000000010 CR3: 000000082ade3000 CR4: 00000000000426e0 15:27:13.014 kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 15:27:13.014 kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 15:27:13.014 kernel: Process async/0 (pid: 13999, threadinfo ffff88066afa2000, task ffff8806c2bf05e0) 15:27:13.014 kernel: Stack: 15:27:13.014 kernel: 0000000000000000 ffff88066afa3e00 ffff88066afa3e00 ffff88082c829a00 15:27:13.014 kernel: ffff88066afa3e40 ffffffff80306feb ffff88082b58a000 0000000000000000 15:27:13.014 kernel: 0000000000000001 ffff8806bc50c920 ffff88066afa3e40 ffff88082b58a000 15:27:13.014 kernel: Call Trace: 15:27:13.014 kernel: [] register_disk+0x122/0x13a 15:27:13.014 kernel: [] add_disk+0xaa/0x106 15:27:13.014 kernel: [] sd_probe_async+0x198/0x25b 15:27:13.014 kernel: [] async_thread+0x10c/0x20d 15:27:13.014 kernel: [] ? default_wake_function+0x0/0xf 15:27:13.014 kernel: [] ? async_thread+0x0/0x20d 15:27:13.014 kernel: [] kthread+0x55/0x80 15:27:13.014 kernel: [] child_rip+0xa/0x20 15:27:13.014 kernel: [] ? kthread+0x0/0x80 15:27:13.014 kernel: [] ? child_rip+0x0/0x20 15:27:13.014 kernel: Code: c8 ff 80 e1 0c b9 00 00 00 00 0f 44 c1 41 83 cd ff 48 8d 7a 20 48 be ff ff ff ff 08 00 00 00 48 b9 00 00 00 00 08 00 00 00 eb 50 <8b> 42 10 41 bd 01 00 00 00 eb db 4c 63 c2 4e 8d 04 c7 4d 8b 20 15:27:13.015 kernel: RIP [] disk_part_iter_next+0x74/0xfd 15:27:13.015 kernel: RSP 15:27:13.015 kernel: CR2: 0000000000000010 15:27:13.015 kernel: ---[ end trace 6104b56ef5590e25 ]--- The problem is caused because the async scanning split in sd.c doesn't hold any reference to the device when it kicks off the async piece. What's happening is that an iSCSI disconnect is destorying the device again *before* the async sd scanning thread even starts. Fix this by taking a reference before starting the thread and dropping it again when the thread completes. Reported-by: Chris Webb Cc: Stable Tree Signed-off-by: James Bottomley commit afffd3dabe5209882c8cc59a373a4d33b5db304a Author: Bart Van Assche Date: Sun Aug 30 12:36:48 2009 +0200 [SCSI] libsrp: fix memory leak in srp_ring_free() This patch fixes a memory leak in the libsrp function srp_ring_free(). It is not documented whether or not this function should free the ring pointer itself. But the source code of the callers of this function (srp_target_alloc() and srp_target_free()) makes it clear that srp_ring_free() should deallocate the ring pointer itself. Furthermore, the patch below makes srp_ring_free() deallocate all memory allocated by srp_ring_alloc(). This patch affects the ibmvstgt driver, which is the only in-tree driver that calls the srp_ring_free() function (indirectly). Signed-off-by: Bart Van Assche Acked-by: FUJITA Tomonori Cc: Stable Tree Signed-off-by: James Bottomley commit 661134ad3765348ecd6150a92e736bf28ba40f80 Author: Mike Christie Date: Sat Sep 5 07:35:33 2009 +0530 [SCSI] libiscsi, bnx2i: make bound ep check common bnx2i currently has a check for if a ep is properly bound, so if iscsi_queuecommand/xmit_task is called while there is no ep we will not queue IO. be2iscsi sends IO from queuecommand/xmit_task like how bnx2i does and needs a similar test. This patch has us just use the suspend_bit test for this. When ep_poll has succeeed iscsid will call conn_bind, the LLD will then call iscsi_conn_bind which will clear the suspend bit. When ep_disconnect is called (or if there is a conn error) we set the suspend bit. For the ep_disconnect case I am adding a helper in this patch that will take the session lock to make sure iscsi_queuecommand/xmit_task is not running and it will set the suspend bit. Signed-off-by: Mike Christie Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 4c0ba5d2593b5156327263f3ef6d7399dc0717b8 Author: Mike Christie Date: Sat Sep 5 07:34:23 2009 +0530 [SCSI] libiscsi: add completion function for drivers that do not need pdu processing beiscsi does not need the iscsi scsi cmd processing. It does not even get this info on the completion path. This adds a function to just update the sequencing numbers and complete a task. Signed-off-by: Mike Christie Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit dd784edcfc080fb4c83f1f3d10d905c5ab61616f Author: Moger, Babu Date: Thu Sep 3 21:42:28 2009 -0600 [SCSI] scsi_dh_rdac: changes for rdac debug logging Patch to add debugging stuff for rdac device handler. - Added a bit mask "module parameter" rdac_logging with 2 bits for each type of logging. - currently defined only two types of logging(failover and sense logging). Can be enhanced later if required. - By default only failover logging is enabled which is equivalent of current logging. Signed-off-by: Babu Moger Reviewed-by: Vijay Chauhan Reviewed-by: Bob Stankey Signed-off-by: James Bottomley commit 1527666e6af977cc287e0f7088356c8be29b3f75 Author: Moger, Babu Date: Thu Sep 3 21:42:21 2009 -0600 [SCSI] scsi_dh_rdac: changes to collect the rdac debug information during the initialization Adding the code to read the debug information during initialization. This patch collects the information about storage and controllers during rdac_activate. Signed-off-by: Babu Moger Reviewed-by: Vijay Chauhan Reviewed-by: Bob Stankey Signed-off-by: James Bottomley commit 87b79a53277c21a2de07106d0affa857bd79e1bb Author: Moger, Babu Date: Thu Sep 3 21:42:15 2009 -0600 [SCSI] scsi_dh_rdac: move the init code from rdac_activate to rdac_bus_attach Moving the initialization code from rdac_activate to rdac_bus_attach which is more efficient. We don't have to collect all the information during every activate. Signed-off-by: Babu Moger Reviewed-by: Vijay Chauhan Reviewed-by: Bob Stankey Signed-off-by: James Bottomley commit e71044ee2efa4792e21d243b03d49006db66aec9 Author: Michal Schmidt Date: Thu Sep 3 14:27:08 2009 +0200 [SCSI] sg: fix oops in the error path in sg_build_indirect() When the allocation fails in sg_build_indirect(), an oops happens in the error path. It's caused by an obvious typo. Signed-off-by: Michal Schmidt Reported-by: Bob Tracy Acked-by: Douglas Gilbert Cc: Stable Tree Signed-off-by: James Bottomley commit b437b95620dbf4bf7bd13af0f9d32fdac82c5d37 Author: Kashyap, Desai Date: Wed Sep 2 12:44:10 2009 +0530 [SCSI] mptsas : Bump version to 3.04.12 Bump version to 3.04.12 Signed-off-by: James Bottomley commit 9766096d331c82e71d3c9df61f1c88eff6ad916b Author: Kashyap, Desai Date: Wed Sep 2 11:46:33 2009 +0530 [SCSI] mptsas : FW event thread and scsi mid layer deadlock in SYNCHRONIZE CACHE command Normally In HBA reset path MPT driver will flush existing work in current work queue (mpt/0) . This is just a dummy activity for MPT driver point of view, since HBA reset will turn off Work queue events. It means we will simply returns from work queue without doing anything. But for the case where Work is already done (half the way), we have to have that work to be done. Considering above condition we stuck forever since Deadlock in scsi midlayer and MPT driver. sd_sync_cache() will wait forever since HBA is not in Running state, and it will never come into Running state since sd_sync_cache() is called from HBA reset context. Now new code will not wait for half cooked work to be finished before returning from HBA reset. Once we are out of HBA reset, EH thread will change host state to running from recovery and work waiting for running state of HBA will be finished. New code is turning ON firmware event from another special work called Rescan toplogy. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit fea984034b1ccdb26e8163ed5350ce7f0563b136 Author: Kashyap, Desai Date: Wed Sep 2 11:45:53 2009 +0530 [SCSI] mptsas : Send DID_NO_CONNECT for pending IOs of removed device Driver is modified to return DID_NO_CONNECT for all pending I/O requests for bus type SAS, if it founds the target is removed at the firmware level. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit c55b89fba9872ebcd5ac15cdfdad29ffb89329f0 Author: Kashyap, Desai Date: Wed Sep 2 11:44:57 2009 +0530 [SCSI] mptsas : PAE Kernel more than 4 GB kernel panic This patch is solving problem for PAE kernel DMA operation. On PAE system dma_addr and unsigned long will have different values. Now dma_addr is not type casted using unsigned long. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit f44fd18198eb26b62ba86b17016e9441ce95fc71 Author: Kashyap, Desai Date: Wed Sep 2 11:44:19 2009 +0530 [SCSI] mptsas : NULL pointer on big endian systems causing Expander not to tear off On Big endian system kernel will crash due to address translation is not handle properly. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 9e39089b958818c8f3d772414cd27f84fb2622f2 Author: Kashyap, Desai Date: Wed Sep 2 11:43:36 2009 +0530 [SCSI] mptsas : Sanity check for phyinfo is added Check for phyinfo->phy before calling sas_port_delete_phy. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 5bab08858cecaacba803e8c90638db14bde470c0 Author: Charlie Brady Date: Wed Aug 26 14:16:57 2009 -0400 [SCSI] scsi_dh_rdac: Add support for Sun StorageTek ST2500, ST2510 and ST2530 These storage arrays can use RDAC when configured with 'linux' as the initiator. http://www.sun.com/storage/disk_systems/workgroup/2500/ http://www.sun.com/storage/disk_systems/workgroup/2510/ http://www.sun.com/storage/disk_systems/workgroup/2530/ Signed-off-by: Charlie Brady Reviewed-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 89a3681041507773dfee1b88c1c90c8a811a79d3 Author: Anil Ravindranath Date: Tue Aug 25 17:35:18 2009 -0700 [SCSI] pmcraid: PMC-Sierra MaxRAID driver to support 6Gb/s SAS RAID controller Signed-off-by: Anil Ravindranath Signed-off-by: James Bottomley commit 073ed91e245d56d71a85e2a49bf0b3962fe74dc4 Author: Giridhar Malavali Date: Tue Aug 25 11:36:21 2009 -0700 [SCSI] qla2xxx: Update version number to 8.03.01-k6. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 67becc0041615651b75e4496204a0835a8c345a8 Author: Andrew Vasquez Date: Tue Aug 25 11:36:20 2009 -0700 [SCSI] qla2xxx: Properly delete rports attached to a vport. Original code would inadvertently skip the deferred fc_remote_port_delete() call for rports hanging off any vport. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 0d6e61bc6a4f3f54444b088ae6d447f1703a21dd Author: Andrew Vasquez Date: Tue Aug 25 11:36:19 2009 -0700 [SCSI] qla2xxx: Correct various NPIV issues. * Consolidate vport-count processing. * Correct vp_idx restrictions during RSCN processing. * Push topology verification check to qla2x00_do_dpc_all_vps(). * Don't skip vport full-login-lip/lip-reset mailbox handling. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit d970432c48ab8dd28216e80942723aeb505b623e Author: Lalit Chandivade Date: Tue Aug 25 11:36:18 2009 -0700 [SCSI] qla2xxx: Correct qla2x00_eh_wait_on_command() to wait correctly. Original code would break-out of loop after only one iteration. Signed-off-by: Lalit Chandivade Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit ab67114935d611caffe18063d1777f8c4f8b4272 Author: Andrew Vasquez Date: Tue Aug 25 11:36:17 2009 -0700 [SCSI] qla2xxx: Further limit device-table (qla_devtbl) lookup to non-24xx. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 8474f3a02a18e18459663ad88951822c62a45068 Author: Santosh Vernekar Date: Tue Aug 25 11:36:16 2009 -0700 [SCSI] qla2xxx: Correctly set FCF_TAPE_PRESENT flag based on scsi-device. In fabric-login based on iop BIT_8 firmware notifies presence of a FCP2 device and not necessarily a TAPE device. So instead of setting FCF_TAPE_PRESENT flag there we set it using scsi_device->type after mid-layer scan recognises "type" of the device. It also adds a new flag FCF_FCP2_DEVICE for any future use. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 33d7f77850476a8b8df50bd50221bc644dd44357 Author: Julia Lawall Date: Sat Sep 12 14:25:35 2009 +0200 ASoC: Clean up error handling in MPC5200 DMA setup Error handling code following a kzalloc should free the allocated data. Error handling code following an ioremap should iounmap the allocated data. The semantic match that finds the first problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Mark Brown commit 87d721ad7a37b7650dd710c88dd5c6a5bf9fe996 Merge: ddd559b b7cfda9 Author: Russell King Date: Sat Sep 12 12:04:37 2009 +0100 Merge branch 'master' into devel commit ddd559b13f6d2fe3ad68c4b3f5235fd3c2eae4e3 Merge: cf7a2b4 f17a1f0 Author: Russell King Date: Sat Sep 12 12:02:26 2009 +0100 Merge branch 'devel-stable' into devel Conflicts: MAINTAINERS arch/arm/mm/fault.c commit cf7a2b4fb6a9b86779930a0a123b0df41aa9208f Merge: b736b89 8c3cbd5 57a473f af1057a c1cb6b7 65cec8e 8e22676 Author: Russell King Date: Sat Sep 12 12:01:34 2009 +0100 Merge branches 'arm', 'at91', 'bcmring', 'ep93xx', 'mach-types', 'misc' and 'w90x900' into devel commit c1cb6b7fb5190ad55b31aa3289d48fedd288ddaa Author: Russell King Date: Sat Sep 12 12:00:17 2009 +0100 [ARM] Update mach-types Signed-off-by: Russell King commit f17a1f06d2fa93f4825be572622eb02c4894db4e Author: Linus Walleij Date: Tue Aug 4 01:01:02 2009 +0100 ARM: 5636/1: Move vendor enum to AMBA include This moves the primecell vendor enum definition inside vic.c out to linux/amba/bus.h where it belongs and replace any occurances of specific vendor ID:s with the respective enums instead. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 701038144945ef98c5817f43079952fa38c35999 Merge: 4abf27a c2b4554 Author: Russell King Date: Sat Sep 12 11:50:52 2009 +0100 Merge branch 'nomadik' into devel-stable commit b7cfda9fc3d7aa60cffab5367f2a72a4a70060cd Author: Russell King Date: Mon Sep 7 15:06:42 2009 +0100 ARM: Fix pfn_valid() for sparse memory On OMAP platforms, some people want to declare to segment up the memory between the kernel and a separate application such that there is a hole in the middle of the memory as far as Linux is concerned. However, they want to be able to mmap() the hole. This currently causes problems, because update_mmu_cache() thinks that there are valid struct pages for the "hole". Fix this by making pfn_valid() slightly more expensive, by checking whether the PFN is contained within the meminfo array. Signed-off-by: Russell King Tested-by: Khasim Syed Mohammed commit 8e616fc8d343bd7f0f0a0c22407fdcb77f6d22b1 Author: Marcelo Tosatti Date: Thu Sep 10 17:21:34 2009 -0300 MAINTAINERS: update KVM entry Add myself to KVM MAINTAINERS entry. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit cabc5c0f7fa1342049042d6e147db5a73773955b Merge: b73d884 86d7101 Author: David S. Miller Date: Fri Sep 11 20:35:13 2009 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ Conflicts: arch/sparc/Kconfig commit 13af7a6ea502fcdd4c0e3d7de6e332b102309491 Author: Dhananjay Phadke Date: Fri Sep 11 11:28:15 2009 +0000 netxen: update copyright o Add QLogic copyright, add linux-driver@qlogic.com to MAINTAINERS. o Delete old contact information. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 74c520da5414d15b0ab2839d67efab2e7227be75 Author: Amit Kumar Salecha Date: Fri Sep 11 11:28:14 2009 +0000 netxen: fix tx timeout recovery Redesign tx timeout handling in line with new firmware reset design that co-ordinates with other PCI function drivers. o For NX3031, first try to reset PCI function's own context before requesting firmware reset. o For NX2031, since firmware heartbit is not supported directly request firmware reset. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ec5c50cb93c446a4686863df74e4b7a547628115 Author: Dhananjay Phadke Date: Fri Sep 11 11:28:13 2009 +0000 netxen: fix file firmware leak Release file firmware when no firmware reset is required. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ea6828b8aa3a8ebae8d7740f32f212ba1d2f0742 Author: Dhananjay Phadke Date: Fri Sep 11 11:28:12 2009 +0000 netxen: improve pci memory access o Access on card memory through memory controller (agent) rather than moving small pci window around. Clean up the code for moving windows around. o Restrict memory accesss to 64 bit, currently only firmware download uses this. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f78c0850d2ebe7a44a4b0263480a2f1a36a92218 Author: Amit Kumar Salecha Date: Fri Sep 11 11:28:11 2009 +0000 netxen: change firmware write size Use 8 byte strides for firmware download into card memory since oncard memory controller needs 8 byte (64 bit) accesses. This avoids unnecessary rmw cycles. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 5ea1c50662d447de344812054175d7151783ea25 Author: Matt Carlson Date: Fri Sep 11 16:50:16 2009 -0700 tg3: Fix return ring size breakage Commit f6eb9b1fc1411d22c073f5264e5630a541d0f7df, "tg3: Add 5717 asic rev" changed how the rx return ring size operations are done. It effectively inverts the sense of the previous test, but it failed to also invert the resulting sizes. This patch corrects that error. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 86d710146fb9975f04c505ec78caa43d227c1018 Merge: 8637343 ab3bbaa Author: Linus Torvalds Date: Fri Sep 11 16:39:11 2009 -0700 Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (87 commits) NFSv4: Disallow 'mount -t nfs4 -overs=2' and 'mount -t nfs4 -overs=3' NFS: Allow the "nfs" file system type to support NFSv4 NFS: Move details of nfs4_get_sb() to a helper NFS: Refactor NFSv4 text-based mount option validation NFS: Mount option parser should detect missing "port=" NFS: out of date comment regarding O_EXCL above nfs3_proc_create() NFS: Handle a zero-length auth flavor list SUNRPC: Ensure that sunrpc gets initialised before nfs, lockd, etc... nfs: fix compile error in rpc_pipefs.h nfs: Remove reference to generic_osync_inode from a comment SUNRPC: cache must take a reference to the cache detail's module on open() NFS: Use the DNS resolver in the mount code. NFS: Add a dns resolver for use with NFSv4 referrals and migration SUNRPC: Fix a typo in cache_pipefs_files nfs: nfs4xdr: optimize low level decoding nfs: nfs4xdr: get rid of READ_BUF nfs: nfs4xdr: simplify decode_exchange_id by reusing decode_opaque_inline nfs: nfs4xdr: get rid of COPYMEM nfs: nfs4xdr: introduce decode_sessionid helper nfs: nfs4xdr: introduce decode_verifier helper ... commit 86373435d2299b722ec87c416005953215f049c1 Merge: 483e3cd c984123 Author: Linus Torvalds Date: Fri Sep 11 16:38:33 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (25 commits) pata_rz1000: use printk_once ahci: kill @force_restart and refine CLO for ahci_kick_engine() pata_cs5535: add pci id for AMD based CS5535 controllers ahci: Add AMD SB900 SATA/IDE controller device IDs drivers/ata: use resource_size sata_fsl: Defer non-ncq commands when ncq commands active libata: add SATA PMP revision information for spec 1.2 libata: fix off-by-one error in ata_tf_read_block() ahci: Gigabyte GA-MA69VM-S2 can't do 64bit DMA ahci: make ahci_asus_m2a_vm_32bit_only() quirk more generic dmi: extend dmi_get_year() to dmi_get_date() dmi: fix date handling in dmi_get_year() libata: unbreak TPM filtering by reorganizing ata_scsi_pass_thru() sata_sis: convert to slave_link sata_sil24: always set protocol override for non-ATAPI data commands libata: Export AHCI capabilities libata: Delegate nonrot flag setting to SCSI [libata] Add pata_rdc driver for RDC ATA devices drivers/ata: Remove unnecessary semicolons libata: remove spindown skipping and warning ... commit 9feae56c0de65fdd8b1f64f376bb6578417d2b79 Author: Randy Dunlap Date: Fri Sep 11 12:41:04 2009 +0000 netxen: build fix for INET=n When CONFIG_INET is disabled, netxen has a build failure: netxen_nic_main.c:(.text+0x118fd1): undefined reference to `netxen_config_indev_addr' so make that function just an empty stub when CONFIG_INET=n. (not "inline" since that conflicts with other declarations of it) Signed-off-by: Randy Dunlap Acked-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 483e3cd6a34ad2d7e41100bc1b98614ac42a4567 Merge: 774a694 d28daf9 Author: Linus Torvalds Date: Fri Sep 11 13:24:03 2009 -0700 Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (105 commits) ring-buffer: only enable ring_buffer_swap_cpu when needed ring-buffer: check for swapped buffers in start of committing tracing: report error in trace if we fail to swap latency buffer tracing: add trace_array_printk for internal tracers to use tracing: pass around ring buffer instead of tracer tracing: make tracing_reset safe for external use tracing: use timestamp to determine start of latency traces tracing: Remove mentioning of legacy latency_trace file from documentation tracing/filters: Defer pred allocation, fix memory leak tracing: remove users of tracing_reset tracing: disable buffers and synchronize_sched before resetting tracing: disable update max tracer while reading trace tracing: print out start and stop in latency traces ring-buffer: disable all cpu buffers when one finds a problem ring-buffer: do not count discarded events ring-buffer: remove ring_buffer_event_discard ring-buffer: fix ring_buffer_read crossing pages ring-buffer: remove unnecessary cpu_relax ring-buffer: do not swap buffers during a commit ring-buffer: do not reset while in a commit ... commit 774a694f8cd08115d130a290d73c6d8563f26b1b Merge: 4f0ac85 e1f8450 Author: Linus Torvalds Date: Fri Sep 11 13:23:18 2009 -0700 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (64 commits) sched: Fix sched::sched_stat_wait tracepoint field sched: Disable NEW_FAIR_SLEEPERS for now sched: Keep kthreads at default priority sched: Re-tune the scheduler latency defaults to decrease worst-case latencies sched: Turn off child_runs_first sched: Ensure that a child can't gain time over it's parent after fork() sched: enable SD_WAKE_IDLE sched: Deal with low-load in wake_affine() sched: Remove short cut from select_task_rq_fair() sched: Turn on SD_BALANCE_NEWIDLE sched: Clean up topology.h sched: Fix dynamic power-balancing crash sched: Remove reciprocal for cpu_power sched: Try to deal with low capacity, fix update_sd_power_savings_stats() sched: Try to deal with low capacity sched: Scale down cpu_power due to RT tasks sched: Implement dynamic cpu_power sched: Add smt_gain sched: Update the cpu_power sum during load-balance sched: Add SD_PREFER_SIBLING ... commit 4f0ac854167846bd55cd81dbc9a36e03708aa01c Merge: b9356c5 6b58e7f Author: Linus Torvalds Date: Fri Sep 11 13:22:43 2009 -0700 Merge branch 'perfcounters-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (60 commits) perf tools: Avoid unnecessary work in directory lookups perf stat: Clean up statistics calculations a bit more perf stat: More advanced variance computation perf stat: Use stddev_mean in stead of stddev perf stat: Remove the limit on repeat perf stat: Change noise calculation to use stddev x86, perf_counter, bts: Do not allow kernel BTS tracing for now x86, perf_counter, bts: Correct pointer-to-u64 casts x86, perf_counter, bts: Fail if BTS is not available perf_counter: Fix output-sharing error path perf trace: Fix read_string() perf trace: Print out in nanoseconds perf tools: Seek to the end of the header area perf trace: Fix parsing of perf.data perf trace: Sample timestamps as well perf_counter: Introduce new (non-)paranoia level to allow raw tracepoint access perf trace: Sample the CPU too perf tools: Work around strict aliasing related warnings perf tools: Clean up warnings list in the Makefile perf tools: Complete support for dynamic strings ... commit b9356c53ba2f593081e5aa45eb67adcce243d1c0 Merge: d90a7e8 4680e64 Author: Linus Torvalds Date: Fri Sep 11 13:22:30 2009 -0700 Merge branch 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (55 commits) arch/x86/oprofile/op_model_amd.c: fix op_amd_handle_ibs() return type Revert "x86: oprofile/op_model_amd.c set return values for op_amd_handle_ibs()" x86/oprofile: Small coding style fixes x86/oprofile: Add counter reservation check for virtual counters x86/oprofile: Implement op_x86_virt_to_phys() oprofile: Adding switch counter to oprofile statistic variables x86/oprofile: Implement mux_clone() x86/oprofile: Enable multiplexing only if the model supports it x86/oprofile: Add function has_mux() to check multiplexing support x86/oprofile: Modify initialization of num_virt_counters x86/oprofile: Remove unused num_virt_controls from struct op_x86_model_spec x86/oprofile: Remove const qualifier from struct op_x86_model_spec x86/oprofile: Moving nmi_cpu_switch() in nmi_int.c x86/oprofile: Moving nmi_cpu_save/restore_mpx_registers() in nmi_int.c x86/oprofile: Moving nmi_setup_cpu_mux() in nmi_int.c x86/oprofile: Implement multiplexing setup/shutdown functions oprofile: Grouping multiplexing code in op_model_amd.c oprofile: Introduce op_x86_phys_to_virt() oprofile: Grouping multiplexing code in oprof.c oprofile: Remove oprofile_multiplexing_init() ... commit d90a7e86401ffea2163a4337f3a47f3909c4e255 Merge: 12a4996 4dbc9ca Author: Linus Torvalds Date: Fri Sep 11 13:21:31 2009 -0700 Merge branch 'irq-threaded-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-threaded-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: Do not mask oneshot edge type interrupts genirq: Support nested threaded irq handling genirq: Add buslock support genirq: Add oneshot support commit 12a499612e1ff439bdad240c7f86c55366941d4d Merge: eee2775 70590ea Author: Linus Torvalds Date: Fri Sep 11 13:20:42 2009 -0700 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: pci/intr_remapping: Allocate irq_iommu on node irq: Add irq_node() primitive irq: Make sure irq_desc for legacy irq get correct node setting genirq: Add prototype for handle_nested_irq() irq: Remove superfluous NULL pointer check in check_irq_resend() irq: Clean up by removing irqfixup MODULE_PARM_DESC() genirq: Fix comment describing suspend_device_irqs() genirq: Remove obsolete defines and typedefs commit eee2775d9924b22643bd89b2e568cc5eed7e8a04 Merge: 53e16fb 7db905e Author: Linus Torvalds Date: Fri Sep 11 13:20:18 2009 -0700 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (28 commits) rcu: Move end of special early-boot RCU operation earlier rcu: Changes from reviews: avoid casts, fix/add warnings, improve comments rcu: Create rcutree plugins to handle hotplug CPU for multi-level trees rcu: Remove lockdep annotations from RCU's _notrace() API members rcu: Add #ifdef to suppress __rcu_offline_cpu() warning in !HOTPLUG_CPU builds rcu: Add CPU-offline processing for single-node configurations rcu: Add "notrace" to RCU function headers used by ftrace rcu: Remove CONFIG_PREEMPT_RCU rcu: Merge preemptable-RCU functionality into hierarchical RCU rcu: Simplify rcu_pending()/rcu_check_callbacks() API rcu: Use debugfs_remove_recursive() simplify code. rcu: Merge per-RCU-flavor initialization into pre-existing macro rcu: Fix online/offline indication for rcudata.csv trace file rcu: Consolidate sparse and lockdep declarations in include/linux/rcupdate.h rcu: Renamings to increase RCU clarity rcu: Move private definitions from include/linux/rcutree.h to kernel/rcutree.h rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP rcu: Delay rcu_barrier() wait until beginning of next CPU-hotunplug operation. rcu: Fix typo in rcu_irq_exit() comment header rcu: Make rcupreempt_trace.c look at offline CPUs ... commit 53e16fbd30005905168d9b75555fdc7e0a2eac58 Merge: 4e3408d 42c2c8c Author: Linus Torvalds Date: Fri Sep 11 13:19:40 2009 -0700 Merge branch 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: printk: Fix "printk: Enable the use of more than one CON_BOOT (early console)" printk: Restore previous console_loglevel when re-enabling logging printk: Ensure that "console enabled" messages are printed on the console printk: Enable the use of more than one CON_BOOT (early console) commit 4e3408d9f71a70316ebe844c20ef0d7715281f84 Merge: a66a500 96910b6 Author: Linus Torvalds Date: Fri Sep 11 13:17:24 2009 -0700 Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (32 commits) locking, m68k/asm-offsets: Rename signal defines locking: Inline spinlock code for all locking variants on s390 locking: Simplify spinlock inlining locking: Allow arch-inlined spinlocks locking: Move spinlock function bodies to header file locking, m68k: Calculate thread_info offset with asm offset locking, m68k/asm-offsets: Rename pt_regs offset defines locking, sparc: Rename __spin_try_lock() and friends locking, powerpc: Rename __spin_try_lock() and friends lockdep: Remove recursion stattistics lockdep: Simplify lock_stat seqfile code lockdep: Simplify lockdep_chains seqfile code lockdep: Simplify lockdep seqfile code lockdep: Fix missing entries in /proc/lock_chains lockdep: Fix missing entry in /proc/lock_stat lockdep: Fix memory usage info of BFS lockdep: Reintroduce generation count to make BFS faster lockdep: Deal with many similar locks lockdep: Introduce lockdep_assert_held() lockdep: Fix style nits ... commit a66a50054e46ec2a03244bc14c48b9125fcd75a7 Merge: 7193bea 695a461 Author: Linus Torvalds Date: Fri Sep 11 13:16:37 2009 -0700 Merge branch 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (59 commits) x86/gart: Do not select AGP for GART_IOMMU x86/amd-iommu: Initialize passthrough mode when requested x86/amd-iommu: Don't detach device from pt domain on driver unbind x86/amd-iommu: Make sure a device is assigned in passthrough mode x86/amd-iommu: Align locking between attach_device and detach_device x86/amd-iommu: Fix device table write order x86/amd-iommu: Add passthrough mode initialization functions x86/amd-iommu: Add core functions for pd allocation/freeing x86/dma: Mark iommu_pass_through as __read_mostly x86/amd-iommu: Change iommu_map_page to support multiple page sizes x86/amd-iommu: Support higher level PTEs in iommu_page_unmap x86/amd-iommu: Remove old page table handling macros x86/amd-iommu: Use 2-level page tables for dma_ops domains x86/amd-iommu: Remove bus_addr check in iommu_map_page x86/amd-iommu: Remove last usages of IOMMU_PTE_L0_INDEX x86/amd-iommu: Change alloc_pte to support 64 bit address space x86/amd-iommu: Introduce increase_address_space function x86/amd-iommu: Flush domains if address space size was increased x86/amd-iommu: Introduce set_dte_entry function x86/amd-iommu: Add a gneric version of amd_iommu_flush_all_devices ... commit 7193bea53f9d9730bbc859777c2f86c76349914d Merge: 989aa44 84bc4af Author: Linus Torvalds Date: Fri Sep 11 13:16:22 2009 -0700 Merge branch 'core-futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futex: Detect mismatched requeue targets futex: Correct futex_wait_requeue_pi() commentary commit 989aa44a5f215427085ccfe65c1e378e3399c9eb Merge: 4004f02 47cab6a Author: Linus Torvalds Date: Fri Sep 11 13:15:55 2009 -0700 Merge branch 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: debug lockups: Improve lockup detection, fix generic arch fallback debug lockups: Improve lockup detection commit 4004f02d7af9bb1f5fd993fba60ed5bd0f5397a9 Merge: 332a339 5b0f437 Author: Linus Torvalds Date: Fri Sep 11 13:13:32 2009 -0700 Merge branch 'core-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: workqueues: Improve schedule_work() documentation commit 02571f89871e009b66fb5f8d5ae222e90e9f357c Author: Rémi Denis-Courmont Date: Wed Sep 9 00:00:06 2009 +0000 cdc-phonet: autoconfigure Phonet address Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit f5bb1c558405aaac41b08b2ea71137db9db46e72 Author: Rémi Denis-Courmont Date: Wed Sep 9 00:00:05 2009 +0000 Phonet: back-end for autoconfigured addresses In some cases, the network device driver knows what layer-3 address the device should have. This adds support for the Phonet stack to automatically request from the driver and add that address to the network device. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 998ec759ef2fc9c60319815c72b2b699ab939733 Author: Rémi Denis-Courmont Date: Tue Sep 8 23:59:51 2009 +0000 Phonet: fix netlink address dump error handling Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit cc411d0bae9c19ec85a150aeab4b08335f5751d1 Author: Brian Haley Date: Wed Sep 9 14:41:32 2009 +0000 ipv6: Add IFA_F_DADFAILED flag Add IFA_F_DADFAILED flag to denote an IPv6 address that has failed Duplicate Address Detection, that way tools like /sbin/ip can be more informative. 3: eth0: mtu 1500 qlen 1000 inet6 2001:db8::1/64 scope global tentative dadfailed valid_lft forever preferred_lft forever Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 384912ed194e43c03ad1cdaa09b0b1e488c34d46 Author: Marcel Holtmann Date: Mon Aug 31 21:08:19 2009 +0000 net: Add DEVTYPE support for Ethernet based devices The Ethernet framing is used for a lot of devices these days. Most prominent are WiFi and WiMAX based devices. However for userspace application it is important to classify these devices correctly and not only see them as Ethernet devices. The daemons like HAL, DeviceKit or even NetworkManager with udev support tries to do the classification in userspace with a lot trickery and extra system calls. This is not good and actually reaches its limitations. Especially since the kernel does know the type of the Ethernet device it is pretty stupid. To solve this problem the underlying device type needs to be set and then the value will be exported as DEVTYPE via uevents and available within udev. # cat /sys/class/net/wlan0/uevent DEVTYPE=wlan INTERFACE=wlan0 IFINDEX=5 This is similar to subsystems like USB and SCSI that distinguish between hosts, devices, disks, partitions etc. The new SET_NETDEV_DEVTYPE() is a convenience helper to set the actual device type. All device types are free form, but for convenience the same strings as used with RFKILL are choosen. Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit f510c35de0e63e1066db83d2fdce99e6dbde0c80 Author: Mikael Pettersson Date: Sun Sep 6 23:59:16 2009 +0000 mv643xx_eth.c: remove unused txq_set_wrr() The txq_set_wrr() function in drivers/net/mv643xx_eth.c is unused, not even referenced under #if 0 or something like that, which results in a compile-time warning: drivers/net/mv643xx_eth.c:1070: warning: 'txq_set_wrr' defined but not used Fix: remove it. Signed-off-by: Mikael Pettersson Signed-off-by: David S. Miller commit 864fdf884e82bacbe8ca5e93bd43393a61d2e2b4 Author: Anton Vorontsov Date: Thu Sep 10 11:48:12 2009 +0000 ucc_geth: Fix hangs after switching from full to half duplex MPC8360 QE UCC ethernet controllers hang when changing link duplex under a load (a bit of NFS activity is enough). PHY: mdio@e0102120:00 - Link is Up - 1000/Full sh-3.00# ethtool -s eth0 speed 100 duplex half autoneg off PHY: mdio@e0102120:00 - Link is Down PHY: mdio@e0102120:00 - Link is Up - 100/Half NETDEV WATCHDOG: eth0 (ucc_geth): transmit queue 0 timed out ------------[ cut here ]------------ Badness at c01fcbd0 [verbose debug info unavailable] NIP: c01fcbd0 LR: c01fcbd0 CTR: c0194e44 ... The cure is to disable the controller before changing speed/duplex and enable it afterwards. Though, disabling the controller might take quite a while, so we better not grab any spinlocks in adjust_link(). Instead, we quiesce the driver's activity, and only then disable the controller. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 7de8ee787e8e10adaf5635bffab4ee19a7558afb Author: Anton Vorontsov Date: Wed Sep 9 16:01:40 2009 +0000 ucc_geth: Rearrange some code to avoid forward declarations We'll need ugeth_disable() and ugeth_enable() calls earlier in the file, so rearrange some code to avoid forward declarations. The patch doesn't contain any functional changes. Signed-off-by: Anton Vorontsov Acked-by: Timur Tabi Signed-off-by: David S. Miller commit 8ff44985c761ad6697a3c97e7b14cf5362ff3801 Author: Anton Vorontsov Date: Wed Sep 9 16:01:30 2009 +0000 phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs According to specs, when auto-negotiation is disabled, Marvell PHYs need a software reset after changing speed/duplex forcing bits. Otherwise, the modified bits have no effect. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit a4b11649618ef5366ee553f4083449d6bee5d8ec Author: Julia Lawall Date: Fri Sep 11 06:22:09 2009 +0000 drivers/net/phy: introduce missing kfree Error handling code following a kzalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 966a5d1b85c45f1b55abbc1b595e0b5ca14b87db Author: Julia Lawall Date: Fri Sep 11 06:21:51 2009 +0000 drivers/net/wan: introduce missing kfree Error handling code following a kmalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 4fb019a01a7f67342d4a88d26c0817afe392c669 Author: Stephen Hemminger Date: Fri Sep 11 11:50:08 2009 -0700 net: force bridge module(s) to be GPL The only valid usage for the bridge frame hooks are by a GPL components (such as the bridge module). The kernel should not leave a crack in the door for proprietary networking stacks to slip in. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ffcfb8db540ff879c2a85bf7e404954281443414 Author: Arnaldo Carvalho de Melo Date: Fri Sep 11 11:35:22 2009 -0700 Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded And also do a better job of returning proper NET_{RX,XMIT}_ values. Based on a patch and suggestions by Mark Smith. This fixes CVE-2009-2903 Reported-by: Mark Smith Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 689fd8b65d669b96d612ccc37d6fb87bf7ed6907 Author: jolsa@redhat.com Date: Fri Sep 11 17:29:29 2009 +0200 tracing: trace parser support for function and graph Convert the writing to 'set_graph_function', 'set_ftrace_filter' and 'set_ftrace_notrace' to use the generic trace_parser 'trace_get_user' function. Removed FTRACE_ITER_CONT flag, since it's not needed after this change. Minor fix in set_graph_function display - g_show function. Signed-off-by: Jiri Olsa LKML-Reference: <1252682969-3366-4-git-send-email-jolsa@redhat.com> Signed-off-by: Steven Rostedt commit ab3bbaa8b257845e248e9a01d12a69ca245f4197 Merge: 332a339 2ecda72 Author: Trond Myklebust Date: Fri Sep 11 14:59:37 2009 -0400 Merge branch 'nfs-for-2.6.32' commit 489663644c35d50a20f58d468a7cbc705e6a29ce Author: jolsa@redhat.com Date: Fri Sep 11 17:29:28 2009 +0200 tracing: trace parser support for set_event Convert the parsing of the file 'set_event' to use the generic trace_praser 'trace_get_user' function. Signed-off-by: Jiri Olsa LKML-Reference: <1252682969-3366-3-git-send-email-jolsa@redhat.com> Signed-off-by: Steven Rostedt commit b63f39ea50330f836e301ddda21c6a93dcf0d6a3 Author: jolsa@redhat.com Date: Fri Sep 11 17:29:27 2009 +0200 tracing: create generic trace parser Create a "trace_parser" that can parse the user space input for separate words. struct trace_parser is the descriptor. Generic "trace_get_user" function that can be a helper to read multiple words passed in by user space. Signed-off-by: Jiri Olsa LKML-Reference: <1252682969-3366-2-git-send-email-jolsa@redhat.com> Signed-off-by: Steven Rostedt commit 8ba69ba6a324b13e1190fc31e41954d190fd4f1d Author: Miklos Szeredi Date: Fri Sep 11 11:31:45 2009 -0700 net: unix: fix sending fds in multiple buffers Kalle Olavi Niemitalo reported that: "..., when one process calls sendmsg once to send 43804 bytes of data and one file descriptor, and another process then calls recvmsg three times to receive the 16032+16032+11740 bytes, each of those recvmsg calls returns the file descriptor in the ancillary data. I confirmed this with strace. The behaviour differs from Linux 2.6.26, where reportedly only one of those recvmsg calls (I think the first one) returned the file descriptor." This bug was introduced by a patch from me titled "net: unix: fix inflight counting bug in garbage collector", commit 6209344f5. And the reason is, quoting Kalle: "Before your patch, unix_attach_fds() would set scm->fp = NULL, so that if the loop in unix_stream_sendmsg() ran multiple iterations, it could not call unix_attach_fds() again. But now, unix_attach_fds() leaves scm->fp unchanged, and I think this causes it to be called multiple times and duplicate the same file descriptors to each struct sk_buff." Fix this by introducing a flag that is cleared at the start and set when the fds attached to the first buffer. The resulting code should work equivalently to the one on 2.6.26. Reported-by: Kalle Olavi Niemitalo Signed-off-by: Miklos Szeredi Signed-off-by: David S. Miller commit f81c972d27c36729e65d4a815e3d7b782a540bad Author: Steven Rostedt Date: Fri Sep 11 14:24:13 2009 -0400 tracing: consolidate code between trace_output.c and trace_function_graph.c Both trace_output.c and trace_function_graph.c do basically the same thing to handle the printing of the latency-format. This patch moves the code into one function that both can use. Signed-off-by: Steven Rostedt commit 637e7e864103a7a68c1ce43ada27dfc25c0d113f Author: Steven Rostedt Date: Fri Sep 11 13:55:35 2009 -0400 tracing: add lock depth to entries This patch adds the lock depth of the big kernel lock to the generic entry header. This way we can see the depth of the lock and help in removing the BKL. Example: # _------=> CPU# # / _-----=> irqs-off # | / _----=> need-resched # || / _---=> hardirq/softirq # ||| / _--=> preempt-depth # |||| /_--=> lock-depth # |||||/ delay # cmd pid |||||| time | caller # \ / |||||| \ | / -0 2.N..3 5902255250us+: lock_acquire: read rcu_read_lock -0 2.N..3 5902255253us+: lock_release: rcu_read_lock -0 2dN..3 5902255257us+: lock_acquire: xtime_lock -0 2dN..4 5902255259us : lock_acquire: clocksource_lock -0 2dN..4 5902255261us+: lock_release: clocksource_lock Signed-off-by: Steven Rostedt commit 332a3392188e0ad966543c87b8da2b9d246f301d Merge: a9c86d4 81bd5f6 Author: Linus Torvalds Date: Fri Sep 11 09:38:37 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (102 commits) crypto: sha-s390 - Fix warnings in import function crypto: vmac - New hash algorithm for intel_txt support crypto: api - Do not displace newly registered algorithms crypto: ansi_cprng - Fix module initialization crypto: xcbc - Fix alignment calculation of xcbc_tfm_ctx crypto: fips - Depend on ansi_cprng crypto: blkcipher - Do not use eseqiv on stream ciphers crypto: ctr - Use chainiv on raw counter mode Revert crypto: fips - Select CPRNG crypto: rng - Fix typo crypto: talitos - add support for 36 bit addressing crypto: talitos - align locks on cache lines crypto: talitos - simplify hmac data size calculation crypto: mv_cesa - Add support for Orion5X crypto engine crypto: cryptd - Add support to access underlaying shash crypto: gcm - Use GHASH digest algorithm crypto: ghash - Add GHASH digest algorithm for GCM crypto: authenc - Convert to ahash crypto: api - Fix aligned ctx helper crypto: hmac - Prehash ipad/opad ... commit a9c86d42599519f3d83b5f46bdab25046fe47b84 Merge: a12e4d3 1110afb Author: Linus Torvalds Date: Fri Sep 11 09:19:35 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (377 commits) ASoC: au1x: PSC-AC97 bugfixes ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128 ALSA: dummy - Add debug proc file ALSA: Add const prefix to proc helper functions ALSA: Re-export snd_pcm_format_name() function ALSA: hda - Use auto model for HP laptops with ALC268 codec ALSA: cs46xx - Fix minimum period size ASoC: Fix WM835x Out4 capture enumeration ALSA: Remove unneeded ifdef from sound/core.h ALSA: Remove struct snd_monitor_file from public sound/core.h ASoC: Remove unuused hw_read_t sound: oxygen: work around MCE when changing volume ALSA: dummy - Fake buffer allocations ALSA: hda/realtek: Added support for CLEVO M540R subsystem, 6 channel + digital ASoC: fix pxa2xx-ac97.c breakage ALSA: dummy - Fix the timer calculation in systimer mode ALSA: dummy - Add more description ALSA: dummy - Better jiffies handling ALSA: dummy - Support high-res timer mode ALSA: Release v1.0.21 ... commit a12e4d304ce701844c639541d90df86e165d03f9 Merge: 89af571 500b067 Author: Linus Torvalds Date: Fri Sep 11 09:17:05 2009 -0700 Merge branch 'writeback' of git://git.kernel.dk/linux-2.6-block * 'writeback' of git://git.kernel.dk/linux-2.6-block: writeback: check for registered bdi in flusher add and inode dirty writeback: add name to backing_dev_info writeback: add some debug inode list counters to bdi stats writeback: get rid of pdflush completely writeback: switch to per-bdi threads for flushing data writeback: move dirty inodes from super_block to backing_dev_info writeback: get rid of generic_sync_sb_inodes() export commit 89af571ca633ada14d17746519a179553a732d31 Merge: 1b195b1 59e3692 Author: Linus Torvalds Date: Fri Sep 11 09:16:39 2009 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (54 commits) [S390] tape: Use pr_xxx instead of dev_xxx in shared driver code [S390] Wire up page fault events for software perf counters. [S390] Remove smp_cpu_not_running. [S390] Get rid of cpuid.h header file. [S390] Limit cpu detection to 256 physical cpus. [S390] tape: Fix device online messages [S390] Enable guest page hinting by default. [S390] use generic scatterlist.h [S390] s390dbf: Add description for usage of "%s" in sprintf events [S390] Initialize __LC_THREAD_INFO early. [S390] fix recursive locking on page_table_lock [S390] kvm: use console_initcall() to initialize s390 virtio console [S390] tape: reversed order of labels [S390] hypfs: Use "%u" instead of "%d" for unsigned ints in snprintf [S390] kernel: Print an error message if kernel NSS cannot be defined [S390] zcrypt: Free ap_device if dev_set_name fails. [S390] zcrypt: Use spin_lock_bh in suspend callback [S390] xpram: Remove checksum validation for suspend/resume [S390] vmur: Invalid allocation sequence for vmur class [S390] hypfs: remove useless variable qname ... commit 1b195b170da6d75abafa290deeb8863dc8a4d79b Merge: 2490138 addd72c Author: Linus Torvalds Date: Fri Sep 11 09:16:22 2009 -0700 Merge branch 'kmemleak' of git://linux-arm.org/linux-2.6 * 'kmemleak' of git://linux-arm.org/linux-2.6: kmemleak: Improve the "Early log buffer exceeded" error message kmemleak: fix sparse warning for static declarations kmemleak: fix sparse warning over overshadowed flags kmemleak: move common painting code together kmemleak: add clear command support kmemleak: use bool for true/false questions kmemleak: Do no create the clean-up thread during kmemleak_disable() kmemleak: Scan all thread stacks kmemleak: Don't scan uninitialized memory when kmemcheck is enabled kmemleak: Ignore the aperture memory hole on x86_64 kmemleak: Printing of the objects hex dump kmemleak: Do not report alloc_bootmem blocks as leaks kmemleak: Save the stack trace for early allocations kmemleak: Mark the early log buffer as __initdata kmemleak: Dump object information on request kmemleak: Allow rescheduling during an object scanning commit 2490138cb785d299d898b579fa2874a59a3d321a Merge: f6f7919 73f526d Author: Linus Torvalds Date: Fri Sep 11 08:58:32 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (48 commits) RDMA/iwcm: Reject the connection when the cm_id is destroyed RDMA/cxgb3: Clean up properly on FW mismatch failures RDMA/cxgb3: Don't ignore insert_handle() failures MAINTAINERS: InfiniBand/RDMA mailing list transition to vger IB/mad: Allow tuning of QP0 and QP1 sizes IB/mad: Fix possible lock-lock-timer deadlock RDMA/nes: Map MTU to IB_MTU_* and correctly report link state RDMA/nes: Rework the disconn routine for terminate and flushing RDMA/nes: Use the flush code to fill in cqe error RDMA/nes: Make poll_cq return correct number of wqes during flush RDMA/nes: Use flush mechanism to set status for wqe in error RDMA/nes: Implement Terminate Packet RDMA/nes: Add CQ error handling RDMA/nes: Clean out CQ completions when QP is destroyed RDMA/nes: Change memory allocation for cqp request to GFP_ATOMIC RDMA/nes: Allocate work item for disconnect event handling RDMA/nes: Update refcnt during disconnect IB/mthca: Don't allow userspace open while recovering from catastrophic error IB/mthca: Distinguish multiple devices in /proc/interrupts IB/mthca: Annotate CQ locking ... commit f6f79190866d5b2d06a2114d673f91f54e7c7ce4 Merge: 0d03d59 a3c8b97 Author: Linus Torvalds Date: Fri Sep 11 08:55:49 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (57 commits) binfmt_elf: fix PT_INTERP bss handling TPM: Fixup boot probe timeout for tpm_tis driver sysfs: Add labeling support for sysfs LSM/SELinux: inode_{get,set,notify}secctx hooks to access LSM security context information. VFS: Factor out part of vfs_setxattr so it can be called from the SELinux hook for inode_setsecctx. KEYS: Add missing linux/tracehook.h #inclusions KEYS: Fix default security_session_to_parent() Security/SELinux: includecheck fix kernel/sysctl.c KEYS: security_cred_alloc_blank() should return int under all circumstances IMA: open new file for read KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] KEYS: Extend TIF_NOTIFY_RESUME to (almost) all architectures [try #6] KEYS: Do some whitespace cleanups [try #6] KEYS: Make /proc/keys use keyid not numread as file position [try #6] KEYS: Add garbage collection for dead, revoked and expired keys. [try #6] KEYS: Flag dead keys to induce EKEYREVOKED [try #6] KEYS: Allow keyctl_revoke() on keys that have SETATTR but not WRITE perm [try #6] KEYS: Deal with dead-type keys appropriately [try #6] CRED: Add some configurable debugging [try #6] selinux: Support for the new TUN LSM hooks ... commit 9965976a38f66fc170fc0528b3115bf1a8a58b0a Author: Jesse Barnes Date: Fri Sep 11 08:46:07 2009 -0700 PCI: pcie portdrv: remove unused variable Remove unused port_data variable left over from the MCH hotplug quirk cleanup. Signed-off-by: Jesse Barnes commit 48659d31195bb76d688e99dabd816c5472fb1656 Author: Steven Rostedt Date: Fri Sep 11 11:36:23 2009 -0400 tracing: move tgid out of generic entry and into userstack The userstack trace required the recording of the tgid entry. Unfortunately, it was added to the generic entry where it wasted 4 bytes of every entry and was only used by one entry. This patch moves it out of the generic field and moves it into the only user (userstack_entry). Signed-off-by: Steven Rostedt commit 49ff590390a22c49e9063dcdec4cd5903127526b Author: Steven Rostedt Date: Fri Sep 11 00:30:26 2009 -0400 tracing: add latency format to function_graph tracer While debugging something with the function_graph tracer, I found the need to see the preempt count of the traces. Unfortunately, since the function graph tracer has its own output formatting, it does not honor the latency-format option. This patch makes the function_graph tracer honor the latency-format option, but still keeps control of the output. But now we have the same details that the latency-format supplies. # tracer: function_graph # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / # |||| # CPU|||| DURATION FUNCTION CALLS # | |||| | | | | | | 3) d..1 1.333 us | idle_cpu(); 3) d.h1 | tick_check_idle() { 3) d.h1 0.550 us | tick_check_oneshot_broadcast(); 3) d.h1 | tick_nohz_stop_idle() { 3) d.h1 | ktime_get() { 3) d.h1 | ktime_get_ts() { Signed-off-by: Steven Rostedt commit f08a59f1467b92cd9b8c78961506f69c74bb01a5 Author: Alex Elder Date: Fri Sep 11 09:51:25 2009 -0500 xfs: Record new maintainer information Update the MAINTAINERS file entry for XFS. Signed-off-by: Alex Elder Signed-off by: Felix Blyakher commit 01edede41e352e4879a89cdc5468f72ffc89b713 Author: Minchan Kim Date: Tue Sep 8 21:56:38 2009 +0200 block: trace bio queueing trial only when it occurs If BIO is discarded or cross over end of device, BIO queueing trial doesn't occur. Actually the trace was called just before make_request at first: [PATCH] Block queue IO tracing support (blktrace) as of 2006-03-23      2056a782f8e7e65fd4bfd027506b4ce1c5e9ccd4 And then 2 patches added some checks between them: [PATCH] md: check bio address after mapping through partitions        5ddfe9691c91a244e8d1be597b6428fcefd58103, [BLOCK] Don't allow empty barriers to be passed down to queues that don't grok them        51fd77bd9f512ab6cc9df0733ba1caaab89eb957 It breaks original goal. Let's trace it only when it happens. Signed-off-by: Minchan Kim Acked-by: Wu Fengguang Cc: Li Zefan Signed-off-by: Jens Axboe commit 01e97f6b897bf06ec83375d691f2f4d57f5b3a09 Author: Jens Axboe Date: Thu Sep 3 20:06:47 2009 +0200 block: enable rq CPU completion affinity by default Test results here look good, and on big OLTP runs it has also shown to significantly increase cycles attributed to the database and cause a performance boost. Signed-off-by: Jens Axboe commit b217a903ab6581cba04f88c44284dcdd2a752561 Author: Shan Wei Date: Tue Sep 1 10:06:42 2009 +0200 cfq: fix the log message after dispatched a request The blktrace tools can show process id when cfq dispatched a request, using cfq_log_cfqq() instead of cfq_log(). Signed-off-by: Shan Wei Signed-off-by: Jens Axboe commit 49b3a3cbc0311f8f809183696b1f2ab824b18a51 Author: Marcin Slusarz Date: Mon Aug 24 10:56:38 2009 +0200 block: use printk_once Signed-off-by: Marcin Slusarz Cc: Jens Axboe Cc: Tim Waugh Signed-off-by: Jens Axboe commit 212a502676c308ead964a024e081529ad3f8d94c Author: Eric Dumazet Date: Mon Aug 24 10:01:53 2009 +0200 cciss: memory leak in cciss_init_one() commit 22bece00dc1f28dd3374c55e464c9f02eb642876 (cciss: fix regression firmware not displayed in procfs) added a small memory leak in cciss_init_one() Signed-off-by: Eric Dumazet Signed-off-by: Jens Axboe commit 723590ed52d244b025f10a8e2f54c2f57ed02b4d Author: Miklos Szeredi Date: Sat Aug 15 08:43:22 2009 +0200 splice: update mtime and atime on files Splice should update the modification and access times on regular files just like read and write. Not updating mtime will confuse backup tools, etc... This patch only adds the time updates for regular files. For pipes and other special files that splice touches the need for updating the times is less clear. Let's discuss and fix that separately. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit d62f843b295393124970d29316344150c7de009b Author: Jens Axboe Date: Tue Aug 11 08:31:14 2009 +0200 block: make blk_iopoll_prep_sched() follow normal 0/1 return convention Return 0 if we successfully marked this iopoll structure as ours for scheduling, instead of 1. Signed-off-by: Jens Axboe commit 1b379d8daf4e981b2220f057683e35af022d45bc Author: Jens Axboe Date: Tue Aug 11 08:26:11 2009 +0200 cfq-iosched: get rid of must_alloc flag It's not currently used, as pointed out by Gui Jianfeng . We already check the wait_request flag to allow an idling queue priority allocation access, so we don't need this extra flag. Signed-off-by: Jens Axboe commit a33dac26d42d6f156b3b05a929961bd8d904f6e2 Author: Jens Axboe Date: Thu Aug 6 20:53:45 2009 +0200 block: use interrupts disabled version of raise_softirq_irqoff() We already have interrupts disabled at that point, so use the __raise_softirq_irqoff() variant. Signed-off-by: Jens Axboe commit fca51d64c5baf64604bc1edc5c5f0e7ed176322f Author: Jens Axboe Date: Thu Aug 6 20:53:23 2009 +0200 block: fix comment in blk-iopoll.c Signed-off-by: Jens Axboe commit 37867ae7c549c58d44337e27738577ed8b7cd753 Author: Jens Axboe Date: Thu Aug 6 20:50:48 2009 +0200 block: adjust default budget for blk-iopoll It's not exported, I doubt we'll have a reason to change this... Signed-off-by: Jens Axboe commit 1badcfbd7febd33f71fc02bda9112bd25e9c294b Author: Jens Axboe Date: Thu Aug 6 20:49:14 2009 +0200 block: fix long lines in block/blk-iopoll.c Note sure why they happened in the first place, probably some bad terminal setting. Signed-off-by: Jens Axboe commit 5e605b64a183a6c0e84cdb99a6f8acb1f8200437 Author: Jens Axboe Date: Wed Aug 5 09:07:21 2009 +0200 block: add blk-iopoll, a NAPI like approach for block devices This borrows some code from NAPI and implements a polled completion mode for block devices. The idea is the same as NAPI - instead of doing the command completion when the irq occurs, schedule a dedicated softirq in the hopes that we will complete more IO when the iopoll handler is invoked. Devices have a budget of commands assigned, and will stay in polled mode as long as they continue to consume their budget from the iopoll softirq handler. If they do not, the device is set back to interrupt completion mode. This patch holds the core bits for blk-iopoll, device driver support sold separately. Signed-off-by: Jens Axboe commit fb1e75389bd06fd5987e9cda1b4e0305c782f854 Author: Jens Axboe Date: Thu Jul 30 08:18:24 2009 +0200 block: improve queue_should_plug() by looking at IO depths Instead of just checking whether this device uses block layer tagging, we can improve the detection by looking at the maximum queue depth it has reached. If that crosses 4, then deem it a queuing device. This is important on high IOPS devices, since plugging hurts the performance there (it can be as much as 10-15% of the sys time). Signed-off-by: Jens Axboe commit 1f98a13f623e0ef666690a18c1250335fc6d7ef1 Author: Jens Axboe Date: Fri Sep 11 14:32:04 2009 +0200 bio: first step in sanitizing the bio->bi_rw flag testing Get rid of any functions that test for these bits and make callers use bio_rw_flagged() directly. Then it is at least directly apparent what variable and flag they check. Signed-off-by: Jens Axboe commit e7e503aedb1f4d165081cb8d47a58c38f80f0cb4 Author: Jens Axboe Date: Tue Jul 28 10:15:30 2009 +0200 block: make bio_rw_flagged() return a bool Makes for a saner interface, instead of returning the bit position. Signed-off-by: Jens Axboe commit e3264a4d7de147677f1995f119eba05c9abe9c1c Author: Hannes Reinecke Date: Tue Jul 28 09:13:13 2009 +0200 Send uevents for write_protect changes Whenever a block device changes it's read-only attribute notify the userspace about it. Signed-off-by: Hannes Reinecke Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit d58b85e1e891cd842d6e183f5d94d06a4fd0122c Author: Vivek Goyal Date: Fri Jul 10 10:20:30 2009 +0200 cfq-iosched: no need to keep track of busy_rt_queues o Get rid of busy_rt_queues infrastructure. Looks like it is redundant. o Once an RT queue gets request it will preempt any of the BE or IDLE queues immediately. Otherwise this queue will be put on service tree and scheduler will anyway select this queue before any of the BE or IDLE queue. Hence looks like there is no need to keep track of how many busy RT queues are currently on service tree. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 5ad531db6e0f3c3c985666e83d3c1c4d53acccf9 Author: Jens Axboe Date: Fri Jul 3 12:57:48 2009 +0200 cfq-iosched: drain device queue before switching to a sync queue To lessen the impact of async IO on sync IO, let the device drain of any async IO in progress when switching to a sync cfqq that has idling enabled. Signed-off-by: Jens Axboe commit da6c5c720c52cc717124f8f0830b710ea6a092fd Author: Tejun Heo Date: Fri Sep 11 14:26:40 2009 +0200 scsi,block: update SCSI to handle mixed merge failures Update scsi_io_completion() such that it only fails requests till the next error boundary and retry the leftover. This enables block layer to merge requests with different failfast settings and still behave correctly on errors. Allow merge of requests of different failfast settings. As SCSI is currently the only subsystem which follows failfast status, there's no need to worry about other block drivers for now. Signed-off-by: Tejun Heo Cc: Niel Lambrechts Cc: James Bottomley Signed-off-by: Jens Axboe commit 80a761fd33cf812f771e212139157bf8f58d4b3f Author: Tejun Heo Date: Fri Jul 3 17:48:17 2009 +0900 block: implement mixed merge of different failfast requests Failfast has characteristics from other attributes. When issuing, executing and successuflly completing requests, failfast doesn't make any difference. It only affects how a request is handled on failure. Allowing requests with different failfast settings to be merged cause normal IOs to fail prematurely while not allowing has performance penalties as failfast is used for read aheads which are likely to be located near in-flight or to-be-issued normal IOs. This patch introduces the concept of 'mixed merge'. A request is a mixed merge if it is merge of segments which require different handling on failure. Currently the only mixable attributes are failfast ones (or lack thereof). When a bio with different failfast settings is added to an existing request or requests of different failfast settings are merged, the merged request is marked mixed. Each bio carries failfast settings and the request always tracks failfast state of the first bio. When the request fails, blk_rq_err_bytes() can be used to determine how many bytes can be safely failed without crossing into an area which requires further retrials. This allows request merging regardless of failfast settings while keeping the failure handling correct. This patch only implements mixed merge but doesn't enable it. The next one will update SCSI to make use of mixed merge. Signed-off-by: Tejun Heo Cc: Niel Lambrechts Signed-off-by: Jens Axboe commit a82afdfcb8c0df09776b6458af6b68fc58b2e87b Author: Tejun Heo Date: Fri Jul 3 17:48:16 2009 +0900 block: use the same failfast bits for bio and request bio and request use the same set of failfast bits. This patch makes the following changes to simplify things. * enumify BIO_RW* bits and reorder bits such that BIOS_RW_FAILFAST_* bits coincide with __REQ_FAILFAST_* bits. * The above pushes BIO_RW_AHEAD out of sync with __REQ_FAILFAST_DEV but the matching is useless anyway. init_request_from_bio() is responsible for setting FAILFAST bits on FS requests and non-FS requests never use BIO_RW_AHEAD. Drop the code and comment from blk_rq_bio_prep(). * Define REQ_FAILFAST_MASK which is OR of all FAILFAST bits and simplify FAILFAST flags handling in init_request_from_bio(). Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit addd72c1a917091f4bb5e699e307c4c4553f6fd3 Author: Catalin Marinas Date: Fri Sep 11 10:42:09 2009 +0100 kmemleak: Improve the "Early log buffer exceeded" error message Based on a suggestion from Jaswinder, clarify what the user would need to do to avoid this error message from kmemleak. Reported-by: Jaswinder Singh Rajput Signed-off-by: Catalin Marinas commit 59e36927ee08f3bf06d8d14597e57389bf1b41dc Author: Michael Holzheu Date: Fri Sep 11 10:29:07 2009 +0200 [S390] tape: Use pr_xxx instead of dev_xxx in shared driver code For messages from the tape core that is shared between the 3590 and 34xx tape disciplines, we want to have the "tape" prefix instead of "tape_3590" or "tape_34xx". In order to fix this, we now use the pr_xxx printk macros. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit bde69af2ab696eebfac9583ea1e8a46b571e317f Author: Heiko Carstens Date: Fri Sep 11 10:29:06 2009 +0200 [S390] Wire up page fault events for software perf counters. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5c0b912e755caaad555eb6feefdb1124462d8f37 Author: Heiko Carstens Date: Fri Sep 11 10:29:05 2009 +0200 [S390] Remove smp_cpu_not_running. smp_cpu_not_running() and cpu_stopped() are doing the same. Remove one and also get rid of the last hard_smp_processor_id() leftover. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit e86a6ed63f46fe8fb555fda531084bca3ef62fd7 Author: Heiko Carstens Date: Fri Sep 11 10:29:04 2009 +0200 [S390] Get rid of cpuid.h header file. Merge cpuid.h header file into cpu.h. While at it convert from typedef to struct declaration and also convert cio code to use proper lowcore structure instead of casts. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 4bb5e07b68565d7983108993aa23eccf5f1b35fe Author: Heiko Carstens Date: Fri Sep 11 10:29:03 2009 +0200 [S390] Limit cpu detection to 256 physical cpus. Saves us more than 65k pointless IPIs. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 53f8c573ea3b54b7e1b81d2cd403373b08103736 Author: Michael Holzheu Date: Fri Sep 11 10:29:02 2009 +0200 [S390] tape: Fix device online messages Currently, when a tape device is set online and no cartridge is loaded, we get the messages "The tape cartridge has been successfully unloaded" and "Determining the size of the recorded area". These messages are not correct. To fix this, we now print the "cartridge loaded/unloaded" messages only, when the load/unload event really occurs. In addition to that, the message "Determining the size of the recorded area" is only printed, if a cartridge is loaded. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 2ddddf3e0a55a7fcd6f240a7416cfcb12dd38b7e Author: Heiko Carstens Date: Fri Sep 11 10:29:01 2009 +0200 [S390] Enable guest page hinting by default. Get rid of the PAGE_STATES config option and enable guest page hinting by default. It can be disabled by specifying "cmma=off" at the command line. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5dd1d2ece0250125fec2dcccbfb8ab9bb2ac020c Author: Heiko Carstens Date: Fri Sep 11 10:29:00 2009 +0200 [S390] use generic scatterlist.h Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f64d04c042193183c6dad98944ae2861b998e8b7 Author: Michael Holzheu Date: Fri Sep 11 10:28:59 2009 +0200 [S390] s390dbf: Add description for usage of "%s" in sprintf events Using "%s" in sprintf event functions is dangerous. This patch adds a short description for this issue to the s390 debug feature documentation. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 0c88ee5b7523e76e290d558c28cd0be48ffad597 Author: Heiko Carstens Date: Fri Sep 11 10:28:58 2009 +0200 [S390] Initialize __LC_THREAD_INFO early. "lockdep: Fix backtraces" reveales a bug in early setup code: when lockdep tries to save a stack backtrace before setup_arch has been called the lowcore pointer for the current thread info pointer isn't initialized yet. However our save stack backtrace code relies on it. If the pointer isn't initialized the saved backtrace will have zero entries. lockdep however relies (correctly) on the fact that that cannot happen. A write access to some random memory region is the result. Fix this by initializing the thread info pointer early. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 50aa98bad056a17655864a4d71ebc32d95c629a7 Author: Martin Schwidefsky Date: Fri Sep 11 10:28:57 2009 +0200 [S390] fix recursive locking on page_table_lock Suzuki Poulose reported the following recursive locking bug on s390: Here is the stack trace : (see Appendix I for more info) [<0000000000406ed6>] _spin_lock+0x52/0x94 [<0000000000103bde>] crst_table_free+0x14e/0x1a4 [<00000000001ba684>] __pmd_alloc+0x114/0x1ec [<00000000001be8d0>] handle_mm_fault+0x2cc/0xb80 [<0000000000407d62>] do_dat_exception+0x2b6/0x3a0 [<0000000000114f8c>] sysc_return+0x0/0x8 [<00000200001642b2>] 0x200001642b2 The page_table_lock is already acquired in __pmd_alloc (mm/memory.c) and it tries to populate the pud/pgd with a new pmd allocated. If another thread populates it before we get a chance, we free the pmd using pmd_free(). On s390x, pmd_free(even pud_free ) is #defined to crst_table_free(), which acquires the page_table_lock to protect the crst_table index updates. Hence this ends up in a recursive locking of the page_table_lock. The solution suggested by Dave Hansen is to use a new spin lock in the mmu context to protect the access to the crst_list and the pgtable_list. Reported-by: Suzuki Poulose Cc: Dave Hansen Signed-off-by: Martin Schwidefsky commit c4de0c1a18237c2727dde8ad392e333539b0af3c Author: Hendrik Brueckner Date: Fri Sep 11 10:28:56 2009 +0200 [S390] kvm: use console_initcall() to initialize s390 virtio console Use a console_initcall() to initialize the s390 virtio console and clean up s390 console initialization in setup.c. Signed-off-by: Hendrik Brueckner Tested-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 68d36bdbf6377d36129b2c6bcbe9d24c5fb1739a Author: Roel Kluin Date: Fri Sep 11 10:28:55 2009 +0200 [S390] tape: reversed order of labels Fix the order of goto labels in tape_generic_online. Signed-off-by: Roel Kluin commit ad2a5d8e0b518f997af126dd737127bdada90a6f Author: Michael Holzheu Date: Fri Sep 11 10:28:54 2009 +0200 [S390] hypfs: Use "%u" instead of "%d" for unsigned ints in snprintf For printing unsigned integers hypfs uses "%d" in snprintf(). This is wrong. With this patch "%u" is used instead. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 11af97e18ea8c310d73b59f1361e6f04444e05a8 Author: Hendrik Brueckner Date: Fri Sep 11 10:28:53 2009 +0200 [S390] kernel: Print an error message if kernel NSS cannot be defined If a named saved system (NSS) cannot be defined or saved, print out an error message with the return code of the underlying z/VM CP command. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit edc44fa03ed7bc9847787e080190cf1d7ed68ceb Author: Felix Beck Date: Fri Sep 11 10:28:52 2009 +0200 [S390] zcrypt: Free ap_device if dev_set_name fails. If dev_set_name fails during scanning the AP bus, the reserved memory has to be freed. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 95f1556c35529a162cef50296f3dc7f978852048 Author: Felix Beck Date: Fri Sep 11 10:28:51 2009 +0200 [S390] zcrypt: Use spin_lock_bh in suspend callback Fix lock dependency warning. inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage. bash/1442 [HC0[0]:SC0[0]:HE1:SE1] takes: (&ap_dev->lock){+.?...}, at: [<000003e001280404>] __ap_poll_device+0x40/0x3e8 [ap] {IN-SOFTIRQ-W} state was registered at: [<000000000017f094>] __lock_acquire+0xb78/0x182c [<000000000017fe8e>] lock_acquire+0x146/0x178 [<0000000000549cf2>] _spin_lock+0x5a/0x98 [<000003e001280404>] __ap_poll_device+0x40/0x3e8 [ap] [<000003e001280afe>] ap_poll_all+0xaa/0x1a4 [ap] [<000000000014fa82>] tasklet_action+0xfe/0x1f4 [<0000000000150a56>] __do_softirq+0x116/0x284 [<0000000000111058>] do_softirq+0xe4/0xe8 [<00000000001504ba>] irq_exit+0xba/0xd8 [<00000000003dd04a>] do_IRQ+0x176/0x1fc [<000000000011823c>] io_return+0x0/0x8 [<0000004bfbfd2c0e>] 0x4bfbfd2c0e Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 99b5e2d3d7ae8f5a2dba7a41a02ba7eb25523b3f Author: Michael Holzheu Date: Fri Sep 11 10:28:50 2009 +0200 [S390] xpram: Remove checksum validation for suspend/resume Currently in the suspend process checksums for the XPRAM partitions are created and stored. During the resume process it is checked, if the checksums are still the same. If this is not the case, a kernel panic is triggered. Unfortunately this prevents XPRAM from beeing used as suspend device, because in this case after the checksum has been created, the memory image is written to XPRAM and therefore the contents of the suspend partition is changed. In order to allow XPRAM to be used as suspend device, this patch removes the checksum validation. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 3f7cb51fac60618aa543058a90e668956d5fb518 Author: Michael Holzheu Date: Fri Sep 11 10:28:49 2009 +0200 [S390] vmur: Invalid allocation sequence for vmur class The vmur class is allocated after the CCW driver is registered and it is destroyed before the CCW driver is unregistered. This is not the correct sequence, because the vmur class can be used via driver core callbacks that are triggered during the CCW driver deregistration. For Example: 1. vmur device is online 2. vmur module is unloaded This leads to the following function call stack: <4> [<0000000000387286>] device_destroy+0x36/0x5c <4> [<000003e000209714>] ur_set_offline_force+0x9c/0x10c [vmur] <4> [<000003e00020a928>] ur_remove+0x64/0xbc [vmur] <4> [<00000000003e4d2e>] ccw_device_remove+0x42/0x1ac <4> [<000000000038a1aa>] __device_release_driver+0x9a/0xe4 <4> [<000000000038a2da>] driver_detach+0xe6/0xec <4> [<0000000000388ee4>] bus_remove_driver+0xc0/0x108 <4> [<000003e00020ad5a>] ur_exit+0x52/0x84 [vmur] In device_destroy() the vmur class is used. Since it is already freed, this can lead to a kernel panic. To fix the problem, the vmur class has to be allocated before the CCW driver is registered and destroyed after the CCW driver has ben unregistered. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 2395ecd98f028b16a6200eb81108a0f67461d16b Author: Vitaliy Gusev Date: Fri Sep 11 10:28:48 2009 +0200 [S390] hypfs: remove useless variable qname Local variable 'qname' in the function hypfs_create_file() really is not used for any purpose. Signed-off-by: Vitaliy Gusev Cc: Michael Holzheu Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit c114728af2acdca0bd8b1d2f5792e393c775f5fc Author: Hans-Joachim Picht Date: Fri Sep 11 10:28:47 2009 +0200 [S390] add call home support Signed-off-by: Hans-Joachim Picht Signed-off-by: Martin Schwidefsky commit 275c340941991a925969c03ec6b900fd135d09dd Author: Christoph Hellwig Date: Fri Sep 11 10:28:46 2009 +0200 [S390] remove unused irq_cpustat_t defintion No need to defined a irq_cpustat_t type if __ARCH_IRQ_STAT is defined. Signed-off-by: Christoph Hellwig Signed-off-by: Martin Schwidefsky commit d3135e0c40c9a13ad0c57783f2b9569c4c00bd26 Author: Heiko Carstens Date: Fri Sep 11 10:28:45 2009 +0200 [S390] kernel: always keep machine flags in lowcore Eleminate the local variable machine_flags and always change machine flags directly in the lowcore. This avoids confusion about when and why the two variables have to be synchronized. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 04a95f6df9d7753098729ef1464e38552627af9d Author: Nelson Elhage Date: Fri Sep 11 10:28:44 2009 +0200 [S390] clean up linker script using new linker script macros. Note that this patch moves .data.init_task inside _edata. In addition, the alignment of .init.ramfs changes: It is now PAGE_ALIGNED and __initramfs_end is arbitrarily aligned; Previously it was only aligned to a 0x100-byte boundary, and always ended on an even byte. This change results in fewer output sections and in some data being reordered, but should have no functional effect. Signed-off-by: Nelson Elhage Signed-off-by: Tim Abbott Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: linux-s390@vger.kernel.org Signed-off-by: Martin Schwidefsky commit 26803144666bd2155a19392fa58a7d512d9c0962 Author: Tim Abbott Date: Fri Sep 11 10:28:43 2009 +0200 [S390] Use macros for .data.page_aligned. .data.page_aligned should not need a separate output section, so as part of this cleanup I moved into the .data output section in the linker scripts in order to eliminate unnecessary references to the section name. Remove the reference to .data.idt, since nothing is put into the .data.idt section on the s390 architecture. It looks like Cyrill Gorcunov posted a patch to remove the .data.idt code on s390 previously: CCing him and the people who acked that patch in case there's a reason it wasn't applied. Signed-off-by: Tim Abbott Cc: Martin Schwidefsky Acked-by: Cyrill Gorcunov Cc: Sam Ravnborg Signed-off-by: Martin Schwidefsky commit a8c3cb4955d1a051732ead9ecf8bcffc8e7c039d Author: Hendrik Brueckner Date: Fri Sep 11 10:28:42 2009 +0200 [S390] move (io|sysc)_restore_trace_psw into .data section The sysc_restore_trace_psw and io_restore_trace_psw storage locations are created in the .text section. When creating and IPLing from a named saved system (NSS), writing to these locations causes a protection exception (because the .text section is mapped as shared read-only in the NSS). To permit write access, move the storage locations into the .data section. The problem occurs only when CONFIG_TRACE_IRQFLAGS is set. The git commmit that has introduced these variables is: 411788ea7fca01ee803af8225ac35807b4d02050 Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 18d00acfe2f3fc5ee62f679eb2e397ae962fe69b Author: Hendrik Brueckner Date: Fri Sep 11 10:28:41 2009 +0200 [S390] kernel: Convert upper case scpdata to lower case If the CP SET LOADDEV on the 3215 console has been used to specify SCPdata, all data is converted to upper case letters. When scpdata contains upper case letters only, convert all letters to lower case. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 684d2fd48e718e70dad21ef7c528649578147e48 Author: Hendrik Brueckner Date: Fri Sep 11 10:28:40 2009 +0200 [S390] kernel: Append scpdata to kernel boot command line Append scpdata to the kernel boot command line. If scpdata starts with the equal sign (=), the kernel boot command line is replaced. (For consistency with zIPL and IPL PARM parameters.) To use scpdata for the kernel boot command line, scpdata must consist of ascii characters only. If scpdata contains other characters, scpdata is not appended to the kernel boot command line. In addition, re-IPL is extended for setting scpdata for the next Linux reboot. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 6292b9ef5a4e85d6b782412a85725dd38df24b85 Author: Frank Munzert Date: Fri Sep 11 10:28:39 2009 +0200 [S390] tape: use init_timer_on_stack() rather than init_timer() With CONFIG_DEBUG_OBJECTS_TIMERS=y "chccwdev --online" for a tape device will fail with message "ODEBUG: object is on stack, but not annotated". We now use init_timer_on_stack. Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky commit c6304933274f8e3cc6983d496456757ac8ab2e0b Author: Sebastian Ott Date: Fri Sep 11 10:28:38 2009 +0200 [S390] proper use of device register Don't use kfree directly after device registration started. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit c48ff644f2c86f34f69f382b68b16c6d30854783 Author: Heiko Carstens Date: Fri Sep 11 10:28:37 2009 +0200 [S390] hibernation: merge files and move to kernel/ Merge the nearly empty C files and move everything from power/ to kernel/. That way the files are easier to handle. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f3d1263e81daf2be1353baf1ad3f6e25d135f2c5 Author: Heiko Carstens Date: Fri Sep 11 10:28:36 2009 +0200 [S390] hibernation: remove dead file There is no caller of do_after_copyback() anywhere. Remove it. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bfe3349b516df011dcf6462b0fd748a6f5c2e8af Author: Heiko Carstens Date: Fri Sep 11 10:28:35 2009 +0200 [S390] atomic ops: small cleanups Couple of coding style fixes, replace __inline__ with inline and remove #ifdef __KERNEL_- since the header file isn't exported. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 12751058515860ed43c8f874ebcb2097b323736a Author: Heiko Carstens Date: Fri Sep 11 10:28:34 2009 +0200 [S390] atomic ops: add effecient atomic64 support for 31 bit Use compare double and swap to implement efficient atomic64 ops for 31 bit. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 6ac2a4ddd10d6916785b4c566d521025c855f823 Author: Martin Schwidefsky Date: Fri Sep 11 10:28:33 2009 +0200 [S390] improve mcount code Move the 64 bit mount code from mcount.S into mcount64.S and avoid code duplication. Signed-off-by: Martin Schwidefsky commit 04efc3be767cfed0d348fd598eba8fe5f5bf5fe6 Author: Heiko Carstens Date: Fri Sep 11 10:28:32 2009 +0200 [S390] convert/optimize csum_fold() to C In the meantime gcc generates better code than the old inline assemblies do. Original inline assembly results in: lr %r1,%r2 sr %r3,%r3 lr %r2,%r1 srdl %r2,16 alr %r2,%r3 alr %r1,%r2 srl %r1,16 xilf %r1,65535 llghr %r2,%r1 br %r14 Out of the C code gcc generates this: rll %r1,%r2,16 ar %r1,%r2 srl %r1,16 xilf %r1,65535 llghr %r2,%r1 br %r14 In addition we don't have any static register allocations anymore and gcc is free to shuffle instructions around for better pipeline usage. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 05e7ff7da78bad3edc1290ed86b4a37da72ced62 Author: Heiko Carstens Date: Fri Sep 11 10:28:31 2009 +0200 [S390] introduce get_clock_monotonic Introduce get_clock_monotonic() function which can be used to get a (fast) timestamp. Resolution is the same as for get_clock(). The only difference is that the timestamps are monotonic and don't jump backward or forward. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ca99dab01dd63dcc413395bd3e75b0be152dfefc Author: Stefan Haberland Date: Fri Sep 11 10:28:30 2009 +0200 [S390] dasd: fix message naming This patch fixes message naming so that generic dasd messages do not contain the device discipline. For this purpose the dev_ makros are replaced by pr_ makros for generic dasd messages. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 68b781fe1bed89011ab7c58ede8476abe64432d2 Author: Stefan Haberland Date: Fri Sep 11 10:28:29 2009 +0200 [S390] dasd: optimize cpu usage in goodcase remove unnecessary dbf call, remove string operations for magic Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 97f604b07473669f4da52b1f859ee45e8d48d42a Author: Stefan Weinhuber Date: Fri Sep 11 10:28:28 2009 +0200 [S390] dasd: fail requests when device state is less then ready A DASD device that is not ready or online has no defined disk layout, so all requests that arrive in such a state need to be returned as failed. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 3ac276f8cb020adbbc3399c47edc1100748c2c16 Author: Sebastian Ott Date: Fri Sep 11 10:28:27 2009 +0200 [S390] cio: remove ccw_device init_name We used the init_name to set the console ccw_device's name early at the boot stage. This patch moves the name setting (for all ccw devices) to the point where we actually register the device. At this time we can do dynamic allocations and therefore use dev_set_name. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 3b554a14f4bdf754ba9d2f64c2b6edf8dafe93b9 Author: Sebastian Ott Date: Fri Sep 11 10:28:26 2009 +0200 [S390] cio: move final put_device to ccw_device_unregister We use a test_and_clear_bit to prevent a device from being unregistered twice. Unfortunately in this cases the "final" put_device (from device_initialize) was issued more than once, resulting in an use after free error. Fix this by moving this put_device to ccw_device_unregister. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 6ee4fec6be06f7d138860b37cba58982cc3ccb16 Author: Sebastian Ott Date: Fri Sep 11 10:28:25 2009 +0200 [S390] cio: remove subchannel init_name We used the init_name to set the console subchannels name early at the boot stage. With the patch cio: fix memleak in subchannel validation we moved the name setting to the point where we actually register the console subchannel. At this time we can do dynamic allocations and therefore use dev_set_name. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit ab6aae09024be1b039df441fa1b64dbe092d0acb Author: Sebastian Ott Date: Fri Sep 11 10:28:24 2009 +0200 [S390] cio: fix memleak in subchannel validation When scanning for new subchannels we have a code path where we allocate memory for a struct subchannel, set the device name (which is dynamically allocated now) and do a check if the underlying device is blacklisted - if so we free the subchannel structure. Since we have not set up refcounting at this stage, the device name's memory is lost. Fix this by moving the dev_set_name after the blacklist test. Note: With this patch the init_name for the console subchannel becomes virtually obsolete. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit f014824ee72e66292c3b1172dc142f959b42e61b Author: Sebastian Ott Date: Fri Sep 11 10:28:23 2009 +0200 [S390] cio: fix use after free in s390 debug feature When using s390dbf with "%s" in sprintf format strings the string itself is not copied to the dbf buffer. Since in this case only pointers are stored in the s390dbf, we should not use dev_name - which is bound to the lifetime of the device. Reading this entry from s390dbf after the device was released will cause an use after free error. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 3f09bb8965cefe36f42a9ec09ebb821523eba530 Author: Jan Glauber Date: Fri Sep 11 10:28:22 2009 +0200 [S390] qdio: remove limited number of debugfs entries The number of qdio debugfs entries was limited. Remove this limit and group the queue files in a per device directory. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 217ee6c64a9589bc5ad4d1c88136fc359d17930b Author: Michael Ernst Date: Fri Sep 11 10:28:21 2009 +0200 [S390] cio: failing set online/offline processing. When unit checks trigger sensing the device state is set to W4SENSE until sense completion; then the device state is set back to ONLINE. If a unit check occurs while set online or set offline requests are processed then it might happen that the device's temporary W4SENSE state causes these functions to terminate, leaving the device in an inconsistent state when the state is set back to ONLINE later on so that the device cannot be set online or offline any longer. To solve this, set online/offline and related rollback or error routines are processed only if the device is in a final or DISCONNECTED state. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky commit be7a2ddce66991c05a1c6ad19790289591e53547 Author: Sebastian Ott Date: Fri Sep 11 10:28:20 2009 +0200 [S390] cio: ensure to hold a reference for deferred deregistration Ensure to always hold an extra device reference for scheduling a subchannel deregistration, by moving the get_device to ccw_device_schedule_sch_unregister. This fixes an use after free error in ccw_device_call_sch_unregister where put_device was called on an already freed device structure. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit e2910bcf8ca762b306767a0894ab1987be014c9e Author: Jan Glauber Date: Fri Sep 11 10:28:19 2009 +0200 [S390] qdio: continue polling if the queue is not finished With commit c38f96080955854e54df9cb392bc674e1ae330e1 polling was stopped for the queue even if new data is available. Return immediately after scheduling the queue tasklet if the queue is not done. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit efd986db2d720e8f6660ec2c292509ee7d28cc6a Author: Sebastian Ott Date: Fri Sep 11 10:28:18 2009 +0200 [S390] cio: increase trace level Move debug traces for start I/O and interrupt events to exclusive trace levels. Also change tracing in hot-path from sprintf (costly) to hex. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 626e476ae011cafddc0ccb39ab838b90cc5d2272 Author: Sebastian Ott Date: Fri Sep 11 10:28:17 2009 +0200 [S390] cio: fix not oper handling after failed [on|off]line processing If online/offline processing of a ccw device fails, resulting in not operational state, notify the driver and unregister the device in case the driver dosn't want to keep it. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 1da73bc80bdfc9588192a6e6f5a72f8138f7378d Author: Peter Oberparleiter Date: Fri Sep 11 10:28:16 2009 +0200 [S390] cio: consolidate subchannel intparm reset Ensure that the hardware interruption parameter for a subchannel is reset when the associated subchannel data structure is freed. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 62733e5a5a480a893e56fa6133ae90904d857bc4 Author: Heiko Carstens Date: Fri Sep 11 10:28:15 2009 +0200 [S390] cio: move scsw helper functions to header file All scsw helper functions are very short and usage of them shouldn't result in function calls. Therefore we move them to a separate header file. Also saves a lot of EXPORT_SYMBOLs. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 1f1148c88ad37c87f14d2153416a605bf0aeaf74 Author: Peter Oberparleiter Date: Fri Sep 11 10:28:14 2009 +0200 [S390] cio: fix ineffective verify event Path verification events occurring for offline devices are currently ignored. As a result, offline devices are not removed, even though they might no longer be accessible (for example because the last path to the device was varied offline). Fix this by scheduling a status evaluation for the affected subchannel when a path verification event occurs. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 500b067c5e6ceea49cf280a02597b1169320e08c Author: Jens Axboe Date: Wed Sep 9 09:10:25 2009 +0200 writeback: check for registered bdi in flusher add and inode dirty Also a debugging aid. We want to catch dirty inodes being added to backing devices that don't do writeback. Signed-off-by: Jens Axboe commit d993831fa7ffeb89e994f046f93eeb09ec91df08 Author: Jens Axboe Date: Fri Jun 12 14:45:52 2009 +0200 writeback: add name to backing_dev_info This enables us to track who does what and print info. Its main use is catching dirty inodes on the default_backing_dev_info, so we can fix that up. Signed-off-by: Jens Axboe commit f09b00d3e789a88fa6c7c03cedc62cb65c1de0cb Author: Jens Axboe Date: Mon May 25 09:08:21 2009 +0200 writeback: add some debug inode list counters to bdi stats Add some debug entries to be able to inspect the internal state of the writeback details. Signed-off-by: Jens Axboe commit d0bceac747b547c0b4769b91fec7d3c15600153f Author: Jens Axboe Date: Mon May 18 08:20:32 2009 +0200 writeback: get rid of pdflush completely It is now unused, so kill it off. Signed-off-by: Jens Axboe commit 03ba3782e8dcc5b0e1efe440d33084f066e38cae Author: Jens Axboe Date: Wed Sep 9 09:08:54 2009 +0200 writeback: switch to per-bdi threads for flushing data This gets rid of pdflush for bdi writeout and kupdated style cleaning. pdflush writeout suffers from lack of locality and also requires more threads to handle the same workload, since it has to work in a non-blocking fashion against each queue. This also introduces lumpy behaviour and potential request starvation, since pdflush can be starved for queue access if others are accessing it. A sample ffsb workload that does random writes to files is about 8% faster here on a simple SATA drive during the benchmark phase. File layout also seems a LOT more smooth in vmstat: r b swpd free buff cache si so bi bo in cs us sy id wa 0 1 0 608848 2652 375372 0 0 0 71024 604 24 1 10 48 42 0 1 0 549644 2712 433736 0 0 0 60692 505 27 1 8 48 44 1 0 0 476928 2784 505192 0 0 4 29540 553 24 0 9 53 37 0 1 0 457972 2808 524008 0 0 0 54876 331 16 0 4 38 58 0 1 0 366128 2928 614284 0 0 4 92168 710 58 0 13 53 34 0 1 0 295092 3000 684140 0 0 0 62924 572 23 0 9 53 37 0 1 0 236592 3064 741704 0 0 4 58256 523 17 0 8 48 44 0 1 0 165608 3132 811464 0 0 0 57460 560 21 0 8 54 38 0 1 0 102952 3200 873164 0 0 4 74748 540 29 1 10 48 41 0 1 0 48604 3252 926472 0 0 0 53248 469 29 0 7 47 45 where vanilla tends to fluctuate a lot in the creation phase: r b swpd free buff cache si so bi bo in cs us sy id wa 1 1 0 678716 5792 303380 0 0 0 74064 565 50 1 11 52 36 1 0 0 662488 5864 319396 0 0 4 352 302 329 0 2 47 51 0 1 0 599312 5924 381468 0 0 0 78164 516 55 0 9 51 40 0 1 0 519952 6008 459516 0 0 4 78156 622 56 1 11 52 37 1 1 0 436640 6092 541632 0 0 0 82244 622 54 0 11 48 41 0 1 0 436640 6092 541660 0 0 0 8 152 39 0 0 51 49 0 1 0 332224 6200 644252 0 0 4 102800 728 46 1 13 49 36 1 0 0 274492 6260 701056 0 0 4 12328 459 49 0 7 50 43 0 1 0 211220 6324 763356 0 0 0 106940 515 37 1 10 51 39 1 0 0 160412 6376 813468 0 0 0 8224 415 43 0 6 49 45 1 1 0 85980 6452 886556 0 0 4 113516 575 39 1 11 54 34 0 2 0 85968 6452 886620 0 0 0 1640 158 211 0 0 46 54 A 10 disk test with btrfs performs 26% faster with per-bdi flushing. A SSD based writeback test on XFS performs over 20% better as well, with the throughput being very stable around 1GB/sec, where pdflush only manages 750MB/sec and fluctuates wildly while doing so. Random buffered writes to many files behave a lot better as well, as does random mmap'ed writes. A separate thread is added to sync the super blocks. In the long term, adding sync_supers_bdi() functionality could get rid of this thread again. Signed-off-by: Jens Axboe commit 66f3b8e2e103a0b93b945764d98e9ba46cb926dd Author: Jens Axboe Date: Wed Sep 2 09:19:46 2009 +0200 writeback: move dirty inodes from super_block to backing_dev_info This is a first step at introducing per-bdi flusher threads. We should have no change in behaviour, although sb_has_dirty_inodes() is now ridiculously expensive, as there's no easy way to answer that question. Not a huge problem, since it'll be deleted in subsequent patches. Signed-off-by: Jens Axboe commit d8a8559cd7a9ccac98d5f6f13297a2ff68a43627 Author: Jens Axboe Date: Wed Sep 2 12:34:32 2009 +0200 writeback: get rid of generic_sync_sb_inodes() export This adds two new exported functions: - writeback_inodes_sb(), which only attempts to writeback dirty inodes on this super_block, for WB_SYNC_NONE writeout. - sync_inodes_sb(), which writes out all dirty inodes on this super_block and also waits for the IO to complete. Acked-by: Jan Kara Signed-off-by: Jens Axboe commit c984123c7a888731b7e971e1c878b6f2b716b292 Author: Marcin Slusarz Date: Sun Aug 23 20:23:34 2009 +0200 pata_rz1000: use printk_once Signed-off-by: Marcin Slusarz Signed-off-by: Jeff Garzik commit 78d5ae39af19a02a3d16213c0f62930d9a5d25f7 Author: Shane Huang Date: Fri Aug 7 15:05:52 2009 +0800 ahci: kill @force_restart and refine CLO for ahci_kick_engine() This patch refines ahci_kick_engine() after discussion with Tejun about FBS(FIS-based switching) support preparation: a. Kill @force_restart and always kick the engine. The only case where @force_restart is zero is when it's called from ahci_p5wdh_hardreset() Actually at that point, BSY is pretty much guaranteed to be set. b. If PMP is attached, ignore busy and always do CLO. (AHCI-1.3 9.2) Signed-off-by: Shane Huang Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit 02cb009bb942007b76c38da4cc2ca0a0a974c667 Author: Otavio Salvador Date: Fri Jul 3 11:22:42 2009 -0300 pata_cs5535: add pci id for AMD based CS5535 controllers Signed-off-by: Otavio Salvador Signed-off-by: Jeff Garzik commit e2dd90b1ad4c61ecb52f2424049d91ce6ccc1f17 Author: Shane Huang Date: Wed Jul 29 11:34:49 2009 +0800 ahci: Add AMD SB900 SATA/IDE controller device IDs Add AMD SB900 SATA/IDE controller device IDs. Signed-off-by: Shane Huang Signed-off-by: Jeff Garzik commit 041b5eac254107cd3ba60034c38a411531cc64ee Author: Julia Lawall Date: Thu Aug 6 16:05:08 2009 -0700 drivers/ata: use resource_size Use the function resource_size, which reduces the chance of introducing off-by-one errors in calculating the resource size. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct resource *res; @@ - (res->end - res->start) + 1 + resource_size(res) // Signed-off-by: Julia Lawall Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d331d8305cba713605854aab63a000fb892353a7 Author: Martyn Welch Date: Thu Aug 13 09:03:02 2009 +0100 powerpc/nvram: Enable use Generic NVRAM driver for different size chips Remove the reliance on a staticly defined NVRAM size, allowing platforms to support NVRAMs with sizes differing from the standard. A fall back value is provided for platforms not supporting this extension. Signed-off-by: Martyn Welch Signed-off-by: Benjamin Herrenschmidt commit 1d6ed32226326a6e6cd67cd9ee4294bcbb0c9a15 Author: Benjamin Herrenschmidt Date: Fri Sep 11 15:36:09 2009 +1000 powerpc/iseries: Fix oops reading from /proc/iSeries/mf/*/cmdline That code uses dma_mapping_error() with a NULL device, which is a bad idea :-) The proper fix might be to start using some kind of pseudo device for all these low level mappings with the hypervisor but that will be for another day. Since it directly calls into the low level iommu code, I see no problem in having it directly test against DMA_ERROR_CODE instead of using the accessors with a NULL argument for now. Signed-off-by: Benjamin Herrenschmidt commit 3d3792cb455d15881144e9dfba4c67eece260a69 Author: Takashi Iwai Date: Fri Sep 11 07:50:47 2009 +0200 ALSA: hda - Add missing model=auto entry for ALC269 Signed-off-by: Takashi Iwai commit b7802c5c1ea9563f3746bea09c214ccedc8600f4 Author: Dmitry Torokhov Date: Wed Sep 9 19:13:20 2009 -0700 Input: psmouse - use boolean type Signed-off-by: Dmitry Torokhov commit f81134163fc785622f58af27363079ba1de7c7aa Author: Dmitry Torokhov Date: Wed Sep 9 19:08:17 2009 -0700 Input: i8042 - use platform_driver_probe i8042 is not hot-pluggable and we create the device when we register the driver, so let's save some memory by using platform_device_probe and using __init instead of __devinit. Signed-off-by: Dmitry Torokhov commit 386b384900a200d5fcabdd4a9c27eb21db606cd4 Author: Dmitry Torokhov Date: Wed Sep 9 19:08:16 2009 -0700 Input: i8042 - use boolean type where it makes sense Signed-off-by: Dmitry Torokhov commit 5ddbc77c3eb54336fcd44b7b66b44784d65677e2 Author: Dmitry Torokhov Date: Wed Sep 9 19:08:15 2009 -0700 Input: i8042 - try disabling and re-enabling AUX port at close Ever since we switched from having a polling timer to registering IRQ handlers for both keyboard and AUX ports at the driver registration time, on certain boxes probing for a mouse results in keyboard stopping working. The only real difference between old and new way is that before we disabled ports after unsuccessful probe whereas now we leave them as is. Try to emulate the old behavior by disabling and immediately re-enabling AUX and KBD ports when corresponding serio port is being closed. Signed-off-by: Dmitry Torokhov commit bd96f37895197563bc1d6d6f7c012b3ae7df1c45 Author: Dmitry Torokhov Date: Fri Sep 4 23:46:18 2009 -0700 Input: pxa27x_keypad - allow modifying keymap from userspace Tested-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Dmitry Torokhov commit 7cac9cd935533e52e277c0c8799a8ba16c24f250 Author: Dmitry Torokhov Date: Thu Sep 3 21:57:48 2009 -0700 Input: sunkbd - fix formatting Adjust the way 'switch' statements were indented; make sure we stay under 80 ciolumns. Signed-off-by: Dmitry Torokhov commit 1c7827ae70e7c8456e08f7bb9ef2238d27814cbe Author: Dmitry Torokhov Date: Thu Sep 3 21:45:34 2009 -0700 Input: i8042 - bypass AUX IRQ delivery test on laptops It seems that many laptops do not fully implement AUX LOOP command in their keyboard controllers, causing issues with touchpad detection. We know however that almost every laptop/portable uses a PS/2 pointing device and, even if user disables it in favor of an external mouse, the system will not use IRQ 12 for anything else. Therefore we may bypass AUX IRQ delivery test when running on a laptop and assume that it is routed properly. Just to be safe we require the box to have good PNP data in order to bypass the test. [Jin Dongming : fix crash caused by missing terminator in the DMI table] Signed-off-by: Dmitry Torokhov commit 73f526da0260db5376951373c267596993dc13a8 Merge: 45c448a b76aabc Author: Roland Dreier Date: Thu Sep 10 21:19:45 2009 -0700 Merge branch 'mad' into for-linus Conflicts: drivers/infiniband/core/mad.c commit 45c448a1c0bed9c7eab6064493a7c5d94defcafd Merge: ffc40c6 6303e74 286b63d 5e47596 cb58160 3b4a8cd d841064 cd1d3f7 Author: Roland Dreier Date: Thu Sep 10 21:18:07 2009 -0700 Merge branches 'cxgb3', 'ehca', 'ipath', 'ipoib', 'misc', 'mlx4', 'mthca' and 'nes' into for-linus commit bc00351edd5c1b84d48c3fdca740fedfce4ae6ce Author: Geoff Levand Date: Wed Sep 9 13:28:05 2009 +0000 powerpc/ps3: Workaround for flash memory I/O error A workaround for flash memory I/O errors when the PS3 internal hard disk has not been formatted for OtherOS use. This error condition mainly effects 'Live CD' users who have not formatted the PS3's internal hard disk for OtherOS. Fixes errors similar to these when using the ps3-flash-util or ps3-boot-game-os programs: ps3flash read failed 0x2050000 os_area_header_read: read error: os_area_header: Input/output error main:627: os_area_read_hp error. ERROR: can't change boot flag Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit c6c9eacef09a94b5866b83556196440aca876702 Author: Benjamin Herrenschmidt Date: Tue Sep 8 14:16:58 2009 +0000 powerpc/booke: Don't set DABR on 64-bit BookE, use DAC1 instead Also remove a duplicate setting of it in the context switch path on BookE. Signed-off-by: Benjamin Herrenschmidt commit e51ee31e8af22948dcc3b115978469b09c96c3fd Author: Paul Mackerras Date: Wed Sep 9 20:28:49 2009 +0000 powerpc/perf_counters: Reduce stack usage of power_check_constraints Michael Ellerman reported stack-frame size warnings being produced for power_check_constraints(), which uses an 8*8 array of u64 and two 8*8 arrays of unsigned long, which are currently allocated on the stack, along with some other smaller variables. These arrays come to 1.5kB on 64-bit or 1kB on 32-bit, which is a bit too much for the stack. This fixes the problem by putting these arrays in the existing per-cpu cpu_hw_counters struct. This is OK because two of the call sites have interrupts disabled already; for the third call site we use get_cpu_var, which disables preemption, so we know we won't get a context switch while we're in power_check_constraints(). Note that power_check_constraints() can be called during context switch but is not called from interrupts. Reported-by: Michael Ellerman Signed-off-by: Paul Mackerras Cc: commit a6dbf93a2ad853585409e715eb96dca9177e3c39 Author: Paul Mackerras Date: Wed Sep 9 01:26:03 2009 +0000 powerpc: Fix bug where perf_counters breaks oprofile Currently there is a bug where if you use oprofile on a pSeries machine, then use perf_counters, then use oprofile again, oprofile will not work correctly; it will lose the PMU configuration the next time the hypervisor does a partition context switch, and thereafter won't count anything. Maynard Johnson identified the sequence causing the problem: - oprofile setup calls ppc_enable_pmcs(), which calls pseries_lpar_enable_pmcs, which tells the hypervisor that we want to use the PMU, and sets the "PMU in use" flag in the lppaca. This flag tells the hypervisor whether it needs to save and restore the PMU config. - The perf_counter code sets and clears the "PMU in use" flag directly as it context-switches the PMU between tasks, and leaves it clear when it finishes. - oprofile setup, called for a new oprofile run, calls ppc_enable_pmcs, which does nothing because it has already been called. In particular it doesn't set the "PMU in use" flag. This fixes the problem by arranging for ppc_enable_pmcs to always set the "PMU in use" flag. It makes the perf_counter code call ppc_enable_pmcs also rather than calling the lower-level function directly, and removes the setting of the "PMU in use" flag from pseries_lpar_enable_pmcs, since that is now done in its caller. This also removes the declaration of pasemi_enable_pmcs because it isn't defined anywhere. Reported-by: Maynard Johnson Signed-off-by: Paul Mackerras Cc: commit 757cbd46d11cfa7506b7dd5dd6657ae645bf6a17 Author: Kumar Gala Date: Tue Sep 8 17:38:52 2009 +0000 powerpc/85xx: Fix SMP compile error and allow NULL for smp_ops The following commit introduced a compile error since it removed the implementation of smp_85xx_basic_setup: commit 77c0a700c1c292edafa11c1e52821ce4636f81b0 Author: Benjamin Herrenschmidt Date: Fri Aug 28 14:25:04 2009 +1000 powerpc: Properly start decrementer on BookE secondary CPUs Make it so that smp_ops probe() and setup_cpu() can be set to NULL. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 8708d002c416b8bf87351bc626d15d7407896edb Author: Wolfram Sang Date: Thu Sep 10 12:47:20 2009 +0000 powerpc/irq: Improve nanodoc The OF helpers look like nanodoc but are missing the header. Fix this and a typo (s/nad/and/) while we are here. Signed-off-by: Wolfram Sang Signed-off-by: Benjamin Herrenschmidt commit 9a0da0d19c573e01aded6ac17747d2efc5b1115f Merge: ec282e9 8a56df0 Author: David S. Miller Date: Thu Sep 10 18:17:09 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit 80938332d8cf652f6b16e0788cf0ca136befe0b5 Author: Michal Hocko Date: Tue Sep 8 11:01:55 2009 +0200 x86: Increase MIN_GAP to include randomized stack Currently we are not including randomized stack size when calculating mmap_base address in arch_pick_mmap_layout for topdown case. This might cause that mmap_base starts in the stack reserved area because stack is randomized by 1GB for 64b (8MB for 32b) and the minimum gap is 128MB. If the stack really grows down to mmap_base then we can get silent mmap region overwrite by the stack values. Let's include maximum stack randomization size into MIN_GAP which is used as the low bound for the gap in mmap. Signed-off-by: Michal Hocko LKML-Reference: <1252400515-6866-1-git-send-email-mhocko@suse.cz> Acked-by: Jiri Kosina Signed-off-by: H. Peter Anvin Cc: Stable Team commit 5367b6887e7d8c870a5da7d9b8c6e9c207684e43 Author: Ben Hutchings Date: Thu Sep 10 02:53:50 2009 +0100 x86: Fix code patching for paravirt-alternatives on 486 As reported in and , kernels with paravirt-alternatives enabled crash in text_poke_early() on at least some 486-class processors. The problem is that text_poke_early() itself uses inline functions affected by paravirt-alternatives and so will modify instructions that have already been prefetched. Pentium and later processors will invalidate the prefetched instructions in this case, but 486-class processors do not. Change sync_core() to limit prefetching on 486-class (and 386-class) processors, and move the call to sync_core() above the call to the modifiable local_irq_restore(). Signed-off-by: Ben Hutchings LKML-Reference: <1252547631.3423.134.camel@localhost> Signed-off-by: H. Peter Anvin commit a3c8b97396ef42edfb845788ba6f53b2a93ce980 Merge: 74fca6a 9f0ab4a Author: James Morris Date: Fri Sep 11 08:04:49 2009 +1000 Merge branch 'next' into for-linus commit 0d03d59d9b31cd1e33b7e46a80b6fef66244b1f2 Author: Geert Uytterhoeven Date: Thu Sep 10 23:13:28 2009 +0200 md: Fix "strchr" [drivers/md/dm-log-userspace.ko] undefined! Commit b8313b6da7e2e7c7f47d93d8561969a3ff9ba0ea ("dm log: remove incorrect field from userspace table output") added a call to strstr() with a single-character "needle" string parameter. Unfortunately some versions of gcc replace such calls to strstr() by calls to strchr() behind our back. This causes linking errors if strchr() is defined as an inline function in (e.g. on m68k): | WARNING: "strchr" [drivers/md/dm-log-userspace.ko] undefined! Avoid this by explicitly calling strchr() instead. Signed-off-by: Geert Uytterhoeven Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit fc06b8520b3bf9aaeb2e27debe6719c215bd4916 Author: Steven Rostedt Date: Thu Sep 10 17:22:44 2009 -0400 x86/tracing: comment need for atomic nop The dynamic function tracer relys on the macro P6_NOP5 always being an atomic NOP. If for some reason it is changed to be two operations (like a nop2 nop3) it can faults within the kernel when the function tracer modifies the code. This patch adds a comment to note that the P6_NOPs are expected to be atomic. This will hopefully prevent anyone from changing that. Reported-by: Mathieu Desnoyer Signed-off-by: Steven Rostedt commit 6c19efb46aacf2c5043ad210b888ee58ffb848c0 Author: Jonathan Corbet Date: Tue Sep 8 17:49:37 2009 -0600 Document the flex_array library. A brief document on how to use flexible arrays, derived from an article first published on LWN. Signed-off-by: Jonathan Corbet commit e8188807b7cd14e0a001946005f0c58f9dd9dfe6 Author: Jesper Dangaard Brouer Date: Tue May 26 15:18:52 2009 +0200 Doc: seq_file.txt fix wrong dd command example. Small error in the "dd" command example, "out=" should be "of=". Signed-off-by: Jesper Dangaard Brouer Signed-off-by: Jonathan Corbet commit a4872d5b6ad69a49975c0268828b5bb2317ea5a0 Merge: 4734d40 74fca6a Author: Alex Elder Date: Thu Sep 10 14:33:56 2009 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit e1f8450854d69f0291882804406ea1bab3ca44b4 Author: Ingo Molnar Date: Thu Sep 10 20:52:09 2009 +0200 sched: Fix sched::sched_stat_wait tracepoint field This weird perf trace output: cc1-9943 [001] 2802.059479616: sched_stat_wait: task: as:9944 wait: 2801938766276 [ns] Is caused by setting one component field of the delta to zero a bit too early. Move it to later. ( Note, this does not affect the NEW_FAIR_SLEEPERS interactivity bug, it's just a reporting bug in essence. ) Acked-by: Peter Zijlstra Cc: Nikos Chantziaras Cc: Jens Axboe Cc: Mike Galbraith LKML-Reference: <4AA93D34.8040500@arcor.de> Signed-off-by: Ingo Molnar commit 78c86e5e5691fc84d5fbea0cd4ac7147e87b7490 Author: Jeremy Fitzhardinge Date: Thu Sep 10 10:09:38 2009 -0700 x86: split __phys_addr out into separate file Split __phys_addr out into its own file so we can disable -fstack-protector in a fine-grained fashion. Also it doesn't have terribly much to do with the rest of ioremap.c. Signed-off-by: Jeremy Fitzhardinge commit 3f2aa307c4d26b4ed6509d0a79e8254c9e07e921 Author: Ingo Molnar Date: Thu Sep 10 20:34:48 2009 +0200 sched: Disable NEW_FAIR_SLEEPERS for now Nikos Chantziaras and Jens Axboe reported that turning off NEW_FAIR_SLEEPERS improves desktop interactivity visibly. Nikos described his experiences the following way: " With this setting, I can do "nice -n 19 make -j20" and still have a very smooth desktop and watch a movie at the same time. Various other annoyances (like the "logout/shutdown/restart" dialog of KDE not appearing at all until the background fade-out effect has finished) are also gone. So this seems to be the single most important setting that vastly improves desktop behavior, at least here. " Jens described it the following way, referring to a 10-seconds xmodmap scheduling delay he was trying to debug: " Then I tried switching NO_NEW_FAIR_SLEEPERS on, and then I get: Performance counter stats for 'xmodmap .xmodmap-carl': 9.009137 task-clock-msecs # 0.447 CPUs 18 context-switches # 0.002 M/sec 1 CPU-migrations # 0.000 M/sec 315 page-faults # 0.035 M/sec 0.020167093 seconds time elapsed Woot! " So disable it for now. In perf trace output i can see weird delta timestamps: cc1-9943 [001] 2802.059479616: sched_stat_wait: task: as:9944 wait: 2801938766276 [ns] That nsec field is not supposed to be that large. More digging is needed - but lets turn it off while the real bug is found. Reported-by: Nikos Chantziaras Tested-by: Nikos Chantziaras Reported-by: Jens Axboe Tested-by: Jens Axboe Acked-by: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <4AA93D34.8040500@arcor.de> Signed-off-by: Ingo Molnar commit e7a51997dad4e17395be1209970e18d2e9305b24 Author: Joe Eykholt Date: Tue Aug 25 14:04:08 2009 -0700 [SCSI] fcoe: flush per-cpu thread work when destroying interface This fixes one cause of an occational problem when unloading libfc where the exchange manager pool doesn't have all items freed. The existing WARN_ON(mp->total_exches <= 0) isn't hit. However, note that total_exches is decremented when the exchange is completed, and it can be held with a refcnt for a while after that. I'm not sure what the offending exchange is, but I suspect it is an incoming request, because outgoing state machines should be all stopped at this point. Note that although receive is stopped before the exchange manager is freed, there could still be active threads handling received frames. This patch flushes the queues by allocating a new skb and sending it through, and have the thread handle this new skb specially. This is similar to the way the work queues are flushed now by putting work items in them and waiting until they make it through the queue. An skb->destructor function is used to inform us of the completion of the flush, and the fr_dev() is left NULL to indicate to fcoe_percpu_receive_thread() that the skb should be just freed. There's already a check for the lp being NULL which prints a message. We skip printing the message if the destructor is for flushing. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 1d490ce33ee8b93638d09e471a3bc66ae33b6606 Author: Joe Eykholt Date: Tue Aug 25 14:04:03 2009 -0700 [SCSI] libfc: don't swap OX_ID and RX_ID when sending BA_RJT I saw an lport debug message from the exchange manager saying: "lport 70500: Received response for out of range oxid:ffff" A trace showed this was a BA_RJT sent due to an incoming ABTS which arrived on an unknown exchange. So, the sender of the BA_RJT was in error, but in this case, both the initiator and responder were the same machine. The OX_ID and RX_ID should not have been reversed in this case. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 2ab7e1ecb81ce35ed8e8df512e3fc6338a4c55bb Author: Joe Eykholt Date: Tue Aug 25 14:03:58 2009 -0700 [SCSI] libfc: send GPN_ID in reaction to single-port RSCNs. When an RSCN indicates changes to individual remote ports, don't blindly log them out and then back in. Instead, determine whether they're still in the directory, by doing GPN_ID. If that is successful, call login, which will send ADISC and reverify, otherwise, call logoff. Perhaps we should just delete the rport, not send LOGO, but it seems safer. Also, fix a possible issue where if a mix of records in the RSCN cause us to queue disc_ports for disc_single and then we decide to do full rediscovery, we leak memory for those disc_ports queued. So, go through the list of disc_ports even if doing full discovery. Free the disc_ports in any case. If any of the disc_single() calls return error, do a full discovery. The ability to fill in GPN_ID requests was added to fc_ct_fill(). For this, it needs the FC_ID to be passed in as an arg. The did parameter for fc_elsct_send() is used for that, since the actual D_DID will always be 0xfffffc for all CT requests so far. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 8abbe3a42324264c9d5cc4e7c3d265b5be6d82d6 Author: Joe Eykholt Date: Tue Aug 25 14:03:52 2009 -0700 [SCSI] libfc: fix handling of incoming Discover Address (ADISC) requests The local port facility has been replying to ADISC requests without looking to see if the remote port is logged in. This is incorrect. An ADISC request requires PLOGI first. It should be rejected if the sending remote port is not logged in. This is like other incoming requests that require login, all of which should be handled in the remote port module. Move the ADISC request handling from fc_lport.c to fc_rport.c. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 370c3bd05cf02afabea9cd3f2de66202d6b516dc Author: Joe Eykholt Date: Tue Aug 25 14:03:47 2009 -0700 [SCSI] libfc: use ADISC to verify rport login state When rport_login is called on an rport that is already thought to be logged in, use ADISC. If that fails, redo PLOGI. This is less disruptive after fabric changes that don't affect the state of the target. Implement the sending of ADISC via fc_els_fill. Add ADISC state to the rport state machine. This is entered from READY and returns to READY after successful completion. If it fails, the rport is either logged off and deleted or re-does PLOGI. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 68a1750b46ad5177f7703081b5fe85624f1aa62b Author: Joe Eykholt Date: Tue Aug 25 14:03:42 2009 -0700 [SCSI] libfc: LOGO response code had extraeous enter_rtv fc_rport_logo_resp() had a call to fc_rport_enter_rtv() if the LOGO was accepted. This must've been a copy/paste mistake, but it didn't matter since we don't stay in the LOGO state long enough to hit this code. Change fc_rport_logo_resp() to just enter the delete state no matter what. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit feab4ae73031699fcf92a88f4b1e4ec1b14157a5 Author: Joe Eykholt Date: Tue Aug 25 14:03:36 2009 -0700 [SCSI] libfc: re-login to remote ports that send us LOGO After a quick link flap, a target was seen to send us a LOGO. Apparently, it saw an RSCN reporting that we had dropped out of the fabric after we had logged back into it. This is likely in larger fabrics (more than 2 FC switches) after a quick link flap at the initiator. Each link transition causes an port-specific RSCN to the target. After the link comes back up, the initiator successfully discovers and does a PLOGI to the target before the target sees the first RSCN reporting the initiator is gone, and it sends a LOGO. The target may see a subsequent RSCN saying the port is back, but probably wouldn't send a PLOGI and leaves it up to the initiator to re-login. An RSCN can be delayed by the switches due to software layers but a PLOGI is forwarded in hardware causing the PLOGI to beat the RSCN. If a remote port is in the discovered set and sends a LOGO, re-login to it. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 83fe6a93465750d1a20221aaa9a253d9ea7fe45c Author: Joe Eykholt Date: Tue Aug 25 14:03:31 2009 -0700 [SCSI] libfc: fix rport error handling for login-required and invalid ops When receiving an ELS request, if the request isn't recognized, the unsupported operation error should be given even if the port is not found or not logged in. Also, the LOGO request shouldn't give the login-required explanation. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 3ac6f98f4113ec1c115cf9d443a9bff816e47c0b Author: Joe Eykholt Date: Tue Aug 25 14:03:26 2009 -0700 [SCSI] libfc: correctly handle incoming PLOGI request. libfc receives PLOGIs from switches which are trying to discover what kind of devices are present, and from other initiators to find out if we're a target. As an initiator, some argue we don't need to handle incoming PLOGI requests, and we currently reject them from unknown remote ports, but accept them is we're in the middle of a PLOGI to the remote port. For eventual target implementations, we want to handle them always. For incoming PLOGI, don't fail if the rport_priv doesn't exist. Just create it and go become READY without going through PRLI. If PRLI occurs, then our roles will be set and we'll become READY again. Also, allow incoming PRLI in RTV state. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit f657d299cf05883e23e12a69e86842da1df378ad Author: Joe Eykholt Date: Tue Aug 25 14:03:21 2009 -0700 [SCSI] libfc: improve debug messages for ELS response handlers Improve lport and rport debug messages to indicate whether the response is LS_ACC, LS_RJT, closed, or timeout. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 25b37b981e706c6df72c28c94f7787c3ea0cd343 Author: Joe Eykholt Date: Tue Aug 25 14:03:15 2009 -0700 [SCSI] libfc: fix: rport_recv_req needs disc_mutex when calling rport_lookup The rport_lookup function must be called while holding the disc_mutex. Otherwise, the rdata could be deleted just after that by another thread. All callers now check the state after grabbing the rdata rp_mutex. Even though rport_lookup skips ports in DELETE state, it does that without holding the rdata rp_mutex, so that the state may change. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 131203a1ef53f3a4deb3260031bc53c7e4db4a24 Author: Joe Eykholt Date: Tue Aug 25 14:03:10 2009 -0700 [SCSI] libfc: move remote port lookup for ELS requests into fc_rport.c. This moves the remote port lookup for incoming ELS requests into fc_rport.c, in preparation for handing PLOGI and LOGO from unknown rports. This changes the arg to rport_recv_req from an rdata to an lport. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 6bd054cbf3f7da3442f30a7d4eb7da4dd1c44f21 Author: Robert Love Date: Tue Aug 25 14:03:04 2009 -0700 [SCSI] libfc: Always reset remote port roles when receiving PRLI Don't trust previous roles, reset them when we receive a PRLI. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 9737e6a7b5b8af48f983cd565df93493597c565b Author: Robert Love Date: Tue Aug 25 14:02:59 2009 -0700 [SCSI] libfc: Initialize fc_rport_identifiers inside fc_rport_create Currently these values are initialized by the callers. This was exposed by a later patch that adds PLOGI request support. The patch failed to initialize the new remote port's roles and it caused problems. This patch has the rport_create routine initialize the identifiers and then the callers can override them with real values. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 935d0fce44b906268b8a29de4e72ebb57a3a06d8 Author: Joe Eykholt Date: Tue Aug 25 14:02:54 2009 -0700 [SCSI] libfc: don't do discovery before callback is set It's possible to "restart" discovery before it was started if an RSCN is received early enough. We were jumping to 0 due to the disc_callback function pointer not getting set. Don't restart discovery if disc_callback is NULL. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 29d898e909e3d086055e2649f5a24d4c2c1ca884 Author: Joe Eykholt Date: Tue Aug 25 14:02:49 2009 -0700 [SCSI] libfc: clean up point-to-point discovery code. The discovery code had a special-case for the point-to-point mode, which used a bunch of code that wasn't really needed. Now that rport_create adds the rport to the discovery list, completely skip discovery for the point-to-point case. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 81a67b9717d9e4f81bed7d1f2df6ba86aaab9ad9 Author: Joe Eykholt Date: Tue Aug 25 14:02:43 2009 -0700 [SCSI] libfc: discovery gpn_ft parse bug In fc_disc_gpn_ft_parse(), after fc_disc_done() is called, the disc state is changed by setting buf_len = 0. This is wrong since the discovery may have restarted. Instead, return after calling fc_disc_done. Also, return an error on memory allocation failure. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 3667d7e7f7bb63a394f73a671fdaf4a187aa858e Author: Joe Eykholt Date: Tue Aug 25 14:02:38 2009 -0700 [SCSI] libfc: discovery retry should clear pending first. Currently fc_disc_timeout() restarts discovery only if it is not pending. When the timer is scheduled, the discovery is left pending, so the timeout never restarts it. Fix by not checking for pending in the timeout handler. If discovery is stopped and restarted in the meantime, the timeout will be canceled. Also, when a new discovery is started, the retry count wasn't cleared. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit c762608bf75f792dcaf3658338189b9970951704 Author: Joe Eykholt Date: Tue Aug 25 14:02:33 2009 -0700 [SCSI] libfc: fix: empty zone causes endless discovery retries. On some switches, an empty zone causes GPN_FT to be rejected with reason 9 (unable) explanation 7 (FC-4 types not registered), which causes discovery to be retried endlessly. Treat this as just an empty response and consider discovery complete. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 883a337cf8969b2906ffd8aeb838d875f7338190 Author: Joe Eykholt Date: Tue Aug 25 14:02:27 2009 -0700 [SCSI] libfc: handle discovery failure more correctly. Abhijeet Joglekar wrote: "In gpn_ft_resp, if the payload is short, or unexpected response or out of sequence frame, then we just return and do nothing. We should either enter fc_disc_done() with DISC_EV_FAIL which will then restart any queued discovery requests or call lport module which will reset local port, or we should call fc_disc_error() so that the gpn_ft is retried. The situation as is causes discovery to remain pending and never get restarted, in these rare cases. We saw this due to a coding bug in fc_disc before. The only ways it could happen would be bugs, packet corruption or an FC fabric problem. Change it to fail discovery. The local port will restart discovery, although it probably should just give up until the next link flap. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a1c1e4e76c68f564cddc0b43842b895464f7865f Author: Joe Eykholt Date: Tue Aug 25 14:02:22 2009 -0700 [SCSI] libfc: rearrange code in fc_disc_gpn_ft_resp() Code cleanup for fc_disc_gpn_ft_resp(). Some of the fc_disc.c code was poorly formatted. For example, some lines in fc_disc.c were unnecessarily truncated and the buf variable could be eliminated. Also moved the increment of seq_count into fc_disc_gpn_ft_parse(), to avoid doing it separately before each call. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit c356afd48690775097507c37780ee17c0b0ea375 Author: Joe Eykholt Date: Tue Aug 25 14:02:17 2009 -0700 [SCSI] libfc: discovery restart sequence error fix When an RSCN is received during fabric discovery, it restarts. After the restart, disc->seq_count was incremented, so when the first frame was received, it was considered "out of sequence". That left the state disc->active, preventing further discoveries. Change to advance the sequence count before parsing, so that it won't be changed after a potential restart. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 0f6c6149870e03c722af6eae406758b28cb71320 Author: Joe Eykholt Date: Tue Aug 25 14:02:11 2009 -0700 [SCSI] libfc: do not log off rports before or after discovery When receiving an RSCN, do not log off all rports. This is extremely disruptive. If, after the GPN_FT response, some rports haven't been listed, delete them. Add field disc_id to structs fc_rport_priv and fc_disc. disc_id is an arbitrary serial number used to identify the rports found by the latest discovery. This eliminates the need to go through the rport list when restarting discovery. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 8025b5db7e10cd90cadec940cc766be3bbda65e8 Author: Joe Eykholt Date: Tue Aug 25 14:02:06 2009 -0700 [SCSI] libfc: move rport_lookup into fc_rport.c Move the libfc remote port lookup function into fc_rport.c. This seems like the best place for it. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 8345592b8388b51e0f52f63e94a5a5d3f07fda9a Author: Joe Eykholt Date: Tue Aug 25 14:02:01 2009 -0700 [SCSI] libfc: change to make remote port callback optional Since the rport list maintenance is now done in the rport module, the callback (and ops) are usually not necessary. Allow rdata->ops to be left NULL if nothing needs to be done in an event callback. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 19f97e3c0acc5eb03486044f5428395b7690a01a Author: Joe Eykholt Date: Tue Aug 25 14:01:55 2009 -0700 [SCSI] libfc: have rport_create do a lookup for pre-existing rports first For future discovery patches, change rport_create to return a previously created rport_priv that has the FC_ID as long as it isn't in deleted state. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 48f00902ba40d3e4467782a42258b952437a89f9 Author: Joe Eykholt Date: Tue Aug 25 14:01:50 2009 -0700 [SCSI] libfc: make rport module maintain the rport list The list of remote ports (struct fc_rport_priv) has been maintained by the discovery module. In preparation for having lport->tt.rport_create() do a lookup first, maintain the rports list in the rport module. It will still be protected by the disc_mutex. The DNS rport is an exception for until after further patches. For now, do not add it to the list. The point-to-point rport will be in the discovery list. So at shutdown, it doesn't need to be separately logged out. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit b5cbf083736e14911c32fca2a93c540a92e8413d Author: Joe Eykholt Date: Tue Aug 25 14:01:44 2009 -0700 [SCSI] libfc: simplify fc_lport_rport_callback The lport rport callback can only be called for the dNS rport, since its the only rport who's ops point to that function. Remove unnecessary checking and debug messages. Put the locking outside the switch statement as a simplification. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit cdbe6dfece038e75214735d56cd06319b9a6df46 Author: Joe Eykholt Date: Tue Aug 25 14:01:39 2009 -0700 [SCSI] libfc: rport debug messages were printing pointer values Don't print large negative decimal numbers for frame pointers in the debug messages from fc_rport_error(). Just print 0 if its a frame pointer, and print the error numbers as positive. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit b84c7962653e4d04065d2603f0e1424ee0f455ae Author: Joe Eykholt Date: Tue Aug 25 14:01:34 2009 -0700 [SCSI] libfc: remove unused disc->delay element Delete unused disc->delay element. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 786681b96fc1a5b94d187160b7bf80bf6b4681ed Author: Joe Eykholt Date: Tue Aug 25 14:01:29 2009 -0700 [SCSI] libfc: eliminate disc->event There was no need to have the discovery status stored in struct fc_disc. Change fc_disc_done() to take the discovery status as an argument and just pass it on to the discovery callback. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 00fea930d404b9a9039291d5a61975e6c2ea974e Author: Joe Eykholt Date: Tue Aug 25 14:01:23 2009 -0700 [SCSI] libfc: fix rport event race between READY and LOGO When a remote port becomes ready and a LOGO is received before the READY event is in rport_work waiting on the mutex, the event is changed to LOGO and the work queued, so both the calls to rport_work see the LOGO event, and both try to do the list_del(), causing a crash. Don't change the event if it is already set. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 9e9d0452fe12115b1c1883c0d4d2ee509079791b Author: Joe Eykholt Date: Tue Aug 25 14:01:18 2009 -0700 [SCSI] libfc: don't create dummy (rogue) remote ports Don't create a "dummy" remote port to go with fc_rport_priv. Make the rport truly optional by allocating fc_rport_priv separately and not requiring a dummy rport to be there if we haven't yet done fc_remote_port_add(). The fc_rport_libfc_priv remains as a structure attached to the rport for I/O purposes. Be sure to hold references on rdata when the lock is dropped in fc_rport_work(). Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 4c0f62b5679321b2e5572cf541ffb9f7b344d47c Author: Joe Eykholt Date: Tue Aug 25 14:01:12 2009 -0700 [SCSI] libfc: rename rport event CREATED to READY Remote ports will become READY more than once after ADISC is implemented in a later patch. The event callback that has been called "CREATED" will mean "READY". Rename it now in preparation for those changes. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 629f44279d169f29b084d406e9f1c33314f220fa Author: Joe Eykholt Date: Tue Aug 25 14:01:06 2009 -0700 [SCSI] libfc: rearrange code in fc_rport_work This is a cleanup without semantic changes to use a switch statement instead of a series of if-statements in fc_rport_work(), and to move some declarations up to the top. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit f211fa514a07326c0f9364c0e6ed17e38860172f Author: Joe Eykholt Date: Tue Aug 25 14:01:01 2009 -0700 [SCSI] libfc: make rport structure optional Allow a struct fc_rport_priv to have no fc_rport associated with it. This sets up to remove the need for "rogue" rports. Add a few fields to fc_rport_priv that are needed before the fc_rport is created. These are the ids, maxframe_size, classes, and rport pointer. Remove the macro PRIV_TO_RPORT(). Just use rdata->rport where appropriate. To take the place of the get_device()/put_device ops that were used to hold both the rport and rdata, add a reference count to rdata structures using kref. When kref_get decrements the refcount to zero, a new template function releasing the rdata should be called. This will take care of freeing the rdata and releasing the hold on the rport (for now). After subsequent patches make the rport truly optional, this release function will simply free the rdata. Remove the simple inline function fc_rport_set_name(), which becomes semanticly ambiguous otherwise. The caller will set the port_name and node_name in the rdata->Ids, which will later be copied to the rport when it its created. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a46f327aa5caf2cce138e98ddd863b6cca0e71e2 Author: Joe Eykholt Date: Tue Aug 25 14:00:55 2009 -0700 [SCSI] libfc: change elsct to use FC_ID instead of rdata tt.elsct_send is used by both FCP and by the rport state machine. After further patches, these two modules will use different structures for the remote port. So, change elsct_send to use the FC_ID instead of the fc_rport_priv as its argument. It currently only uses the FC_ID anyway. For CT requests the destination FC_ID is still implicitly 0xfffffc. After further patches the did arg on CT requests will be used to specify the FC_ID being inquired about for GPN_ID or other queries. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 9fb9d32831fd687e427ec5b147bb690f468b99a0 Author: Joe Eykholt Date: Tue Aug 25 14:00:50 2009 -0700 [SCSI] libfc: make fc_rport_priv the primary rport interface. The rport and discovery modules deal with remote ports before fc_remote_port_add() can be done, because the full set of rport identifiers is not known at early stages. In preparation for splitting the fc_rport/fc_rport_priv allocation, make fc_rport_priv the primary interface for the remote port and discovery engines. The FCP / SCSI layers still deal with fc_rport and fc_rport_libfc_priv, however. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 922aa210bcad4b34a7bb98ec9d318b7e59e7a5ca Author: Joe Eykholt Date: Tue Aug 25 14:00:45 2009 -0700 [SCSI] libfc: fix RPORT_TO_PRIV and PRIV_TO_RPORT() macros. These macros introduce extra undesirable semicolons that keep them from being used in expressions, and they don't protect against being passed an expression. Add parens and remove the semicolons. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 795d86f55ec3bf6280dda368f208943f1fb7d366 Author: Joe Eykholt Date: Tue Aug 25 14:00:39 2009 -0700 [SCSI] libfc: change interface for rport_create The interface for lport->tt.rport_create() takes a fc_disc_port arg, which is unnatural for most calls. The only reason for this was to avoid passing in the local port as an argument, but otherwise added to complexity. Simplify by just using lport and fc_rport_identifiers. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit ab28f1fd3b0d14c1bd693e640decd711d5e6642a Author: Joe Eykholt Date: Tue Aug 25 14:00:34 2009 -0700 [SCSI] libfc: prepare to split off struct fc_rport_priv from fc_rport_libfc_priv While the I/O and LLD interfaces use fc_rport_libfc_priv, the disc and rport interfaces will use fc_rport_priv, which will be separately allocated. Change the disc and rport usage of fc_rport_libfc_priv to fc_rport_priv. Use #define temporarily to make both names equivalent until a subsequent patch splits them. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 090eb6c41aa74273d3f0721637cff738cfd80669 Author: Chris Leech Date: Tue Aug 25 14:00:28 2009 -0700 [SCSI] fcoe: use rtnl mutex in place of hostlist lock This just cuts down on the number of locks we're dealing with, and eliminates the need to take another lock in the netdev notifier. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 2e70e2415193b84c1b79ec373af15c3f280ad7c4 Author: Chris Leech Date: Tue Aug 25 14:00:23 2009 -0700 [SCSI] fcoe: Fix module ref count bug by adding NETDEV UNREGISTER handling Fixes reference counting on fcoe_instance and net_device, and adds NETDEV_UNREGISTER notifier handling so that you can unload network drivers. FCoE no longer increments the module use count for the network driver. On an NETDEV_UNREGISTER event, destroying the FCoE instance is deferred to a workqueue context to avoid RTNL deadlocks. Based in part by an earlier patch from John Fastabend John's patch description: Currently, the netdev module ref count is not decremented with module_put() when the module is unloaded while fcoe instances are present. To fix this removed reference count on netdev module completely and added functionality to netdev event handling for NETDEV_UNREGISTER events. This allows fcoe to remove devices cleanly when the netdev module is unloaded so we no longer need to hold a reference count for the netdev module. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit c863df33bb784eecfb24090d2258fa0d3f653750 Author: Chris Leech Date: Tue Aug 25 14:00:18 2009 -0700 [SCSI] fcoe: move the host-list add/remove to keep out VN_Ports We only want the FCoE create and destroy routines to deal with top level N_Ports, the VN_Ports are tracked on the vport list (see scsi_transport_fc). Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit dfc1d0fe3a8b2139295600ab519f24059493e6f6 Author: Chris Leech Date: Tue Aug 25 14:00:13 2009 -0700 [SCSI] fcoe: add mutex to protect create and destroy Rather than rely on the hostlist_lock to be held while creating exchange managers, serialize fcoe instance creation and destruction with a mutex. This will allow the hostlist addition to be moved out of fcoe_if_create(), which will simplify NPIV support. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 54b649f88eb17a29687bece4b8ad7d72d99e2d95 Author: Chris Leech Date: Tue Aug 25 14:00:07 2009 -0700 [SCSI] fcoe: split out per interface setup fcoe_netdev_config() is called during initialization of a libfc instance. Much of what was there only needs to be done once for each net_device. The same goes for the corresponding cleanup. The FIP controller initialization is moved to interface creation time. Otherwise it will keep getting re-initialized for every VN_Port once NPIV is enabled. fcoe_if_destroy() has some reordering to deal with the changes. Receives are not stopped until after fcoe_interface_put() is called, but transmits must be stopped before. So there is some care to stop libfc transmits and the transmit backlog timer, then call fcoe_interface_put which will stop receives and cleanup the FIP controller, then the receive queues can be cleaned and the port freed. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 030f4e001f13e0ee80bac1e756013341b1674d10 Author: Chris Leech Date: Tue Aug 25 14:00:02 2009 -0700 [SCSI] fcoe: fcoe_interface create, destroy and refcounting Up to this point the fcoe_instance structure was simply kzalloc/kfreed. This patch introduces create and destroy functions as well as kref based reference counting. The create function will grow as the initialization code is moved there. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit cb0a6ca81439a9f113d3b46de0953da168a06f6a Author: Chris Leech Date: Tue Aug 25 13:59:56 2009 -0700 [SCSI] fcoe: remove fcoe_interface->priv pointer The priv pointer is no longer needed, and once NPIV is enabled fcoe_interface:fc_lport becomes a one-to-many relationship. Remove the single pointer. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 991cbb6082db3025bd82908eb9ee2d2920be2114 Author: Chris Leech Date: Tue Aug 25 13:59:51 2009 -0700 [SCSI] fcoe: move offload exchange manager pointer from fcoe_port to fcoe_interface The offload EM pointer is only used when setting up a new libfc instance, but as it's designed to be shared among NPIV VN_Ports it should be tracked in fcoe_interface. With the host-list changed to track fcoe_interfaces as well, this is needed before we can remove the priv pointer from that structure (which is only there to help in the transition, and stops making sense once NPIV is enabled). Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 3fe9a0badae7fa2eb35eff4f07e851fbd25e3d4f Author: Chris Leech Date: Tue Aug 25 13:59:46 2009 -0700 [SCSI] fcoe: move FIP controller from fcoe_port to fcoe_interface There is only one FIP state per net_device, so the FIP controller needs to be moved from the per-SCSI-host fcoe_port to the per-net_device fcoe_interface structure. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 259ad85d8dbbcd508e3dad29a36e3e76365853b7 Author: Chris Leech Date: Tue Aug 25 13:59:41 2009 -0700 [SCSI] fcoe: move packet handlers from fcoe_port to fcoe_interface The packet handlers need to be tracked in fcoe_interface so there is only one set per net_device. When NPIV is enabled there will be multiple SCSI hosts and multiple fcoe_port structures on a single net_device. The packet handlers match by ethertype and netdev. If the same handler gets registered on a single netdev multiple times, the receive function will be called multiple times for each frame. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 250249898a92a1228050f40fbe3c05deb1392da8 Author: Chris Leech Date: Tue Aug 25 13:59:35 2009 -0700 [SCSI] fcoe: move netdev to fcoe_interface The network interface needs to be shared between all NPIV VN_Ports, therefor it should be tracked in the fcoe_interface and not for each SCSI host in fcoe_port. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 014f5c3f560a336cb8ad5b9f828c85de0398e7bb Author: Chris Leech Date: Tue Aug 25 13:59:30 2009 -0700 [SCSI] fcoe: Introduce and allocate fcoe_interface structure, 1:1 with net_device In preparation for NPIV support, I'm splitting the fcoe instance structure into two to remove the assumptions about it being 1:1 with the net_device. There will now be two structures, one which is 1:1 with the underlying net_device and one which is allocated per virtual SCSI/FC host. fcoe_softc is renamed to fcoe_port for the per Scsi_Host FCoE private data. Later patches with start moving shared stuff from fcoe_port to fcoe_interface Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit af7f85d95a34b04f5cf8c3b8c2d4cdd179dc1e19 Author: Chris Leech Date: Tue Aug 25 13:59:24 2009 -0700 [SCSI] fcoe: interface changes to fcoe_if_create and fcoe_if_destroy By passing in the parent device instead of assuming the netdev is what should be used, fcoe_if_create becomes usable for NPIV vports as well. You still need a netdev, because that's how FCoE works. Also removed some duplicate checks from fcoe_if_create that are already in fcoe_create. fcoe_if_destroy needs to take an lport as it's only argument, not a netdev. That removes the 1:1 netdev:lport assumption from the destroy path. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 36eb7fc872bdd7f7443ce24a718784bfa567f6c7 Author: Joe Eykholt Date: Tue Aug 25 13:59:19 2009 -0700 [SCSI] fcoe: remove unnecessary list and lock initializations. The hostlist and the hostlist_lock were initialized both in the delcaration and in fcoe_init(). Remove the unneeded code. Signed-off-by: Joe Eykholt Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 5892c32f8a2d5a37d4c2ff1df62f6e8a2664abdb Author: Chris Leech Date: Tue Aug 25 13:59:14 2009 -0700 [SCSI] fcoe: fix missing error check in call to fcoe_if_init fcoe_if_init() can fail, but it's return value wasn't checked Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a4b7cfaee487caef913be978dce60896fe741268 Author: Chris Leech Date: Tue Aug 25 13:59:08 2009 -0700 [SCSI] libfcoe: fcoe_ctlr_destroy use cancel_work_sync instead of flush_work Use cancel_work_sync() in place of flush_work(), so that fcoe_ctlr_destroy() can be called from a workqueue. Also, purge the receive queue after the recv_work has been cancled because if recv_work isn't run it's not guaranteed to be empty now. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 05cc7390735c49357b9ae67bf97f1c1579547f5b Author: Yi Zou Date: Tue Aug 25 13:59:03 2009 -0700 [SCSI] fcoe: Add sysfs parameter to fcoe for minimum DDP read I/O size This adds fcoe_ddp_min as a module parameter for fcoe module to: /sys/module/fcoe/parameters/ddp_min It is observed that for some hardware, particularly Intel 82599, there is too much overhead in setting up context for direct data placement (DDP) read when the requested read I/O size is small. This is added as a module parameter for performance tuning and is set as 0 by default and user can change this based on their own hardware. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 6223011fb9f90fab92635f1f782196cbd2ccf24f Author: Julia Lawall Date: Tue Jul 28 17:53:24 2009 +0200 KVM: correct error-handling code This code is not executed before file has been initialized to the result of calling eventfd_fget. This function returns an ERR_PTR value in an error case instead of NULL. Thus the test that file is not NULL is always true. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @match exists@ expression x, E; statement S1, S2; @@ x = eventfd_fget(...) ... when != x = E ( * if (x == NULL || ...) S1 else S2 | * if (x == NULL && ...) S1 else S2 ) // Signed-off-by: Julia Lawall Signed-off-by: Avi Kivity commit 28bcb112183cb822a394b155a2e7d788fe4a109a Author: Heiko Carstens Date: Thu Sep 3 17:35:35 2009 +0200 KVM: fix compile warnings on s390 CC arch/s390/kvm/../../../virt/kvm/kvm_main.o arch/s390/kvm/../../../virt/kvm/kvm_main.c: In function '__kvm_set_memory_region': arch/s390/kvm/../../../virt/kvm/kvm_main.c:485: warning: unused variable 'j' arch/s390/kvm/../../../virt/kvm/kvm_main.c:484: warning: unused variable 'lpages' arch/s390/kvm/../../../virt/kvm/kvm_main.c:483: warning: unused variable 'ugfn' Cc: Carsten Otte Signed-off-by: Heiko Carstens Signed-off-by: Marcelo Tosatti commit 0a79b009525b160081d75cef5dbf45817956acf2 Author: Avi Kivity Date: Tue Sep 1 12:03:25 2009 +0300 KVM: VMX: Check cpl before emulating debug register access Debug registers may only be accessed from cpl 0. Unfortunately, vmx will code to emulate the instruction even though it was issued from guest userspace, possibly leading to an unexpected trap later. Cc: stable@kernel.org Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 4da748960a6bd7b1e123e01bfa8f2dbcb6be209e Author: Gleb Natapov Date: Thu Aug 27 16:25:04 2009 +0300 KVM: fix misreporting of coalesced interrupts by kvm tracer Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit e3904e6ed0d525e383eb961ed1da0596a10e5387 Author: Marcelo Tosatti Date: Tue Sep 8 14:50:51 2009 -0300 KVM: x86: drop duplicate kvm_flush_remote_tlb calls kvm_mmu_slot_remove_write_access already calls it. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 542423b0dd162a9dbf91109461703bd0e545c71f Author: Gleb Natapov Date: Thu Aug 27 15:07:30 2009 +0300 KVM: VMX: call vmx_load_host_state() only if msr is cached No need to call it before each kvm_(set|get)_msr_common() Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit e8a48342e9bc1c65ffe4bb3b3ac964e726dbd4c0 Author: Avi Kivity Date: Tue Sep 1 16:06:25 2009 +0300 KVM: VMX: Conditionally reload debug register 6 Only reload debug register 6 if we're running with the guest's debug registers. Saves around 150 cycles from the guest lightweight exit path. dr6 contains a couple of bits that are updated on #DB, so intercept that unconditionally and update those bits then. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 3d53c27d05950390712f92c5ad1604c60190ed64 Author: Avi Kivity Date: Tue Sep 1 12:34:07 2009 +0300 KVM: Use thread debug register storage instead of kvm specific data Instead of saving the debug registers from the processor to a kvm data structure, rely in the debug registers stored in the thread structure. This allows us not to save dr6 and dr7. Reduces lightweight vmexit cost by 350 cycles, or 11 percent. Signed-off-by: Avi Kivity commit 6ba661787594868512a71c129062ebd57d0c01e7 Author: Marcelo Tosatti Date: Tue Aug 25 01:13:10 2009 -0300 KVM guest: do not batch pte updates from interrupt context Commit b8bcfe997e4 made paravirt pte updates synchronous in interrupt context. Unfortunately the KVM pv mmu code caches the lazy/nonlazy mode internally, so a pte update from interrupt context during a lazy mmu operation can be batched while it should be performed synchronously. https://bugzilla.redhat.com/show_bug.cgi?id=518022 Drop the internal mode variable and use paravirt_get_lazy_mode(), which returns the correct state. Cc: stable@kernel.org Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit b73d884756303316ead4cd7dad51236b2a515a1a Author: David S. Miller Date: Thu Sep 10 07:22:18 2009 -0700 sparc64: Initial niagara2 perf counter support. Signed-off-by: David S. Miller commit 660d13765f342ecb6e774fcbc35b64beb0a069da Author: David S. Miller Date: Thu Sep 10 07:13:26 2009 -0700 sparc64: Perf counter 'nop' event is not constant. On Niagara-2, for example, it's going to be different. So make it something specified in sparc_pmu. Signed-off-by: David S. Miller commit 496c07e3b43475124d7f2d77fafbc1f5055abfee Author: David S. Miller Date: Thu Sep 10 07:10:59 2009 -0700 sparc64: Provide a way to specify a perf counter overflow IRQ enable bit. Signed-off-by: David S. Miller commit 91b9286d819b821fd742c0053fe0748818374198 Author: David S. Miller Date: Thu Sep 10 07:09:06 2009 -0700 sparc64: Provide hypervisor tracing bit support for perf counters. A PMU need only specify which bit in the PCR enabled hypervisor tracing in order to enable this. This will be used in Niagara-2 perf counter support. Signed-off-by: David S. Miller commit 1110afbe728838ac7ce973c37af9e11385dbaef9 Merge: fd30afa 6e2efaa Author: Takashi Iwai Date: Thu Sep 10 15:33:09 2009 +0200 Merge branch 'topic/ymfpci' into for-linus * topic/ymfpci: sound: ymfpci: increase timer resolution to 96 kHz commit fd30afa454282bbe1b36d5d77bd72c0ea5b3f97c Merge: b34c866 f1e6d3c Author: Takashi Iwai Date: Thu Sep 10 15:33:07 2009 +0200 Merge branch 'topic/usb-audio' into for-linus * topic/usb-audio: ALSA: usb-audio - Fix types taken in min() sound: usb-audio: do not make URBs longer than sync packet interval sound: usb-audio: add MIDI drain callback sound: usb-audio: use multiple output URBs sound: usb-audio: use multiple input URBs sound: usb-audio: Xonar U1 digital output support commit b34c8663940dfc7da767c42b37605e5ad3ae11f7 Merge: 3827119 eedbdf0 Author: Takashi Iwai Date: Thu Sep 10 15:33:06 2009 +0200 Merge branch 'topic/tlv-minmax' into for-linus * topic/tlv-minmax: ALSA: usb-audio - Correct bogus volume dB information ALSA: usb-audio - Use the new TLV_DB_MINMAX type ALSA: Add new TLV types for dBwith min/max commit 3827119e207823ff0f3e85271bef7a0dc953ee38 Merge: 9d416811 93fe448 Author: Takashi Iwai Date: Thu Sep 10 15:33:04 2009 +0200 Merge branch 'topic/soundcore-preclaim' into for-linus * topic/soundcore-preclaim: sound: make OSS device number claiming optional and schedule its removal sound: request char-major-* module aliases for missing OSS devices chrdev: implement __[un]register_chrdev() commit 9d416811f8cab11bf595b2880c557c33e3ae1ae9 Merge: df9200d cf0baf1 Author: Takashi Iwai Date: Thu Sep 10 15:33:03 2009 +0200 Merge branch 'topic/snd-printk' into for-linus * topic/snd-printk: ALSA: Fixed a typo of printk() ALSA: Add debug module option ALSA: core - strip too long file names in snd_print*() commit df9200dd0454c91c5436c22072611f0edd3b5f42 Merge: 2c0d19a 5184040 Author: Takashi Iwai Date: Thu Sep 10 15:33:02 2009 +0200 Merge branch 'topic/pcm-estrpipe-in-pm' into for-linus * topic/pcm-estrpipe-in-pm: ALSA: pcm - Tell user that stream to be rewound is suspended commit 2c0d19a78de1ea5d0e92d86be0b16ccab0feccec Merge: 05a33e3 5a53a76 Author: Takashi Iwai Date: Thu Sep 10 15:33:00 2009 +0200 Merge branch 'topic/pcm-drain-nonblock' into for-linus * topic/pcm-drain-nonblock: ALSA: pcm - Increase protocol version ALSA: pcm - Fix drain behavior in non-blocking mode commit 05a33e3d6fdca6ae3f645cc7bca9c11a4476e84c Merge: fa28519 f1bc07a Author: Takashi Iwai Date: Thu Sep 10 15:32:59 2009 +0200 Merge branch 'topic/oxygen' into for-linus * topic/oxygen: sound: oxygen: work around MCE when changing volume commit fa285190025d0b9a35ed0f6233bfaa721281e0f4 Merge: 9cd9f42 cbbb057 Author: Takashi Iwai Date: Thu Sep 10 15:32:58 2009 +0200 Merge branch 'topic/oss' into for-linus * topic/oss: ALSA: allocation may fail in snd_pcm_oss_change_params() sound: vwsnd: Fix setting of cfgval and ctlval in li_setup_dma() sound: fix OSS MIDI output data loss commit 9cd9f4276766e15be40d09f77e28656797a1b06f Merge: 0f23c5c b8c60ed Author: Takashi Iwai Date: Thu Sep 10 15:32:57 2009 +0200 Merge branch 'topic/misc' into for-linus * topic/misc: ALSA: Remove unneeded ifdef from sound/core.h ALSA: Remove struct snd_monitor_file from public sound/core.h ALSA: Release v1.0.21 commit 0f23c5cc50550f194e71e694f2b4433356dd99ea Merge: 8a3351b 2d4b842 Author: Takashi Iwai Date: Thu Sep 10 15:32:56 2009 +0200 Merge branch 'topic/midi' into for-linus * topic/midi: sound: rawmidi: disable active-sensing-on-close by default sound: seq_oss_midi: remove magic numbers sound: seq_midi: do not send MIDI reset when closing seq-midi: always log message on output overrun commit 8a3351bbb93b15ec5d35fd4b3e6e971d6285e674 Merge: dcb37d5 cd77538 Author: Takashi Iwai Date: Thu Sep 10 15:32:55 2009 +0200 Merge branch 'topic/ice1724-pm' into for-linus * topic/ice1724-pm: ALSA: ice1724 - Fix section mismatch ALSA: ice1724 - Patch for suspend/resume for Audiotrak Prodigy HD2 commit dcb37d509a93710f96ebfd8b653e3653144799f9 Merge: 2d4ff66 c18bc9b Author: Takashi Iwai Date: Thu Sep 10 15:32:54 2009 +0200 Merge branch 'topic/hdsp' into for-linus * topic/hdsp: ALSA: hdsp - allow proc reporting with disconnected io box commit 2d4ff66ad7b8811d0c75ccccad346496f67cb43a Merge: 6a0f402 33d7867 Author: Takashi Iwai Date: Thu Sep 10 15:32:52 2009 +0200 Merge branch 'topic/hda' into for-linus * topic/hda: (92 commits) ALSA: hda - Use auto model for HP laptops with ALC268 codec ALSA: hda/realtek: Added support for CLEVO M540R subsystem, 6 channel + digital ALSA: hda - Add support of Alienware M17x laptop ALSA: hda - Remove dead codes from patch_sigmatel.c ALSA: hda - Fix input source selection of IDT92HD73xx ALSA: hda - Fix obsolete CONFIG_SND_DEBUG_DETECT ALSA: hda - Unmute docking line-out as default with AD1984A codec ALSA: hda - Add another entry for Nvidia HDMI device ALSA: hda - Add missing GPIO initialization for AD1984A laptop model ALSA: hda - Add support of docking auto-mute/mic for AD1984A laptop model ALSA: hda - Fix ALC268/ALC269 headphone pin routing ALSA: hda - Create "Digital Mic Capture Volume" correctly for IDT codecs ALSA: hda - Add more quirk for HP laptops with AD1984A ALSA: hda - Add / fix model entries for HD-audio driver ALSA: hda - Add full audio support on Acer Aspire 7730G notebook ALSA: hda - Improve auto-cfg mixer name for ALC662 ALSA: hda - Improve auto-cfg mixer name for ALC861-VD ALSA: hda - Improve auto-cfg mixer name for ALC262 ALSA: hda - Improve auto-cfg mixer name for ALC260 ALSA: hda - Improve auto-cfg mixer name for ALC880 ... commit 6a0f4021469727675b83d85ac91d106bfae0e2c3 Merge: f9892a5 b888d1c Author: Takashi Iwai Date: Thu Sep 10 15:32:51 2009 +0200 Merge branch 'topic/dummy' into for-linus * topic/dummy: ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128 ALSA: dummy - Add debug proc file ALSA: Add const prefix to proc helper functions ALSA: Re-export snd_pcm_format_name() function ALSA: dummy - Fake buffer allocations ALSA: dummy - Fix the timer calculation in systimer mode ALSA: dummy - Add more description ALSA: dummy - Better jiffies handling ALSA: dummy - Support high-res timer mode commit f9892a52e2405b4c5fa205d4f18ad292cb7e40bb Merge: 6c5cb93 cc6a8ac Author: Takashi Iwai Date: Thu Sep 10 15:32:50 2009 +0200 Merge branch 'topic/dma-sgbuf' into for-linus * topic/dma-sgbuf: ALSA: Fix SG-buffer DMA with non-coherent architectures commit 6c5cb93b1e87be56d7f00767fd12cf57852a0b9f Merge: f604529 35ebf6e Author: Takashi Iwai Date: Thu Sep 10 15:32:48 2009 +0200 Merge branch 'topic/ctxfi' into for-linus * topic/ctxfi: ALSA: ctxfi - Simple code clean up ALSA: ctxfi - Native timer support for emu20k2 commit f604529d0c1c24be025f47b591366e257ee75f66 Merge: 124e39b 18dd0aa Author: Takashi Iwai Date: Thu Sep 10 15:32:47 2009 +0200 Merge branch 'topic/ctl-add-remove-fixes' into for-linus * topic/ctl-add-remove-fixes: sound: snd_ctl_remove_user_ctl: prevent removal of kernel controls sound: snd_ctl_remove_unlocked_id: simplify user control counting sound: snd_ctl_remove_unlocked_id: simplify error paths sound: snd_ctl_elem_add: fix value count check commit 124e39b34d9b38cde4cac02077d5b58f6c1f063e Merge: 9d2743f 6148b13 Author: Takashi Iwai Date: Thu Sep 10 15:32:46 2009 +0200 Merge branch 'topic/cs46xx' into for-linus * topic/cs46xx: ALSA: cs46xx - Fix minimum period size commit 9d2743f84d08ce9c6ea8369c571b04385b42fb01 Merge: d0064a1 72b43cf Author: Takashi Iwai Date: Thu Sep 10 15:32:45 2009 +0200 Merge branch 'topic/cmi8330' into for-linus * topic/cmi8330: ALSA: cmi8330: Allow MPU-401-less operation ALSA: cmi8330: find OPL3 port automatically cmi8330: Add basic CMI8329 support ALSA: cmi8330: revert comments about AD1848 back commit d0064a1b22d0f60058902a870e6bf9aab0d8202c Merge: b81e5ab 9983aa6 Author: Takashi Iwai Date: Thu Sep 10 15:32:43 2009 +0200 Merge branch 'topic/cleanup' into for-linus * topic/cleanup: ALSA: info - Use krealloc() commit b81e5ab34d960335c71ce33bf283ff5a22463a67 Merge: e0b3032 78df617 Author: Takashi Iwai Date: Thu Sep 10 15:32:41 2009 +0200 Merge branch 'topic/azt3328' into for-linus * topic/azt3328: ALSA: azt3328: fix previous breakage, improve suspend, cleanups ALSA: azt3328: large codec cleanup, add I2S port etc. ALSA: azt3328: fix Kconfig entry commit e0b3032bcdf1419d97de636d5fb1c9469da75776 Merge: 45fae5c cdc65fb Author: Takashi Iwai Date: Thu Sep 10 15:32:40 2009 +0200 Merge branch 'topic/asoc' into for-linus * topic/asoc: (226 commits) ASoC: au1x: PSC-AC97 bugfixes ASoC: Fix WM835x Out4 capture enumeration ASoC: Remove unuused hw_read_t ASoC: fix pxa2xx-ac97.c breakage ASoC: Fully specify DC servo bits to update in wm_hubs ASoC: Debugged improper setting of PLL fields in WM8580 driver ASoC: new board driver to connect bfin-5xx with ad1836 codec ASoC: OMAP: Add functionality to set CLKR and FSR sources in McBSP DAI ASoC: davinci: i2c device creation moved into board files ASoC: Don't reconfigure WM8350 FLL if not needed ASoC: Fix s3c-i2s-v2 build ASoC: Make platform data optional for TLV320AIC3x ASoC: Add S3C24xx dependencies for Simtec machines ASoC: SDP3430: Fix TWL GPIO6 pin mux request ASoC: S3C platform: Fix s3c2410_dma_started() called at improper time ARM: OMAP: McBSP: Merge two functions into omap_mcbsp_start/_stop ASoC: OMAP: Fix setup of XCCR and RCCR registers in McBSP DAI OMAP: McBSP: Use textual values in DMA operating mode sysfs files ARM: OMAP: DMA: Add support for DMA channel self linking on OMAP1510 ASoC: Select core DMA when building for S3C64xx ... commit 45fae5c78d873b10c66dfc04db6701e05c493791 Merge: 74fca6a 848bffe Author: Takashi Iwai Date: Thu Sep 10 15:32:38 2009 +0200 Merge branch 'topic/ali5451-cleanup' into for-linus * topic/ali5451-cleanup: ALSA: ali5451: remove dead code commit 59abbd1e7cfd6018fb8e58a96aa562aaff8711e7 Author: David S. Miller Date: Thu Sep 10 06:28:20 2009 -0700 sparc64: Initial hw perf counter support. Only supports one simple counter and only UltraSPARC-IIIi chips. Signed-off-by: David S. Miller commit 5686f9c3d67d5a20108fa26105c98b042df13123 Author: David S. Miller Date: Thu Sep 10 05:59:24 2009 -0700 sparc64: Implement a real set_perf_counter_pending(). When the perf counter subsystem needs to reschedule work out from an NMI, it invokes set_perf_counter_pending(). This triggers a non-NMI irq which should invoke perf_counter_do_pending(). Currently this won't trigger because sparc64 won't trigger the perf counter subsystem from NMIs, but when the HW counter support is added it will. Signed-off-by: David S. Miller commit 2d0740c4562493b60f59ca9b0330a2d5e01d43ec Author: David S. Miller Date: Thu Sep 10 05:56:16 2009 -0700 sparc64: Use nmi_enter() and nmi_exit(), as needed. Signed-off-by: David S. Miller commit 76c36d016a3f958d6231dcdef54a132614c3b578 Author: David S. Miller Date: Thu Sep 10 05:55:17 2009 -0700 sparc64: Provide extern decls for sparc_??u_type strings. Signed-off-by: David S. Miller commit 9f0ab4a3f0fdb1ff404d150618ace2fa069bb2e1 Author: Roland McGrath Date: Tue Sep 8 19:49:40 2009 -0700 binfmt_elf: fix PT_INTERP bss handling In fs/binfmt_elf.c, load_elf_interp() calls padzero() for .bss even if the PT_LOAD has no PROT_WRITE and no .bss. This generates EFAULT. Here is a small test case. (Yes, there are other, useful PT_INTERP which have only .text and no .data/.bss.) ----- ptinterp.S _start: .globl _start nop int3 ----- $ gcc -m32 -nostartfiles -nostdlib -o ptinterp ptinterp.S $ gcc -m32 -Wl,--dynamic-linker=ptinterp -o hello hello.c $ ./hello Segmentation fault # during execve() itself After applying the patch: $ ./hello Trace trap # user-mode execution after execve() finishes If the ELF headers are actually self-inconsistent, then dying is fine. But having no PROT_WRITE segment is perfectly normal and correct if there is no segment with p_memsz > p_filesz (i.e. bss). John Reiser suggested checking for PROT_WRITE in the bss logic. I think it makes most sense to simply apply the bss logic only when there is bss. This patch looks less trivial than it is due to some reindentation. It just moves the "if (last_bss > elf_bss) {" test up to include the partial-page bss logic as well as the more-pages bss logic. Reported-by: John Reiser Signed-off-by: Roland McGrath Signed-off-by: James Morris commit ec57935837a78f9661125b08a5d08b697568e040 Author: Jason Gunthorpe Date: Wed Sep 9 17:22:18 2009 -0600 TPM: Fixup boot probe timeout for tpm_tis driver When probing the device in tpm_tis_init the call request_locality uses timeout_a, which wasn't being initalized until after request_locality. This results in request_locality falsely timing out if the chip is still starting. Move the initialization to before request_locality. This probably only matters for embedded cases (ie mine), a BIOS likely gets the TPM into a state where this code path isn't necessary. Signed-off-by: Jason Gunthorpe Acked-by: Rajiv Andrade Signed-off-by: James Morris commit 65a82211636f156a276cac3f8665605ae18f371f Author: Gleb Natapov Date: Thu Sep 3 12:10:34 2009 +0300 KVM: Fix coalesced interrupt reporting in IOAPIC This bug was introduced by b4a2f5e723e4f7df467. Cc: stable@kernel.org Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit a20316d2aa41a8f4fd171648bad8f044f6060826 Author: Glauber Costa Date: Mon Aug 31 03:04:31 2009 -0400 KVM guest: fix bogus wallclock physical address calculation The use of __pa() to calculate the address of a C-visible symbol is wrong, and can lead to unpredictable results. See arch/x86/include/asm/page.h for details. It should be replaced with __pa_symbol(), that does the correct math here, by taking relocations into account. This ensures the correct wallclock data structure physical address is passed to the hypervisor. Cc: stable@kernel.org Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit 5fff7d270bd6a4759b6d663741b729cdee370257 Author: Gleb Natapov Date: Thu Aug 27 18:41:30 2009 +0300 KVM: VMX: Fix cr8 exiting control clobbering by EPT Don't call adjust_vmx_controls() two times for the same control. It restores options that were dropped earlier. This loses us the cr8 exit control, which causes a massive performance regression Windows x64. Cc: stable@kernel.org Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 60f24784a92c25c269a5e741a8ce8ff63e887be8 Author: Avi Kivity Date: Thu Aug 27 13:37:06 2009 +0300 KVM: Optimize kvm_mmu_unprotect_page_virt() for tdp We know no pages are protected, so we can short-circuit the whole thing (including fairly nasty guest memory accesses). Signed-off-by: Avi Kivity commit 5dadbfd64724c41716d4fc82df6f01b023d5b15d Author: Avi Kivity Date: Sun Aug 23 17:08:04 2009 +0300 KVM: Document KVM_CAP_IRQCHIP Signed-off-by: Avi Kivity commit 88c808fd42b53a7e01a2ac3253ef31fef74cb5af Author: Avi Kivity Date: Mon Aug 17 22:49:40 2009 +0300 KVM: Protect update_cr8_intercept() when running without an apic update_cr8_intercept() can be triggered from userspace while there is no apic present. Signed-off-by: Avi Kivity commit 95eb84a7588d7d7afd3096807efc052adc7479e1 Author: Sheng Yang Date: Wed Aug 19 09:52:18 2009 +0800 KVM: VMX: Fix EPT with WP bit change during paging QNX update WP bit when paging enabled, which is not covered yet. This one fix QNX boot with EPT. Cc: stable@kernel.org Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit d9048d3278ed4d395e63899257c3fa377693968b Author: Mikhail Ershov Date: Wed Aug 19 14:08:07 2009 +0400 KVM: Use kvm_{read,write}_guest_virt() to read and write segment descriptors Segment descriptors tables can be placed on two non-contiguous pages. This patch makes reading segment descriptors by linear address. Signed-off-by: Mikhail Ershov Signed-off-by: Avi Kivity commit 7bdb588827265bf42dd420e95d34275c83603568 Author: Mohammed Gamal Date: Wed Aug 19 01:26:28 2009 +0300 KVM: x86 emulator: Add adc and sbb missing decoder flags Add missing decoder flags for adc and sbb instructions (opcodes 0x14-0x15, 0x1c-0x1d) Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit fa6870c6b64214aced218d930ec7221e2a9767b8 Author: Avi Kivity Date: Sun Aug 16 15:31:33 2009 +0300 KVM: Add missing #include Signed-off-by: Avi Kivity commit 27c238106862fb0dd3e229c48c1ef56502b0ec88 Author: Avi Kivity Date: Sun Aug 16 15:31:11 2009 +0300 KVM: Add __KERNEL__ guards to exported headers Signed-off-by: Avi Kivity commit da18acffc3f13c4f187c20bc5dcfcb110b374b48 Author: Michael S. Tsirkin Date: Mon Aug 10 15:59:25 2009 +0300 KVM: export kvm_para.h kvm_para.h contains userspace interface and so should be exported. Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit 0aaeb3b1087b21fef434f1bae6e6495c12ee2f55 Author: Amit Shah Date: Thu Aug 13 20:05:48 2009 +0530 Documentation: Update KVM list email address The KVM list moved to vger.kernel.org last year Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit 56e8231841301ad38e347e33fd4319c89f697045 Author: Avi Kivity Date: Wed Aug 12 15:04:37 2009 +0300 KVM: Rename x86_emulate.c to emulate.c We're in arch/x86, what could we possibly be emulating? Signed-off-by: Avi Kivity commit c0c7c04b874bf98a10d8e0c8322a5d3bc93536bc Author: Anthony Liguori Date: Tue Aug 11 15:57:59 2009 -0500 KVM: When switching to a vm8086 task, load segments as 16-bit According to 16.2.5 in the SDM, eflags.vm in the tss is consulted before loading and new segments. If eflags.vm == 1, then the segments are treated as 16-bit segments. The LDTR and TR are not normally available in vm86 mode so if they happen to somehow get loaded, they need to be treated as 32-bit segments. This fixes an invalid vmentry failure in a custom OS that was happening after a task switch into vm8086 mode. Since the segments were being mistakenly treated as 32-bit, we loaded garbage state. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit 345dcaa8fde7fa70252d58c862bf41fd2149ca2c Author: Avi Kivity Date: Wed Aug 12 15:29:37 2009 +0300 KVM: VMX: Adjust rflags if in real mode emulation We set rflags.vm86 when virtualizing real mode to do through vm8086 mode; so we need to take it out again when reading rflags. Signed-off-by: Avi Kivity commit 6621fbc2c6add9c9abfc87d7bc9b248ffd307ae3 Author: Avi Kivity Date: Mon Aug 10 17:00:52 2009 +0300 KVM: Move #endif KVM_CAP_IRQ_ROUTING to correct place The symbol only controls irq routing, not MSI-X. Signed-off-by: Avi Kivity commit 52c7847d121da3651c08d9e9a99eb8a7cf2faa7a Author: Avi Kivity Date: Mon Aug 10 15:42:41 2009 +0300 KVM: SVM: Drop tlb flush workaround in npt It is no longer possible to reproduce the problem any more, so presumably it has been fixed. Signed-off-by: Avi Kivity commit cb142eb743d02d48165c9d941b601d731cc4a003 Author: Gleb Natapov Date: Sun Aug 9 15:17:40 2009 +0300 KVM: Update cr8 intercept when APIC TPR is changed by userspace Since on vcpu entry we do it only if apic is enabled we should do it when TPR is changed while apic is disabled. This happens when windows resets HW without setting TPR to zero. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 4b6e4dca7011613c8508640c10a091b3ed2cd215 Author: Joerg Roedel Date: Fri Aug 7 11:49:48 2009 +0200 KVM: SVM: enable nested svm by default Nested SVM is (in my experience) stable enough to be enabled by default. So omit the requirement to pass a module parameter. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 108768de55949c778bd95b36f3b17e652e59cd5b Author: Joerg Roedel Date: Fri Aug 7 11:49:47 2009 +0200 KVM: SVM: check for nested VINTR flag in svm_interrupt_allowed Not checking for this flag breaks any nested hypervisor that does not set VINTR. So fix it with this patch. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 26666957a58fab7c8a4a31f1ab24d3bbf4c58c7a Author: Joerg Roedel Date: Fri Aug 7 11:49:46 2009 +0200 KVM: SVM: move nested_svm_intr main logic out of if-clause This patch removes one indentation level from nested_svm_intr and makes the logic more readable. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit cda0ffdd862d36d0b054249ce920f00d1dbae037 Author: Joerg Roedel Date: Fri Aug 7 11:49:45 2009 +0200 KVM: SVM: remove unnecessary is_nested check from svm_cpu_run This check is not necessary. We have to sync the vcpu->arch.cr2 always back to the VMCB. This patch remove the is_nested check. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 410e4d573d9b7fbd134f9a47815b6ad517492a08 Author: Joerg Roedel Date: Fri Aug 7 11:49:44 2009 +0200 KVM: SVM: move special nested exit handling to separate function This patch moves the handling for special nested vmexits like #pf to a separate function. This makes the kvm_override parameter obsolete and makes the code more readable. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 1f8da47805072e89454ccfdada553c2afc4dfb79 Author: Joerg Roedel Date: Fri Aug 7 11:49:43 2009 +0200 KVM: SVM: handle errors in vmrun emulation path appropriatly If nested svm fails to load the msrpm the vmrun succeeds with the old msrpm which is not correct. This patch changes the logic to roll back to host mode in case the msrpm cannot be loaded. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit ea8e064fe22a132da1473d82a57751208e6b8bfd Author: Joerg Roedel Date: Fri Aug 7 11:49:42 2009 +0200 KVM: SVM: remove nested_svm_do and helper functions This function is not longer required. So remove it. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 9738b2c97d19d87e5c204ae8c3f715a546bb6773 Author: Joerg Roedel Date: Fri Aug 7 11:49:41 2009 +0200 KVM: SVM: clean up nested vmrun path This patch removes the usage of nested_svm_do from the vmrun emulation path. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 9966bf6872598362b632b738213edfb5a961315d Author: Joerg Roedel Date: Fri Aug 7 11:49:40 2009 +0200 KVM: SVM: clean up nestec vmload/vmsave paths This patch removes the usage of nested_svm_do from the vmload and vmsave emulation code paths. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 3d62d9aa9868865217ce3a1b70d6039a98b50820 Author: Joerg Roedel Date: Fri Aug 7 11:49:39 2009 +0200 KVM: SVM: clean up nested_svm_exit_handled_msr This patch changes nested svm to call nested_svm_exit_handled_msr directly and not through nested_svm_do. [alex: fix oops due to nested kmap_atomics] Signed-off-by: Joerg Roedel Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 34f80cfad59ee587e374cbaf5f2a31d9f5015404 Author: Joerg Roedel Date: Fri Aug 7 11:49:38 2009 +0200 KVM: SVM: get rid of nested_svm_vmexit_real This patch is the starting point of removing nested_svm_do from the nested svm code. The nested_svm_do function basically maps two guest physical pages to host virtual addresses and calls a passed function on it. This function pointer code flow is hard to read and not the best technical solution here. As a side effect this patch indroduces the nested_svm_[un]map helper functions. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 0295ad7de86a6347316bc7414c1b9c15f56a1333 Author: Joerg Roedel Date: Fri Aug 7 11:49:37 2009 +0200 KVM: SVM: simplify nested_svm_check_exception Makes the code of this function more readable by removing on indentation level for the core logic. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 9c4e40b9949868928bd7fec67a4b0902d90e57ed Author: Joerg Roedel Date: Fri Aug 7 11:49:36 2009 +0200 KVM: SVM: do nested vmexit in nested_svm_exit_handled If this function returns true a nested vmexit is required. Move that vmexit into the nested_svm_exit_handled function. This also simplifies the handling of nested #pf intercepts in this function. Signed-off-by: Joerg Roedel Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit 4c2161aed55c294c4c42622455f067a4b3077b85 Author: Joerg Roedel Date: Fri Aug 7 11:49:35 2009 +0200 KVM: SVM: consolidate nested_svm_exit_handled When caching guest intercepts there is no need anymore for the nested_svm_exit_handled_real function. So move its code into nested_svm_exit_handled. Signed-off-by: Joerg Roedel Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit aad42c641cfcda4f87abc4f6588329b9b3cc3364 Author: Joerg Roedel Date: Fri Aug 7 11:49:34 2009 +0200 KVM: SVM: cache nested intercepts When the nested intercepts are cached we don't need to call get_user_pages and/or map the nested vmcb on every nested #vmexit to check who will handle the intercept. Further this patch aligns the emulated svm behavior better to real hardware. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit e6aa9abd7381557c67be6a9e7240eb132ca00d66 Author: Joerg Roedel Date: Fri Aug 7 11:49:33 2009 +0200 KVM: SVM: move nested svm state into seperate struct This makes it more clear for which purpose these members in the vcpu_svm exist. Signed-off-by: Joerg Roedel Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit a5c3832dfe6324862b4fd1d90831266b15d4b58e Author: Joerg Roedel Date: Fri Aug 7 11:49:32 2009 +0200 KVM: SVM: complete interrupts after handling nested exits The interrupt completion code must run after nested exits are handled because not injected interrupts or exceptions may be handled by the l1 guest first. Signed-off-by: Joerg Roedel Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit 0460a979b4b7a564e59eaa8efbba6f5ae38c5b78 Author: Joerg Roedel Date: Fri Aug 7 11:49:31 2009 +0200 KVM: SVM: copy only necessary parts of the control area on vmrun/vmexit The vmcb control area contains more then 800 bytes of reserved fields which are unnecessarily copied. Fix this by introducing a copy function which only copies the relevant part and saves time. Signed-off-by: Joerg Roedel Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit defbba5660fb9fcad186bd799a635e52994a4d1a Author: Joerg Roedel Date: Fri Aug 7 11:49:30 2009 +0200 KVM: SVM: optimize nested vmrun Only copy the necessary parts of the vmcb save area on vmrun and save precious time. Signed-off-by: Joerg Roedel Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit 33740e4009b7d287538f68f614eb3542df3597e4 Author: Joerg Roedel Date: Fri Aug 7 11:49:29 2009 +0200 KVM: SVM: optimize nested #vmexit It is more efficient to copy only the relevant parts of the vmcb back to the nested vmcb when we emulate an vmexit. Signed-off-by: Joerg Roedel Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit 2af9194d1b683f91ae956afff9afb0b52a241371 Author: Joerg Roedel Date: Fri Aug 7 11:49:28 2009 +0200 KVM: SVM: add helper functions for global interrupt flag This patch makes the code easier to read when it comes to setting, clearing and checking the status of the virtualized global interrupt flag for the VCPU. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 256cd2ef4f5c125f5df2c81d8457f080a4684ae6 Author: Avi Kivity Date: Mon Aug 10 10:41:27 2009 +0300 x86: Export kmap_atomic_to_page() Needed by KVM. Signed-off-by: Avi Kivity commit 88ba63c2653b9b4857148fedba47ba2d8a4652c9 Author: Gleb Natapov Date: Tue Aug 4 15:30:29 2009 +0300 KVM: Replace pic_lock()/pic_unlock() with direct call to spinlock functions They are not doing anything else now. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 938396a2341a4a96eaa5bea93a2bcdd69827c70c Author: Gleb Natapov Date: Tue Aug 4 15:30:28 2009 +0300 KVM: Call ack notifiers from PIC when guest OS acks an IRQ. Currently they are called when irq vector is been delivered. Calling ack notifiers at this point is wrong. Device assignment ack notifier enables host interrupts, but guest not yet had a chance to clear interrupt condition in a device. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 956f97cf665dc8c8ce2d5138bb38c022673b12d7 Author: Gleb Natapov Date: Tue Aug 4 15:30:27 2009 +0300 KVM: Call kvm_vcpu_kick() inside pic spinlock d5ecfdd25 moved it out because back than it was impossible to call it inside spinlock. This restriction no longer exists. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 3a34a8810b2ed316bfe58fa53640e8d30de3f6c2 Author: Roel Kluin Date: Tue Aug 4 02:08:45 2009 -0700 KVM: fix EFER read buffer overflow Check whether index is within bounds before grabbing the element. Signed-off-by: Roel Kluin Cc: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Avi Kivity commit 1f3ee616dd21ff155f781c35509229bf2788c072 Author: Amit Shah Date: Tue Jun 30 16:24:28 2009 +0530 KVM: ignore reads to perfctr msrs We ignore writes to the perfctr msrs. Ignore reads as well. Kaspersky antivirus crashes Windows guests if it can't read these MSRs. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit eab4b8aa34fc64e3a91358e1612e6d059396193b Author: Avi Kivity Date: Tue Aug 4 15:02:54 2009 +0300 KVM: VMX: Optimize vmx_get_cpl() Instead of calling vmx_get_segment() (which reads a whole bunch of vmcs fields), read only the cs selector which contains the cpl. Signed-off-by: Avi Kivity commit 07708c4af1346ab1521b26a202f438366b7bcffd Author: Jan Kiszka Date: Mon Aug 3 18:43:28 2009 +0200 KVM: x86: Disallow hypercalls for guest callers in rings > 0 So far unprivileged guest callers running in ring 3 can issue, e.g., MMU hypercalls. Normally, such callers cannot provide any hand-crafted MMU command structure as it has to be passed by its physical address, but they can still crash the guest kernel by passing random addresses. To close the hole, this patch considers hypercalls valid only if issued from guest ring 0. This may still be relaxed on a per-hypercall base in the future once required. Cc: stable@kernel.org Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit b90c062c65cc8839edfac39778a37a55ca9bda36 Author: Marcelo Tosatti Date: Tue Jul 28 15:26:59 2009 -0300 KVM: MMU: fix bogus alloc_mmu_pages assignment Remove the bogus n_free_mmu_pages assignment from alloc_mmu_pages. It breaks accounting of mmu pages, since n_free_mmu_pages is modified but the real number of pages remains the same. Cc: stable@kernel.org Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 3b80fffe2b31fb716d3ebe729c54464ee7856723 Author: Izik Eidus Date: Tue Jul 28 15:26:58 2009 -0300 KVM: MMU: make __kvm_mmu_free_some_pages handle empty list First check if the list is empty before attempting to look at list entries. Cc: stable@kernel.org Signed-off-by: Izik Eidus Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 95fb4eb6981216c07ac01f598e61b273b6eff58c Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 29 00:46:38 2009 +0200 KVM: remove superfluous NULL pointer check in kvm_inject_pit_timer_irqs() This takes care of the following entries from Dan's list: arch/x86/kvm/i8254.c +714 kvm_inject_pit_timer_irqs(6) warning: variable derefenced in initializer 'vcpu' arch/x86/kvm/i8254.c +714 kvm_inject_pit_timer_irqs(6) warning: variable derefenced before check 'vcpu' Reported-by: Dan Carpenter Cc: corbet@lwn.net Cc: eteo@redhat.com Cc: Julia Lawall Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sheng Yang Signed-off-by: Avi Kivity commit 344f414fa0f16254dd07195d4cd11b2f92931d3d Author: Joerg Roedel Date: Mon Jul 27 16:30:48 2009 +0200 KVM: report 1GB page support to userspace If userspace knows that the kernel part supports 1GB pages it can enable the corresponding cpuid bit so that guests actually use GB pages. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 04326caacff2b162d359c15a2edf634448897d1a Author: Joerg Roedel Date: Mon Jul 27 16:30:47 2009 +0200 KVM: MMU: enable gbpages by increasing nr of pagesizes Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 7e4e4056f72da51c5dede48515df0ecd20eaf8ca Author: Joerg Roedel Date: Mon Jul 27 16:30:46 2009 +0200 KVM: MMU: shadow support for 1gb pages This patch adds support for shadow paging to the 1gb page table code in KVM. With this code the guest can use 1gb pages even if the host does not support them. [ Marcelo: fix shadow page collision on pmd level if a guest 1gb page is mapped with 4kb ptes on host level ] Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit e04da980c35d75fa050ba4009ad99025432d8d7d Author: Joerg Roedel Date: Mon Jul 27 16:30:45 2009 +0200 KVM: MMU: make page walker aware of mapping levels The page walker may be used with nested paging too when accessing mmio areas. Make it support the additional page-level too. [ Marcelo: fix reserved bit check for 1gb pte ] Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 852e3c19ac64b7c3912e8efe42d3ce090ebc0161 Author: Joerg Roedel Date: Mon Jul 27 16:30:44 2009 +0200 KVM: MMU: make direct mapping paths aware of mapping levels Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit d25797b24c0ff2efc2b2fabaebb0ec0cafc0d3e3 Author: Joerg Roedel Date: Mon Jul 27 16:30:43 2009 +0200 KVM: MMU: rename is_largepage_backed to mapping_level With the new name and the corresponding backend changes this function can now support multiple hugepage sizes. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 44ad9944f151390363fc6edaba466de8dfef050f Author: Joerg Roedel Date: Mon Jul 27 16:30:42 2009 +0200 KVM: MMU: make rmap code aware of mapping levels This patch removes the largepage parameter from the rmap_add function. Together with rmap_remove this function now uses the role.level field to find determine if the page is a huge page. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit aed665f7bbacf09121370bc7e21b4cc7d55fc5ef Author: Xiao Guangrong Date: Mon Aug 3 17:10:06 2009 +0800 KVM: fix kvm_init() error handling Remove debugfs file if kvm_arch_init() return error Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 1444885a045fe3b1905a14ea1b52540bf556578b Author: Marcelo Tosatti Date: Mon Jul 27 23:41:01 2009 -0300 KVM: limit lapic periodic timer frequency Otherwise its possible to starve the host by programming lapic timer with a very high frequency. Cc: stable@kernel.org Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 5f0269f5d72f622514daec9af158c32e933800b6 Author: Mikhail Ershov Date: Mon Aug 3 14:58:25 2009 +0300 KVM: Align cr8 threshold when userspace changes cr8 Commit f0a3602c20 ("KVM: Move interrupt injection logic to x86.c") does not update the cr8 intercept if the lapic is disabled, so when userspace updates cr8, the cr8 threshold control is not updated and we are left with illegal control fields. Fix by explicitly resetting the cr8 threshold. Signed-off-by: Avi Kivity commit 7f582ab6d8116ce8db5792c219a278519deae6ad Author: Jan Kiszka Date: Wed Jul 22 23:53:01 2009 +0200 KVM: VMX: Avoid to return ENOTSUPP to userland Choose some allowed error values for the cases VMX returned ENOTSUPP so far as these values could be returned by the KVM_RUN IOCTL. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti commit e601e3be7a5324fcfd34fdb8796688cfe48bd0fe Author: Jan Kiszka Date: Mon Jul 20 11:30:12 2009 +0200 KVM: Drop obsolete cpu_get/put in make_all_cpus_request spin_lock disables preemption, so we can simply read the current cpu. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti commit 84fde248fe42f130cdda39faaa8bb1224c6a13ff Author: Gleb Natapov Date: Thu Jul 16 17:03:30 2009 +0300 KVM: PIT: Unregister ack notifier callback when freeing Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit b927a3cec081a605142f5b7e90b730611bee28b1 Author: Sheng Yang Date: Tue Jul 21 10:42:48 2009 +0800 KVM: VMX: Introduce KVM_SET_IDENTITY_MAP_ADDR ioctl Now KVM allow guest to modify guest's physical address of EPT's identity mapping page. (change from v1, discard unnecessary check, change ioctl to accept parameter address rather than value) Signed-off-by: Sheng Yang Signed-off-by: Marcelo Tosatti commit b792c344dfd57ee2cf737440e4a9b4a5bc39d1db Author: Akinobu Mita Date: Sun Jul 19 00:00:01 2009 +0900 KVM: x86: use kvm_get_gdt() and kvm_read_ldt() Use kvm_get_gdt() and kvm_read_ldt() to reduce inline assembly code. Cc: Avi Kivity Cc: kvm@vger.kernel.org Signed-off-by: Akinobu Mita Signed-off-by: Marcelo Tosatti commit 46a359e71526909a18a47aaf4347343d6d1d74b2 Author: Akinobu Mita Date: Sat Jul 18 23:58:32 2009 +0900 KVM: x86: use get_desc_base() and get_desc_limit() Use get_desc_base() and get_desc_limit() to get the base address and limit in desc_struct. Cc: Avi Kivity Cc: kvm@vger.kernel.org Signed-off-by: Akinobu Mita Signed-off-by: Marcelo Tosatti commit decde80b6a2fedd6ea62ea5c4bc4b3cb9fabf153 Author: Gleb Natapov Date: Sun Jul 12 17:13:29 2009 +0300 KVM: s390: remove unused structs They are not used by common code without defines which s390 does not have. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit 6a1ac77110ee3e8d8dfdef8442f3b30b3d83e6a2 Author: Marcelo Tosatti Date: Wed Jul 15 15:34:41 2009 -0300 KVM: MMU: fix missing locking in alloc_mmu_pages n_requested_mmu_pages/n_free_mmu_pages are used by kvm_mmu_change_mmu_pages to calculate the number of pages to zap. alloc_mmu_pages, called from the vcpu initialization path, modifies this variables without proper locking, which can result in a negative value in kvm_mmu_change_mmu_pages (say, with cpu hotplug). Signed-off-by: Marcelo Tosatti commit 3662cb1cd6ed26873ca808f3e16cc54246ad40ca Author: Sheng Yang Date: Thu Jul 9 17:00:42 2009 +0800 KVM: Discard unnecessary kvm_mmu_flush_tlb() in kvm_mmu_load() set_cr3() should already cover the TLB flushing. Signed-off-by: Sheng Yang Signed-off-by: Marcelo Tosatti commit 4088bb3caee82086fd85a844604274f6237f66a7 Author: Gleb Natapov Date: Wed Jul 8 11:26:54 2009 +0300 KVM: silence lapic kernel messages that can be triggered by a guest Some Linux versions (f8) try to read EOI register that is write only. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit a1b37100d9e29c1f8dc3e2f5490a205c80180e01 Author: Gleb Natapov Date: Thu Jul 9 15:33:52 2009 +0300 KVM: Reduce runnability interface with arch support code Remove kvm_cpu_has_interrupt() and kvm_arch_interrupt_allowed() from interface between general code and arch code. kvm_arch_vcpu_runnable() checks for interrupts instead. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 0b71785dc05f1f66e6268022b9953c0d6a9985c6 Author: Gleb Natapov Date: Thu Jul 9 15:33:53 2009 +0300 KVM: Move kvm_cpu_get_interrupt() declaration to x86 code It is implemented only by x86. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit b59bb7bdf08ee98e0d1f1758901f545655b7a413 Author: Gleb Natapov Date: Thu Jul 9 15:33:51 2009 +0300 KVM: Move exception handling to the same place as other events Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit a205bc19f0d203f31a15bd2f9464ef05f918b77e Author: Joerg Roedel Date: Thu Jul 9 16:36:01 2009 +0200 KVM: MMU: Fix MMU_DEBUG compile breakage Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit d34e6b175e61821026893ec5298cc8e7558df43a Author: Gregory Haskins Date: Tue Jul 7 17:08:49 2009 -0400 KVM: add ioeventfd support ioeventfd is a mechanism to register PIO/MMIO regions to trigger an eventfd signal when written to by a guest. Host userspace can register any arbitrary IO address with a corresponding eventfd and then pass the eventfd to a specific end-point of interest for handling. Normal IO requires a blocking round-trip since the operation may cause side-effects in the emulated model or may return data to the caller. Therefore, an IO in KVM traps from the guest to the host, causes a VMX/SVM "heavy-weight" exit back to userspace, and is ultimately serviced by qemu's device model synchronously before returning control back to the vcpu. However, there is a subclass of IO which acts purely as a trigger for other IO (such as to kick off an out-of-band DMA request, etc). For these patterns, the synchronous call is particularly expensive since we really only want to simply get our notification transmitted asychronously and return as quickly as possible. All the sychronous infrastructure to ensure proper data-dependencies are met in the normal IO case are just unecessary overhead for signalling. This adds additional computational load on the system, as well as latency to the signalling path. Therefore, we provide a mechanism for registration of an in-kernel trigger point that allows the VCPU to only require a very brief, lightweight exit just long enough to signal an eventfd. This also means that any clients compatible with the eventfd interface (which includes userspace and kernelspace equally well) can now register to be notified. The end result should be a more flexible and higher performance notification API for the backend KVM hypervisor and perhipheral components. To test this theory, we built a test-harness called "doorbell". This module has a function called "doorbell_ring()" which simply increments a counter for each time the doorbell is signaled. It supports signalling from either an eventfd, or an ioctl(). We then wired up two paths to the doorbell: One via QEMU via a registered io region and through the doorbell ioctl(). The other is direct via ioeventfd. You can download this test harness here: ftp://ftp.novell.com/dev/ghaskins/doorbell.tar.bz2 The measured results are as follows: qemu-mmio: 110000 iops, 9.09us rtt ioeventfd-mmio: 200100 iops, 5.00us rtt ioeventfd-pio: 367300 iops, 2.72us rtt I didn't measure qemu-pio, because I have to figure out how to register a PIO region with qemu's device model, and I got lazy. However, for now we can extrapolate based on the data from the NULLIO runs of +2.56us for MMIO, and -350ns for HC, we get: qemu-pio: 153139 iops, 6.53us rtt ioeventfd-hc: 412585 iops, 2.37us rtt these are just for fun, for now, until I can gather more data. Here is a graph for your convenience: http://developer.novell.com/wiki/images/7/76/Iofd-chart.png The conclusion to draw is that we save about 4us by skipping the userspace hop. -------------------- Signed-off-by: Gregory Haskins Acked-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit 090b7aff27120cdae76a346a70db394844fea598 Author: Gregory Haskins Date: Tue Jul 7 17:08:44 2009 -0400 KVM: make io_bus interface more robust Today kvm_io_bus_regsiter_dev() returns void and will internally BUG_ON if it fails. We want to create dynamic MMIO/PIO entries driven from userspace later in the series, so we need to enhance the code to be more robust with the following changes: 1) Add a return value to the registration function 2) Fix up all the callsites to check the return code, handle any failures, and percolate the error up to the caller. 3) Add an unregister function that collapses holes in the array Signed-off-by: Gregory Haskins Acked-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit fef07aae9cd9ed82f94228c311b35360f1f38902 Author: Andre Przywara Date: Fri Jul 10 14:20:35 2009 +0200 KVM: add module parameters documentation Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit e9f4275732add046fed4a548b8dbb98dbe500d2f Author: Beth Kon Date: Tue Jul 7 11:50:38 2009 -0400 KVM: PIT support for HPET legacy mode When kvm is in hpet_legacy_mode, the hpet is providing the timer interrupt and the pit should not be. So in legacy mode, the pit timer is destroyed, but the *state* of the pit is maintained. So if kvm or the guest tries to modify the state of the pit, this modification is accepted, *except* that the timer isn't actually started. When we exit hpet_legacy_mode, the current state of the pit (which is up to date since we've been accepting modifications) is used to restart the pit timer. The saved_mode code in kvm_pit_load_count temporarily changes mode to 0xff in order to destroy the timer, but then restores the actual value, again maintaining "current" state of the pit for possible later reenablement. [avi: add some reserved storage in the ioctl; make SET_PIT2 IOW] [marcelo: fix memory corruption due to reserved storage] Signed-off-by: Beth Kon Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 0d1de2d901f4ba0972a3886496a44fb1d3300dbd Author: Gleb Natapov Date: Sun Jul 12 16:10:55 2009 +0300 KVM: Always report x2apic as supported feature We emulate x2apic in software, so host support is not required. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit c7f0f24b1f82ec049fcfb8e6d4e1cee2815efbe5 Author: Gleb Natapov Date: Tue Jul 7 15:27:32 2009 +0300 KVM: No need to kick cpu if not in a guest mode This will save a couple of IPIs. Signed-off-by: Gleb Natapov Acked-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 1000ff8d893765d7b56e32fe16dbe4814f172588 Author: Gleb Natapov Date: Tue Jul 7 16:00:57 2009 +0300 KVM: Add trace points in irqchip code Add tracepoint in msi/ioapic/pic set_irq() functions, in IPI sending and in the point where IRQ is placed into apic's IRR. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 07fb8bb29f5269f30afa6f1b3d941406677f6ad2 Author: Michael S. Tsirkin Date: Sun Jul 5 21:27:58 2009 +0300 KVM: ignore msi request if !level Irqfd sets level for interrupt to 1 and then to 0. For MSI, check level so that a single message is sent. Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit f7c6d140032ae7e80df36d350c6edc41f92b2f94 Author: Andre Przywara Date: Thu Jul 2 15:04:14 2009 +0200 KVM: fix MMIO_CONF_BASE MSR access Some Windows versions check whether the BIOS has setup MMI/O for config space accesses on AMD Fam10h CPUs, we say "no" by returning 0 on reads and only allow disabling of MMI/O CfgSpace setup by igoring "0" writes. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit f691fe1da7e2715137d21ae5a80bec64db4625db Author: Avi Kivity Date: Mon Jul 6 15:58:14 2009 +0300 KVM: Trace shadow page lifecycle Create, sync, unsync, zap. Signed-off-by: Avi Kivity commit 9c1b96e34717d001873b603d85434aa78e730282 Author: Avi Kivity Date: Tue Jun 9 12:37:58 2009 +0300 KVM: Document basic API Document the basic API corresponding to the 2.6.22 release. Signed-off-by: Avi Kivity commit 07420171593908406c3a59d6f884d426a921a5ea Author: Avi Kivity Date: Mon Jul 6 12:21:32 2009 +0300 KVM: MMU: Trace guest pagetable walker Signed-off-by: Avi Kivity commit dc7e795e3dd2a763e5ceaa1615f307e808cf3932 Author: Jan Kiszka Date: Wed Jul 1 20:52:03 2009 +0200 Revert "KVM: x86: check for cr3 validity in ioctl_set_sregs" This reverts commit 6c20e1442bb1c62914bb85b7f4a38973d2a423ba. To my understanding, it became obsolete with the advent of the more robust check in mmu_alloc_roots (89da4ff17f). Moreover, it prevents the conceptually safe pattern 1. set sregs 2. register mem-slots 3. run vcpu by setting a sticky triple fault during step 1. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 6098ca939ee5ceb81d6628b9130112516bae7400 Author: Andre Przywara Date: Fri Jul 3 16:00:14 2009 +0200 KVM: handle AMD microcode MSR Windows 7 tries to update the CPU's microcode on some processors, so we ignore the MSR write here. The patchlevel register is already handled (returning 0), because the MSR number is the same as Intel's. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 756975bbfd185169aac19f227d65a8d738a5f5f8 Author: Sheng Yang Date: Mon Jul 6 11:05:39 2009 +0800 KVM: Fix apic_mmio_write return for unaligned write Some in-famous OS do unaligned writing for APIC MMIO, and the return value has been missed in recent change, then the OS hangs. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 70f93dae32aca8b3b7da66891aecd3ee0ee48060 Author: Gleb Natapov Date: Sun Jul 5 18:48:12 2009 +0300 KVM: Use temporary variable to shorten lines. Cosmetic only. No logic is changed by this patch. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 0105d1a526404cfc9779552a6198bfd0e5fc937a Author: Gleb Natapov Date: Sun Jul 5 17:39:36 2009 +0300 KVM: x2apic interface to lapic This patch implements MSR interface to local apic as defines by x2apic Intel specification. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit fc61b800f9506ca47bf1439342a79847f2353562 Author: Gleb Natapov Date: Sun Jul 5 17:39:35 2009 +0300 KVM: Add Directed EOI support to APIC emulation Directed EOI is specified by x2APIC, but is available even when lapic is in xAPIC mode. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit cb24772140e09cb2503af7a4736ae3e08e9ac7d3 Author: Avi Kivity Date: Wed Jul 1 18:25:44 2009 +0300 KVM: Trace apic registers using their symbolic names Signed-off-by: Avi Kivity commit aec51dc4f1584018d7e35269e04e3dde3d2033e6 Author: Avi Kivity Date: Wed Jul 1 16:01:02 2009 +0300 KVM: Trace mmio Signed-off-by: Avi Kivity commit c323c0e5f06150cc000e09e8e3b22356099e7bde Author: Andre Przywara Date: Wed Jun 24 15:37:05 2009 +0200 KVM: Ignore PCI ECS I/O enablement Linux guests will try to enable access to the extended PCI config space via the I/O ports 0xCF8/0xCFC on AMD Fam10h CPU. Since we (currently?) don't use ECS, simply ignore write and read attempts. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit ae8c1c4025c2b780616586c3f86a3374a154ef90 Author: Avi Kivity Date: Wed Jul 1 12:09:41 2009 +0300 KVM: Trace irq level and source id Signed-off-by: Avi Kivity commit 27c4ba60171d9ce29d3645619837760d758ed288 Author: Jiri Slaby Date: Mon Jun 29 18:05:10 2009 +0200 KVM: fix lock imbalance There is a missing unlock on one fail path in ioapic_mmio_write, fix that. Signed-off-by: Jiri Slaby Signed-off-by: Avi Kivity commit 22fc02943a630417cb71734cd0b2e6f8dc4210b6 Author: Michael S. Tsirkin Date: Mon Jun 29 22:24:45 2009 +0300 KVM: document lock nesting rule Document kvm->lock nesting within kvm->slots_lock Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit bda9020e2463ec94db9f97e8615f3bae22069838 Author: Michael S. Tsirkin Date: Mon Jun 29 22:24:32 2009 +0300 KVM: remove in_range from io devices This changes bus accesses to use high-level kvm_io_bus_read/kvm_io_bus_write functions. in_range now becomes unused so it is removed from device ops in favor of read/write callbacks performing range checks internally. This allows aliasing (mostly for in-kernel virtio), as well as better error handling by making it possible to pass errors up to userspace. Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit 6c474694530f377507f9aca438c17206e051e6e7 Author: Michael S. Tsirkin Date: Mon Jun 29 22:24:26 2009 +0300 KVM: convert bus to slots_lock Use slots_lock to protect device list on the bus. slots_lock is already taken for read everywhere, so we only need to take it for write when registering devices. This is in preparation to removing in_range and kvm->lock around it. Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit 108b56690f35e083c5559116d6656f59a557a815 Author: Michael S. Tsirkin Date: Mon Jun 29 22:24:21 2009 +0300 KVM: switch pit creation to slots_lock switch pit creation to slots_lock. slots_lock is already taken for read everywhere, so we only need to take it for write when creating pit. This is in preparation to removing in_range and kvm->lock around it. Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit d5c2dcc36aaf4dfdf9e01513493c71d71715f817 Author: Michael S. Tsirkin Date: Mon Jun 29 22:24:14 2009 +0300 KVM: switch coalesced mmio changes to slots_lock switch coalesced mmio slots_lock. slots_lock is already taken for read everywhere, so we only need to take it for write when changing zones. This is in preparation to removing in_range and kvm->lock around it. [avi: fix build] Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit 69fa2d78653918d200220ca62d44715827e6d617 Author: Michael S. Tsirkin Date: Mon Jun 29 22:24:07 2009 +0300 KVM: document locking for kvm_io_device_ops slots_lock is taken everywhere when device ops are called. Document this as we will use this to rework locking for io. Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit d3efc8efdbaa81e9db3089810fcd526fccba234d Author: Marcelo Tosatti Date: Wed Jun 17 10:07:59 2009 -0300 KVM: use vcpu_id instead of bsp_vcpu pointer in kvm_vcpu_is_bsp Change kvm_vcpu_is_bsp to use vcpu_id instead of bsp_vcpu pointer, which is only initialized at the end of kvm_vm_ioctl_create_vcpu. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2023a29cbe34139afcea8f65f8aef78c325c5dc0 Author: Marcelo Tosatti Date: Thu Jun 18 11:47:28 2009 -0300 KVM: remove old KVMTRACE support code Return EOPNOTSUPP for KVM_TRACE_ENABLE/PAUSE/DISABLE ioctls. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 46f43c6ee022c3aeb9686b104234b9f27fac03c2 Author: Marcelo Tosatti Date: Thu Jun 18 11:47:27 2009 -0300 KVM: powerpc: convert marker probes to event trace [avi: make it build] [avi: fold trace-arch.h into trace.h] CC: Hollis Blanchard Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit ed85c0685321a139cefd6622b21467643f0159e1 Author: Andre Przywara Date: Thu Jun 25 12:36:49 2009 +0200 KVM: introduce module parameter for ignoring unknown MSRs accesses KVM will inject a #GP into the guest if that tries to access unhandled MSRs. This will crash many guests. Although it would be the correct way to actually handle these MSRs, we introduce a runtime switchable module param called "ignore_msrs" (defaults to 0). If this is Y, unknown MSR reads will return 0, while MSR writes are simply dropped. In both cases we print a message to dmesg to inform the user about that. You can change the behaviour at any time by saying: # echo 1 > /sys/modules/kvm/parameters/ignore_msrs Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 1fdbd48c242db996107f72ae4140ffe8163e26a8 Author: Andre Przywara Date: Wed Jun 24 12:44:34 2009 +0200 KVM: ignore reads from AMDs C1E enabled MSR If the Linux kernel detects an C1E capable AMD processor (K8 RevF and higher), it will access a certain MSR on every attempt to go to halt. Explicitly handle this read and return 0 to let KVM run a Linux guest with the native AMD host CPU propagated to the guest. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 8f1589d95e5eab1ed287f217a33656e922cdbdd0 Author: Andre Przywara Date: Wed Jun 24 12:44:33 2009 +0200 KVM: ignore AMDs HWCR register access to set the FFDIS bit Linux tries to disable the flush filter on all AMD K8 CPUs. Since KVM does not handle the needed MSR, the injected #GP will panic the Linux kernel. Ignore setting of the HWCR.FFDIS bit in this MSR to let Linux boot with an AMD K8 family guest CPU. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 894a9c5543abf6f88d36dc1b9f5d90f35db09cb3 Author: Marcelo Tosatti Date: Tue Jun 23 15:05:14 2009 -0300 KVM: x86: missing locking in PIT/IRQCHIP/SET_BSP_CPU ioctl paths Correct missing locking in a few places in x86's vm_ioctl handling path. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit ec04b2604c3707a46db1d26d98f82b11d0844669 Author: Joerg Roedel Date: Fri Jun 19 15:16:23 2009 +0200 KVM: Prepare memslot data structures for multiple hugepage sizes [avi: fix build on non-x86] Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit f340ca0f065ecf3e7549687e763370106dacb2c2 Author: Joerg Roedel Date: Fri Jun 19 15:16:22 2009 +0200 hugetlbfs: export vma_kernel_pagsize to modules This function is required by KVM. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 3eea8437f61ca1f9192d146124425e759c3e5758 Author: Christian Borntraeger Date: Tue Jun 23 17:24:06 2009 +0200 KVM: s390: Fix memslot initialization for userspace_addr != 0 Since commit 854b5338196b1175706e99d63be43a4f8d8ab607 Author: Christian Ehrhardt KVM: s390: streamline memslot handling s390 uses the values of the memslot instead of doing everything in the arch ioctl handler of the KVM_SET_USER_MEMORY_REGION. Unfortunately we missed to set the userspace_addr of our memslot due to our s390 ifdef in __kvm_set_memory_region. Old s390 userspace launchers did not notice, since they started the guest at userspace address 0. Because of CONFIG_DEFAULT_MMAP_MIN_ADDR we now put the guest at 1M userspace, which does not work. This patch makes sure that new.userspace_addr is set on s390. This fix should go in quickly. Nevertheless, looking at the code we should clean up that ifdef in the long term. Any kernel janitors? Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 4668f050787015805a7e8ea29cc4f81d8f07cedb Author: Andre Przywara Date: Thu Jun 18 12:56:02 2009 +0200 KVM: x86 emulator: Add sysexit emulation Handle #UD intercept of the sysexit instruction in 64bit mode returning to 32bit compat mode on an AMD host. Setup the segment descriptors for CS and SS and the EIP/ESP registers according to the manual. Signed-off-by: Christoph Egger Signed-off-by: Amit Shah Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 8c60435261deaefeb53ce3222d04d7d5bea81296 Author: Andre Przywara Date: Thu Jun 18 12:56:01 2009 +0200 KVM: x86 emulator: Add sysenter emulation Handle #UD intercept of the sysenter instruction in 32bit compat mode on an AMD host. Setup the segment descriptors for CS and SS and the EIP/ESP registers according to the manual. Signed-off-by: Christoph Egger Signed-off-by: Amit Shah Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit e66bb2ccdcf76d032bbb464b35c292bb3ee58f9b Author: Andre Przywara Date: Thu Jun 18 12:56:00 2009 +0200 KVM: x86 emulator: add syscall emulation Handle #UD intercept of the syscall instruction in 32bit compat mode on an Intel host. Setup the segment descriptors for CS and SS and the EIP/ESP registers according to the manual. Save the RIP and EFLAGS to the correct registers. [avi: fix build on i386 due to missing R11] Signed-off-by: Christoph Egger Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit e99f0507125f45b723a9069e9e854c3c4758e7ba Author: Andre Przywara Date: Wed Jun 17 15:50:33 2009 +0200 KVM: x86 emulator: Prepare for emulation of syscall instructions Add the flags needed for syscall, sysenter and sysexit to the opcode table. Catch (but for now ignore) the opcodes in the emulation switch/case. Signed-off-by: Andre Przywara Signed-off-by: Amit Shah Signed-off-by: Christoph Egger Signed-off-by: Avi Kivity commit b1d861431ed58f752b31e8c07da029072989bec7 Author: Andre Przywara Date: Wed Jun 17 15:50:32 2009 +0200 KVM: x86 emulator: Add missing EFLAGS bit definitions Signed-off-by: Christoph Egger Signed-off-by: Amit Shah Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 0cb5762ed2b3113b3b8aa84d1d26b815aea71787 Author: Andre Przywara Date: Wed Jun 17 15:50:31 2009 +0200 KVM: Allow emulation of syscalls instructions on #UD Add the opcodes for syscall, sysenter and sysexit to the list of instructions handled by the undefined opcode handler. Signed-off-by: Christoph Egger Signed-off-by: Amit Shah Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 229456fc34b1c9031b04f7581e7b755d1cebfe9c Author: Marcelo Tosatti Date: Wed Jun 17 09:22:14 2009 -0300 KVM: convert custom marker based tracing to event traces This allows use of the powerful ftrace infrastructure. See Documentation/trace/ for usage information. [avi, stephen: various build fixes] [sheng: fix control register breakage] Signed-off-by: Marcelo Tosatti Signed-off-by: Stephen Rothwell Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 219b65dcf6c0bad83d51bfa12e25891c02de2414 Author: Alexander Graf Date: Mon Jun 15 15:21:25 2009 +0200 KVM: SVM: Improve nested interrupt injection While trying to get Hyper-V running, I realized that the interrupt injection mechanisms that are in place right now are not 100% correct. This patch makes nested SVM's interrupt injection behave more like on a real machine. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit ff092385e8285c03d8b148f42f46f98c5f4becd5 Author: Alexander Graf Date: Mon Jun 15 15:21:24 2009 +0200 KVM: SVM: Implement INVLPGA SVM adds another way to do INVLPG by ASID which Hyper-V makes use of, so let's implement it! For now we just do the same thing invlpg does, as asid switching means we flush the mmu anyways. That might change one day though. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 3c5d0a44b011e0a1d857452f05c698e1008b4b4a Author: Alexander Graf Date: Mon Jun 15 15:21:23 2009 +0200 KVM: Implement MSRs used by Hyper-V Hyper-V uses some MSRs, some of which are actually reserved for BIOS usage. But let's be nice today and have it its way, because otherwise it fails terribly. [jaswinder: fix build for linux-next changes] Signed-off-by: Alexander Graf Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Avi Kivity commit 0367b4330e463c45981437083991b90d25a9d78d Author: Alexander Graf Date: Mon Jun 15 15:21:22 2009 +0200 x86: Add definition for IGNNE MSR Hyper-V accesses MSR_IGNNE while running under KVM. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit b3dbf89e676e47ef3b10802f9aba5a8e04aba132 Author: Avi Kivity Date: Tue Jun 16 12:36:33 2009 +0300 KVM: SVM: Don't save/restore host cr2 The host never reads cr2 in process context, so are free to clobber it. The vmx code does this, so we can safely remove the save/restore code. Signed-off-by: Avi Kivity commit d3edefc0035669e8817d1d5c32ef03e882477323 Author: Avi Kivity Date: Tue Jun 16 12:33:56 2009 +0300 KVM: VMX: Only reload guest cr2 if different from host cr2 cr2 changes only rarely, and writing it is expensive. Avoid the costly cr2 writes by checking if it does not already hold the desired value. Shaves 70 cycles off the vmexit latency. Signed-off-by: Avi Kivity commit 681405bfc73a2717ae9b03b2bad465b009106f31 Author: Jan Kiszka Date: Tue Jun 9 15:37:03 2009 +0200 KVM: Drop useless atomic test from timer function The current code tries to optimize the setting of KVM_REQ_PENDING_TIMER but used atomic_inc_and_test - which always returns true unless pending had the invalid value of -1 on entry. This patch drops the test part preserving the original semantic but expressing it less confusingly. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit f7104db26ab2bc5f642892774ac8fb0f15400969 Author: Jan Kiszka Date: Tue Jun 9 15:37:01 2009 +0200 KVM: Fix racy event propagation in timer Minor issue that likely had no practical relevance: the kvm timer function so far incremented the pending counter and then may reset it again to 1 in case reinjection was disabled. This opened a small racy window with the corresponding VCPU loop that may have happened to run on another (real) CPU and already consumed the value. Fix it by skipping the incrementation in case pending is already > 0. This opens a different race windows, but may only rarely cause lost events in case we do not care about them anyway (!reinject). Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 33e4c68656a2e461b296ce714ec322978de85412 Author: Gleb Natapov Date: Thu Jun 11 11:06:51 2009 +0300 KVM: Optimize searching for highest IRR Most of the time IRR is empty, so instead of scanning the whole IRR on each VM entry keep a variable that tells us if IRR is not empty. IRR will have to be scanned twice on each IRQ delivery, but this is much more rare than VM entry. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 6edf14d8d0df144d6928799040f46fa37b5460ae Author: Gleb Natapov Date: Thu Jun 11 11:26:11 2009 +0300 KVM: Replace pending exception by PF if it happens serially Replace previous exception with a new one in a hope that instruction re-execution will regenerate lost exception. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 54dee9933e8d93589ad63ec3d6be39f1921b0767 Author: Marcelo Tosatti Date: Thu Jun 11 12:07:44 2009 -0300 KVM: VMX: conditionally disable 2M pages Disable usage of 2M pages if VMX_EPT_2MB_PAGE_BIT (bit 16) is clear in MSR_IA32_VMX_EPT_VPID_CAP and EPT is enabled. [avi: s/largepages_disabled/largepages_enabled/ to avoid negative logic] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 68f89400bc92421d6da22e1ec8e3ec599c3c8244 Author: Marcelo Tosatti Date: Thu Jun 11 12:07:43 2009 -0300 KVM: VMX: EPT misconfiguration handler Handler for EPT misconfiguration which checks for valid state in the shadow pagetables, printing the spte on each level. The separate WARN_ONs are useful for kerneloops.org. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 94d8b056a20bac4f9905d6dafcf7b7005207684a Author: Marcelo Tosatti Date: Thu Jun 11 12:07:42 2009 -0300 KVM: MMU: add kvm_mmu_get_spte_hierarchy helper Required by EPT misconfiguration handler. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 4d88954d6246d7d43bb8903981731002179f1a1c Author: Marcelo Tosatti Date: Thu Jun 11 12:07:41 2009 -0300 KVM: MMU: make for_each_shadow_entry aware of largepages This way there is no need to add explicit checks in every for_each_shadow_entry user. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit e799794e02a368f79c3fae26aabaaadd0b7466ce Author: Marcelo Tosatti Date: Thu Jun 11 12:07:40 2009 -0300 KVM: VMX: more MSR_IA32_VMX_EPT_VPID_CAP capability bits Required for EPT misconfiguration handler. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 71db602322b1197e7951655c46339324b6208bf9 Author: Andre Przywara Date: Fri Jun 12 22:01:29 2009 +0200 KVM: Move performance counter MSR access interception to generic x86 path The performance counter MSRs are different for AMD and Intel CPUs and they are chosen mainly by the CPUID vendor string. This patch catches writes to all addresses (regardless of VMX/SVM path) and handles them in the generic MSR handler routine. Writing a 0 into the event select register is something we perfectly emulate ;-), so don't print out a warning to dmesg in this case. This fixes booting a 64bit Windows guest with an AMD CPUID on an Intel host. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 2920d7285740582d6101f32c37d8d54f82531e1e Author: Marcelo Tosatti Date: Wed Jun 10 12:27:08 2009 -0300 KVM: MMU audit: largepage handling Make the audit code aware of largepages. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2aaf65e8c40468b198b709a765abe311f91c1a1d Author: Marcelo Tosatti Date: Wed Jun 10 12:27:07 2009 -0300 KVM: MMU audit: audit_mappings tweaks - Fail early in case gfn_to_pfn returns is_error_pfn. - For the pre pte write case, avoid spurious "gva is valid but spte is notrap" messages (the emulation code does the guest write first, so this particular case is OK). Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 48fc03174b125238c541cf00acd5e9b9dff6b9ba Author: Marcelo Tosatti Date: Wed Jun 10 12:27:06 2009 -0300 KVM: MMU audit: nontrapping ptes in nonleaf level It is valid to set non leaf sptes as notrap. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit e58b0f9e0e2c17112e375a3f0ca1ef7e57730f68 Author: Marcelo Tosatti Date: Wed Jun 10 12:27:05 2009 -0300 KVM: MMU audit: update audit_write_protection - Unsync pages contain writable sptes in the rmap. - rmaps do not exclusively contain writable sptes anymore. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 08a3732bf2e68048c9166e929ca2115127a412ab Author: Marcelo Tosatti Date: Wed Jun 10 12:27:04 2009 -0300 KVM: MMU audit: update count_writable_mappings / count_rmaps Under testing, count_writable_mappings returns a value that is 2 integers larger than what count_rmaps returns. Suspicion is that either of the two functions is counting a duplicate (either positively or negatively). Modifying check_writable_mappings_rmap to check for rmap existance on all present MMU pages fails to trigger an error, which should keep Avi happy. Also introduce mmu_spte_walk to invoke a callback on all present sptes visible to the current vcpu, might be useful in the future. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 776e6633363b5616be6fa4493a8b70ef8e2ea04b Author: Marcelo Tosatti Date: Wed Jun 10 12:27:03 2009 -0300 KVM: MMU: introduce is_last_spte helper Hiding some of the last largepage / level interaction (which is useful for gbpages and for zero based levels). Also merge the PT_PAGE_TABLE_LEVEL clearing loop in unlink_children. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 3f5d18a96577fd78277e08c467041573b9a65eaf Author: Avi Kivity Date: Thu Jun 11 15:43:28 2009 +0300 KVM: Return to userspace on emulation failure Instead of mindlessly retrying to execute the instruction, report the failure to userspace. Signed-off-by: Avi Kivity commit 988a2cae6a3c0dea6df59808a935a9a697bfc28c Author: Gleb Natapov Date: Tue Jun 9 15:56:29 2009 +0300 KVM: Use macro to iterate over vcpus. [christian: remove unused variables on s390] Signed-off-by: Gleb Natapov Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 73880c80aa9c8dc353cd0ad26579023213cd5314 Author: Gleb Natapov Date: Tue Jun 9 15:56:28 2009 +0300 KVM: Break dependency between vcpu index in vcpus array and vcpu_id. Archs are free to use vcpu_id as they see fit. For x86 it is used as vcpu's apic id. New ioctl is added to configure boot vcpu id that was assumed to be 0 till now. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 1ed0ce000a6c20c36ec649e32fc24393ef418ed8 Author: Gleb Natapov Date: Tue Jun 9 15:56:27 2009 +0300 KVM: Use pointer to vcpu instead of vcpu_id in timer code. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit c5af89b68abb26eea5e745f33228f4d672f115e5 Author: Gleb Natapov Date: Tue Jun 9 15:56:26 2009 +0300 KVM: Introduce kvm_vcpu_is_bsp() function. Use it instead of open code "vcpu_id zero is BSP" assumption. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit d555c333aa544b222fe077adcd5dfea024b2c913 Author: Avi Kivity Date: Wed Jun 10 14:24:23 2009 +0300 KVM: MMU: s/shadow_pte/spte/ We use shadow_pte and spte inconsistently, switch to the shorter spelling. Rename set_shadow_pte() to __set_spte() to avoid a conflict with the existing set_spte(), and to indicate its lowlevelness. Signed-off-by: Avi Kivity commit 43a3795a3a12425de31e25ce0ebc3bb41501cef7 Author: Avi Kivity Date: Wed Jun 10 14:12:05 2009 +0300 KVM: MMU: Adjust pte accessors to explicitly indicate guest or shadow pte Since the guest and host ptes can have wildly different format, adjust the pte accessor names to indicate on which type of pte they operate on. No functional changes. Signed-off-by: Avi Kivity commit 439e218a6f4716da484314fc5a1f0a59b0212c01 Author: Avi Kivity Date: Wed Jun 10 12:56:54 2009 +0300 KVM: MMU: Fix is_dirty_pte() is_dirty_pte() is used on guest ptes, not shadow ptes, so it needs to avoid shadow_dirty_mask and use PT_DIRTY_MASK instead. Misdetecting dirty pages could lead to unnecessarily setting the dirty bit under EPT. Signed-off-by: Avi Kivity commit 7ffd92c53c5ebd0ad5a68ac3ca033c3a06374d19 Author: Avi Kivity Date: Tue Jun 9 14:10:45 2009 +0300 KVM: VMX: Move rmode structure to vmx-specific code rmode is only used in vmx, so move it to vmx.c Signed-off-by: Avi Kivity commit 6a4a98397331723dce25a7537270548d91523431 Author: Avi Kivity Date: Tue Jun 9 11:33:36 2009 +0300 KVM: Reorder ioctls in kvm.h Somehow the VM ioctls got unsorted; resort. Signed-off-by: Avi Kivity commit 3a624e29c7587b79abab60e279f9d1a62a3d4716 Author: Nitin A Kamble Date: Mon Jun 8 11:34:16 2009 -0700 KVM: VMX: Support Unrestricted Guest feature "Unrestricted Guest" feature is added in the VMX specification. Intel Westmere and onwards processors will support this feature. It allows kvm guests to run real mode and unpaged mode code natively in the VMX mode when EPT is turned on. With the unrestricted guest there is no need to emulate the guest real mode code in the vm86 container or in the emulator. Also the guest big real mode code works like native. The attached patch enhances KVM to use the unrestricted guest feature if available on the processor. It also adds a new kernel/module parameter to disable the unrestricted guest feature at the boot time. Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit fa40a8214bb9bcae8d49c234c19d8b4a6c1f37ff Author: Marcelo Tosatti Date: Thu Jun 4 15:08:24 2009 -0300 KVM: switch irq injection/acking data structures to irq_lock Protect irq injection/acking data structures with a separate irq_lock mutex. This fixes the following deadlock: CPU A CPU B kvm_vm_ioctl_deassign_dev_irq() mutex_lock(&kvm->lock); worker_thread() -> kvm_deassign_irq() -> kvm_assigned_dev_interrupt_work_handler() -> deassign_host_irq() mutex_lock(&kvm->lock); -> cancel_work_sync() [blocked] [gleb: fix ia64 path] Reported-by: Alex Williamson Signed-off-by: Marcelo Tosatti Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 60eead79ad8750f80384cbe48fc44edcc78a0305 Author: Marcelo Tosatti Date: Thu Jun 4 15:08:23 2009 -0300 KVM: introduce irq_lock, use it to protect ioapic Introduce irq_lock, and use to protect ioapic data structures. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 64a2268dcfc9c3626aa7f70902690e2fc10c1630 Author: Marcelo Tosatti Date: Thu Jun 4 15:08:22 2009 -0300 KVM: move coalesced_mmio locking to its own device Move coalesced_mmio locking to its own device, instead of relying on kvm->lock. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 9f4cc12765ea48a40347449d6802a3322ced8709 Author: Marcelo Tosatti Date: Thu Jun 4 15:08:21 2009 -0300 KVM: Grab pic lock in kvm_pic_clear_isr_ack isr_ack is protected by kvm_pic->lock. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 238adc77051ab19b35663e7f214f52eaf44ed7ef Author: Jan Kiszka Date: Fri Jun 5 16:13:34 2009 +0200 KVM: Cleanup LAPIC interface None of the interface services the LAPIC emulation provides need to be exported to modules, and kvm_lapic_get_base is even totally unused today. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 06579dd9c12f36ac575460a226d2020d84a0128b Author: Liu Yu Date: Fri Jun 5 14:54:31 2009 +0800 KVM: ppc: e500: Add MMUCFG and PVR emulation Latest kernel started to use these two registers. Signed-off-by: Liu Yu Signed-off-by: Avi Kivity commit 5b7c1a2c17e77cd5416755bb9ac63278996f6c51 Author: Liu Yu Date: Fri Jun 5 14:54:30 2009 +0800 KVM: ppc: e500: Directly pass pvr to guest Signed-off-by: Liu Yu Signed-off-by: Avi Kivity commit 0cfb50e50dd27539fed9ba3cb33b0f22c0cddef0 Author: Liu Yu Date: Fri Jun 5 14:54:29 2009 +0800 KVM: ppc: e500: Move to Book-3e MMU definitions According to commit 70fe3af8403f85196bb74f22ce4813db7dfedc1a. Signed-off-by: Liu Yu Signed-off-by: Avi Kivity commit 105f8d40a737564100dc7dcd1d94d4e15fada20e Author: Avi Kivity Date: Thu Jun 4 18:09:08 2009 +0300 KVM: Calculate available entries in coalesced mmio ring Instead of checking whether we'll wrap around, calculate how many entries are available, and check whether we have enough (just one) for the pending mmio. By itself, this doesn't change anything, but it paves the way for making this function lockless. Signed-off-by: Avi Kivity commit 596ae895653fe336b9b5815ad2c175d22bb26f21 Author: Avi Kivity Date: Wed Jun 3 14:12:10 2009 +0300 KVM: VMX: Fix reporting of unhandled EPT violations Instead of returning -ENOTSUPP, exit normally but indicate the hardware exit reason. Signed-off-by: Avi Kivity commit 6de4f3ada40b336522250a7832a0cc4de8856589 Author: Avi Kivity Date: Sun May 31 22:58:47 2009 +0300 KVM: Cache pdptrs Instead of reloading the pdptrs on every entry and exit (vmcs writes on vmx, guest memory access on svm) extract them on demand. Signed-off-by: Avi Kivity commit 8f5d549f028056d6ad6044f2d9e27ecf361d955e Author: Avi Kivity Date: Sun May 31 18:41:29 2009 +0300 KVM: VMX: Simplify pdptr and cr3 management Instead of reading the PDPTRs from memory after every exit (which is slow and wrong, as the PDPTRs are stored on the cpu), sync the PDPTRs from memory to the VMCS before entry, and from the VMCS to memory after exit. Do the same for cr3. Signed-off-by: Avi Kivity commit 2d84e993a8947dbeb6b416555940d97522330846 Author: Avi Kivity Date: Sun May 31 18:29:59 2009 +0300 KVM: VMX: Avoid duplicate ept tlb flush when setting cr3 vmx_set_cr3() will call vmx_tlb_flush(), which will flush the ept context. So there is no need to call ept_sync_context() explicitly. Signed-off-by: Avi Kivity commit 6b66ac1ae3328177305a2600eb85b7446f41fdc9 Author: Gregory Haskins Date: Mon Jun 1 12:54:56 2009 -0400 KVM: do not register i8254 PIO regions until we are initialized We currently publish the i8254 resources to the pio_bus before the devices are fully initialized. Since we hold the pit_lock, its probably not a real issue. But lets clean this up anyway. Reported-by: Avi Kivity Signed-off-by: Gregory Haskins Acked-by: Chris Wright Signed-off-by: Avi Kivity commit d76685c4a074041ed168e0b04dd604c3df5dcaa5 Author: Gregory Haskins Date: Mon Jun 1 12:54:50 2009 -0400 KVM: cleanup io_device code We modernize the io_device code so that we use container_of() instead of dev->private, and move the vtable to a separate ops structure (theoretically allows better caching for multiple instances of the same ops structure) Signed-off-by: Gregory Haskins Acked-by: Chris Wright Signed-off-by: Avi Kivity commit 787a660a4f03325a0e00493ac39017e53fd345fa Author: Gregory Haskins Date: Mon Jun 1 12:54:45 2009 -0400 KVM: Clean up coalesced_mmio destruction We invoke kfree() on a data member instead of the structure. This works today because the kvm_io_device is the first element of the private structure, but this could change in the future, so lets clean this up. Signed-off-by: Gregory Haskins Acked-by: Chris Wright Signed-off-by: Avi Kivity commit 2986b8c72c272ea58edd37903b042c6da985627d Author: Stephen Rothwell Date: Tue Jun 2 11:46:14 2009 +1000 KVM: powerpc: fix some init/exit annotations Fixes a couple of warnings like this one: WARNING: arch/powerpc/kvm/kvm-440.o(.text+0x1e8c): Section mismatch in reference from the function kvmppc_44x_exit() to the function .exit.text:kvmppc_booke_exit() The function kvmppc_44x_exit() references a function in an exit section. Often the function kvmppc_booke_exit() has valid usage outside the exit section and the fix is to remove the __exit annotation of kvmppc_booke_exit. Also add some __init annotations on obvious routines. Signed-off-by: Stephen Rothwell Signed-off-by: Avi Kivity commit 6c8166a77c98f473eb91e96a61c3cf78ac617278 Author: Avi Kivity Date: Sun May 31 18:15:37 2009 +0300 KVM: SVM: Fold kvm_svm.h info svm.c kvm_svm.h is only included from svm.c, so fold it in. Signed-off-by: Avi Kivity commit b188d2d365702cfc660a56d66f4bf77ebf14a5c2 Author: Christian Ehrhardt Date: Fri May 29 12:58:50 2009 +0200 KVM: remove redundant declarations Changing s390 code in kvm_arch_vcpu_load/put come across this header declarations. They are complete duplicates, not even useful forward declarations as nothing using it is in between (maybe it was that in the past). This patch removes the two dispensable lines. Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 968a6347936f9421b5bc5358b579e811c52726bc Author: Sheng Yang Date: Thu Apr 30 10:58:42 2009 +0800 KVM: No disable_irq for MSI/MSI-X interrupt on device assignment Disable interrupt at interrupt handler and enable it when guest ack is for the level triggered interrupt, to prevent reinjected interrupt. MSI/MSI-X don't need it. One possible problem is multiply same vector interrupt injected between irq handler and scheduled work handler would be merged as one for MSI/MSI-X. But AFAIK, the drivers handle it well. The patch fixed the oplin card performance issue(MSI-X performance is half of MSI/INTx). Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 017cb99e875f2d8ff375cbb576c794b081cd0bd5 Author: Andre Przywara Date: Thu May 28 11:56:31 2009 +0200 KVM: SVM: use explicit 64bit storage for sysenter values Since AMD does not support sysenter in 64bit mode, the VMCB fields storing the MSRs are truncated to 32bit upon VMRUN/#VMEXIT. So store the values in a separate 64bit storage to avoid truncation. [andre: fix amd->amd migration] Signed-off-by: Christoph Egger Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit e7333391403b31feb27a05bc0dcd052a471f1276 Author: Sheng Yang Date: Thu May 21 13:50:13 2009 +0800 KVM: Downsize max support MSI-X entry to 256 We only trap one page for MSI-X entry now, so it's 4k/(128/8) = 256 entries at most. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 628eb9b8a8f3ef31d8316112a4596b1a21b38159 Author: Christian Ehrhardt Date: Mon May 25 13:40:51 2009 +0200 KVM: s390: streamline memslot handling This patch relocates the variables kvm-s390 uses to track guest mem addr/size. As discussed dropping the variables at struct kvm_arch level allows to use the common vcpu->request based mechanism to reload guest memory if e.g. changes via set_memory_region. The kick mechanism introduced in this series is used to ensure running vcpus leave guest state to catch the update. Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit b1d16c495d9e6fe48e7df2e1d18cafc6555a116a Author: Christian Ehrhardt Date: Wed May 20 15:34:56 2009 +0200 KVM: s390: fix signal handling If signal pending is true we exit without updating kvm_run, userspace currently just does nothing and jumps to kvm_run again. Since we did not set an exit_reason we might end up with a random one (whatever was the last exit). Therefore it was possible to e.g. jump to the psw position the last real interruption set. Setting the INTR exit reason ensures that no old psw data is swapped in on reentry. Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 9ace903d171db7dc2fed96e44ac62b6f4c3ccb3d Author: Christian Ehrhardt Date: Wed May 20 15:34:55 2009 +0200 KVM: s390: infrastructure to kick vcpus out of guest state To ensure vcpu's come out of guest context in certain cases this patch adds a s390 specific way to kick them out of guest context. Currently it kicks them out to rerun the vcpu_run path in the s390 code, but the mechanism itself is expandable and with a new flag we could also add e.g. kicks to userspace etc. Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 3032b925f00ba2653f7695d356d6f8284c82038d Author: Jes Sorensen Date: Mon May 25 10:22:17 2009 +0200 KVM: ia64: Correct itc_offset calculations Init the itc_offset for all possible vCPUs. The current code by mistake ends up only initializing the offset on vCPU 0. Spotted by Gleb Natapov. Signed-off-by: Jes Sorensen Acked-by : Xiantao Zhang Signed-off-by: Avi Kivity commit c5ff41ce66382d657a76bc06ba252d848826950f Author: Jan Kiszka Date: Thu May 14 22:42:53 2009 +0200 KVM: Allow PIT emulation without speaker port The in-kernel speaker emulation is only a dummy and also unneeded from the performance point of view. Rather, it takes user space support to generate sound output on the host, e.g. console beeps. To allow this, introduce KVM_CREATE_PIT2 which controls in-kernel speaker port emulation via a flag passed along the new IOCTL. It also leaves room for future extensions of the PIT configuration interface. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 721eecbf4fe995ca94a9edec0c9843b1cc0eaaf3 Author: Gregory Haskins Date: Wed May 20 10:30:49 2009 -0400 KVM: irqfd KVM provides a complete virtual system environment for guests, including support for injecting interrupts modeled after the real exception/interrupt facilities present on the native platform (such as the IDT on x86). Virtual interrupts can come from a variety of sources (emulated devices, pass-through devices, etc) but all must be injected to the guest via the KVM infrastructure. This patch adds a new mechanism to inject a specific interrupt to a guest using a decoupled eventfd mechnanism: Any legal signal on the irqfd (using eventfd semantics from either userspace or kernel) will translate into an injected interrupt in the guest at the next available interrupt window. Signed-off-by: Gregory Haskins Signed-off-by: Avi Kivity commit 0ba12d10817a8db1fd7d96d3283ec6c0b294aeab Author: Avi Kivity Date: Thu May 21 16:45:19 2009 +0300 KVM: Move common KVM Kconfig items to new file virt/kvm/Kconfig Reduce Kconfig code duplication. Signed-off-by: Avi Kivity commit 787ff73637bbf34ef276cb04a127b421de71cc43 Author: Gleb Natapov Date: Mon May 18 11:44:06 2009 +0300 KVM: Drop interrupt shadow when single stepping should be done only on VMX The problem exists only on VMX. Also currently we skip this step if there is pending exception. The patch fixes this too. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 284e9b0f5ad0c049efb7f145588782bf3d8be93e Author: Christoph Hellwig Date: Mon May 18 08:16:14 2009 -0400 KVM: cleanup arch/x86/kvm/Makefile Use proper foo-y style list additions to cleanup all the conditionals, move module selection after compound object selection and remove the superflous comment. Signed-off-by: Christoph Hellwig Signed-off-by: Avi Kivity commit ee3d29e8bee8d7c321279a9bd9bd25d4cfbf79b7 Author: Avi Kivity Date: Mon May 18 16:15:20 2009 +0300 KVM: x86 emulator: fix jmp far decoding (opcode 0xea) The jump target should not be sign extened; use an unsigned decode flag. Cc: stable@kernel.org Signed-off-by: Avi Kivity commit c9eaf20f268c7051bfde2ba212c5ea76a6cbc7a1 Author: Avi Kivity Date: Mon May 18 16:13:45 2009 +0300 KVM: x86 emulator: Implement zero-extended immediate decoding Absolute jumps use zero extended immediate operands. Cc: stable@kernel.org Signed-off-by: Avi Kivity commit cb007648de83cf226d69ec76e1c01848b4e8e49f Author: Mark McLoughlin Date: Tue May 12 12:36:44 2009 +0100 KVM: fix cpuid E2BIG handling for extended request types If we run out of cpuid entries for extended request types we should return -E2BIG, just like we do for the standard request types. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit 60af2ecdc53af5b941e4a2eb99862a7ccf3ed7c8 Author: Jaswinder Singh Rajput Date: Thu May 14 11:00:10 2009 +0530 KVM: Use MSR names in place of address Replace 0xc0010010 with MSR_K8_SYSCFG and 0xc0010015 with MSR_K7_HWCR. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Avi Kivity commit 890ca9aefa78f7831f8f633cab9e4803636dffe4 Author: Huang Ying Date: Mon May 11 16:48:15 2009 +0800 KVM: Add MCE support The related MSRs are emulated. MCE capability is exported via extension KVM_CAP_MCE and ioctl KVM_X86_GET_MCE_CAP_SUPPORTED. A new vcpu ioctl command KVM_X86_SETUP_MCE is used to setup MCE emulation such as the mcg_cap. MCE is injected via vcpu ioctl command KVM_X86_SET_MCE. Extended machine-check state (MCG_EXT_P) and CMCI are not implemented. Signed-off-by: Huang Ying Signed-off-by: Avi Kivity commit af24a4e4aec77ef16c1971cf4465f767ba946034 Author: Jaswinder Singh Rajput Date: Fri May 15 18:42:05 2009 +0530 KVM: Replace MSR_IA32_TIME_STAMP_COUNTER with MSR_IA32_TSC of msr-index.h Use standard msr-index.h's MSR declaration. MSR_IA32_TSC is better than MSR_IA32_TIME_STAMP_COUNTER as it also solves 80 column issue. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Avi Kivity commit ae0bb3e011fec51fa67073d8e23d8ffeb36185d1 Author: Gleb Natapov Date: Tue May 19 11:07:10 2009 +0300 KVM: VMX: Properly handle software interrupt re-injection in real mode When reinjecting a software interrupt or exception, use the correct instruction length provided by the hardware instead of a hardcoded 1. Fixes problems running the suse 9.1 livecd boot loader. Problem introduced by commit f0a3602c20 ("KVM: Move interrupt injection logic to x86.c"). Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 197e2eabc90c203d1086916b7f66694ba5fbb937 Author: Li Zefan Date: Thu Sep 10 09:34:19 2009 +0800 tracing: move PRED macros to trace_events_filter.c Move DEFINE_COMPARISON_PRED() and DEFINE_EQUALITY_PRED() to kernel/trace/trace_events_filter.c Signed-off-by: Li Zefan LKML-Reference: <4AA8579B.4020706@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit a5921c6c37d51ee2079ca3c69ea6f7b7384f5d87 Author: Li Zefan Date: Thu Sep 10 09:34:19 2009 +0800 tracing: remove stats from struct tracer Remove unused field @stats from struct tracer. Signed-off-by: Li Zefan LKML-Reference: <4AA8579B.4020706@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit bd9cfca9cb71200dd82b320bba12540dc078f4e0 Author: Li Zefan Date: Thu Sep 10 09:34:19 2009 +0800 tracing: format clean ups Fix white-space formatting. Signed-off-by: Li Zefan LKML-Reference: <4AA8579B.4020706@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit e0ab5f2daee1c7a6a387591bf37f0bad4e407112 Author: Li Zefan Date: Thu Sep 10 09:34:19 2009 +0800 tracing: remove dead code Removes unreachable code. Signed-off-by: Li Zefan LKML-Reference: <4AA8579B.4020706@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 478142c39c8c2f5f63038e5f2224e6729406e587 Author: Steven Rostedt Date: Wed Sep 9 10:36:01 2009 -0400 tracing: do not grab lock in wakeup latency function tracing The wakeup tracer, when enabled, has its own function tracer. It only traces the functions on the CPU where the task it is following is on. If a task is woken on one CPU but then migrates to another CPU before it wakes up, the latency tracer will then start tracing functions on the other CPU. To find which CPU the task is on, the wakeup function tracer performs a task_cpu(wakeup_task). But to make sure the task does not disappear it grabs the wakeup_lock, which is also taken when the task wakes up. By taking this lock, the function tracer does not need to worry about the task being freed as it checks its cpu. Jan Blunck found a problem with this approach on his 32 CPU box. When a task is being traced by the wakeup tracer, all functions take this lock. That means that on all 32 CPUs, each function call is taking this one lock to see if the task is on that CPU. This lock has just serialized all functions on all 32 CPUs. Needless to say, this caused major issues on that box. It would even lockup. This patch changes the wakeup latency to insert a probe on the migrate task tracepoint. When a task changes its CPU that it will run on, the probe will take note. Now the wakeup function tracer no longer needs to take the lock. It only compares the current CPU with a variable that holds the current CPU the task is on. We don't worry about races since it is OK to add or miss a function trace. Reported-by: Jan Blunck Tested-by: Jan Blunck Signed-off-by: Steven Rostedt commit d8eeb2d3b26d25c44c10f28430e2157a2d20bd1d Author: Robert Richter Date: Fri Jul 31 14:58:04 2009 +0200 ring-buffer: consolidate interface of rb_buffer_peek() rb_buffer_peek() operates with struct ring_buffer_per_cpu *cpu_buffer only. Thus, instead of passing variables buffer and cpu it is better to use cpu_buffer directly. This also reduces the risk of races since cpu_buffer is not calculated twice. Signed-off-by: Robert Richter LKML-Reference: <1249045084-3028-1-git-send-email-robert.richter@amd.com> Signed-off-by: Steven Rostedt commit 526b678093a8a4bcf1ffffbe17bcf21c057eddf5 Merge: 752015d 18f4c64 Author: Linus Torvalds Date: Wed Sep 9 20:04:54 2009 -0700 Merge branch 'lookup-permissions-cleanup' * lookup-permissions-cleanup: jffs2/jfs/xfs: switch over to 'check_acl' rather than 'permission()' ext[234]: move over to 'check_acl' permission model shmfs: use 'check_acl' instead of 'permission' Make 'check_acl()' a first-class filesystem op Simplify exec_permission_lite(), part 3 Simplify exec_permission_lite() further Simplify exec_permission_lite() logic Do not call 'ima_path_check()' for each path component commit 752015d1b0683a8c623ebfe4c62893413e9b30d3 Author: Roland McGrath Date: Tue Sep 8 19:49:40 2009 -0700 binfmt_elf: fix PT_INTERP bss handling In fs/binfmt_elf.c, load_elf_interp() calls padzero() for .bss even if the PT_LOAD has no PROT_WRITE and no .bss. This generates EFAULT. Here is a small test case. (Yes, there are other, useful PT_INTERP which have only .text and no .data/.bss.) ----- ptinterp.S _start: .globl _start nop int3 ----- $ gcc -m32 -nostartfiles -nostdlib -o ptinterp ptinterp.S $ gcc -m32 -Wl,--dynamic-linker=ptinterp -o hello hello.c $ ./hello Segmentation fault # during execve() itself After applying the patch: $ ./hello Trace trap # user-mode execution after execve() finishes If the ELF headers are actually self-inconsistent, then dying is fine. But having no PROT_WRITE segment is perfectly normal and correct if there is no segment with p_memsz > p_filesz (i.e. bss). John Reiser suggested checking for PROT_WRITE in the bss logic. I think it makes most sense to simply apply the bss logic only when there is bss. This patch looks less trivial than it is due to some reindentation. It just moves the "if (last_bss > elf_bss) {" test up to include the partial-page bss logic as well as the more-pages bss logic. Reported-by: John Reiser Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 732c611e5bbb76201397297f834dddd5ab684b05 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:12 2009 -0700 generic GPIO support misc files. The definition of MCFSIM_PADDR and MCFSIM_PADAT now has MCF_BAR already added in. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit dca7cf33bb5c98187ffcc849652b1b2c4c8a0c25 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:11 2009 -0700 generic GPIO support for the Freescale Coldfire 5407. Add support for the 5407. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit 7846fe800a81adae1e28d9d035b5226f75358280 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:10 2009 -0700 generic GPIO support for the Freescale Coldfire 532x. Add support for the 532x. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit f7a20ba06435d067247bd50a15a1d550b9b3fc7d Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:09 2009 -0700 generic GPIO support for the Freescale Coldfire 5307. Add support for the 5307. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit 6da6e63c96f5fc8a92b6d1d6f12c2bf998588ffe Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:08 2009 -0700 generic GPIO support for the Freescale Coldfire 528x. Add support for the 528x. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit 316f2c483c32e9385329303258d12e6e33892af5 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:07 2009 -0700 generic GPIO support for the Freescale Coldfire 5272. Add support for the 5272. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit f1554da34f11518bde33776c292c1b58fc20f073 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:06 2009 -0700 generic GPIO support for the Freescale Coldfire 527x. Add support for the 5271 & 5275. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit 9e8ded166dcc7831ee6f31f8a0937cd9b58e83b0 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:05 2009 -0700 generic GPIO support for the Freescale Coldfire 5249. Add support for the 5249. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit a03ce7d9ef05e145ef706f99e68d5ffacf0ad325 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:04 2009 -0700 generic GPIO support for the Freescale Coldfire 523x. Add support for the 523x. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit afde8560b4217338c17b7dbc9e9d7676c1b3a5ff Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:03 2009 -0700 generic GPIO support for the Freescale Coldfire 520x. Add support for the 520x. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit 24a1836ecd471409aeb5362f63032126ebe7fb10 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:02 2009 -0700 generic GPIO support for the Freescale Coldire 5206e. Add support for the 5206e. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit bc25b057fa0a0e4754b7e2524c509874649d11ae Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:01 2009 -0700 generic GPIO support for the Freescale Coldfire 5206. Add support for the 5206. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit af39bb8b07af83b579c90c09ba3943123cdb4132 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:00 2009 -0700 core generic GPIO support for Freescale Coldfire processors. This adds the basic infrastructure used by all of the different Coldfire CPUs. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit ec282e9225be924479d4880b51f13524795bd8d3 Author: Tobias Klauser Date: Wed Sep 9 01:07:43 2009 +0000 dm9000: Use resource_size instead of private macro The macro res_size in drivers/net/dm9000.c is a copy of resource_size in linux/ioport.h. Remove the function and use resource_size instead. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 07fcb044b6ea53b67d00e198f9073e0538df7b75 Author: Tobias Klauser Date: Wed Sep 9 01:07:44 2009 +0000 dm9000: Remove unnecessary memset of netdev private data The memory for the private data is allocated using kzalloc in alloc_etherdev (or alloc_netdev_mq respectively) so there is no need to set it to 0 again. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 58f25468b5636c390ad2a58356b127c0055884b4 Author: Amit Kumar Salecha Date: Wed Sep 9 18:12:59 2009 -0700 netxen: fix tx descriptor structure Fix the offset of vlan_TCI field in cmd_desc_type0. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 3db7675506ef7460bf6220545bfc69abb7dbceab Author: Amit Kumar Salecha Date: Wed Sep 9 18:12:37 2009 -0700 netxen: fix check for ip addr hashing support Fix typo in checking dest ip has support before programming destip addresses. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 23bcf634c8bc0d84607a5b863333191d58baee4c Author: Patrick McHardy Date: Wed Sep 9 18:11:23 2009 -0700 net_sched: fix estimator lock selection for mq child qdiscs When new child qdiscs are attached to the mq qdisc, they are actually attached as root qdiscs to the device queues. The lock selection for new estimators incorrectly picks the root lock of the existing and to be replaced qdisc, which results in a use-after-free once the old qdisc has been destroyed. Mark mq qdisc instances with a new flag and treat qdiscs attached to mq as children similar to regular root qdiscs. Additionally prevent estimators from being attached to the mq qdisc itself since it only updates its byte and packet counters during dumps. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ea6a634ef7f0ab1d1f48ba0ad4f50e96d6065312 Merge: fa1a9c6 b2e3abd Author: David S. Miller Date: Wed Sep 9 17:33:45 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit ddd29ec6597125c830f7badb608a86c98b936b64 Author: David P. Quigley Date: Wed Sep 9 14:25:37 2009 -0400 sysfs: Add labeling support for sysfs This patch adds a setxattr handler to the file, directory, and symlink inode_operations structures for sysfs. The patch uses hooks introduced in the previous patch to handle the getting and setting of security information for the sysfs inodes. As was suggested by Eric Biederman the struct iattr in the sysfs_dirent structure has been replaced by a structure which contains the iattr, secdata and secdata length to allow the changes to persist in the event that the inode representing the sysfs_dirent is evicted. Because sysfs only stores this information when a change is made all the optional data is moved into one dynamically allocated field. This patch addresses an issue where SELinux was denying virtd access to the PCI configuration entries in sysfs. The lack of setxattr handlers for sysfs required that a single label be assigned to all entries in sysfs. Granting virtd access to every entry in sysfs is not an acceptable solution so fine grained labeling of sysfs is required such that individual entries can be labeled appropriately. [sds: Fixed compile-time warnings, coding style, and setting of inode security init flags.] Signed-off-by: David P. Quigley Signed-off-by: Stephen D. Smalley Signed-off-by: James Morris commit 1ee65e37e904b959c24404139f5752edc66319d5 Author: David P. Quigley Date: Thu Sep 3 14:25:57 2009 -0400 LSM/SELinux: inode_{get,set,notify}secctx hooks to access LSM security context information. This patch introduces three new hooks. The inode_getsecctx hook is used to get all relevant information from an LSM about an inode. The inode_setsecctx is used to set both the in-core and on-disk state for the inode based on a context derived from inode_getsecctx.The final hook inode_notifysecctx will notify the LSM of a change for the in-core state of the inode in question. These hooks are for use in the labeled NFS code and addresses concerns of how to set security on an inode in a multi-xattr LSM. For historical reasons Stephen Smalley's explanation of the reason for these hooks is pasted below. Quote Stephen Smalley inode_setsecctx: Change the security context of an inode. Updates the in core security context managed by the security module and invokes the fs code as needed (via __vfs_setxattr_noperm) to update any backing xattrs that represent the context. Example usage: NFS server invokes this hook to change the security context in its incore inode and on the backing file system to a value provided by the client on a SETATTR operation. inode_notifysecctx: Notify the security module of what the security context of an inode should be. Initializes the incore security context managed by the security module for this inode. Example usage: NFS client invokes this hook to initialize the security context in its incore inode to the value provided by the server for the file when the server returned the file's attributes to the client. Signed-off-by: David P. Quigley Acked-by: Serge Hallyn Signed-off-by: James Morris commit b1ab7e4b2a88d3ac13771463be8f302ce1616cfc Author: David P. Quigley Date: Thu Sep 3 14:25:56 2009 -0400 VFS: Factor out part of vfs_setxattr so it can be called from the SELinux hook for inode_setsecctx. This factors out the part of the vfs_setxattr function that performs the setting of the xattr and its notification. This is needed so the SELinux implementation of inode_setsecctx can handle the setting of the xattr while maintaining the proper separation of layers. Signed-off-by: David P. Quigley Acked-by: Serge Hallyn Signed-off-by: James Morris commit 2496afbf1e50c70f80992656bcb730c8583ddac3 Author: Yang Xiaowei Date: Wed Sep 9 12:44:52 2009 -0700 xen: use stronger barrier after unlocking lock We need to have a stronger barrier between releasing the lock and checking for any waiting spinners. A compiler barrier is not sufficient because the CPU's ordering rules do not prevent the read xl->spinners from happening before the unlock assignment, as they are different memory locations. We need to have an explicit barrier to enforce the write-read ordering to different memory locations. Because of it, I can't bring up > 4 HVM guests on one SMP machine. [ Code and commit comments expanded -J ] [ Impact: avoid deadlock when using Xen PV spinlocks ] Signed-off-by: Yang Xiaowei Signed-off-by: Jeremy Fitzhardinge commit 4d576b57b50a92801e6493e76e5243d6cff193d2 Author: Jeremy Fitzhardinge Date: Wed Sep 9 12:33:51 2009 -0700 xen: only enable interrupts while actually blocking for spinlock Where possible we enable interrupts while waiting for a spinlock to become free, in order to reduce big latency spikes in interrupt handling. However, at present if we manage to pick up the spinlock just before blocking, we'll end up holding the lock with interrupts enabled for a while. This will cause a deadlock if we recieve an interrupt in that window, and the interrupt handler tries to take the lock too. Solve this by shrinking the interrupt-enabled region to just around the blocking call. [ Impact: avoid race/deadlock when using Xen PV spinlocks ] Reported-by: "Yang, Xiaowei" Signed-off-by: Jeremy Fitzhardinge commit 577eebeae34d340685d8985dfdb7dfe337c511e8 Author: Jeremy Fitzhardinge Date: Thu Aug 27 12:46:35 2009 -0700 xen: make -fstack-protector work under Xen -fstack-protector uses a special per-cpu "stack canary" value. gcc generates special code in each function to test the canary to make sure that the function's stack hasn't been overrun. On x86-64, this is simply an offset of %gs, which is the usual per-cpu base segment register, so setting it up simply requires loading %gs's base as normal. On i386, the stack protector segment is %gs (rather than the usual kernel percpu %fs segment register). This requires setting up the full kernel GDT and then loading %gs accordingly. We also need to make sure %gs is initialized when bringing up secondary cpus too. To keep things consistent, we do the full GDT/segment register setup on both architectures. Because we need to avoid -fstack-protected code before setting up the GDT and because there's no way to disable it on a per-function basis, several files need to have stack-protector inhibited. [ Impact: allow Xen booting with stack-protector enabled ] Signed-off-by: Jeremy Fitzhardinge commit 4734d401d43c6469d568caf223d37aa0fc1bf4dc Author: Christoph Hellwig Date: Wed Sep 9 18:19:02 2009 -0500 xfs: use correct log reservation when handling ENOSPC in xfs_create We added the ENOSPC handling patch in xfs_create just after it got mered with xfs_mkdir. Change the log reservation to the variable for either the create or mkdir value so it does the right thing if get here for creating a directory. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit bf992fa2bc1ad1bb2aeb0bdfadb43f236b9297fd Merge: 9d73022 7135a71 Author: Rafael J. Wysocki Date: Thu Sep 10 00:02:02 2009 +0200 Merge branch 'master' into for-linus commit 0baed8da1ed91b664759f6c7f955b3a804457389 Author: Rafael J. Wysocki Date: Tue Sep 8 23:16:24 2009 +0200 PCI / ACPI PM: Propagate wake-up enable for devices w/o ACPI support Some PCI devices (not PCI Express), like PCI add-on cards, can generate PME#, but they don't have any special platform wake-up support. For this reason, even if they generate PME# to wake up the system from a sleep state, wake-up events are not generated by the platform. It turns out that, at least on some systems, PCI bridges and the PCI host bridge have ACPI GPEs associated with them that, if enabled to generate wake-up events, allow the system to wake up if one of the add-on devices asserts PME# while the system is in a sleep state. Following this observation, if a PCI device without direct ACPI wake-up support is prepared to wake up the system during a transition into a sleep state (eg. suspend to RAM), try to configure the bridges on the path from the device to the root bridge to wake-up the system. Reviewed-by: Matthew Garrett Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 9b83ccd2f14f647936dcfbf4a9a20c501007dd69 Author: Rafael J. Wysocki Date: Tue Sep 8 23:15:31 2009 +0200 ACPI PM: Replace wakeup.prepared with reference counter The wakeup.prepared flag is used for marking devices that have the wake-up power already enabled, so that the wake-up power is not enabled twice in a row for the same device. This assumes, however, that device wake-up power will only be enabled once, while the device is being prepared for a system-wide sleep transition, and the second attempt is made by acpi_enable_wakeup_device_prep(). With the upcoming PCI wake-up rework this assumption will not hold any more for PCI bridges and the root bridge whose wake-up power may be enabled as a result of wake-up enable propagation from other devices (eg. add-on devices that are not associated with any GPEs). Thus, there may be many attempts to enable wake-up power on a PCI bridge or the root bridge during a system power state transition and it's better to replace wakeup.prepared with a reference counter. Reviewed-by: Matthew Garrett Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit e80bb09d2c73d76a2a4cd79e4a83802dd901c642 Author: Rafael J. Wysocki Date: Tue Sep 8 23:14:49 2009 +0200 PCI PM: Introduce device flag wakeup_prepared Introduce a new PCI device flag, wakeup_prepared, to prevent PCI wake-up preparation code from being executed twice in a row for the same device and for the same purpose. Reviewed-by: Matthew Garrett Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit df8db91fc3b543d373afa61beef35b072eea1368 Author: Rafael J. Wysocki Date: Tue Sep 8 23:13:49 2009 +0200 PCI / ACPI PM: Rework some debug messages Move a debug message from acpi_pci_sleep_wake() to acpi_pm_device_sleep_wake() and use the standard dev_*() macros in there. Reviewed-by: Matthew Garrett Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 5bcc2fb4e8157d829a38093b98e23329ac8acff7 Author: Rafael J. Wysocki Date: Tue Sep 8 23:12:59 2009 +0200 PCI PM: Simplify PCI wake-up code Rework the PCI wake-up code so that it's easier to read without changing the functionality. Reviewed-by: Matthew Garrett Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 748df9a4c65625c386674c9b54dde73de6cc5af5 Author: Jiri Slaby Date: Tue Sep 8 12:16:18 2009 +0200 x86/PCI: pci quirks, fix pci refcounting Stanse found a pci reference leak in quirk_amd_nb_node. Instead of putting nb_ht, there is a put of dev passed as an argument. http://stanse.fi.muni.cz/ Signed-off-by: Jiri Slaby Signed-off-by: Jesse Barnes commit 28760489a3f1e136c5ae8581c0fa8f63511f2f4c Author: Eric W. Biederman Date: Wed Sep 9 14:09:24 2009 -0700 PCI: pcie: Ensure hotplug ports have a minimum number of resources In general a BIOS may goof or we may hotplug in a hotplug controller. In either case the kernel needs to reserve resources for plugging in more devices in the future instead of creating a minimal resource assignment. We already do this for cardbus bridges I am just adding a variant for pcie bridges. v2: Make testing for pcie hotplug bridges based on a flag. So far we only set the flag for pcie but a header_quirk could easily be added for the non-standard pci hotplug bridges. Signed-off-by: Eric W. Biederman Signed-off-by: Jesse Barnes commit 0ba379ec0fb182a87b8891c5754abbcd9c035b4f Author: Eric W. Biederman Date: Sun Sep 6 21:48:35 2009 -0700 PCI: Simplify hotplug mch quirk. There is a very old quirk for the intel E7502 E7320 and E7525 memory controller hubs that disables usage of msi interrupts on pcie hotplug bridges of those devices, and disables changing the affinity of irqs. Today all we have to do to disable msi on a specific device is to set dev->no_msi, which is much more straightforward than the previous logic. The re-running of this fixup after pci hotplug happens below these devices is totally bogus. All of the state we change is pure software state and we don't change the hardware at all. Which means hotplug on the lower devices doesn't have a chance to change this state. So we can safely remove the special case from the pciehp driver and the pcie portdriver. I suspect the special case was someone's expermental debug code that slipped in. Certainly it isn't mentioned in commit 6fb8880a61510295aece04a542767161f624dffe aka BKrev: 41966101LJ_ogfOU0m2aE6teZfQnuQ where the code first appears. Reviewed-by: Kenji Kaneshige Signed-off-by: "Eric W. Biederman" Signed-off-by: Jesse Barnes commit fa526d0d641b5365676a1fb821ce359e217c9b85 Author: Jack Steiner Date: Thu Sep 3 12:56:02 2009 -0500 x86, pat: Fix cacheflush address in change_page_attr_set_clr() Fix address passed to cpa_flush_range() when changing page attributes from WB to UC. The address (*addr) is modified by __change_page_attr_set_clr(). The result is that the pages being flushed start at the _end_ of the changed range instead of the beginning. This should be considered for 2.6.30-stable and 2.6.31-stable. Signed-off-by: Jack Steiner Acked-by: Suresh Siddha Signed-off-by: H. Peter Anvin Cc: Stable team commit b1c089b7caf18905bd1d87136cf7b8c837254932 Author: Hidetoshi Seto Date: Mon Sep 7 17:16:59 2009 +0900 PCI: pcie, aer: report all error before recovery This patch is required not to lost error records by action invoked on error recovery, such as slot reset etc. Following sample (real machine + dummy record injected by aer-inject) shows that record of 28:00.1 could not be retrieved by recovery of 28:00.0: - Before: pcieport-driver 0000:00:02.0: AER: Multiple Uncorrected (Non-Fatal) error received: id=2801 e1000e 0000:28:00.0: PCIE Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=2800(Receiver ID) e1000e 0000:28:00.0: device [8086:1096] error status/mask=00001000/00100000 e1000e 0000:28:00.0: [12] Poisoned TLP (First) e1000e 0000:28:00.0: TLP Header: 00000000 00000001 00000002 00000003 e1000e 0000:28:00.0: broadcast error_detected message e1000e 0000:28:00.0: broadcast slot_reset message e1000e 0000:28:00.0: setting latency timer to 64 e1000e 0000:28:00.0: restoring config space at offset 0x1 (was 0x100547, writing 0x100147) e1000e 0000:28:00.0: PME# disabled e1000e 0000:28:00.0: PME# disabled e1000e 0000:28:00.1: setting latency timer to 64 e1000e 0000:28:00.1: restoring config space at offset 0x1 (was 0x100547, writing 0x100147) e1000e 0000:28:00.1: PME# disabled e1000e 0000:28:00.1: PME# disabled e1000e 0000:28:00.0: broadcast resume message e1000e 0000:28:00.0: AER driver successfully recovered e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX - After: pcieport-driver 0000:00:02.0: AER: Multiple Uncorrected (Non-Fatal) error received: id=2801 e1000e 0000:28:00.0: PCIE Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=2800(Receiver ID) e1000e 0000:28:00.0: device [8086:1096] error status/mask=00001000/00100000 e1000e 0000:28:00.0: [12] Poisoned TLP (First) e1000e 0000:28:00.0: TLP Header: 00000000 00000001 00000002 00000003 e1000e 0000:28:00.1: PCIE Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=2801(Receiver ID) e1000e 0000:28:00.1: device [8086:1096] error status/mask=00081000/00100000 e1000e 0000:28:00.1: [12] Poisoned TLP (First) e1000e 0000:28:00.1: [19] ECRC e1000e 0000:28:00.1: TLP Header: 00000000 00000001 00000002 00000003 e1000e 0000:28:00.1: Error of this Agent(2801) is reported first e1000e 0000:28:00.0: broadcast error_detected message e1000e 0000:28:00.0: broadcast slot_reset message e1000e 0000:28:00.0: setting latency timer to 64 e1000e 0000:28:00.0: restoring config space at offset 0x1 (was 0x100547, writing 0x100147) e1000e 0000:28:00.0: PME# disabled e1000e 0000:28:00.0: PME# disabled e1000e 0000:28:00.1: setting latency timer to 64 e1000e 0000:28:00.1: restoring config space at offset 0x1 (was 0x100547, writing 0x100147) e1000e 0000:28:00.1: PME# disabled e1000e 0000:28:00.1: PME# disabled e1000e 0000:28:00.0: broadcast resume message e1000e 0000:28:00.0: AER driver successfully recovered e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 79e4b89be81b5e53bc4cb51788ca7a45cadb4ef3 Author: Hidetoshi Seto Date: Mon Sep 7 17:16:45 2009 +0900 PCI: pcie, aer: change error print format Use dev_printk like format. Sample (real machine + dummy error injected by aer-inject): - Before: +------ PCI-Express Device Error ------+ Error Severity : Corrected PCIE Bus Error type : Data Link Layer Bad TLP : Receiver ID : 2800 VendorID=8086h, DeviceID=1096h, Bus=28h, Device=00h, Function=00h +------ PCI-Express Device Error ------+ Error Severity : Corrected PCIE Bus Error type : Data Link Layer Bad TLP : Bad DLLP : Receiver ID : 2801 VendorID=8086h, DeviceID=1096h, Bus=28h, Device=00h, Function=01h Error of this Agent(2801) is reported first - After: pcieport-driver 0000:00:02.0: AER: Multiple Corrected error received: id=2801 e1000e 0000:28:00.0: PCIE Bus Error: severity=Corrected, type=Data Link Layer, id=2800(Receiver ID) e1000e 0000:28:00.0: device [8086:1096] error status/mask=00000040/00000000 e1000e 0000:28:00.0: [ 6] Bad TLP e1000e 0000:28:00.1: PCIE Bus Error: severity=Corrected, type=Data Link Layer, id=2801(Receiver ID) e1000e 0000:28:00.1: device [8086:1096] error status/mask=000000c0/00000000 e1000e 0000:28:00.1: [ 6] Bad TLP e1000e 0000:28:00.1: [ 7] Bad DLLP e1000e 0000:28:00.1: Error of this Agent(2801) is reported first Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 273024ded7b364e1305a31bf4eb197870284f279 Author: Hidetoshi Seto Date: Mon Sep 7 17:16:20 2009 +0900 PCI: pcie, aer: flags to bits Compact struct and codes. Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 3472a18773bc6661ea7f8de2b4172db7e00b67e6 Author: Hidetoshi Seto Date: Mon Sep 7 17:16:00 2009 +0900 PCI: pcie, aer: remove unused macros Cleanup. Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit e7a0d92b19f438011ad76c41755b56ec2ef05f64 Author: Hidetoshi Seto Date: Mon Sep 7 17:13:42 2009 +0900 PCI: pcie, aer: report multiple/first error on a device Multiple bits might be set in the Uncorrectable Error Status register. But aer_print_error_source() only report a error of the lowest bit set in the error status register. So print strings for all bits unmasked and set. And check First Error Pointer to mark the error occured first. This FEP is not valid when the corresponing bit of the Uncorrectable Error Status register is not set, or unimplemented or undefined. Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 0d90c3ac0bb89acfbf481c8b06749b00eade6545 Author: Hidetoshi Seto Date: Mon Sep 7 17:12:25 2009 +0900 PCI: pcie, aer: refer mask state in mask register properly ERR_{,UN}CORRECTABLE_ERROR_MASK are set of error bits which linux know, set of PCI_ERR_COR_* and PCI_ERR_UNC_* defined in linux/pci_regs.h. This masks make aerdrv not to report errors of unknown bit, while aerdrv have ability to report such undefined errors as "Unknown Error Bit %2d". OTOH aerdrv_errprint does not have any check of setting in mask register. So it could report masked wrong error by finding bit in status without knowing that the bit is masked in the mask register. This patch changes aerdrv to use mask state in mask register propely instead of defined/hardcoded ERR_{,UN}CORRECTABLE_ERROR_MASK. This change prevents aerdrv from reporting masked error, and also enable reporting unknown errors. Signed-off-by: Hidetoshi Seto Reviewed-by: Andrew Patterson Signed-off-by: Jesse Barnes commit 24dbb7beb2a207f423006c46830dfaacca5a1139 Author: Hidetoshi Seto Date: Mon Sep 7 17:11:29 2009 +0900 PCI: pcie, aer: remove spinlock in aerdrv_errprint.c The static buffer errmsg_buff[] is used only for building error message in fixed format, and is protected by a spinlock. This patch removes this buffer and the spinlock. Signed-off-by: Hidetoshi Seto Reviewed-by: Andrew Patterson Signed-off-by: Jesse Barnes commit 0d465f23502e0810443c90a9cf1cf5686c4af4f2 Author: Hidetoshi Seto Date: Mon Sep 7 17:10:40 2009 +0900 PCI: pcie, aer: fix report of multiple errors The flag AER_MULTI_ERROR_VALID_FLAG in info->flag does mean that the root port receives multiple error messages. Error messages can be posted from different devices, so it does not mean that each reported device has multiple errors. If there are multiple error devices and the root port has valid error source ID, it would be nice to report which device is the error source reported first. Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 1b4ffcf8432f7945e0bd0571f10a2f2bd1dbd850 Author: Hidetoshi Seto Date: Mon Sep 7 17:09:58 2009 +0900 PCI: pcie, aer: init struct aer_err_info for reuse In case of multiple errors, struct aer_err_info would be reused among all reported devices. So the info->status should be initialized before recycled. Otherwise error of one device might be reported as the error of another device. Also info->flags has similar problem on reporting TLP header. Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit f15857569613a982568be88d034555d88eead0aa Author: Hidetoshi Seto Date: Mon Sep 7 17:08:59 2009 +0900 PCI: pcie, aer: rework MASK macros in aerdrv_errprint.c Definitions of MASK macros in aerdrv_errprint.c are tricky and unsafe. For example, AER_AGENT_TRANSMITTER_MASK(_sev, _stat) does work like: static inline func(int _sev, int _stat) { if (_sev == AER_CORRECTABLE) return (_stat & (PCI_ERR_COR_REP_ROLL|PCI_ERR_COR_REP_TIMER)); else return (_stat & PCI_ERR_COR_REP_ROLL); } In case of else path here, for uncorrectable errors, testing bits in _stat by PCI_ERR_COR_* does not make sense because _stat should have only PCI_ERR_UNC_* bits originated in uncorrectable error status register. But at this time this is safe because uncorrectable error using bit position same to PCI_ERR_COR_REP_ROLL(= bit position 8) is not defined. Likewise, AER_AGENT_COMPLETER_MASK is always PCI_ERR_UNC_COMP_ABORT but it works because bit 15 of correctable error status is not defined. It means that these MASK macros will turn to be wrong once if new error is defined. (In fact, bit 15 of correctable is now defined in PCIe 2.1) This patch changes these MASK macros to be more strict, not to return PCI_ERR_COR_* bits for uncorrectable error status and vise versa. Signed-off-by: Hidetoshi Seto Reviewed-by: Andrew Patterson Signed-off-by: Jesse Barnes commit bd8fedd045d1d3f4e1f5daca179b0a49949ab538 Author: Hidetoshi Seto Date: Mon Sep 7 17:08:14 2009 +0900 PCI: pcie, aer: AER_PR for printing in aerdrv_errprint.c Add workaround macro to reduce the number of checkpatch warning: WARNING: printk() should include KERN_ facility level Before: total: 0 errors, 10 warnings, 247 lines checked After: total: 0 errors, 1 warnings, 243 lines checked Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit c9a918838c07cbef934c8ef818d8f0e719015c3a Author: Hidetoshi Seto Date: Mon Sep 7 17:07:29 2009 +0900 PCI: pcie, aer: checkpatch style cleanup in pcie/aer/* Before: drivers/pci/pcie/aer/aer_inject.c total: 4 errors, 4 warnings, 473 lines checked drivers/pci/pcie/aer/aerdrv.c total: 5 errors, 2 warnings, 333 lines checked drivers/pci/pcie/aer/aerdrv.h total: 1 errors, 0 warnings, 139 lines checked drivers/pci/pcie/aer/aerdrv_core.c total: 4 errors, 3 warnings, 872 lines checked drivers/pci/pcie/aer/aerdrv_errprint.c total: 12 errors, 11 warnings, 248 lines checked After: drivers/pci/pcie/aer/aer_inject.c total: 0 errors, 0 warnings, 466 lines checked drivers/pci/pcie/aer/aerdrv.c total: 0 errors, 0 warnings, 335 lines checked drivers/pci/pcie/aer/aerdrv.h total: 0 errors, 0 warnings, 139 lines checked drivers/pci/pcie/aer/aerdrv_core.c total: 0 errors, 0 warnings, 869 lines checked drivers/pci/pcie/aer/aerdrv_errprint.c total: 0 errors, 10 warnings, 247 lines checked Signed-off-by: Hidetoshi Seto Reviewed-by: Andrew Patterson Signed-off-by: Jesse Barnes commit b439b1d4e3ae3c36ed94ed233119ff0d145af257 Author: Tejun Heo Date: Thu Sep 3 15:27:27 2009 +0900 PCI: pci-stub: add pci_stub.ids parameter Add ids module parameter which allows specifying initial IDs for the pci-stub driver. When built into the kernel, pci-stub is linked before any real pci drivers and by setting up IDs from initialization it can prevent built-in drivers from attaching to specific devices. While at it, make pci_stub_probe() print out about devices it grabbed to weed out "but my controller isn't being probed" bug reports. Signed-off-by: Tejun Heo Signed-off-by: Jesse Barnes commit 9dba910e9de2c4aa15ec1286f10052c107ef48ca Author: Tejun Heo Date: Thu Sep 3 15:26:36 2009 +0900 PCI: separate out pci_add_dynid() Separate out pci_add_dynid() from store_new_id() and export it so that in-kernel code can add PCI IDs dynamically. As the function will be available regardless of HOTPLUG, put it and pull pci_free_dynids() outside of CONFIG_HOTPLUG. This will be used by pci-stub to initialize initial IDs via module param. While at it, remove bogus get_driver() failure check. Signed-off-by: Tejun Heo Acked-by: Greg Kroah-Hartman Reviewed-by: Grant Grundler Signed-off-by: Jesse Barnes commit 825c423a35a80a8fd66398a3f9bde7f0b0187a76 Author: Kenji Kaneshige Date: Wed Jul 29 14:39:58 2009 +0900 PCI hotplug: add support for 5.0G link speed Add support for PCI-E 5.0 GT/s in max_bus_speed and cur_bus_speed. Reviewed-by: Matthew Wilcox Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 6ed6a8dc83dc37d30c8a7ff2eae2ed054e34c91b Author: Kenji Kaneshige Date: Wed Jul 29 14:39:07 2009 +0900 PCI hotplug: fix typo in pcie link speed info Fix typo in PCI-E link speed. Reviewed-by: Matthew Wilcox Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit ac18018a414a90d841ea81d38fecb913c0ec1880 Author: Kenji Kaneshige Date: Wed Aug 19 11:02:13 2009 +0900 PCI ASPM: support per direction l0s management The L0s state can be managed separately for each direction (upstream direction and downstream direction) of the link. But in the current implementation, those are mixed up. With this patch, L0s for each direction are managed separately. To maintain three states (upstream direction L0s, downstream L0s and L1), 'aspm_support', 'aspm_enabled', 'aspm_capable', 'aspm_disable' and 'aspm_default' fields in struct pcie_link_state are changed to 3-bit from 2-bit. The 'latency' field is separated to two 'latency_up' and 'latency_dw' fields to maintain exit latencies for each direction of the link. For L0, 'latency_up.l0' and 'latency_dw.l0' are used to configure upstream direction L0s and downstream direction L0s respectively. For L1, larger value of 'latency_up.l1' and 'latency_dw.l1' is considered as L1 exit latency. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit b7206cbf024dd43c42f9585e2017db1c1facd566 Author: Kenji Kaneshige Date: Wed Aug 19 11:01:37 2009 +0900 PCI ASPM: support partial aspm enablement In the current implementation, ASPM L0s/L1 is disabled for all links in the hierarchy if one of the link doesn't meet latency requirement. But we can partially enable ASPM L0s/L1 on sub-tree in the hierarchy. This patch allows partial L0s/L1 enablement in the hierarchy. And it also reduce the calculation cost of ASPM configuration very much. In the previous implementation, all links were enabled with the same state. With this patch, enabled state for each link is determined simply as follows (the 'requested' is from policy_to_aspm_state()). enabled = requested & (link->aspm_capable & link->aspm_disable) Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 07d92760d2ee542fe932f4e8b5807dd98481d1fd Author: Kenji Kaneshige Date: Wed Aug 19 11:00:25 2009 +0900 PCI ASPM: introduce capable flag Introduce 'aspm_capable' field to maintain the capable ASPM setting of the link. By the 'aspm_capable', we don't need to recheck latency every time ASPM policy is changed. Each bit in 'aspm_capable' is associated to ASPM state (L0S/L1). The bit is set if the associated ASPM state is supported by the link and it satisfies the latency requirement (i.e. exit latency < endpoint acceptable latency). The 'aspm_capable' is updated when - an endpoint device is added (boot time or hot-plug time) - an endpoint device is removed (hot-unplug time) - PCI power state is changed. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit f1c0ca29ae72bc0c10282eada66c8a792ee98482 Author: Kenji Kaneshige Date: Wed Aug 19 10:59:52 2009 +0900 PCI ASPM: introduce disable flag Introduce 'aspm_disable' flag to manage disabled ASPM state more robust way. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit fc87e919c0ce8e213edf2ffca17f384f059873d3 Author: Kenji Kaneshige Date: Wed Aug 19 10:58:46 2009 +0900 PCI ASPM: fix possible null pointer dereference Fix possible NULL dereference in pcie_aspm_exit_link_state(). This patch also cleanup some code. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 8a339e7321f10dc2f28928ffadb69b6c7c2d5c3b Author: Kenji Kaneshige Date: Wed Aug 19 10:58:09 2009 +0900 PCI ASPM: remove redundant list check Remove the following check in __pcie_aspm_config_link() because it nerver be true. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit b127bd55d9cd9d5b40278b30645669d6d46933bc Author: Kenji Kaneshige Date: Wed Aug 19 10:57:31 2009 +0900 PCI ASPM: do not clear enabled field by support field We must not clear bits in 'aspm_enabled' using 'aspm_support', or 'aspm_enabled' and 'aspm_default' might be different from the actual state. In addtion, 'aspm_default' should be intialized even if 'aspm_support' is 0. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 6f1186be4feb3364d3a52cbea81e43e4d5296196 Author: Alexander Duyck Date: Thu Aug 13 16:57:49 2009 -0700 PCI quirk: update 82576 device ids in SR-IOV quirks list This patch adds the most recent additions to the list of 82576 device IDs to the list of devices needing the SR-IOV quirk. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jesse Barnes commit 0737c4e4897ecae4cce3db0cc075efad791e1c21 Author: Tiago Vignatti Date: Sun Aug 16 18:09:36 2009 +0300 PCI/VGA: add VGA arbitration documentation Document the new VGA arbiter. Signed-off-by: Tiago Vignatti Signed-off-by: Jesse Barnes commit 6ac3bd527007eeecb148b67ca47b21731fd8a503 Author: Dave Airlie Date: Wed Aug 19 15:21:57 2009 +1000 PCI/vgaarb: cleanup some warnings + cleanup some comments. Fix some warnings reported in linux-next + also cleanup some comment errors noticed by Pekka Paalanen. Signed-off-by: Dave Airlie Signed-off-by: Jesse Barnes commit 6e19314cc98ab9ccc22c30d1c414984ac6de5ce2 Author: Mike Mason Date: Thu Jul 30 15:42:39 2009 -0700 PCI/powerpc: support PCIe fundamental reset By default, the EEH framework on powerpc does what's known as a "hot reset" during recovery of a PCI Express device. We've found a case where the device needs a "fundamental reset" to recover properly. The current PCI error recovery and EEH frameworks do not support this distinction. The attached patch makes changes to EEH to utilize the new bit field. Signed-off-by: Mike Mason Signed-off-by: Richard Lary Signed-off-by: Jesse Barnes commit fe14acd4e7c8178dfb172c1e7a88356657378128 Author: Mike Mason Date: Thu Jul 30 15:39:29 2009 -0700 PCI: document PCIe fundamental reset interfaces The attached patch updates the Documentation/PCI/pci-error-recovery.txt file with changes related to this new bit field, as well a few unrelated updates. Signed-off-by: Linas Vepstas Signed-off-by: Mike Mason Signed-off-by: Richard Lary Signed-off-by: Jesse Barnes commit 260d703adc5f275e3ba7ddff6e2e0217bc613b35 Author: Mike Mason Date: Thu Jul 30 15:33:21 2009 -0700 PCI: support for PCI Express fundamental reset This is the first of three patches that implement a bit field that PCI Express device drivers can use to indicate they need a fundamental reset during error recovery. By default, the EEH framework on powerpc does what's known as a "hot reset" during recovery of a PCI Express device. We've found a case where the device needs a "fundamental reset" to recover properly. The current PCI error recovery and EEH frameworks do not support this distinction. The attached patch (courtesy of Richard Lary) adds a bit field to pci_dev that indicates whether the device requires a fundamental reset during recovery. These patches supersede the previously submitted patch that implemented a fundamental reset bit field. Signed-off-by: Mike Mason Signed-off-by: Richard Lary Signed-off-by: Jesse Barnes commit deb2d2ecd43dfc51efe71eed7128fda514da96c6 Author: Benjamin Herrenschmidt Date: Tue Aug 11 15:52:06 2009 +1000 PCI/GPU: implement VGA arbitration on Linux Background: Graphic devices are accessed through ranges in I/O or memory space. While most modern devices allow relocation of such ranges, some "Legacy" VGA devices implemented on PCI will typically have the same "hard-decoded" addresses as they did on ISA. For more details see "PCI Bus Binding to IEEE Std 1275-1994 Standard for Boot (Initialization Configuration) Firmware Revision 2.1" Section 7, Legacy Devices. The Resource Access Control (RAC) module inside the X server currently does the task of arbitration when more than one legacy device co-exists on the same machine. But the problem happens when these devices are trying to be accessed by different userspace clients (e.g. two server in parallel). Their address assignments conflict. Therefore an arbitration scheme _outside_ of the X server is needed to control the sharing of these resources. This document introduces the operation of the VGA arbiter implemented for Linux kernel. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Tiago Vignatti Signed-off-by: Dave Airlie Signed-off-by: Jesse Barnes commit 500559a92dd36af7cee95ed2f5b7722fb95a82e7 Author: Hidetoshi Seto Date: Mon Aug 10 10:14:15 2009 +0900 PCI MSI: Style cleanups Cleanups (nearly based on checkpatch). Before: total: 11 errors, 2 warnings, 0 checks, 842 lines checked After: total: 0 errors, 0 warnings, 0 checks, 842 lines checked v2: fix it's/its mistakes in comment Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit d9d7070e6117651ecc8fa0ea60b1ff5b68d4db4f Author: Hidetoshi Seto Date: Thu Aug 6 11:35:48 2009 +0900 PCI MSI: MSI-X cleanup, msix_setup_entries() Cleanup based on the prototype from Matthew Milcox. Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 75cb3426878d479f792c751a95f5c75f27b13a2f Author: Hidetoshi Seto Date: Thu Aug 6 11:35:10 2009 +0900 PCI MSI: MSI-X cleanup, msix_program_entries() Cleanup based on the prototype from Matthew Milcox. Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 5a05a9d819a328b3aae750237909aa2097adbeec Author: Hidetoshi Seto Date: Thu Aug 6 11:34:34 2009 +0900 PCI MSI: MSI-X cleanup, msix_map_region() Cleanup based on the prototype from Matthew Milcox. Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 583871d436bea48cc2204cee0ec8eb7025e03db6 Author: Hidetoshi Seto Date: Thu Aug 6 11:33:39 2009 +0900 PCI MSI: Relocate error path in init_msix_capability() Move it from the middle of the function to the end. Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit f56e4481328071d293306a55a951d83639d8d529 Author: Hidetoshi Seto Date: Thu Aug 6 11:32:51 2009 +0900 PCI MSI: Unify msi_free_irqs() and msix_free_all_irqs() Unify msi_free_irqs() and msix_free_all_irqs(), and rename it to a common void function free_msi_irqs(). And relocate the common function to where the prototype is located now. Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 9cc8d54815bd5b7c4b516e6be92f036bbcdd8bad Author: Hidetoshi Seto Date: Thu Aug 6 11:32:04 2009 +0900 PCI MSI: Use list_first_entry() use list_first_entry() instead of list_entry(). Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit c901851fddb82529ddcd443d0778b1dee1386a14 Author: Hidetoshi Seto Date: Thu Aug 6 11:31:27 2009 +0900 PCI MSI: Remove attribute check from pci_disable_msi() The msi_list never have MSI-X's msi_desc while MSI is enabled, and also it never have MSI's msi_desc while MSI-X is enabled. This patch remove check for MSI-X entry from the pci_disable_msi(), referring that pci_disable_msix() does not have any check for MSI entry. Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 80286879c209034245f0a28a2171d2ec23b7481c Author: Alex Williamson Date: Thu Jul 30 16:15:18 2009 -0600 PCI iommu: iommu=pt is a valid early param This avoids a "Malformed early option 'iommu'" on boot when trying to use pass-through mode. Signed-off-by: Alex Williamson Signed-off-by: Jesse Barnes commit 1d4a433fc4e9c7dbfc2069a8f1a1f4338b982427 Author: Dave Jones Date: Thu Aug 6 15:13:59 2009 -0400 PCI: Document pci_ids.h addition policy. IDs should generally only be added to pci_ids.h when they're shared across several files in the tree. IDs that are just used by a single driver should be defined in the driver instead. Perhaps documenting this is a good idea to prevent things being moved there, as it still seems to be happening judging from the git log. (based on discussion w/gregkh and others). Acked-by: Greg Kroah-Hartman Signed-off-by: Dave Jones Signed-off-by: Jesse Barnes commit d0b8cbed648334924728642eea879878bc930b33 Author: Yinghai Lu Date: Fri Aug 7 03:53:34 2009 -0700 PCI: print out pref if mmio is prefetchable We already print it out for pci bridges, so also print it out for pci devices. Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 6dab62ee5a3bf4f71b8320c09db2e6022a19f40e Author: Tejun Heo Date: Tue Jul 21 16:08:43 2009 -0700 PCI: apply nv_msi_ht_cap_quirk on resume too http://bugzilla.kernel.org/show_bug.cgi?id=12542 reports that with the quirk not applied on resume, msi stops working after resuming and mcp78s ahci fails due to IRQ mis-delivery. Apply it on resume too. Signed-off-by: Tejun Heo Cc: Peer Chen Cc: Tj Reported-by: Nicolas Derive Cc: Greg KH Cc: Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit e8b553bf4b19c6a6d72f5eac3a17c43ac8e68390 Author: Andi Kleen Date: Fri Jul 24 11:41:15 2009 +0200 PCI: disable pci_find_device warnings when deprecated pci functions are enabled Shut off the long standing linux/drivers/pci/search.c:144: warning: 'pci_find_device' is deprecated (declared at linux/drivers/pci/search.c:136) linux/drivers/pci/search.c:144: warning: 'pci_find_device' is deprecated (declared at linux/drivers/pci/search.c:136) warnings that appear on every build when CONFIG_PCI_LEGACY is enabled. gcc warns for the use in EXPORT_SYMBOL I moved these to a separate file and disabled the warning in the Makefile for that file. Signed-off-by: Andi Kleen Signed-off-by: Jesse Barnes commit 6b5096e4d4496e185cd1ada5d1b8e1d941c805ed Author: Jean Delvare Date: Tue Jul 28 11:49:19 2009 +0200 PCI: Unhide the SMBus on the Compaq Evo D510 USDT One more form factor for Compaq Evo D510, which needs the same quirk as the other form factors. Apparently there's no hardware monitoring chip on that one, but SPD EEPROMs, so it's still worth unhiding the SMBus. Signed-off-by: Jean Delvare Tested-by: Nuzhna Pomoshch Signed-off-by: Jesse Barnes commit 711d57796f5ce2d02d6e62c9034afbb16aedda31 Author: Michael S. Tsirkin Date: Mon Jul 27 23:37:48 2009 +0300 PCI: expose function reset capability in sysfs Some devices allow an individual function to be reset without affecting other functions in the same device: that's what pci_reset_function does. For devices that have this support, expose reset attribite in sysfs. This is useful e.g. for virtualization, where a qemu userspace process wants to reset the device when the guest is reset, to emulate machine reboot as closely as possible. Acked-by: Greg Kroah-Hartman Signed-off-by: Michael S. Tsirkin Signed-off-by: Jesse Barnes commit 5228a828ee044834d78abdf25306bf46b19dcc4d Author: Alex Chiang Date: Thu Jul 23 17:03:05 2009 -0600 PCI Hotplug: acpiphp: get pci_bus from acpi handle correctly We cannot simply call acpi_get_pci_dev() on any random ACPI handle and hope that it works, because a PCI root bridge may not have an associated struct pci_dev. This is allowed per the PCI specification, and is referred to as a non-materialized bridge. So, depending on the type of PCI bridge that the handle points to, use the appropriate interface to return the struct pci_bus correctly. Reviewed-by: Bjorn Helgaas Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 76d56de57ae60c6be383e48e7068fd973d5fb08a Author: Alex Chiang Date: Thu Jul 23 17:03:00 2009 -0600 ACPI: export acpi_pci_root and friends We can simplify ACPI drivers if we can tell whether a handle is an ACPI PCI root or not. Reviewed-by: Bjorn Helgaas Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 2547089ca2db132e307ef68848ba029a8ec2f341 Author: Jesse Barnes Date: Fri Jul 10 14:04:30 2009 -0700 x86/PCI: initialize PCI bus node numbers early The current mp_bus_to_node array is initialized only by AMD specific code, since AMD platforms have registers that can be used for determining mode numbers. On new Intel platforms it's necessary to initialize this array as well though, otherwise all PCI node numbers will be 0, when in fact they should be -1 (indicating that I/O isn't tied to any particular node). So move the mp_bus_to_node code into the common PCI code, and initialize it early with a default value of -1. This may be overridden later by arch code (e.g. the AMD code). With this change, PCI consistent memory and other node specific allocations (e.g. skbuff allocs) should occur on the "current" node. If, for performance reasons, applications want to be bound to specific nodes, they should open their devices only after being pinned to the CPU where they'll run, for maximum locality. Acked-by: Yinghai Lu Tested-by: Jesse Brandeburg Signed-off-by: Jesse Barnes commit eaa959df299157e2640fcb3321537501b6afd9e6 Author: Jesse Barnes Date: Tue Jun 30 21:45:44 2009 -0700 PCI: export pci_claim_resource for driver use yenta needs this for example. Acked-by: Matthew Wilcox Reported-by: Stephen Rothwell Signed-off-by: Jesse Barnes commit 852710d9fd9f2e59fcec65cc701867db4e801bc7 Author: Matthew Wilcox Date: Fri Jun 19 09:36:15 2009 -0400 yenta: Use pci_claim_resource Instead of open-coding pci_find_parent_resource and request_resource, just call pci_claim_resource. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit eae91c0215d99f7727b66e2928fb73bf86bc9668 Author: Matthew Wilcox Date: Fri Jun 19 09:36:13 2009 -0400 frv/PCI: Use pci_claim_resource Instead of open-coding pci_find_parent_resource and request_resource, just call pci_claim_resource. Acked-by: David Howells Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit a7db50405216610c8a0d62b8b400180b6f366733 Author: Alex Chiang Date: Mon Jun 22 08:08:07 2009 -0600 PCI: remove pcibios_scan_all_fns() This was #define'd as 0 on all platforms, so let's get rid of it. This change makes pci_scan_slot() slightly easier to read. Cc: Yoshinori Sato Cc: Tony Luck Cc: David Howells Cc: "David S. Miller" Cc: Jeff Dike Cc: Ingo Molnar Cc: Ivan Kokshaysky Reviewed-by: Matthew Wilcox Acked-by: Russell King Acked-by: Ralf Baechle Acked-by: Kyle McMartin Acked-by: Benjamin Herrenschmidt Acked-by: Paul Mundt Acked-by: Arnd Bergmann Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit cb58160e72244a23f4e0cf4d6f81ffbd131fcd51 Author: Steve Wise Date: Wed Sep 9 11:37:38 2009 -0700 RDMA/iwcm: Reject the connection when the cm_id is destroyed If the cm_id of a connect request is destroyed prior to the ULP accepting or rejecting the connection, then the provider never cleans up the connection. The iwcm should explicitly reject these connections if the cm_id is destroyed. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit ffc40c6433e763209d2b1ec5b1a9854eb3bcd61c Author: Steve Wise Date: Wed Sep 9 11:25:56 2009 -0700 RDMA/cxgb3: Clean up properly on FW mismatch failures FW mismatches can cause a crash in the iw_cxgb3 event handler. - NULL the t3cdev->ulp pointer on failures in cxio_rdev_open() - Silently ignore events when the ulp ptr is NULL in iwch_err_handler() Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 13a239330abdda5afcb1161fce68ec214af2cc90 Author: Steve Wise Date: Wed Sep 9 11:25:55 2009 -0700 RDMA/cxgb3: Don't ignore insert_handle() failures Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 61cbe54d9479ad98283b2dda686deae4c34b2d59 Author: Mike Galbraith Date: Wed Sep 9 15:41:37 2009 +0200 sched: Keep kthreads at default priority Removes kthread/workqueue priority boost, they increase worst-case desktop latencies. Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: <1252486344.28645.18.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 172e082a9111ea504ee34cbba26284a5ebdc53a7 Author: Mike Galbraith Date: Wed Sep 9 15:41:37 2009 +0200 sched: Re-tune the scheduler latency defaults to decrease worst-case latencies Reduce the latency target from 20 msecs to 5 msecs. Why? Larger latencies increase spread, which is good for scaling, but bad for worst case latency. We still have the ilog(nr_cpus) rule to scale up on bigger server boxes. Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: <1252486344.28645.18.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 2bba22c50b06abe9fd0d23933b1e64d35b419262 Author: Mike Galbraith Date: Wed Sep 9 15:41:37 2009 +0200 sched: Turn off child_runs_first Set child_runs_first default to off. It hurts 'optimal' make -j workloads as make jobs get preempted by child tasks, reducing parallelism. Note, this patch might make existing races in user applications more prominent than before - so breakages might be bisected to this commit. Child-runs-first is broken on SMP to begin with, and we already had it off briefly in v2.6.23 so most of the offenders ought to be fixed. Would be nice not to revert this commit but fix those apps finally ... Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: <1252486344.28645.18.camel@marge.simson.net> [ made the sysctl independent of CONFIG_SCHED_DEBUG, in case people want to work around broken apps. ] Signed-off-by: Ingo Molnar commit b2e3abdc708f8c0eff194af25362fdb239abe241 Author: Holger Schurig Date: Wed Sep 9 13:09:54 2009 +0200 cfg80211: allow scanning on specified frequencies when using wext-compatibility Handles the case when SIOCSIWSCAN specified iw_scan_req.num_channels and iw_scan_req.channels[]. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 8c8f9ba7051b017e44124666b41c1dc70333a77c Author: Vasanthakumar Thiagarajan Date: Wed Sep 9 15:25:52 2009 +0530 ath9k: Initialize the priority gpio for BT coex 3-wire Oops, a stupid mistake in the original patch which adds coex 3-wire support. Bluetooth priority gpio needs to be gpio 7. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f42cc2c2909f24faa1381ae139067edeba8c796d Author: Vasanthakumar Thiagarajan Date: Wed Sep 9 15:25:51 2009 +0530 ath9k: Get rid of the modparam btcoex_enable Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit fe12946e66575677879941a14f75b70ca2d2962a Author: Vasanthakumar Thiagarajan Date: Wed Sep 9 15:25:50 2009 +0530 ath9k: Enable btcoex based on the subsystem id of the device Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit aeac355d23fb13a2082a8740ae7cf9408a71ec2c Author: Vasanthakumar Thiagarajan Date: Wed Sep 9 15:25:49 2009 +0530 ath9k: Store subsystem id in struct hw_version This subsystem id will be used later to turn on the btcoex support. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 4d8cd26849737e141ff0aa23fedacef4ea76ea4f Author: Luis R. Rodriguez Date: Tue Sep 8 12:09:47 2009 -0700 wireless: mark prism54 as deprecated and mark for removal The preferred module is p54pci which also supports FullMAC PCI / Cardbus devices. We schedule removal for 2.6.34. Reason to remove this is no one really is testing prism54 anymore, and while it works p54pci provides support for the same hardware. It should be noted I have been told some FullMAC devices may not have worked with the SoftMAC driver but to date we have yet to recieve a single bug report regarding this. If there are users out there please let us know! Cc: aquilaver@yahoo.com Cc: linux-kernel@vger.kernel.org Cc: Dan Williams Cc: Kai Engert Cc: Jean Tourrilhes Cc: Tim de Waal Cc: Roy Marples Cc: Alan Cox Cc: Christian Lamparter Cc: Björn Steinbrink Cc: Tim Gardner Cc: Larry Finger Cc: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 98a1e2a9260d30ad691fbd1ed778a05e38fe655b Author: Michael Buesch Date: Tue Sep 8 19:33:31 2009 +0200 b44/b43/b43legacy: Fix switch warnings introduced by SSB-SDIO This fixes some gcc warnings for switch statements. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 24ea602e183ca20a7577ebe253323d0e5d0f9847 Author: Albert Herranz Date: Tue Sep 8 19:30:12 2009 +0200 ssb: Implement SDIO host bus support Add support for communicating with a Sonics Silicon Backplane through a SDIO interface, as found in the Nintendo Wii WLAN daughter card. The Nintendo Wii WLAN card includes a custom Broadcom 4318 chip with a SDIO host interface. Signed-off-by: Albert Herranz Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit f020979d5d7c9816c071d0aedf60a889fa4fae40 Author: Vasanthakumar Thiagarajan Date: Mon Sep 7 17:46:50 2009 +0530 ath9k: Remove unnecessary casting to u8 in pci_read_config_byte() call Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 7b6840ab5f836a18c4ea98173f73c8d046930efb Author: Vasanthakumar Thiagarajan Date: Mon Sep 7 17:46:49 2009 +0530 ath9k: Disable ASPM when btcoex is active Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 72c706b775777e8ae546756a5d07ffda4a05ed7b Author: Joe Perches Date: Mon Sep 7 11:34:30 2009 -0700 MAINTAINERS: Add Atheros Linux wireless drivers home page On Sun, 2009-09-06 at 12:26 -0700, Luis R. Rodriguez wrote: > On Sun, Sep 6, 2009 at 10:59 AM, Joe Perches wrote: > > On Thu, 2009-09-03 at 15:54 -0700, Luis R. Rodriguez wrote: > >> I'm pleased to announce the new home page to Atheros Linux wireless drivers: > >> http://wireless.kernel.org/en/users/Drivers/Atheros > > Perhaps add this to MAINTAINERS? > Fine by me, except ath5k and ath9k also have their own respective page > so those can also be added. (cc's trimmed and maintainers added) Perhaps this instead: Signed-off-by: Joe Perches Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cde1b55b43b71cabb1a94278a809bca21b9df791 Author: Michael Buesch Date: Sun Sep 6 16:18:58 2009 +0200 b43: Fix sparse warning in hw-tkip code This fixes a sparse warning in the hardware-TKIP code: drivers/net/wireless/b43/xmit.c:272:18: warning: incorrect type in assignment (different base types) drivers/net/wireless/b43/xmit.c:272:18: expected unsigned short [unsigned] [short] drivers/net/wireless/b43/xmit.c:272:18: got restricted unsigned short [usertype] The code should work correctly with and without this patch applied. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit b0544eb6019a33e836141156a8fbe74a9f8367b4 Author: Michael Buesch Date: Sun Sep 6 15:42:45 2009 +0200 b43: Really disable QoS, if requested Currently, when QoS-disable is requested, we would leave QoS enabled in firmware, but only queue frames on one queue. Change that and also tell firmware about disabled QoS, so it completely ignores all the QoS parameters. Also don't upload the parameters, if QoS is disabled. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 4789666e13fb0b2d45feb1b4a5119a1b997ec84c Author: Ivo van Doorn Date: Sun Sep 6 15:14:23 2009 +0200 rt2x00: Hardcode TX ack timeout and consume time The calculated values for the ACK timeout and ACK consume time are different then the values as used by the Legacy drivers. After testing from James Ledwith it appeared that the calculated values caused a high amount of TX failures, and the values from the Legacy drivers were the most optimal to prevent TX failure due to excessive retries. The symptoms of this problem: - Rate control module always falls back to 1Mbs - Low throughput when bitrate was fixed Possible side-effects (not confirmed but highly likely) - Problems with DHCP - Broken connections due to lack of probe response This should fix at least: Kernel bugzilla reports: [13362], [13009], [9273] Fedora bugzilla reports: [443203] but possible some additional bugs as well. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2b88f7c535a8125213def012a67c1b0a667ceb2e Author: Steven Whitehouse Date: Wed Sep 9 15:59:35 2009 +0100 GFS2: Remove unused sysfs file The /sys/fs/gfs2//lock_module/id file has been unused for some time now, so we can remove it. We still accept the mount option though, as userspace still sends that. Signed-off-by: Steven Whitehouse commit fa1a9c681377c57e233038e50479e7d7a5cc3108 Author: Alexey Dobriyan Date: Wed Sep 9 03:43:50 2009 -0700 headers: net/ipv[46]/protocol.c header trim Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 5d5d9c97ff807b643b6c2284dea7fe04ecc74355 Author: Tushar Gohad Date: Wed Sep 9 03:42:23 2009 -0700 IPv6/addrconf: Fix minor addrlabel thinko Fix apparent thinko related to RTM_DELADDRLABEL, introduced by commit 2a8cc6c89039e0530a3335954253b76ed0f9339a ("[IPV6] ADDRCONF: Support RFC3484 configurable address selection policy table."). Signed-off-by: Tushar Gohad Signed-off-by: David S. Miller commit 6f0e013548fd15fddb952f657a3cc81282641191 Author: Tobias Klauser Date: Wed Sep 9 01:41:30 2009 -0700 niu: Use resource_size instead of private function The function res_size in drivers/net/niu.c is a copy of resource_size in linux/ioport.h. Remove the function and use resource_size instead. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 733e5e4b4eb1bc1e27acbe092200154051171426 Author: David Howells Date: Wed Sep 9 08:30:21 2009 +0100 KEYS: Add missing linux/tracehook.h #inclusions Add #inclusions of linux/tracehook.h to those arch files that had the tracehook call for TIF_NOTIFY_RESUME added when support for that flag was added to that arch. Signed-off-by: David Howells Signed-off-by: James Morris commit d89be56b2153ccad7e8cd9e71b5d8b686632e8c2 Author: David S. Miller Date: Tue Sep 8 23:29:16 2009 -0700 sparc64: Make touch_nmi_watchdog() actually work. It guards it's actions on nmi_watchdog_active, but nothing ever sets that and it's initial value is zero. Signed-off-by: David S. Miller commit 4e85f5915dedb7c852c1e1189aa4133c87798a5e Author: David S. Miller Date: Tue Sep 8 23:20:39 2009 -0700 sparc64: Kill unnecessary cast in profile_timer_exceptions_notify(). Signed-off-by: David S. Miller commit a8f22264550e64c0cd11fb6647284b0bd6407f9c Author: David S. Miller Date: Tue Sep 8 23:16:06 2009 -0700 sparc64: Manage NMI watchdog enabling like x86. Use a per-cpu 'wd_enabled' boolean and a global atomic_t count of watchdog NMI enabled cpus which is set to '-1' if something is wrong with the watchdog and it can't be used. Signed-off-by: David S. Miller commit f90f613c3ed7381209de8aa36458442b5130170b Author: Ashish Kalra Date: Wed Jul 29 21:15:49 2009 +0530 sata_fsl: Defer non-ncq commands when ncq commands active Fix for non-ncq & ncq commands causing timeouts when both are issued simultaneously to the same device. Signed-off-by: Ashish Kalra [fixed to be actual compileable C code -jg] Signed-off-by: Jeff Garzik commit deeb003e5e01c0db02bb68fd9c93faf75ab9002d Author: Shane Huang Date: Tue Sep 8 17:37:01 2009 +0800 libata: add SATA PMP revision information for spec 1.2 This small patch is just adding the information for PMP spec 1.2 Signed-off-by: Shane Huang Signed-off-by: Jeff Garzik commit ac8672ea922bde59acf50eaa1eaa1640a6395fd2 Author: Tejun Heo Date: Sun Aug 16 21:21:21 2009 +0900 libata: fix off-by-one error in ata_tf_read_block() ata_tf_read_block() has off-by-one error when converting CHS address to LBA. The bug isn't very visible because ata_tf_read_block() is used only when generating sense data for a failed RW command and CHS addressing isn't used too often these days. This problem was spotted by Atsushi Nemoto. Signed-off-by: Tejun Heo Reported-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 1b549dcbf607e88f3016bc149109472a46fe7bbb Author: Tejun Heo Date: Sun Aug 16 21:06:57 2009 +0900 ahci: Gigabyte GA-MA69VM-S2 can't do 64bit DMA Gigabyte GA-MA69VM-S2 can't do 64bit DMA either. It's yet unknown whether recent BIOS fixes the problem. Blacklist regardless of BIOS revisions for now. Sandor Bodo-Merle reported and provided the initial patch for this issue. Signed-off-by: Tejun Heo Reported-by: Sandor Bodo-Merle Cc: Shane Huang Signed-off-by: Jeff Garzik commit 03d783bf5573ff316a8c703eed811a9a97901a8b Author: Tejun Heo Date: Sun Aug 16 21:04:02 2009 +0900 ahci: make ahci_asus_m2a_vm_32bit_only() quirk more generic It turns out ASUS M2A-VM isn't the only one with the 32bit DMA problem. Make ahci_asus_m2a_vm_32bit_only() more generic using the new dmi_get_date() and rename it to ahci_sb600_32bit_only(). Cut off date is now pointed to by dmi_system_id->driver_data in "yyyymmdd" format and it's now also allowed to be omitted. Signed-off-by: Tejun Heo Cc: Sandor Bodo-Merle Cc: Shane Huang Signed-off-by: Jeff Garzik commit 3e5cd1f2576c720f1d0705fdd7ba64f27e8836b7 Author: Tejun Heo Date: Sun Aug 16 21:02:36 2009 +0900 dmi: extend dmi_get_year() to dmi_get_date() There are cases where full date information is required instead of just the year. Add month and day parsing to dmi_get_year() and rename it to dmi_get_date(). As the original function only required '/' followed by any number of parseable characters at the end of the string, keep that behavior to avoid upsetting existing users. The new function takes dates of format [mm[/dd]]/yy[yy]. Year, month and date are checked to be in the ranges of [1-9999], [1-12] and [1-31] respectively and any invalid or out-of-range component is returned as zero. The dummy implementation is updated accordingly but the return value is updated to indicate field not found which is consistent with how other dummy functions behave. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 02c24fa87724bb3af969463cd74dc3b3feb24740 Author: Tejun Heo Date: Sun Aug 16 21:01:22 2009 +0900 dmi: fix date handling in dmi_get_year() Year parsing in dmi_get_year() had the following two bugs. * "00" is treated as invalid instead of 2000 because zero return from simple_strtoul() is treated as error. * "0N" where N >= 8 is treated as invalid of 200N because the leading 0 is considered to specify octal. Fix the above two bugs by using endptr to detect invalid number and forcing decimal. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit bd30add88cea831dfb854d564478f09ee66206b5 Author: Tejun Heo Date: Thu Sep 3 16:08:11 2009 +0900 libata: unbreak TPM filtering by reorganizing ata_scsi_pass_thru() ata_scsi_pass_thru() was checking for input sanity and disallowed commands while initializaing qc from scmd. TPM filtering was added right after protocol check at which point tf wasn't initialized properly. This means that TPM filtering has never really worked. This patch fixes the bug by reorganizing ata_scsi_pass_thru() such that qc is fully initialized before checking for invalid conditions which is way less error prone. Discovered while Thilo-Alexander Ginkel was trying debug patches for bko#13416. Signed-off-by: Tejun Heo Cc: Thilo-Alexander Ginkel Signed-off-by: Jeff Garzik commit 72fee3823d2938fa98f2f3113301f46803f4c711 Author: Tejun Heo Date: Tue Sep 1 23:19:10 2009 +0900 sata_sis: convert to slave_link During introduction of slave_link, sata_sis slipped through the crack and left with ad-hoc merged SCR access. As SCR status was shared for both the master and slave devices, when only one of the device is online, libata EH would think both are online but would only get valid device signature for the actually present one, which in turn trigger the probing safety net mechanism and make EH retry causing large delay during boot. This patch converts sata_sis to slave_link mechanism. This bug was reported by TAXI in bko#14075. http://bugzilla.kernel.org/show_bug.cgi?id=14075 Signed-off-by: Tejun Heo Reported-by: TAXI Cc: Uwe Koziolek Signed-off-by: Jeff Garzik commit 2ecda72b49a0849ce41e7fa1fa974a245b9119f8 Author: Trond Myklebust Date: Tue Sep 8 19:50:07 2009 -0400 NFSv4: Disallow 'mount -t nfs4 -overs=2' and 'mount -t nfs4 -overs=3' Signed-off-by: Trond Myklebust commit 764302ccb88dd0df062eccd507b6c6de24f1c560 Author: Chuck Lever Date: Tue Sep 8 19:50:03 2009 -0400 NFS: Allow the "nfs" file system type to support NFSv4 When mounting an "nfs" type file system, recognize "v4," "vers=4," or "nfsvers=4" mount options, and convert the file system to "nfs4" under the covers. Signed-off-by: Chuck Lever [trondmy: fixed up binary mount code so it sets the 'version' field too] Signed-off-by: Trond Myklebust commit a6fe23be90aa78783523a25330e09bfaa43a1581 Author: Chuck Lever Date: Tue Sep 8 19:50:00 2009 -0400 NFS: Move details of nfs4_get_sb() to a helper Clean up: Refactor nfs4_get_sb() to allow its guts to be invoked by nfs_get_sb(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7630c852e19c7fffb85b50d98eeb5516fec7c088 Author: Chuck Lever Date: Tue Sep 8 19:49:57 2009 -0400 NFS: Refactor NFSv4 text-based mount option validation Clean up: Refactor the part of nfs4_validate_mount_options() that handles text-based options, so we can call it from the NFSv2/v3 option validation function. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 4cfd74fc99a41fdc161f243e1c16199656d33ab1 Author: Chuck Lever Date: Tue Sep 8 19:49:47 2009 -0400 NFS: Mount option parser should detect missing "port=" The meaning of not specifying the "port=" mount option is different for "-t nfs" and "-t nfs4" mounts. The default port value for NFSv2/v3 mounts is 0, but the default for NFSv4 mounts is 2049. To support "-t nfs -o vers=4", the mount option parser must detect when "port=" is missing so that the correct default port value can be set depending on which NFS version is requested. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit dbab8360ed8abca38121109feab47c4bea895994 Author: Harshula Jayasuriya Date: Tue Sep 8 19:49:33 2009 -0400 NFS: out of date comment regarding O_EXCL above nfs3_proc_create() Hi Trond, Recently we were observing the behaviour difference between a 2.4.x and 2.6.x kernel with respect to O_EXCL. A comment from 2.4.x era, "For now, we don't implement O_EXCL." seems inaccurate in TOT. If so, here's a patch to remove the comment. This patch is against: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Signed-off-by: Harshula Jayasuriya Signed-off-by: Trond Myklebust commit fd413da852991e96c555ad7253cc481bc133e221 Author: Michael Buesch Date: Sun Sep 6 14:49:43 2009 +0200 b43: PCMCIA is not experimental anymore PCMCIA support works well and is not experimental anymore. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit fea6734a0e444c31c99a1271154bb0281d7908d8 Author: Joerg Albert Date: Sat Sep 5 16:07:47 2009 +0200 ath,ar9170: implemented conformance test limit calc. for tx power apply the conformance test limits (CTL) stored in the eeprom upon the values calculated for the tx power (ar->power_*). This is based on the implementation in the vendor driver (hal/hpmain.c, line 3700 ff.) with one difference: If any ctl mode isn't found in the eeprom, we fall back to the "lower", legacy modes (5GHT20,11A or 2GHT20,11G,11B). Otus only did 5GHT20->11A. Currently CTL are applied for the FCC group only. Signed-off-by: Joerg Albert Signed-off-by: John W. Linville commit 7f42c37aa676825fea329a7bec2fefe51033b3e9 Author: Joerg Albert Date: Sat Sep 5 16:07:43 2009 +0200 ath,ar9170: move CTL_ defines into regd.h The ar9170 driver needs the defines for conformance test limit groups and cannot include regd_common.h Signed-off-by: Joerg Albert Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e6c463e3a3d067f5da2c79d5acdb2f626754cdb3 Author: Michael Buesch Date: Sat Sep 5 11:18:47 2009 +0200 ssb: Fail ssb modinit, if attach of the buses failed. SSB modinit should not succeed, if busattach failed. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 69eddc8a37a33479205ac3a3d8575fad1466da90 Author: Michael Buesch Date: Fri Sep 4 22:57:26 2009 +0200 b43: remove SHM spinlock This removes the SHM spinlock. SHM is protected by wl->mutex. Signed-off-by: Michael Buesch Tested-by: Larry Finger Signed-off-by: John W. Linville commit 77ca07ffe1797a0f2f41aa4997c9a5ae433a0be8 Author: Michael Buesch Date: Fri Sep 4 22:56:19 2009 +0200 b43: Remove PIO RX workqueue This removes the PIO RX work. It's not needed anymore, because we can sleep in the threaded interrupt handler. Signed-off-by: Michael Buesch Tested-by: Larry Finger Signed-off-by: John W. Linville commit 637dae3f637eb7dab447e74362e0dfeded775c7c Author: Michael Buesch Date: Fri Sep 4 22:55:00 2009 +0200 b43: Remove DMA/PIO queue locks This removes the DMA/PIO queue locks. Locking is handled by wl->mutex now. Signed-off-by: Michael Buesch Tested-by: Larry Finger Signed-off-by: John W. Linville commit f5d40eedb32aa9a0e226d468e1f89fb676824694 Author: Michael Buesch Date: Fri Sep 4 22:53:18 2009 +0200 b43: Remove TX spinlock This removes the TX spinlock and defers TX to a workqueue to allow locking wl->mutex instead and to allow sleeping for register accesses. Signed-off-by: Michael Buesch Tested-by: Larry Finger Signed-off-by: John W. Linville commit 36dbd9548e92268127b0c31b0e121e63e9207108 Author: Michael Buesch Date: Fri Sep 4 22:51:29 2009 +0200 b43: Use a threaded IRQ handler Use a threaded IRQ handler to allow locking the mutex and sleeping while executing an interrupt. This removes usage of the irq_lock spinlock, but introduces a new hardirq_lock, which is _only_ used for the PCI/SSB lowlevel hard-irq handler. Sleeping busses (SDIO) will use mutex instead. Signed-off-by: Michael Buesch Tested-by: Larry Finger Signed-off-by: John W. Linville commit b275f28535fc774325bb8ad5f664e6c44a8fbc9b Author: Luis R. Rodriguez Date: Tue Sep 1 08:53:49 2009 -0700 wireless: update cfg80211 kconfig entry cfg80211 is now *the* wireless configuration API. Lets also give a little explanation as to what it is and refer people to the wireless wiki for more information. Cc: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d9c35a506ed7770301f705a9070e05f0c5fae4bd Author: Christian Lamparter Date: Thu Sep 3 20:25:31 2009 +0200 ar9170: implement frequency calibration for one-stage/openfw This patch ports some code from the vendor driver, which is supposed to upload the right calibration values for the chosen frequency. In theory, this should give a better range and throughput for all users with the open, or one-stage firmware. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 8813262ea79acf9daa0e03901bdfe93db4dc4ca5 Author: Sujith Date: Thu Sep 3 12:08:53 2009 +0530 ath9k: Fix channelFlags for 2GHZ CHANNEL_G has to be set for 2GHZ channels since IS_CHAN_G() checks for this in channelFlags and not in chanmode. To make things messier, ath9k_hw_process_ini() checks for CHANNEL_G in chanmode and not in channelFlags. The supreme, brain-searing fix is to set the flag in both cases. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7ea310be65bfcbc6e2395844fd3498762dc2aea6 Author: Sujith Date: Thu Sep 3 12:08:43 2009 +0530 ath9k: Fix RX Filter handling for BAR BAR frames have to be sent to mac80211 only if the current channel is HT. Also, move the macro to enum ath9k_rx_filter. Signed-off-by: Sujith Signed-off-by: John W. Linville commit fc548af877374f7e26c4f670f3843c6d29e02a98 Author: Luis R. Rodriguez Date: Wed Sep 2 17:06:21 2009 -0700 ath9k: claim irq for ath9k, not ath for pci ath9k ahb requests an IRQ and indicates 'ath9k' claimed it, ath9k pci requests an IRQ and indicates 'ath' claims it; since 'ath' is another module sync both ahb and pci to claim the irq using 'ath9k'. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 580171f7cd08687cdf1b263aabb35608b3c37433 Author: Luis R. Rodriguez Date: Wed Sep 2 17:02:18 2009 -0700 ath9k: propagate errors on ath_init_device() and request_irq() We've cleaned up ath_init_device() and its children enough to pass meaninful errors back from probe. When this fails it means our device could not be initialized and a meaninful error will have been passed. Do the same for request_irq() and also synchronize the error messages while at it. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit db6be53cbaf118fdad5bdca211a19ca5354c9462 Author: Luis R. Rodriguez Date: Wed Sep 2 16:34:57 2009 -0700 ath9k: propagate ieee80211_alloc_hw() failure The -ENOMEM was never being passed on failure. While at it use dev_err() as ahb does upon failure. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5c630ce7e6cb144a29fd5a993363f4928fb4b890 Author: Joerg Albert Date: Thu Sep 3 01:02:59 2009 +0200 ar9170: added phy register initialisation from eeprom values This patch adds the initialisation of some PHY registers from the modal_header[] values in the EEPROM (see otus/hal/hpmain.c, line 333 ff.) Signed-off-by: Joerg Albert Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 4abf27add86e5b7c37dca1fb4dd9a740b4332a84 Merge: 29c0846 5478267 Author: Russell King Date: Tue Sep 8 21:21:15 2009 +0100 Merge branch 'for-rmk' of git://git.marvell.com/orion into devel-stable commit cdc65fbe18aef15e92d2ebb410a189fbf956fb06 Author: Manuel Lauss Date: Tue Sep 8 19:45:17 2009 +0200 ASoC: au1x: PSC-AC97 bugfixes This patch fixes the following bugs: - only reprogram bitdepth if it has changed since last call to hw_params. - add locking inside ac97_read/write functions: When reprogramming sample depth, the ac97 unit has to be disabled, which should not be done in the middle of codec register accesses. - retry timed-out codec register accesses. - wait for status bits to set/clear when starting/stopping various functional blocks; very important after reenabling AC97 unit else sound may be distorted (e.g. high-pitch noise in 1kHz sine wave). - clear fifos before/after starting/stopping RX/TX. - longer timeouts waiting for PSC/AC97 ready after cold reset with certain codecs this can take ridiculous amounts of time. Run-tested on various Au1200 platforms with various codecs. Signed-off-by: Manuel Lauss Signed-off-by: Mark Brown commit 54782674084ed9dc829050a8c18298db6847679d Author: Simon Guinot Date: Tue Jun 23 13:54:35 2009 +0200 [ARM] orion5x: Add LaCie NAS 2Big Network support This patch add support for the 2Big Network LaCie boards. Signed-off-by: Simon Guinot Signed-off-by: Nicolas Pitre commit 18f4c644773bc8de1fd9c5182b30c231aafb94ef Author: Linus Torvalds Date: Fri Aug 28 12:29:03 2009 -0700 jffs2/jfs/xfs: switch over to 'check_acl' rather than 'permission()' This avoids an indirect call in the VFS for each path component lookup. Well, at least as long as you own the directory in question, and the ACL check is unnecessary. Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit 1d5ccd1c422d7d292a9e45248aa36771900c6331 Author: Linus Torvalds Date: Fri Aug 28 12:12:24 2009 -0700 ext[234]: move over to 'check_acl' permission model Don't implement per-filesystem 'extX_permission()' functions that have to be called for every path component operation, and instead just expose the actual ACL checking so that the VFS layer can now do it for us. Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit 6d848a488ad83cc3891bb274691118f45ce6aab9 Author: Linus Torvalds Date: Fri Aug 28 12:04:28 2009 -0700 shmfs: use 'check_acl' instead of 'permission' shmfs wants purely standard POSIX ACL semantics, so we can use the new generic VFS layer POSIX ACL checking rather than cooking our own 'permission()' function. Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Hugh Dickins Signed-off-by: Linus Torvalds commit 5909ccaa300a4a834ffa275327af4df0b9cb5295 Author: Linus Torvalds Date: Fri Aug 28 11:51:25 2009 -0700 Make 'check_acl()' a first-class filesystem op This is stage one in flattening out the callchains for the common permission testing. Rather than have most filesystem implement their own inode->i_op->permission function that just calls back down to the VFS layers 'generic_permission()' with the per-filesystem ACL checking function, the filesystem can just expose its 'check_acl' function directly, and let the VFS layer do everything for it. This is all just preparatory - no filesystem actually enables this yet. Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit cb9179ead0aa0e3b7b4087cdba59baf16bbeef6d Author: Linus Torvalds Date: Fri Aug 28 11:08:31 2009 -0700 Simplify exec_permission_lite(), part 3 Don't call down to the generic inode_permission() function just to call the inode-specific permission function - just do it directly. The generic inode_permission() code does things like checking MAY_WRITE and devcgroup_inode_permission(), neither of which are relevant for the light pathname walk permission checks (we always do just MAY_EXEC, and the inode is never a special device). Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit f1ac9f6bfea6f21e8ab6dbbe46879d62a6fba8c0 Author: Linus Torvalds Date: Fri Aug 28 10:53:56 2009 -0700 Simplify exec_permission_lite() further This function is only called for path components that are already known to be directories (they have a '->lookup' method). So don't bother doing that whole S_ISDIR() testing, the whole point of the 'lite()' version is that we know that we are looking at a directory component, and that we're only checking name lookup permission. Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit b7a437b08a44a3ed7e3a052eb39d2c5f618b603b Author: Linus Torvalds Date: Fri Aug 28 10:50:37 2009 -0700 Simplify exec_permission_lite() logic Instead of returning EAGAIN and having the caller do something special for that case, just do the special case directly. Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit e8e66ed25b5cbeebed69c475f6c108e52078a3b3 Author: Linus Torvalds Date: Fri Aug 28 10:05:33 2009 -0700 Do not call 'ima_path_check()' for each path component Not only is that a supremely timing-critical path, but it's hopefully some day going to be lockless for the common case, and ima can't do that. Plus the integrity code doesn't even care about non-regular files, so it was always a total waste of time and effort. Acked-by: Serge Hallyn Acked-by: Mimi Zohar Signed-off-by: Linus Torvalds commit acf7e2444acfaf4c8540603b76d71010eea3fc24 Author: Steven Whitehouse Date: Tue Sep 8 18:00:30 2009 +0100 GFS2: Be extra careful about deallocating inodes There is a potential race in the inode deallocation code if two nodes try to deallocate the same inode at the same time. Most of the issue is solved by the iopen locking. There is still a small window which is not covered by the iopen lock. This patches fixes that and also makes the deallocation code more robust in the face of any errors in the rgrp bitmaps, or erroneous iopen callbacks from other nodes. This does introduce one extra disk read, but that is generally not an issue since its the same block that must be written to later in the deallocation process. The total disk accesses therefore stay the same, Signed-off-by: Steven Whitehouse commit 7eb0d5e5be4e312d5368896744476cc705b3d7e7 Author: Luis R. Rodriguez Date: Tue Sep 8 17:31:45 2009 +0100 kmemleak: fix sparse warning for static declarations This fixes these sparse warnings: mm/kmemleak.c:1179:6: warning: symbol 'start_scan_thread' was not declared. Should it be static? mm/kmemleak.c:1194:6: warning: symbol 'stop_scan_thread' was not declared. Should it be static? Acked-by: Pekka Enberg Signed-off-by: Luis R. Rodriguez Signed-off-by: Catalin Marinas commit 0580a1819c584eb8b98f8701157667037e11153a Author: Luis R. Rodriguez Date: Tue Sep 8 17:32:34 2009 +0100 kmemleak: fix sparse warning over overshadowed flags A secondary irq_save is not required as a locking before it was already disabling irqs. This fixes this sparse warning: mm/kmemleak.c:512:31: warning: symbol 'flags' shadows an earlier one mm/kmemleak.c:448:23: originally declared here Signed-off-by: Luis R. Rodriguez Acked-by: Pekka Enberg Signed-off-by: Catalin Marinas commit a1084c8779f5efa771c6896a0a4184900b4ab736 Author: Luis R. Rodriguez Date: Fri Sep 4 17:44:52 2009 -0700 kmemleak: move common painting code together When painting grey or black we do the same thing, bring this together into a helper and identify coloring grey or black explicitly with defines. This makes this a little easier to read. Signed-off-by: Luis R. Rodriguez Signed-off-by: Catalin Marinas commit b888d1ce82ebd2bafecf64c765754968e78b4228 Author: Takashi Iwai Date: Tue Sep 8 18:15:17 2009 +0200 ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128 Increase the limit of PCM substreams to 128. The default value is unchanged; only the max accept value is increased. Signed-off-by: Takashi Iwai commit 30b3710105be0ba6bbdb7d7d126af76246b02eba Author: Luis R. Rodriguez Date: Fri Sep 4 17:44:51 2009 -0700 kmemleak: add clear command support In an ideal world your kmemleak output will be small, when its not (usually during initial bootup) you can use the clear command to ingore previously reported and unreferenced kmemleak objects. We do this by painting all currently reported unreferenced objects grey. We paint them grey instead of black to allow future scans on the same objects as such objects could still potentially reference newly allocated objects in the future. To test a critical section on demand with a clean /sys/kernel/debug/kmemleak you can do: echo clear > /sys/kernel/debug/kmemleak test your kernel or modules echo scan > /sys/kernel/debug/kmemleak Then as usual to get your report with: cat /sys/kernel/debug/kmemleak Signed-off-by: Luis R. Rodriguez Signed-off-by: Catalin Marinas commit 4a558dd6f93d419cd318958577e25492bd09e960 Author: Luis R. Rodriguez Date: Tue Sep 8 16:34:50 2009 +0100 kmemleak: use bool for true/false questions Acked-by: Pekka Enberg Signed-off-by: Luis R. Rodriguez Signed-off-by: Catalin Marinas commit 179a8100e12d0053f4b368ea3358dd9a0fc6cb94 Author: Catalin Marinas Date: Mon Sep 7 10:14:42 2009 +0100 kmemleak: Do no create the clean-up thread during kmemleak_disable() The kmemleak_disable() function could be called from various contexts including IRQ. It creates a clean-up thread but the kthread_create() function has restrictions on which contexts it can be called from, mainly because of the kthread_create_lock. The patch changes the kmemleak clean-up thread to a workqueue. Signed-off-by: Catalin Marinas Reported-by: Eric Paris commit 9b151fec139d32ab3acce5da5761d868e205fadd Author: Takashi Iwai Date: Tue Sep 8 14:30:49 2009 +0200 ALSA: dummy - Add debug proc file Added the debug proc file to see or change the snd_pcm_hardware fields to emulate. The parameters can be changed by writing to a proc file like: # echo periods_min 4 > /proc/asound/card1/dummy_pcm Signed-off-by: Takashi Iwai commit 4f7454a9970fa0f3e9f1a68201520e3df1bb5224 Author: Takashi Iwai Date: Tue Sep 8 14:29:58 2009 +0200 ALSA: Add const prefix to proc helper functions Add appropriate const prefix to char * arguments in proc helper functions. Also fixed the caller side to be proper const pointers. Signed-off-by: Takashi Iwai commit 6e5265ec34d3b9578973841ddec8b925e986136a Author: Takashi Iwai Date: Tue Sep 8 14:26:51 2009 +0200 ALSA: Re-export snd_pcm_format_name() function Re-export snd_pcm_format_name() function to be used outside the PCM core. As a first example, usbaudio is changed to use it now again. Signed-off-by: Takashi Iwai commit b5d9d734a53e0204aab0089079cbde2a1285a38f Author: Mike Galbraith Date: Tue Sep 8 11:12:28 2009 +0200 sched: Ensure that a child can't gain time over it's parent after fork() A fork/exec load is usually "pass the baton", so the child should never be placed behind the parent. With START_DEBIT we make room for the new task, but with child_runs_first, that room comes out of the _parent's_ hide. There's nothing to say that the parent wasn't ahead of min_vruntime at fork() time, which means that the "baton carrier", who is essentially the parent in drag, can gain time and increase scheduling latencies for waiters. With NEW_FAIR_SLEEPERS + START_DEBIT + child_runs_first enabled, we essentially pass the sleeper fairness off to the child, which is fine, but if we don't base placement on the parent's updated vruntime, we can end up compounding latency woes if the child itself then does fork/exec. The debit incurred at fork doesn't hurt the parent who is then going to sleep and maybe exit, but the child who acquires the error harms all comers. This improves latencies of make -j kernel build workloads. Reported-by: Jens Axboe Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 5eb38f44839ec1aade167b125d86d265c886c195 Merge: 56ddf7e 99f329a Author: Russell King Date: Tue Sep 8 11:23:24 2009 +0100 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit 33d78674586aeb6a623b1e612e6f92dd83015ed3 Author: Takashi Iwai Date: Tue Sep 8 11:03:41 2009 +0200 ALSA: hda - Use auto model for HP laptops with ALC268 codec The HP laptops with ALC268 codec seem working better with model=auto than model=toshiba; e.g. the auto model fixes missing digital outputs. Let's fix quirk entry to choose auto model explicitly. Tested-by: Jens Jorgensen Signed-off-by: Takashi Iwai commit 6148b130eb84edc76e4fa88da1877b27be6c2f06 Author: Sophie Hamilton Date: Tue Sep 8 10:58:42 2009 +0200 ALSA: cs46xx - Fix minimum period size Fix minimum period size for cs46xx cards. This fixes a problem in the case where neither a period size nor a buffer size is passed to ALSA; this is the case in Audacious, OpenAL, and others. Signed-off-by: Sophie Hamilton Cc: Signed-off-by: Takashi Iwai commit e6cc0fd1e31cfe48e207de78742ccdf301369bf3 Author: Roland Dreier Date: Mon Sep 7 21:54:38 2009 -0700 MAINTAINERS: InfiniBand/RDMA mailing list transition to vger InfiniBand/RDMA development discussion is moving from general@lists.openfabrics.org to linux-rdma@vger.kernel.org. Signed-off-by: Roland Dreier commit a8fae3ec5f118dc92517dcbed3ecf69ddb641d0f Author: Peter Zijlstra Date: Mon Sep 7 18:32:32 2009 +0200 sched: enable SD_WAKE_IDLE Now that SD_WAKE_IDLE doesn't make pipe-test suck anymore, enable it by default for MC, CPU and NUMA domains. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 71a29aa7b600595d0ef373ea605ac656876d1f2f Author: Peter Zijlstra Date: Mon Sep 7 18:28:05 2009 +0200 sched: Deal with low-load in wake_affine() wake_affine() would always fail under low-load situations where both prev and this were idle, because adding a single task will always be a significant imbalance, even if there's nothing around that could balance it. Deal with this by allowing imbalance when there's nothing you can do about it. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit cdd2ab3de4301728b20efd6225681d3ff591a938 Author: Peter Zijlstra Date: Mon Sep 7 18:12:06 2009 +0200 sched: Remove short cut from select_task_rq_fair() select_task_rq_fair() incorrectly skips the wake_affine() logic, remove this. When prev_cpu == this_cpu, the code jumps straight to the wake_idle() logic, this doesn't give the wake_affine() logic the chance to pin the task to this cpu. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 87831cb660954356d68cebdb1406f3be09e784e9 Author: Mark Brown Date: Mon Sep 7 18:09:58 2009 +0100 ASoC: Fix WM835x Out4 capture enumeration It's the 8th enum of a zero indexed array. This is why I don't let new drivers use these arrays of enums... Signed-off-by: Mark Brown Cc: stable@kernel.org commit b76aabc3956e9b95e7b7dc1aeecb8c6caf57f74c Author: Hal Rosenstock Date: Mon Sep 7 08:28:48 2009 -0700 IB/mad: Allow tuning of QP0 and QP1 sizes MADs are UD and can be dropped if there are no receives posted, so allow receive queue size to be set with a module parameter in case the queue needs to be lengthened. Send side tuning is done for symmetry with receive. Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier commit 6b2eef8fd78ff909c3396b8671d57c42559cc51d Author: Roland Dreier Date: Mon Sep 7 08:27:50 2009 -0700 IB/mad: Fix possible lock-lock-timer deadlock Lockdep reported a possible deadlock with cm_id_priv->lock, mad_agent_priv->lock and mad_agent_priv->timed_work.timer; this happens because the mad module does cancel_delayed_work(&mad_agent_priv->timed_work); while holding mad_agent_priv->lock. cancel_delayed_work() internally does del_timer_sync(&mad_agent_priv->timed_work.timer). This can turn into a deadlock because mad_agent_priv->lock is taken inside cm_id_priv->lock, so we can get the following set of contexts that deadlock each other: A: holding cm_id_priv->lock, waiting for mad_agent_priv->lock B: holding mad_agent_priv->lock, waiting for del_timer_sync() C: interrupt during mad_agent_priv->timed_work.timer that takes cm_id_priv->lock Fix this by using the new __cancel_delayed_work() interface (which internally does del_timer() instead of del_timer_sync()) in all the places where we are holding a lock. Addresses: http://bugzilla.kernel.org/show_bug.cgi?id=13757 Reported-by: Bart Van Assche Signed-off-by: Roland Dreier commit 99f329a2ba3c2d07cc90ca9309babf27ddf98bff Author: Pavel Machek Date: Sun Sep 6 07:28:40 2009 +0200 [ARM] pxa/sharpsl_pm: zaurus c3000 aka spitz: fix resume sharpsl_pm.c code tries to read battery state very early during resume, but those battery meters are connected on SPI and that's only resumed way later. Replace the check with simple checking of battery fatal signal, that actually works at this stage. Signed-off-by: Pavel Machek Tested-by: Stanislav Brabec Signed-off-by: Eric Miao commit b8c60ede6abf8e96a892c114131700b0cfb0be89 Author: Takashi Iwai Date: Mon Sep 7 15:52:30 2009 +0200 ALSA: Remove unneeded ifdef from sound/core.h Remove the old hack that was needed for building alsa-driver modules externally for old kernels. Signed-off-by: Takashi Iwai commit 82a783f4bcb878e6c4f02e24c7cd0687bdea7443 Author: Takashi Iwai Date: Mon Sep 7 15:50:18 2009 +0200 ALSA: Remove struct snd_monitor_file from public sound/core.h The struct snd_monitor_file is used locally only in sound/core/init.c, thus it should be moved there from the public sound/core.h. Signed-off-by: Takashi Iwai commit be1d6a5f55b30042c57bdfbe7cb4761ed081def0 Author: David Howells Date: Mon Sep 7 13:24:17 2009 +0100 KEYS: Fix default security_session_to_parent() Fix the default security_session_to_parent() in linux/security.h to have a body. Signed-off-by: David Howells Signed-off-by: James Morris commit 236cc52856f6ebe47f52d50ba5431b0e172fd0d1 Author: Mark Brown Date: Mon Sep 7 12:46:42 2009 +0100 ASoC: Remove unuused hw_read_t Signed-off-by: Mark Brown commit f1bc07af9a9edc5c1d4bdd971f7099316ed2e405 Author: Clemens Ladisch Date: Mon Sep 7 10:18:54 2009 +0200 sound: oxygen: work around MCE when changing volume When the volume is changed continuously (e.g., when the user drags a volume slider with the mouse), the driver does lots of I2C writes. Apparently, the sound chip can get confused when we poll the I2C status register too much, and fails to complete a read from it. On the PCI-E models, the PCI-E/PCI bridge gets upset by this and generates a machine check exception. To avoid this, this patch replaces the polling with an unconditional wait that is guaranteed to be long enough. Signed-off-by: Clemens Ladisch Tested-by: Johann Messner Cc: Signed-off-by: Takashi Iwai commit 3a5f29c1dbe5814349efacdea483079c470dcc38 Author: David S. Miller Date: Mon Sep 7 02:03:37 2009 -0700 r8169: Fix warning in rtl8169_start_xmit(). Reported by Stephen Rothwell: drivers/net/r8169.c: In function 'rtl8169_start_xmit': drivers/net/r8169.c:3421: warning: label 'out' defined but not used Introduced by commit 61357325f377889a1daffa14962d705dc814dd0e ("netdev: convert bulk of drivers to netdev_tx_t"). Signed-off-by: David S. Miller commit cf33ce15463b784a1d648905fc067fa4d6b17466 Author: Randy Dunlap Date: Fri Sep 4 14:20:37 2009 +0000 net: fix hydra printk format warning m68k: drivers/net/hydra.c:178: warning: format '%08lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 5dbc46506a4f7b9f564bb7589a49ed32bc1caa15 Author: Krzysztof Halasa Date: Sat Sep 5 03:59:49 2009 +0000 IXP42x HSS support for setting internal clock rate HSS usually uses external clocks, so it's not a big deal. Internal clock is used for direct DTE-DTE connections and when the DCE doesn't provide it's own clock. This also depends on the oscillator frequency. Intel seems to have calculated the clock register settings for 33.33 MHz (66.66 MHz timer base). Their settings seem quite suboptimal both in terms of average frequency (60 ppm is unacceptable for G.703 applications, their primary intended usage(?)) and jitter. Many (most?) platforms use a 33.333 MHz oscillator, a 10 ppm difference from Intel's base. Instead of creating static tables, I've created a procedure to program the HSS clock register. The register consists of 3 parts (A, B, C). The average frequency (= bit rate) is: 66.66x MHz / (A + (B + 1) / (C + 1)) The procedure aims at the closest average frequency, possibly at the cost of increased jitter. Nobody would be able to directly drive an unbufferred transmitter with a HSS anyway, and the frequency error is what it really counts. I've verified the above with an oscilloscope on IXP425. It seems IXP46x and possibly IXP43x use a bit different clock generation algorithm - it looks like the avg frequency is: (on IXP465) 66.66x MHz / (A + B / (C + 1)). Also they use much greater precomputed A and B - on IXP425 it would simply result in more jitter, but I don't know how does it work on IXP46x (perhaps 3 least significant bits aren't used?). Anyway it looks that they were aiming for exactly +60 ppm or -60 ppm, while <1 ppm is typically possible (with a synchronized clock, of course). The attached patch makes it possible to set almost any bit rate (my IXP425 533 MHz quits at > 22 Mb/s if a single port is used, and the minimum is ca. 65 Kb/s). This is independent of MVIP (multi-E1/T1 on one HSS) mode. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit 32e6a0c82e7a7991a02414d830f262e1f4db73e6 Author: Krzysztof Halasa Date: Sat Sep 5 00:54:30 2009 +0000 WAN: remove deprecated PCI_DEVICE_ID from PCI200SYN driver. PCI200SYN has its own PCI subsystem device ID for 3+ years, now it's time to remove the generic PLX905[02] ID from the driver. Anyone with old EEPROM data will have to run the upgrade. Having the generic PLX905[02] (PCI-local bus bridge) ID is harmful as the driver tries to handle other devices based on these bridges. Signed-off-by: Krzysztof Halasa Signed-off-by: David S. Miller commit c190e3c8f6b22004b9cdc62ee5e7ba2fa5f74dc7 Author: Ajit Khaparde Date: Fri Sep 4 03:12:29 2009 +0000 be2net: Code changes in Tx path to use skb_dma_map/skb_dma_unmap Code changes to - In the tx completion processing, there were instances of unmapping a memory as a page which was originally mapped as single. This patch takes care of this by using skb_dma_map()/skb_dma_unmap() to map/unmap Tx buffers. - set gso_max_size to 65535. This was not done till now. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 84517482e19bc775de7b3b4e998dee2f506bc34e Author: Ajit Khaparde Date: Fri Sep 4 03:12:16 2009 +0000 be2net: Changes to support flashing of the be2 network adapter Changes to support flashing of the be2 network adapter using the request_firmware() & ethtool infrastructure. The trigger to flash the device will come from ethtool utility. The driver will invoke request_firmware() to start the flash process. The file containing the flash image is expected to be available in /lib/firmware/ Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 384824281caa9ac4b76664033416f1eac4a652fe Author: Stephen Hemminger Date: Fri Sep 4 05:33:46 2009 +0000 wan: dlci/sdla transmit return dehacking This is a brute force removal of the wierd slave interface done for DLCI -> SDLA transmit. Before it was using non-standard return values and freeing skb in caller. This changes it to using normal return values, and freeing in the callee. Luckly only one driver pair was doing this. Not tested on real hardware, in fact I wonder if this driver pair is even being used by any users. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5877e55f32bb50956c9a1df8e7db3fbc67dc47b6 Author: Dhananjay Phadke Date: Sat Sep 5 17:43:12 2009 +0000 netxen: update version to 4.0.50 Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 2b9e62ee7b2f1971c01fdaa7653c9dae7b571187 Author: Dhananjay Phadke Date: Sat Sep 5 17:43:11 2009 +0000 netxen: refactor firmware info code o Combine netxen_get_firmware_info(), netxen_check_options() so that they are updated every time firmware is reset. o Set dma mask everytime firmware is reset. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 195c5f9829407857cba86f083caec6302b1fd8e1 Author: Amit Kumar Salecha Date: Sat Sep 5 17:43:10 2009 +0000 netxen: pre calculate register addresses For registers accessed in fast path (interrupt / softirq) avoid expensive I/O address translation. These registers are directly mapped in PCI bar 0 and do not require any window checks. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d0725e4d3ccf603c4fcf3589850cb464c927d42a Author: Amit Kumar Salecha Date: Sat Sep 5 17:43:09 2009 +0000 netxen: fix ip addr hashing after firmware reset Reprogram local IP addresses after firmware is reset or after resuming from suspend. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 6a581e93981e8838c85e407303186faf937830d3 Author: Dhananjay Phadke Date: Sat Sep 5 17:43:08 2009 +0000 netxen: firmware hang detection Implement state machine to detect firmware hung state and recover. Since firmware will be shared by all PCI functions that have different class drivers (NIC or FCOE or iSCSI), explicit hardware based serialization is required for initializing firmware. o Used global scratchpad register to maintain device reference count. Every probed pci function adds to ref count. o Implement timer (delayed work) for each pci func that checks firmware heartbit every 5 sec and detaches itself if firmware is dead. Last detaching function reloads firmware. Other functions wait for firmware init, and re-attach themselves. Heartbit is not supported by NX2031 firmware. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit db4cfd8a6149e778befb2ff6e6f91cdc6394cbe6 Author: Dhananjay Phadke Date: Sat Sep 5 17:43:07 2009 +0000 netxen: handle firmware load errors Unwind allocations and release file firmware when when firmware load fails. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit a68c4d11336610dc348620766119db09675707c2 Author: Takashi Iwai Date: Fri Sep 4 12:19:36 2009 +0200 ALSA: dummy - Fake buffer allocations Instead of allocating the real buffers, use a fake buffer and ignore read/write in the dummy driver so that we can save the resources. For mmap, a single page (unique to the direction, though) is reused to all buffers. When the app requires to read/write the real buffers, pass fake_buffer=0 module option at loading time. This will get back to the old behavior. Signed-off-by: Takashi Iwai commit a65cc60f6349fe91539f736dad8fb2398488e431 Author: ddiaz@cenditel.gob.ve Date: Sat Sep 5 16:28:06 2009 -0430 ALSA: hda/realtek: Added support for CLEVO M540R subsystem, 6 channel + digital The model clevo-m540r was created with 6-channel and digital support. All functions verified except spdif. Tested with a VIT D2000 laptop which has: [lspci extract] Audio device [0403]: Intel Corporation 82801H (ICH8 Family) HD Audio Controller [8086:284b] (rev 03) Subsystem: CLEVO/KAPOK Computer Device [1558:5409] [/proc/asound/card0/codec\#0 header] Codec: Realtek ALC883 Address: 0 Function Id: 0x1 Vendor Id: 0x10ec0883 Subsystem Id: 0x15585409 Revision Id: 0x100002 [Added a comment about HP mute and the model description by tiwai] Signed-off-by: Dhionel Diaz Signed-off-by: Takashi Iwai commit b6d9c25631e7c38dc7be220b04553068fb542683 Author: Jaswinder Singh Rajput Date: Fri Sep 4 23:13:21 2009 +0530 Security/SELinux: includecheck fix kernel/sysctl.c fix the following 'make includecheck' warning: kernel/sysctl.c: linux/security.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: James Morris commit 945af7c3289c26c9070d6b1bf3ca759d36643e0b Author: David Howells Date: Fri Sep 4 09:19:48 2009 +0100 KEYS: security_cred_alloc_blank() should return int under all circumstances Make security_cred_alloc_blank() return int, not void, when CONFIG_SECURITY=n. Signed-off-by: David Howells Signed-off-by: James Morris commit 8c3cbd5a2b2cc244277f6089dae83f09f1e7a27b Author: Nicolas Ferre Date: Wed Aug 26 15:33:16 2009 +0100 ARM: 5686/1: at91: Correct AC97 reset line in at91sam9263ek board Board code was wrongly setting up the reset pin for AC97 on at91sam9263ek. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit d656f07a7405e788e1275d0238b67f593615f2bb Author: sedji gaouaou Date: Thu Aug 6 15:20:22 2009 +0100 ARM: 5640/1: This patch modifies the support of AC97 on the at91sam9263 ek board This patch modifies the support of AC97 on the at91sam9263 ek board, so it would share the code with AVR32. Plus it removes a typo in at91sam9263_devices.c. Signed-off-by: Sedji Gaouaou Signed-off-by: Russell King commit 56ddf7e6d4f69d7ce9f1c484b62e99d6b029e6f8 Author: Kristoffer Ericson Date: Wed Sep 2 22:11:08 2009 +0100 ARM: 5689/1: Update default config of HP Jornada 700-series machines This patch updates the default config for HP Jornada 700-series handhelds. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 6ec1c69a8f6492fd25722f4762721921da074c12 Author: David S. Miller Date: Sun Sep 6 01:58:51 2009 -0700 net_sched: add classful multiqueue dummy scheduler This patch adds a classful dummy scheduler which can be used as root qdisc for multiqueue devices and exposes each device queue as a child class. This allows to address queues individually and graft them similar to regular classes. Additionally it presents an accumulated view of the statistics of all real root qdiscs in the dummy root. Two new callbacks are added to the qdisc_ops and qdisc_class_ops: - cl_ops->select_queue selects the tx queue number for new child classes. - qdisc_ops->attach() overrides root qdisc device grafting to attach non-shared qdiscs to the queues. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 589983cd21f4a2e4ed74a958805a90fa676845c5 Author: Patrick McHardy Date: Fri Sep 4 06:41:20 2009 +0000 net_sched: move dev_graft_qdisc() to sch_generic.c It will be used in a following patch by the multiqueue qdisc. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit af356afa010f3cd2c8b8fcc3bce90f7a7b7ec02a Author: Patrick McHardy Date: Fri Sep 4 06:41:18 2009 +0000 net_sched: reintroduce dev->qdisc for use by sch_api Currently the multiqueue integration with the qdisc API suffers from a few problems: - with multiple queues, all root qdiscs use the same handle. This means they can't be exposed to userspace in a backwards compatible fashion. - all API operations always refer to queue number 0. Newly created qdiscs are automatically shared between all queues, its not possible to address individual queues or restore multiqueue behaviour once a shared qdisc has been attached. - Dumps only contain the root qdisc of queue 0, in case of non-shared qdiscs this means the statistics are incomplete. This patch reintroduces dev->qdisc, which points to the (single) root qdisc from userspace's point of view. Currently it either points to the first (non-shared) default qdisc, or a qdisc shared between all queues. The following patches will introduce a classful dummy qdisc, which will be used as root qdisc and contain the per-queue qdiscs as children. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5b9a9ccfad8553dbf7a9b17ba78bad70215ed0e2 Author: Patrick McHardy Date: Fri Sep 4 06:41:17 2009 +0000 net_sched: remove some unnecessary checks in classful schedulers The class argument to the ->graft(), ->leaf(), ->dump(), ->dump_stats() all originate from either ->get() or ->walk() and are always valid. Remove unnecessary checks. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit de6d5cdf881353f83006d5f3e28ac4fffd42145e Author: Patrick McHardy Date: Fri Sep 4 06:41:16 2009 +0000 net_sched: make cls_ops->change and cls_ops->delete optional Some schedulers don't support creating, changing or deleting classes. Make the respective callbacks optionally and consistently return -EOPNOTSUPP for unsupported operations, instead of currently either -EOPNOTSUPP, -ENOSYS or no error. In case of sch_prio and sch_multiq, the removed operations additionally checked for an invalid class. This is not necessary since the class argument can only orginate from ->get() or in case of ->change is 0 for creation of new classes, in which case ->change() incorrectly returned -ENOENT. As a side-effect, this patch fixes a possible (root-only) NULL pointer function call in sch_ingress, which didn't implement a so far mandatory ->delete() operation. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 71ebe5e91947392bc276af713827eab12b6db8e4 Author: Patrick McHardy Date: Fri Sep 4 06:41:15 2009 +0000 net_sched: make cls_ops->tcf_chain() optional Some qdiscs don't support attaching filters. Handle this centrally in cls_api and return a proper errno code (EOPNOTSUPP) instead of EINVAL. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d535e4319a2e598ba25dc966ada4e52ea774e33f Author: Tobias Klauser Date: Fri Sep 4 15:53:09 2009 +0200 x86: Make memtype_seq_ops const Signed-off-by: Tobias Klauser Signed-off-by: Ingo Molnar commit 23b6c52cf558f2a1dc6c7010c601b3624eb4591f Author: Rafael J. Wysocki Date: Sat Sep 5 01:07:45 2009 +0200 x86: Decrease the level of some NUMA messages to KERN_DEBUG Some NUMA messages in srat_32.c are confusing to users, because they seem to indicate errors, while in fact they reflect normal behaviour. Decrease the level of these messages to KERN_DEBUG so that they don't show up unnecessarily. Signed-off-by: Rafael J. Wysocki LKML-Reference: <200909050107.45175.rjw@sisk.pl> Signed-off-by: Ingo Molnar commit d28daf923ac5e4a0d7cecebae56f3e339189366b Merge: ed011b2 4a88d44 Author: Ingo Molnar Date: Sun Sep 6 06:27:40 2009 +0200 Merge branch 'tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core commit ed011b22ce567eabefa9ea571d3721c10ecd0553 Merge: 85bac32 e07cccf Author: Ingo Molnar Date: Sun Sep 6 06:11:38 2009 +0200 Merge commit 'v2.6.31-rc9' into tracing/core Merge reason: move from -rc5 to -rc9. Signed-off-by: Ingo Molnar commit cd1d3f7abec19719949ec5b5189a821cd52af868 Author: Chien Tung Date: Sat Sep 5 20:36:39 2009 -0700 RDMA/nes: Map MTU to IB_MTU_* and correctly report link state Old query_port code reports static MTU and link state values. Instead, map actual MTU to next largest IB_MTU_* constant and correctly report link state. Cc: Steve Wise Reported-by: Jeff Squyres Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit b29a4fc49b028dbdab53b679826ed1eb658dde59 Author: Don Wood Date: Sat Sep 5 20:36:39 2009 -0700 RDMA/nes: Rework the disconn routine for terminate and flushing The disconn routine has been reworked to acoomodate the terminate and flushing changes. The routine has been reorganized to make all the decisions at the start then it performs all the required operations. This simplified the lock handling and is easier to follow. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 320cdfd21d4a9f6ef54b74871e0d6b19a0e86fd6 Author: Don Wood Date: Sat Sep 5 20:36:39 2009 -0700 RDMA/nes: Use the flush code to fill in cqe error Use the flush status to fill in cqe status when a specific error has been identified. Subsequent flushed completions still use the flushed value. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 6eed5e7c8bdce6ee21bbe0be4a3f3dce4d4b392a Author: Don Wood Date: Sat Sep 5 20:36:39 2009 -0700 RDMA/nes: Make poll_cq return correct number of wqes during flush When a flush request is given to the hw, it will place one cqe marked as flushed (unless there is nothing to flush). An application that is waiting for all wqe's to complete will be left hanging. This modifies poll_cq to return the correct number of flushes for the pending elements on the wq. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 4b281faec3ad00f7fb00080078321e4d819795eb Author: Don Wood Date: Sat Sep 5 20:36:38 2009 -0700 RDMA/nes: Use flush mechanism to set status for wqe in error When an asynchronous event occurs that requires a terminate, it is sometimes possible to identify the wqe in error. This change uses flush to get this information to the poll routine. The flush operation puts the status into the cqe. If this information is not available, it continues to use the more generic flush code as before. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 8b1c9dc4ba713985d33aba87c761bf71d5a96491 Author: Don Wood Date: Sat Sep 5 20:36:38 2009 -0700 RDMA/nes: Implement Terminate Packet Implement the sending and receiving of Terminate packets. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 3c28b4457a4cf95e982ca13578a5613a11009394 Author: Don Wood Date: Sat Sep 5 20:36:38 2009 -0700 RDMA/nes: Add CQ error handling CQ errors are not being handled correctly. Put in the the upcall for CQ errors. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 5ee21fe0eaf68fb840f442131ab7addced1a31c3 Author: Don Wood Date: Sat Sep 5 20:36:37 2009 -0700 RDMA/nes: Clean out CQ completions when QP is destroyed When a QP is destroyed, unprocessed CQ entries could still reference the QP. This change zeroes the context value at QP destroy time. By skipping over cqe's with a zero context, poll_cq no longer processes a cqe for a destroyed QP. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit ba0c5d9a8975cf740a4a4b8c579cc4b325f8b852 Author: Don Wood Date: Sat Sep 5 20:36:37 2009 -0700 RDMA/nes: Change memory allocation for cqp request to GFP_ATOMIC The routine to allocate a cqp request is not called from process context code. Since it is not OK to sleep, it needs to use GFP_ATOMIC not GFP_KERNEL. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 873fcdd4bfc75880888a7d148a71d70ed87c9ebf Author: Don Wood Date: Sat Sep 5 20:36:37 2009 -0700 RDMA/nes: Allocate work item for disconnect event handling The code currently has a work structure in the QP. This requires a lock and a pending flag to ensure there is never more than one request active. When two events happen quickly (such as FIN and LLP CLOSE), it causes unnecessary timeouts since the second one is dropped. This fix allocates memory for the work request so the second one can be queued. A lock is removed since it is no longer needed. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit c4c3f279cd8e9cc1d3e2f364a27beadb2e69cda8 Author: Don Wood Date: Sat Sep 5 20:36:36 2009 -0700 RDMA/nes: Update refcnt during disconnect During termination, it is possible for the refcnt to go to zero while the worker thread is posting events upward. This fix increments the refcnt before the request is passed to the worker thread. The thread decrements the refcnt when the request is completed. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit d84106477733cb155c5dcaea664ddf120bf69eb7 Author: Jack Morgenstein Date: Sat Sep 5 20:36:16 2009 -0700 IB/mthca: Don't allow userspace open while recovering from catastrophic error Userspace apps are supposed to release all ib device resources if they receive a fatal async event (IBV_EVENT_DEVICE_FATAL). However, the app has no way of knowing when the device has come back up, except to repeatedly attempt ibv_open_device() until it succeeds. However, currently there is no protection against the open succeeding while the device is in being removed following the fatal event. In this case, the open will succeed, but as a result the device waits in the middle of its removal until the new app releases its resources -- and the new app will not do so, since the open succeeded at a point following the fatal event generation. This patch adds an "active" flag to the device. The active flag is set to false (in the fatal event flow) before the "fatal" event is generated, so any subsequent ibv_dev_open() call to the device will fail until the device comes back up, thus preventing the above deadlock. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit d94a86890137fabcc97eaa324bfef3f1827744c8 Author: Arputham Benjamin Date: Sat Sep 5 20:36:15 2009 -0700 IB/mthca: Distinguish multiple devices in /proc/interrupts When the mthca driver uses the same name for interrupts for every device in the system. This can make it very confusing trying to work out exactly which device MSI-X interrupts are for. Change the driver to add the PCI name of the device to the interrupt name. Signed-off-by: Arputham Benjamin Signed-off-by: Roland Dreier commit ffe063f32bacad7d5111ae9c2b3e31addb47ce39 Author: Roland Dreier Date: Sat Sep 5 20:36:15 2009 -0700 IB/mthca: Annotate CQ locking mthca_ib_lock_cqs()/mthca_ib_unlock_cqs() are helper functions that lock/unlock both CQs attached to a QP in the proper order to avoid AB-BA deadlocks. Annotate this so sparse can understand what's going on (and warn us if we misuse these functions). Signed-off-by: Roland Dreier commit deecb5d6728fff5288b6f7241ee8225ba0d8c6d2 Author: Roland Dreier Date: Sat Sep 5 20:36:15 2009 -0700 IB/mthca: Remove unnecessary include of mthca_reset.c doesn't have any function annotations, so there's no reason to include . Signed-off-by: Roland Dreier commit fc1285585f5bfda18e3fe7f90afd47da51b82bd6 Author: Roland Dreier Date: Sat Sep 5 20:36:13 2009 -0700 IB/mthca: Remove unnecessary include of mthca_config_reg.h was including for no reason -- the whole file is just defines of constants, so it's entirely self-contained. Signed-off-by: Roland Dreier commit 3b4a8cd51e59c1c342c51b241bbb96c6ac24a147 Author: Jack Morgenstein Date: Sat Sep 5 20:24:50 2009 -0700 IB/mlx4: Don't allow userspace open while recovering from catastrophic error Userspace apps are supposed to release all ib device resources if they receive a fatal async event (IBV_EVENT_DEVICE_FATAL). However, the app has no way of knowing when the device has come back up, except to repeatedly attempt ibv_open_device() until it succeeds. However, currently there is no protection against the open succeeding while the device is in being removed following the fatal event. In this case, the open will succeed, but as a result the device waits in the middle of its removal until the new app releases its resources -- and the new app will not do so, since the open succeeded at a point following the fatal event generation. This patch adds an "active" flag to the device. The active flag is set to false (in the fatal event flow) before the "fatal" event is generated, so any subsequent ibv_dev_open() call to the device will fail until the device comes back up, thus preventing the above deadlock. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit f5f5951c7494b6ae89ec53ca7ca6b0177ebd1308 Author: Arputham Benjamin Date: Sat Sep 5 20:24:50 2009 -0700 mlx4_core: Distinguish multiple devices in /proc/interrupts When the mlx4 driver uses the same name for interrupts for every device in the system. This can make it very confusing trying to work out exactly which device MSI-X interrupts are for. Change the driver to add the PCI name of the device to the interrupt name. Signed-off-by: Arputham Benjamin Signed-off-by: Roland Dreier commit 1af92e2a211b0d46ef60ea9f30f989fd7b5725fa Author: Yevgeny Petrilin Date: Sat Sep 5 20:24:49 2009 -0700 mlx4_core: Avoid double free_icms On the error path of mlx4_init_hca(), mlx4_close_hca() is called, followed by mlx4_free_icms() and mlx4_UNMAP_FA(). But both those functions are also called from mlx4_close_hca(), which leads to a double free. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit fa0681d2129732027355d6b7083dd8932b9b799d Author: Roland Dreier Date: Sat Sep 5 20:24:49 2009 -0700 mlx4_core: Allocate and map sufficient ICM memory for EQ context The current implementation allocates a single host page for EQ context memory, which was OK when we only allocated a few EQs. However, since we now allocate an EQ for each CPU core, this patch removes the hard-coded limit (which we exceed with 4 KB pages and 128 byte EQ context entries with 32 CPUs) and uses the same ICM table code as all other context tables, which ends up simplifying the code quite a bit while fixing the problem. This problem was actually hit in practice on a dual-socket Nehalem box with 16 real hardware threads and sufficiently odd ACPI tables that it shows on boot SMP: Allowing 32 CPUs, 16 hotplug CPUs so num_possible_cpus() ends up 32, and mlx4 ends up creating 33 MSI-X interrupts and 33 EQs. This mlx4 bug means that mlx4 can't even initialize at all on this quite mainstream system. Cc: Reported-by: Eli Cohen Tested-by: Christoph Lameter Signed-off-by: Roland Dreier commit 338a8fad27908f64a0d249cc9f5c7d4ddb7e5684 Author: Roland Dreier Date: Sat Sep 5 20:24:49 2009 -0700 IB/mlx4: Annotate CQ locking mlx4_ib_lock_cqs()/mlx4_ib_unlock_cqs() are helper functions that lock/unlock both CQs attached to a QP in the proper order to avoid AB-BA deadlocks. Annotate this so sparse can understand what's going on (and warn us if we misuse these functions). Signed-off-by: Roland Dreier commit ff149b2a168296c74763cb4a6e7054bdb0a426a1 Author: Roland Dreier Date: Sat Sep 5 20:24:49 2009 -0700 mlx4_core: Remove unnecessary includes of Lots of mlx4 files with no function annotations included for no reason. Signed-off-by: Roland Dreier commit a01df0fe5e4db8c272dcc395354884ff7c15fc10 Author: Roland Dreier Date: Sat Sep 5 20:24:48 2009 -0700 mlx4_core: Use pci_request_regions() The old code used two calls to pci_request_region() to get the two BARs for the mlx4 device, for no particularly good reason. Clean up the code a little by converting this to a single call to pci_request_regions(). Signed-off-by: Roland Dreier commit 1493ab4083c315a978e51b8957bf87859703745d Author: Roel Kluin Date: Sat Sep 5 20:24:24 2009 -0700 RDMA/amso1100: Check kmalloc() result in c2_register_device() dev->ibdev.iwcm allocation may fail, prevent a dereference. Signed-off-by: Roel Kluin Signed-off-by: Roland Dreier commit b1b8afb83336b66ac7198111aad4ead41132b53f Author: Jack Morgenstein Date: Sat Sep 5 20:24:24 2009 -0700 IB/uverbs: Return ENOSYS for unimplemented commands (not EINVAL) Since the original commit 883a99c7 ("[IB] uverbs: Add a mask of device methods allowed for userspace"), the uverbs core returns EINVAL for commands not implemented by a specific low-level driver. This creates a problem that there is no way to tell the difference between an unimplemented command and an implemented one which is incorrectly invoked (which also returns EINVAL). The fix is to have unimplemented commands return ENOSYS. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit e1d7806df32bd247af6a2fe52433ecdd34fee773 Author: Yossi Etigin Date: Sat Sep 5 20:24:24 2009 -0700 IB/core: Fix send multicast group leave retry Until now, retries were only sent when joining a multicast group. This patch will adds retries when leaving a multicast group as well. Signed-off-by: Ron Livne Signed-off-by: Yossi Etigin Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit f1aa78b26e8dabc2956be94a93c40c6cc08eb4a3 Author: Marcin Slusarz Date: Sat Sep 5 20:24:24 2009 -0700 IB: Use printk_once() for driver versions Replace open-coded reimplementations with printk_once(). Signed-off-by: Marcin Slusarz Signed-off-by: Roland Dreier commit 181c74e87eb93df447a759af93cf0a279875ea7d Author: Tobias Klauser Date: Sat Sep 5 20:24:23 2009 -0700 RDMA/amso1100: Use %pM conversion specifier Use the %pM conversion specifier to print a MAC address. Signed-off-by: Tobias Klauser Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 6276e08a9bdf645b71a092fb4530baf4f6c4c6eb Author: Roland Dreier Date: Sat Sep 5 20:24:23 2009 -0700 IB: Use DEFINE_SPINLOCK() for static spinlocks Rather than just defining static spinlock_t variables and then initializing them later in init functions, simply define them with DEFINE_SPINLOCK() and remove the calls to spin_lock_init(). This cleans up the source a tad and also shrinks the compiled code; eg on x86-64: add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-40 (-40) function old new delta ib_uverbs_init 336 326 -10 ib_mad_init_module 147 137 -10 ib_sa_init 123 103 -20 Signed-off-by: Roland Dreier commit 60f2b652f54aa4ac4127a538abad05235fb9c469 Author: Roland Dreier Date: Sat Sep 5 20:24:10 2009 -0700 IB/mad: Check hop count field in directed route MAD to avoid array overflow The hop count field in a directed route MAD is only allowed to be in the range 0 to 63 (by spec). Check that this really is the case to avoid accessing outside the bounds of the hop array. Reported-by: Roel Kluin Signed-off-by: Roland Dreier commit 5e47596bee12597824a3b5b21e20f80b61e58a35 Author: Jason Gunthorpe Date: Sat Sep 5 20:23:40 2009 -0700 IPoIB: Check multicast address format Check that the format of multicast link addresses is correct before taking them from dev->mc_list to priv->multicast_list. This way we never try to send a bogus address to the SA, which prevents badness from erronous 'ip maddr addr add', broken bonding drivers, etc. Signed-off-by: Jason Gunthorpe Signed-off-by: Roland Dreier commit 721d67cdca5b7642b380ca0584de8dceecf6102f Author: Roland Dreier Date: Sat Sep 5 20:23:40 2009 -0700 IPoIB: Drop priv->lock before calling ipoib_send() IPoIB currently must use irqsave locking for priv->lock, since it is taken from interrupt context in one path. However, ipoib_send() does skb_orphan(), and the network stack locking is not IRQ-safe. Therefore we need to make sure we don't hold priv->lock when calling ipoib_send() to avoid lockdep warnings (the code was almost certainly safe in practice, since the only code path that takes priv->lock from interrupt context would never call into the network stack). Addresses: http://bugzilla.kernel.org/show_bug.cgi?id=13757 Reported-by: Bart Van Assche Signed-off-by: Roland Dreier commit cd0bcf4cb963a147baf0b79d94c25ba86220f708 Author: Roland Dreier Date: Sat Sep 5 20:23:38 2009 -0700 IPoIB: Remove unused includes Signed-off-by: Roland Dreier commit 286b63d09660de0fbd0d7748984d7ae491c7fdb6 Author: Roel Kluin Date: Sat Sep 5 20:23:21 2009 -0700 IB/ipath: strncpy() doesn't always NUL-terminate strlcpy() will always null terminate the string. node_desc is not guaranteed to be NUL-terminated so just use memcpy(). Signed-off-by: Roel Kluin Signed-off-by: Roland Dreier commit 6303e74c699d6ba8bd3d44ec6898b2d6aa55d788 Author: Joachim Fenkes Date: Sat Sep 5 20:22:55 2009 -0700 IB/ehca: Fix CQE flags reporting The driver was reporting CQE flags in the wrong bit positions, causing consumers to miss incoming immediate data. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit d706834d995939c96b4952bf042918879b4db18b Author: Joachim Fenkes Date: Sat Sep 5 20:22:55 2009 -0700 IB/ehca: Construct MAD redirect replies from request MAD The old code used a lot of hard-coded values, which might not be valid in all environments (especially routed fabrics or partitioned subnets). Copy as much information as possible from the incoming request to correct that. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 50d40b8e53fab58b0141a75f7448eb28f9e21338 Author: Alexander Schmidt Date: Sat Sep 5 20:22:54 2009 -0700 IB/ehca: Make port autodetect mode the default Make port autodetect mode the default for the ehca driver. The autodetect code has been in the kernel for several releases now and has proved to be stable. Signed-off-by: Roland Dreier commit a52bf98d99e922363d1d600a79de6aaf00090d47 Author: Steve Wise Date: Sat Sep 5 20:22:38 2009 -0700 RDMA/cxgb3: Wake up any waiters on peer close/abort A close/abort while waiting for a wr_ack during connection migration can cause a hung process in iwch_accept_cr/iwch_reject_cr. The fix is to set rpl_error/rpl_done and wake up the waiters when we get a close/abort while in MPA_REQ_RCVD state. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 6e47fe43502ba6dfe86d556661795d9bb0361309 Author: Steve Wise Date: Sat Sep 5 20:22:38 2009 -0700 RDMA/cxgb3: Don't free endpoints early - Keep ref on connection request endpoints until either accepted or rejected so it doesn't get freed early. - Endpoint flags now need to be set via atomic bitops because they can be set on both the iw_cxgb3 workqueue thread and user disconnect threads. - Don't move out of CLOSING too early due to multiple calls to iwch_ep_disconnect. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit fa0d4c11c4b6eb49708b82b638ceb0761152f46a Author: Steve Wise Date: Sat Sep 5 20:22:38 2009 -0700 RDMA/cxgb3: Handle port events properly Massage the err_handler upcall into an event handler upcall, pass netdev port events to the cxgb3 ULPs and generate RDMA port events based on LLD port events. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit b496fe82d4075847a1c42efba2e81d28f6467b3a Author: Steve Wise Date: Sat Sep 5 20:22:37 2009 -0700 RDMA/cxgb3: Set the appropriate IO channel in rdma_init work requests Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 3793d2fc3eac7da11ca44df125cbcedd0b5315d0 Author: Steve Wise Date: Sat Sep 5 20:22:36 2009 -0700 RDMA/cxgb3: iwch_unregister_device leaks memory The iwcm struct mem is never freed. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit b2f0091fbf8b475fa09b5e1712e0ab84cb3e1ca4 Author: Vasu Dev Date: Tue Aug 25 13:58:53 2009 -0700 [SCSI] fcoe, libfc: fully makes use of per cpu exch pool and then removes em_lock 1. Updates fcoe_rcv() to queue incoming frames to the fcoe per cpu thread on which this frame's exch was originated and simply use current cpu for request exch not originated by initiator. It is redundant to add this code under CONFIG_SMP, so removes CONFIG_SMP uses around this code. 2. Updates fc_exch_em_alloc, fc_exch_delete, fc_exch_find to use per cpu exch pools, here fc_exch_delete is rename of older fc_exch_mgr_delete_ep since ep/exch are now deleted in pools of EM and so brief new name is sufficient and better name. Updates these functions to map exch id to their index into exch pool using fc_cpu_mask, fc_cpu_order and EM min_xid. This mapping is as per detailed explanation about this in last patch and basically this is just as lower fc_cpu_mask bits of exch id as cpu number and upper bit sum of EM min_xid and exch index in pool. Uses pool next_index to keep track of exch allocation from pool along with pool_max_index as upper bound of exches array in pool. 3. Adds exch pool ptr to fc_exch to free exch to its pool in fc_exch_delete. 4. Updates fc_exch_mgr_reset to reset all exch pools of an EM, this required adding fc_exch_pool_reset func to reset exches in pool and then have fc_exch_mgr_reset call fc_exch_pool_reset for each pool within each EM for a lport. 5. Removes no longer needed exches array, em_lock, next_xid, and total_exches from struct fc_exch_mgr, these are not needed after use of per cpu exch pool, also removes not used max_read, last_read from struct fc_exch_mgr. 6. Updates locking notes for exch pool lock with fc_exch lock and uses pool lock in exch allocation, lookup and reset. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit e4bc50bedf0dd6c63f20a7bc0a2b46667664fba1 Author: Vasu Dev Date: Tue Aug 25 13:58:47 2009 -0700 [SCSI] fcoe, libfc: adds per cpu exch pool within exchange manager(EM) Adds per cpu exch pool for these reasons:- 1. Currently an EM instance is shared across all cpus to manage all exches for all cpus. This required em_lock across all cpus for an exch alloc, free, lookup and reset each frame and that made em_lock expensive, so instead having per cpu exch pool with their own per cpu pool lock will likely reduce locking contention in fast path for an exch alloc, free and lookup. 2. Per cpu exch pool will likely improve cache hit ratio since all frames of an exch will be processed on the same cpu on which exch originated. This patch is only prep work to help in keeping complexity of next patch low, so this patch only sets up per cpu exch pool and related helper funcs to be used by next patch. The next patch fully makes use of per cpu exch pool in all code paths ie. tx, rx and reset. Divides per EM exch id range equally across all cpus to setup per cpu exch pool. This division is such that lower bits of exch id carries cpu number info on which exch originated, later a simple bitwise AND operation on exch id of incoming frame with fc_cpu_mask retrieves cpu number info to direct all frames to same cpu on which exch originated. This required a global fc_cpu_mask and fc_cpu_order initialized to max possible cpus number nr_cpu_ids rounded up to 2's power, this will be used in mapping exch id and exch ptr array index in pool during exch allocation, find or reset code paths. Adds a check in fc_exch_mgr_alloc() to ensure specified min_xid lower bits are zero since these bits are used to carry cpu info. Adds and initializes struct fc_exch_pool with all required fields to manage exches in pool. Allocates per cpu struct fc_exch_pool with memory for exches array for range of exches per pool. The exches array memory is followed by struct fc_exch_pool. Adds fc_exch_ptr_get/set() helper functions to get/set exch ptr in pool exches array at specified array index. Increases default FCOE_MAX_XID to 0x0FFF from 0x07EF, so that more exches are available per cpu after above described exch id range division across all cpus to each pool. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a69b06bc5e7b153043db8984564b731f99e014fc Author: Joe Eykholt Date: Tue Aug 25 13:58:42 2009 -0700 [SCSI] fcoe: libfcoe: extra semicolon in CHECK_LOGGING macros causes compile error If using code like this: if (foo) FCOE_DBG("foo\n); else FCOE_DBG("bar\n"); one gets compile errors because FCOE_DBG expands with its own semicolon, making one too many for the if-statement. Remove the offending semicolon in fcoe.h and also a similar case in libfcoe.c. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit cd305ce41be1615dfc72892e0642c6b880f58d95 Author: Robert Love Date: Tue Aug 25 13:58:37 2009 -0700 [SCSI] libfc: Fix misleading debug statement The statement reads, "Exchange timed out, notifying the upper layer", however, this statement is printed whenever the timer is armed. This is confusing to someone debugging the code because every time an exchange is initialized, there is an incorrect statement stating that the timer has already timed out. This patch changes the statement to read, "Exchange timer armed" which is more accurate. This patch also adds a debug statement in the timeout handler to properly indicate that the exchange has timed out. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit ee610c6701875525d5c61fa6e56ddbf3e645b8df Author: Robert Love Date: Tue Aug 25 13:58:31 2009 -0700 [SCSI] fcoe: Add format spacing to FCOE_NETDEV_DBG debug macro There's currently no space between the interface name and the user specified format/string. This patch adds a space and a colon to the output to separate the interface name and the user specified string. So, instead of "ethXfoo" it will read "ethX: foo". Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 70b31c152dc49ef70bd2b34ad53ccbd9bb4116d4 Author: Mike Christie Date: Thu Aug 20 15:11:03 2009 -0500 [SCSI] libiscsi, iscsi_tcp: check suspend bit before each call to xmit_task If we had multiple tasks on the cmd or requeue lists, and iscsi_tcp returns a error, the write_space function can still run and queue iscsi_data_xmit. If it was a legetimate problem and iscsi_conn_failure was run but we raced and iscsi_data_xmit was run first it could miss the suspend bit checks, and start trying to send data again and hit another timeout. A similar problem is present when using cxgb3i. This has libiscsi check the suspend bit before calling the xmit task callout, so we at least do not try sending multiple tasks (one could be sent). Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit d1af8a328755f51c9b76157a8692e56520d3fd94 Author: Mike Christie Date: Thu Aug 20 15:11:02 2009 -0500 [SCSI] iscsi_tcp: add new conn error to indicate tcp conn closed If a target closed the connection, we will detect it in the state_changed or data_ready callout. This adds a new conn error value to use for this problem, so it is not confused with when the initiator throws a conn error and drops the connection. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 632248aab3170004e24512a4378fc6d9d7f3b4ac Author: Mike Christie Date: Thu Aug 20 15:11:01 2009 -0500 [SCSI] iscsi class: Add logging to scsi_transport_iscsi.c Logging for connections and sessions in the scsi_transport_iscsi module is now controlled by module parameters. Signed-off-by: Erez Zilber [Mike Christie: newline fixups and modification of some dbg statements] Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b06fc73a9ebd352065dd4dd3139fb53ed72ac970 Author: Mike Christie Date: Thu Aug 20 15:11:00 2009 -0500 [SCSI] qla4xxx: Removed residual from overrun debug print The residual variable is only valid for udnerrun so do not print it out for the overrun case. Signed-off-by: Karen Higgins [Mike Christie: Fix coding style issues in patch] Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 8afa1439fcff58da8f28c1d083046f229f6ab3de Author: Mike Christie Date: Thu Aug 20 15:10:59 2009 -0500 [SCSI] libiscsi: handle immediate command rejections If we sent multiple pdus as immediate the target could be rejecting some and we have just been dropping the rejection notification. This adds code to handle nop-out rejections, so if a nop-out was sent as a ping and rejected we do not mark the connection bad. Instead we just clean up the timers since we have pdu making a rount trip we know the connection is good. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit d3305f3407fa3e9452079ec6cc8379067456e4aa Author: Mike Christie Date: Thu Aug 20 15:10:58 2009 -0500 [SCSI] libiscsi: don't increment cmdsn if cmd is not sent We increment session->cmdsn at the top of iscsi_prep_scsi_cmd_pdu, but if the prep ecb or prep bidi or init_task calls fails then we leave the session->cmdsn incremented. This moves the cmdsn manipulation to the end of the function when we know it has succeeded. It also adds a session->cmdsn--; in queuecommand for if a driver like bnx2i tries to send a a task from that context but it fails. We do not have to do this in the xmit thread context because that code will retry the same task if the initial call fails. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 523eeac6703a995d58918aaf321f128f75c13108 Author: Hannes Reinecke Date: Thu Aug 20 15:10:57 2009 -0500 [SCSI] iscsi_tcp: Evaluate socket state in data_ready() The network core will call the state_change() callback prior to the data_ready() callback, which might cause us to lose a connection state change. So we have to evaluate the socket state at the end of the data_ready() callback, too. Signed-off-by: Hannes Reinecke Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit ac280b670e6d6666667aba02324e2fc50bd96ae7 Author: Andrew Vasquez Date: Thu Aug 20 11:06:05 2009 -0700 [SCSI] qla2xxx: Add asynchronous-login support. ISPs which support this feature include 23xx and above. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit cf53b069f52ae3f83dec1acd339e3c3a2e979478 Author: Andrew Vasquez Date: Thu Aug 20 11:06:04 2009 -0700 [SCSI] qla2xxx: Generalize srb structure usage. Lay groundwork for adding alternative asynchronous operations by generalize and extending the SRB structure. This allows for follow-on patches to add support for: - Asynchronous logins. - ELS/CT passthru requests. - Loopback requests. - Non-blocking mailbox commands (ABTS, Task Management, etc). Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit dc162b63bfc4201ca5c13df3fc8836c56979eb07 Author: Kashyap, Desai Date: Thu Aug 20 13:25:03 2009 +0530 [SCSI] mpt2sas: Bump driver version 01.100.06.00 Bump version to 01.100.06.00 Signed-off-by: Kashyap Desai Reviewed-by:: Eric Moore Signed-off-by: James Bottomley commit 5b768581ea722172f059ad5a5eebea9008961af0 Author: Kashyap, Desai Date: Thu Aug 20 13:24:31 2009 +0530 [SCSI] mpt2sas: cleanup interrupt routine and config_request optimization Cleaned up base_interrupt routine to be more effiecent. Deleted about a third of the config page API by moving redundant code from all the calling functions to _config_request. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Signed-off-by: James Bottomley commit ed79f1280d1bc54f168abcffc8c3e0bf8ffb1873 Author: Kashyap, Desai Date: Thu Aug 20 13:23:49 2009 +0530 [SCSI] mpt2sas: Raid 10 Volume is showing as Raid 1E in dmesg This patch modifies the slave_configure callback so the messages that get sent to system log for RAID1E volumes contain the string "RAID10" instead of "RAID1E". These messages contain information regarding what kind of scsi device is being added. Certain OEMS can enable displaying the RAID10 string instead of RAID1E via manufacturing page 10. The driver will read this config page at driver load time, then determine from the GenericFlags0 bits whether display the RAID10 or RAID1E string, also even drive count is taken into consideration. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Cc: Stable Tree Signed-off-by: James Bottomley commit 34a03bef2202d0c9983a8da0a8abaee37d285847 Author: Kashyap, Desai Date: Thu Aug 20 13:23:19 2009 +0530 [SCSI] mpt2sas: setting SDEV into RUNNING state from Interrupt context Changing SDEV Running state from interrupt context. Previously It was handle in work queue thread. With this change It will not wait for work queue thread to execute scsih_ublock_io_device to put SDEV into Running state. This will reduce delay for Device becoming RUNNING. Modified this patch considering James comment "Not to change SDEV state using scsi_device_set_state API, instead use scsi_internal_device_unblock scsi_internal_device_block API" Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Cc: Stable Tree Signed-off-by: James Bottomley commit cc0f5207664f85da8d0b2ebdacec5daaee0ce95f Author: Kashyap, Desai Date: Thu Aug 20 13:22:39 2009 +0530 [SCSI] mpt2sas: Removed wrapper funtions _scsih_link_change. Deleted the wrapper function called _scsih_link_change. This function was implemented for compatibility reasons only, between different kernel versions. Currently this function is no longer needed. The calling function are converted to calling mpt2sas_transport_update_phy_link_change directly in the transport layer. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Signed-off-by: James Bottomley commit 155dd4c763694222c125e65438d823f58ea653bc Author: Kashyap, Desai Date: Thu Aug 20 13:22:00 2009 +0530 [SCSI] mpt2sas: Prevent sending command to FW while Host Reset This patch renames the flag for indicating host reset from ioc_reset_in_progress to shost_recovery. It also removes the spin locks surrounding the setting of this flag, which are unnecessary. Sanity checks on the shost_recovery flag were added thru out the code so as to prevent sending firmware commands during host reset. Also, the setting of the shost state to SHOST_RECOVERY was removed to prevent deadlocks, this is actually better handled by the shost_recovery flag. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Cc: Stable Tree Signed-off-by: James Bottomley commit cd4e12e8ad246ec5bc23ab04d0da0e6985025620 Author: Kashyap, Desai Date: Thu Aug 20 13:20:54 2009 +0530 [SCSI] mpt2sas : Rescan topology from Interrupt context instead of work thread Following host reset its possible that the controller firmware could assign new handles for devices, as well as adding or deleting devices. There is code in the driver that will rescan the topology folowing host reset; updating device handles, and remove devices that are no longer responding. This patch will improve the responsivness by moving this rescaning from the delayed hotplug worker thread to immediately following the host reset. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Cc: Stable Tree Signed-off-by: James Bottomley commit 69cb48750b02034350bc78d8053647d7464cdde0 Author: Ed Lin Date: Tue Aug 18 12:15:14 2009 -0700 [SCSI] stex: Add reset code for st_yel (v2) Add reset related code for st_yel. 1. Set the SS_H2I_INT_RESET bit. 2. Wait for the SS_MU_OPERATIONAL flag. This is also part of normal handshake process so move it to handshake routine. 3. Continue handshake with the firmware. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 41e05a12c7aae16f0381103af3e5ca791e87ce59 Author: Heiko Carstens Date: Tue Aug 18 15:43:32 2009 +0200 [SCSI] zfcp: optimize zfcp_qdio_account Remove expensive ktime_get()/ktime_us_delta() functions from the hot path and use get_clock_monotonic() instead. This elimates seven function calls and avoids a lot of unnecessary calculations. Signed-off-by: Heiko Carstens Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b592e89ac9af521be164490e45c53c93e89c776f Author: Christof Schmitt Date: Tue Aug 18 15:43:31 2009 +0200 [SCSI] zfcp: Remove duplicated code for debug timestamps The timestamp calculation used for s390dbf output is the same in a private zfcp function and in debug.c. Replace both with a common inline function. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 0fac3f477b6b520ae7d972ceb6e958e6807c8e1a Author: Christof Schmitt Date: Tue Aug 18 15:43:30 2009 +0200 [SCSI] zfcp: Handle failures during device allocation correctly dev_set_name tries to allocate memory, so check the return value for allocation failures. After dev_set_name succeeds, call device_register as next step to be able to use put_device during error handling. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit f4395b652636398eb4712e6f3caf79c9a6c02e21 Author: Sebastian Ott Date: Tue Aug 18 15:43:29 2009 +0200 [SCSI] zfcp: proper use of device register Don't use kfree directly after device registration started. Signed-off-by: Sebastian Ott Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 24680defdb55e073c5e43d14318a164b842d8ce7 Author: Christof Schmitt Date: Tue Aug 18 15:43:28 2009 +0200 [SCSI] zfcp: Replace config semaphore with mutex The config semaphore is only used as a mutex, so replace it with a simple mutex. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 143bb6bfe36d20618d8bf667915fe14d14b8ae2f Author: Christof Schmitt Date: Tue Aug 18 15:43:27 2009 +0200 [SCSI] zfcp: Defer resource allocation to first ccw_set_online call So far, zfcp allocated all resources required for FCP adapters/subchannels when the device was discovered in the ccw_probe callback. If there are lots of unused FCP subchannels attached to a system, this is a waste of resources. To alleviate this, defer the resource allocation to the first call to ccw_set_online. To avoid disruptions during possible following calls to ccw_set_offline and then ccw_set_online, keep the adapter resources until the device is finally being removed via ccw_remove. While doing this, also manage the zfcp erp thread together with all other adapter resources in zfcp_adapter_enqueue/dequeue. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 98fc4d5c8cd9bd1a412cca922feecb54c1c22d8e Author: Christof Schmitt Date: Tue Aug 18 15:43:26 2009 +0200 [SCSI] zfcp: Simplify and update ct/gs and els timeout handling The recommendation for a timeout of 2 * R_A_TOV is the same for ct/gs and els requests, so set it in the common function used for initializing both request types. Besides, the timer inside zfcp should only run longer than the timeout set for the channel, so 10 seconds more should be enough (instead of 60 seconds). Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 347c6a965dc110c91a77f65181fc011ee257a4a6 Author: Christof Schmitt Date: Tue Aug 18 15:43:25 2009 +0200 [SCSI] zfcp: Use kthread API for zfcp erp thread Switch the creation of the zfcp erp thread from the deprecated kernel_thread API to the kthread API. This allows also the removal of some flags in zfcp since the kthread API handles thread creation and shutdown internally. To allow the usage of the kthread_stop function, replace the erp ready semaphore with a waitqueue for waiting until erp actions arrive on the ready queue. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit ea945ff84c2ce1089edb7914ffdd998c24c25903 Author: Swen Schillig Date: Tue Aug 18 15:43:24 2009 +0200 [SCSI] zfcp: resolve false usage of dd_data in fc_rport The fc_rport structure reserves a reference where a LLD can put information required in a situation where the fc transport class is triggering LLD callbacks. The zfcp driver was using this variable directly which is discouraged. This patch solves this issue by making this reference unnecessary. In addition the dev_loss_tmo callback is removed, it is not required: zfcp does not access the fc_rport after calling fc_remote_port_delete. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 6f53a2d2ecaefa3ffff8864f51a3ae38737e1152 Author: Swen Schillig Date: Tue Aug 18 15:43:23 2009 +0200 [SCSI] zfcp: Apply common naming conventions to zfcp_fc Update the Fibre Channel related code to use the zfcp_fc prefix. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit d5a282a1c5084ec7ebd9e6ab9723317f6b3fcd7b Author: Swen Schillig Date: Tue Aug 18 15:43:22 2009 +0200 [SCSI] zfcp: introduce _setup, _destroy for qdio and FC Extract independent data structures and introduce common _setup and _destroy routines for QDIO and Fibre Channel related data structures Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 5771710bd5edfafcb8656f49b93690a6fae5a4d2 Author: Swen Schillig Date: Tue Aug 18 15:43:21 2009 +0200 [SCSI] zfcp: Update dbf calls Change the dbf data and functions to use the zfcp_dbf prefix throughout the code. Also change the calls to dbf to use zfcp_dbf instead of zfcp_adapter. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 799b76d09aeee558d18c1f5b93e63f58f1d1fc11 Author: Christof Schmitt Date: Tue Aug 18 15:43:20 2009 +0200 [SCSI] zfcp: Decouple gid_pn requests from erp Don't let the erp wait for gid_pn requests to complete. Instead, queue the gid_pn work, exit erp and let the finished gid_pn work trigger a new port reopen. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 564e1c86c810f9ccfe4300afa402815e3db4886d Author: Swen Schillig Date: Tue Aug 18 15:43:19 2009 +0200 [SCSI] zfcp: Move qdio related data out of zfcp_adapter The zfcp_adapter structure was growing over time to a size of almost one memory page. To reduce the size of the data structure and to seperate different layers, put all qdio related data in the new zfcp_qdio data structure. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 42428f747a8a0db9c6de03e105932316defad65d Author: Swen Schillig Date: Tue Aug 18 15:43:18 2009 +0200 [SCSI] zfcp: Separate qdio attributes from zfcp_fsf_req Split all qdio related attributes out of zfcp_fsf_req and put it in new structure. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 4544683a4b1d4e65ccca8c736bac56a195a5206b Author: Swen Schillig Date: Tue Aug 18 15:43:17 2009 +0200 [SCSI] zfcp: Move workqueue to adapter struct Remove the global driver work queue and replace it with a workqueue local to the adapter. The usage of this workqueue makes this the correct place for the structure. In addition multiple adapters won't block each other due to the serialization of the queued work. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 09a46c6e34ba152169b7400d266d2efb4c391a43 Author: Swen Schillig Date: Tue Aug 18 15:43:16 2009 +0200 [SCSI] zfcp: Remove the useless ZFCP_REQ_AUTO_CLEANUP flag The flag ZFCP_REQ_AUTO_CLEANUP was useless as the ZFCP_STATUS_FSFREQ_CLEANUP flag is there for exactly the same purpose. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit a4623c467ff76f9258555d44d68371e10c5406c2 Author: Swen Schillig Date: Tue Aug 18 15:43:15 2009 +0200 [SCSI] zfcp: Improve request allocation through mempools Remove the special case for NO_QTCB requests and optimize the mempool and cache processing for fsfreqs. Especially use seperate mempools for the zfcp_fsf_req and zfcp_qtcb structs. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 058b8647892ed49ba6a0d2c0966a72e20e2e69ff Author: Swen Schillig Date: Tue Aug 18 15:43:14 2009 +0200 [SCSI] zfcp: Replace fsf_req wait_queue with completion The combination wait_queue/wakeup in conjunction with the flag ZFCP_STATUS_FSFREQ_COMPLETED to signal the completion of an fsfreq was not race-safe and can be better solved by a completion. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit bd63eaf4b8d783e6033930e377e516169abcadc4 Author: Swen Schillig Date: Tue Aug 18 15:43:13 2009 +0200 [SCSI] zfcp: fix layering oddities between zfcp_fsf and zfcp_qdio There is no need for the QDIO layer to have knowledge or do things wich are done better by the FSF layer and vice versa. Straighten a few things to improve vividness. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 55c770fa11d21456e02dc7afb9a37404da9c7b4c Author: Christof Schmitt Date: Tue Aug 18 15:43:12 2009 +0200 [SCSI] zfcp: Implicitly close all wka ports An adapter shutdown implicitly closes all open ports. Make sure to mark all WKA ports as offline, not only the directory server. Also make sure that no pending wka port work is running when the adapter is being removed. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 14e242ea55a8b807dc1fb7654941caf68a20cd81 Author: Christof Schmitt Date: Tue Aug 18 15:43:11 2009 +0200 [SCSI] zfcp: Only issue one test link command per port When the FCP channel returns a series of commands with the error status "test link", zfcp will send a series of ELS ADISC commands. This is technically no problem, but it is enough to only issue one test command per remote port. So, track whether a ELS ADISC command is already pending, and do not send a new one if there is already a pending command. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 44f09f73766a97d9c1ff8bf787cfe6b932eabc2c Author: Christof Schmitt Date: Tue Aug 18 15:43:10 2009 +0200 [SCSI] zfcp: Remove useless assignment Using a bitwise OR to not set anything at all is pointless so remove the useless statement. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 2e261af84cdb6a6008a9c361443e35ea646ec683 Author: Christof Schmitt Date: Tue Aug 18 15:43:09 2009 +0200 [SCSI] zfcp: Only collect FSF/HBA debug data for matching trace levels The default trace level is to only trace failed FSF commands. Thus it is not necessary to collect trace data for most FSF commands, since it will be thrown away later. Restructure the FSF/HBA trace infrastructure to first check the trace level in a inline function and only do the expensive data collection for matching trace levels. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit dcd20e2316cdc333dfdee09649dbe3642eb30e75 Author: Christof Schmitt Date: Tue Aug 18 15:43:08 2009 +0200 [SCSI] zfcp: Only collect SCSI debug data for matching trace levels The default trace level is to only trace failed SCSI commands. Thus it is not necessary to collect trace data for most SCSI commands since it will be thrown away later. Restructure the SCSI trace infrastructure to first check the trace level in a inline function and only do the expensive data collection for matching trace levels. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit d46f384a89c2378cb7858747faa1935db17e22a8 Author: Christof Schmitt Date: Tue Aug 18 15:43:07 2009 +0200 [SCSI] zfcp: Move debug data from zfcp_data to own data structure The struct zfcp_adapter includes everything related to the debug traces. This introduces dependences between the definitions in zfcp_def.h and zfcp_dbf.h. Move all debug related data structures to a new data structure to break those dependencies and manage the debug data in zfcp_dbf.[hc]. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit a67417ab7eeff45bba55666c0e1083260f3624ee Author: Swen Schillig Date: Tue Aug 18 15:43:06 2009 +0200 [SCSI] zfcp: invalid usage after free of port resources In certain error scenarios ports, rports are getting attached, validated and removed from the systems environment. Depending on the layer this occurs asynchronously. This patch fixes the few races which existed and ensures all references and cross references are cleared at the time they're invalid. In addition fc transports actions are only scheduled when required. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit cdf69bb91b0ef14f0e0a987a4430764e6c290644 Author: Yanqing_Liu@Dell.com Date: Mon Aug 17 14:31:42 2009 -0500 [SCSI] scsi_dh_rdac: add support for next generation of Dell PV array This patch is to add DM support for next generation of Dell PowerVault storage array. Signed-off-by: Yanqing Liu Acked-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 81bd5f6c966cf2f137c2759dfc78abdffcff055e Author: Jan Glauber Date: Sat Sep 5 16:27:35 2009 +1000 crypto: sha-s390 - Fix warnings in import function That patch should fix the warnings. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit c9f1d0389b962521af1e2b699c8ee5e299d77b85 Author: Patrick McHardy Date: Fri Sep 4 06:41:13 2009 +0000 net_sched: fix class grafting errno codes If the parent qdisc doesn't support classes, use EOPNOTSUPP. If the parent class doesn't exist, use ENOENT. Currently EINVAL is returned in both cases. Additionally check whether grafting is supported and remove a now unnecessary graft function from sch_ingress. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b1f57195585e376d1944c32c046359640b06a669 Author: Brian Haley Date: Fri Sep 4 20:36:52 2009 -0700 netlink: silence compiler warning CC net/netlink/genetlink.o net/netlink/genetlink.c: In function ‘genl_register_mc_group’: net/netlink/genetlink.c:139: warning: ‘err’ may be used uninitialized in this function From following the code 'err' is initialized, but set it to zero to silence the warning. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 85bac32c4a52c592b857f2c360cc5ec93a097d70 Author: Steven Rostedt Date: Fri Sep 4 14:24:40 2009 -0400 ring-buffer: only enable ring_buffer_swap_cpu when needed Since the ability to swap the cpu buffers adds a small overhead to the recording of a trace, we only want to add it when needed. Only the irqsoff and preemptoff tracers use this feature, and both are not recommended for production kernels. This patch disables its use when neither irqsoff nor preemptoff is configured. Signed-off-by: Steven Rostedt commit 62f0b3eb5cb58931a02ee4e599e19c80a171e351 Author: Steven Rostedt Date: Fri Sep 4 14:11:34 2009 -0400 ring-buffer: check for swapped buffers in start of committing Because the irqsoff tracer can swap an internal CPU buffer, it is possible that a swap happens between the start of the write and before the committing bit is set (the committing bit will disable swapping). This patch adds a check for this and will fail the write if it detects it. Signed-off-by: Steven Rostedt commit e8165dbb03ed04d798163ee512074b9a9466a9c8 Author: Steven Rostedt Date: Thu Sep 3 19:13:05 2009 -0400 tracing: report error in trace if we fail to swap latency buffer The irqsoff tracer will fail to swap the cpu buffer with the max buffer if it preempts a commit. Instead of ignoring this, this patch makes the tracer report it if the last max latency failed due to preempting a current commit. The output of the latency tracer will look like this: # tracer: irqsoff # # irqsoff latency trace v1.1.5 on 2.6.31-rc5 # -------------------------------------------------------------------- # latency: 112 us, #1/1, CPU#1 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:4) # ----------------- # | task: -4281 (uid:0 nice:0 policy:0 rt_prio:0) # ----------------- # => started at: save_args # => ended at: __do_softirq # # # _------=> CPU# # / _-----=> irqs-off # | / _----=> need-resched # || / _---=> hardirq/softirq # ||| / _--=> preempt-depth # |||| / # ||||| delay # cmd pid ||||| time | caller # \ / ||||| \ | / bash-4281 1d.s6 265us : update_max_tr_single: Failed to swap buffers due to commit in progress Note the latency time and the functions that disabled the irqs or preemption will still be listed. Signed-off-by: Steven Rostedt commit 659372d3e42a3e17a2e042d38a8bcdb94bfbe797 Author: Steven Rostedt Date: Thu Sep 3 19:11:07 2009 -0400 tracing: add trace_array_printk for internal tracers to use This patch adds a trace_array_printk to allow a tracer to use the trace_printk on its own trace array. Signed-off-by: Steven Rostedt commit e77405ad80f53966524b5c31244e13fbbbecbd84 Author: Steven Rostedt Date: Wed Sep 2 14:17:06 2009 -0400 tracing: pass around ring buffer instead of tracer The latency tracers (irqsoff and wakeup) can swap trace buffers on the fly. If an event is happening and has reserved data on one of the buffers, and the latency tracer swaps the global buffer with the max buffer, the result is that the event may commit the data to the wrong buffer. This patch changes the API to the trace recording to be recieve the buffer that was used to reserve a commit. Then this buffer can be passed in to the commit. Signed-off-by: Steven Rostedt commit f633903af2ceb0cec07d45e499a072b6593d0ed1 Author: Steven Rostedt Date: Fri Sep 4 12:35:16 2009 -0400 tracing: make tracing_reset safe for external use Reseting the trace buffer without first disabling the buffer and waiting for any writers to complete, can corrupt the ring buffer. This patch makes the external version of tracing_reset safe from corruption by disabling the ring buffer and calling synchronize_sched. This version can no longer be called from interrupt context. But all those callers have been removed. Signed-off-by: Steven Rostedt commit 2f26ebd549b9ab55ac756b836ec759c11fe93f81 Author: Steven Rostedt Date: Tue Sep 1 11:06:29 2009 -0400 tracing: use timestamp to determine start of latency traces Currently the latency tracers reset the ring buffer. Unfortunately if a commit is in process (due to a trace event), this can corrupt the ring buffer. When this happens, the ring buffer will detect the corruption and then permanently disable the ring buffer. The bug does not crash the system, but it does prevent further tracing after the bug is hit. Instead of reseting the trace buffers, the timestamp of the start of the trace is used instead. The buffers will still contain the previous data, but the output will not count any data that is before the timestamp of the trace. Note, this only affects the static trace output (trace) and not the runtime trace output (trace_pipe). The runtime trace output does not make sense for the latency tracers anyway. Reported-by: Arnaldo Carvalho de Melo Signed-off-by: Steven Rostedt commit f1751c57f7bb816c9b6b4cb5d79c703aaa7199da Author: Vlad Yasevich Date: Fri Sep 4 18:21:03 2009 -0400 sctp: Catch bogus stream sequence numbers Since our TSN map is capable of holding at most a 4K chunk gap, there is no way that during this gap, a stream sequence number (unsigned short) can wrap such that the new number is smaller then the next expected one. If such a case is encountered, this is a protocol violation. Signed-off-by: Vlad Yasevich commit be2971438dec2e2d041af4701472a93a7dd03642 Author: Wei Yongjun Date: Fri Sep 4 14:34:06 2009 +0800 sctp: remove dup code in net/sctp/output.c Use sctp_packet_reset() instead of dup code. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 9237ccbc0b22b5aa5396463ba0b14dc5efe5b98c Author: Wei Yongjun Date: Fri Sep 4 14:33:19 2009 +0800 sctp: turn flags in 'struct sctp_association' into bit fields This shrinks the size of struct sctp_association a little. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 723884339f90a9c420783135168cc1045750eb5d Author: Bhaskar Dutta Date: Thu Sep 3 17:25:47 2009 +0530 sctp: Sysctl configuration for IPv4 Address Scoping This patch introduces a new sysctl option to make IPv4 Address Scoping configurable . In networking environments where DNAT rules in iptables prerouting chains convert destination IP's to link-local/private IP addresses, SCTP connections fail to establish as the INIT chunk is dropped by the kernel due to address scope match failure. For example to support overlapping IP addresses (same IP address with different vlan id) a Layer-5 application listens on link local IP's, and there is a DNAT rule that maps the destination IP to a link local IP. Such applications never get the SCTP INIT if the address-scoping draft is strictly followed. This sysctl configuration allows SCTP to function in such unconventional networking environments. Sysctl options: 0 - Disable IPv4 address scoping draft altogether 1 - Enable IPv4 address scoping (default, current behavior) 2 - Enable address scoping but allow IPv4 private addresses in init/init-ack 3 - Enable address scoping but allow IPv4 link local address in init/init-ack Signed-off-by: Bhaskar Dutta Signed-off-by: Vlad Yasevich commit 8da645e101a8c20c6073efda3c7cc74eec01b87f Author: Vlad Yasevich Date: Fri Sep 4 18:21:01 2009 -0400 sctp: Get rid of an extra routing lookup when adding a transport. We used to perform 2 routing lookups for a new transport: one just for path mtu detection, and one to actually route to destination and path mtu update when sending a packet. There is no point in doing both of them, especially since the first one just for path mtu doesn't take into account source address and sometimes gives the wrong route, causing path mtu updates anyway. We now do just the one call to do both route to destination and get path mtu updates. Signed-off-by: Vlad Yasevich commit a803c942303e6a4ef0ab6b80114529852cffa058 Author: Vlad Yasevich Date: Fri Sep 4 18:21:01 2009 -0400 sctp: Turn flags in 'sctp_packet' into bit fields This shrinks the size of sctp_packet a little. Signed-off-by: Vlad Yasevich commit 4007cc88ceec8892b74792f0a10983b140beae72 Author: Vlad Yasevich Date: Fri Sep 4 18:21:00 2009 -0400 sctp: Correctly track if AUTH has been bundled. We currently track if AUTH has been bundled using the 'auth' pointer to the chunk. However, AUTH is disallowed after DATA is already in the packet, so we need to instead use the 'has_auth' field. Signed-off-by: Vlad Yasevich commit d521c08f4c16d27f193718da778503a6472501da Author: Wei Yongjun Date: Wed Sep 2 13:05:33 2009 +0800 sctp: fix to reset packet information after packet transmit The packet information does not reset after packet transmit, this may cause some problems such as following DATA chunk be sent without AUTH chunk, even if the authentication of DATA chunk has been requested by the peer. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 31b02e1549406efa346534acad956a42bc3f28c4 Author: Vlad Yasevich Date: Fri Sep 4 18:21:00 2009 -0400 sctp: Failover transmitted list on transport delete Add-IP feature allows users to delete an active transport. If that transport has chunks in flight, those chunks need to be moved to another transport or association may get into unrecoverable state. Reported-by: Rafael Laufer Signed-off-by: Vlad Yasevich commit f68b2e05f326971cd76c65aa91a1a41771dd7485 Author: Vlad Yasevich Date: Fri Sep 4 18:21:00 2009 -0400 sctp: Fix SCTP_MAXSEG socket option to comply to spec. We had a bug that we never stored the user-defined value for MAXSEG when setting the value on an association. Thus future PMTU events ended up re-writing the frag point and increasing it past user limit. Additionally, when setting the option on the socket/endpoint, we effect all current associations, which is against spec. Now, we store the user 'maxseg' value along with the computed 'frag_point'. We inherit 'maxseg' from the socket at association creation and use it as an upper limit for 'frag_point' when its set. Signed-off-by: Vlad Yasevich commit cb95ea32a457871f72752164de8d94fa20f4703c Author: Vlad Yasevich Date: Fri Sep 4 18:20:59 2009 -0400 sctp: Don't do NAGLE delay on large writes that were fragmented small SCTP will delay the last part of a large write due to NAGLE, if that part is smaller then MTU. Since we are doing large writes, we might as well send the last portion now instead of waiting untill the next large write happens. The small portion will be sent as is regardless, so it's better to not delay it. This is a result of much discussions with Wei Yongjun and Doug Graham . Many thanks go out to them. Signed-off-by: Vlad Yasevich commit b29e7907288554db9c987c36facfd0304ee8ff5a Author: Vlad Yasevich Date: Fri Sep 4 18:20:59 2009 -0400 sctp: Nagle delay should be based on path mtu The decision to delay due to Nagle should be based on the path mtu and future packet size. We currently incorrectly base it on 'frag_point' which is the SCTP DATA segment size, and also we do not count DATA chunk header overhead in the computation. This actuall allows situations where a user can set low 'frag_point', and then send small messages without delay. Signed-off-by: Vlad Yasevich commit d4d6fb5787a6ef6e1dab731d617ebda6be73d561 Author: Vlad Yasevich Date: Fri Sep 4 18:20:59 2009 -0400 sctp: Try not to change a_rwnd when faking a SACK from SHUTDOWN. We currently set a_rwnd to 0 when faking a SACK from SHUTDOWN. This results in an hung association if the remote only uses SHUTDOWNs (which it's allowed to do) to acknowlege DATA when closing. The reason for that is that we simply honor the a_rwnd from the sack, but since we faked it to be 0, we enter 0-window probing. The fix is to use the peers old rwnd and add our flight size to it. Signed-off-by: Vlad Yasevich commit 4d3c46e6833208428d366630aa708f6876e61fc1 Author: Vlad Yasevich Date: Fri Sep 4 18:20:59 2009 -0400 sctp: drop a_rwnd to 0 when receive buffer overflows. SCTP has a problem that when small chunks are used, it is possible to exhaust the receiver buffer without fully closing receive window. This happens due to all overhead that we have account for with small messages. To fix this, when receive buffer is exceeded, we'll drop the window to 0 and save the 'drop' portion. When application starts reading data and freeing up recevie buffer space, we'll wait until we've reached the 'drop' window and then add back this 'drop' one mtu at a time. This worked well in testing and under stress produced rather even recovery. Signed-off-by: Vlad Yasevich commit 33ce828131ca6655b48bd2070dadd80f816dfe0d Author: Vlad Yasevich Date: Fri Sep 4 18:20:58 2009 -0400 sctp: Clear fast_recovery on the transport when T3 timer expires. If T3 timer expires, we are retransmitting data due to timeout any any fast recovery is null and void. We can clear the fast recovery flag. Signed-off-by: Vlad Yasevich commit b9f8478682445c2a3e0b87718a0563ef543ad94e Author: Vlad Yasevich Date: Wed Aug 26 09:36:25 2009 -0400 sctp: Fix error count increments that were results of HEARTBEATS SCTP RFC 4960 states that unacknowledged HEARTBEATS count as errors agains a given transport or endpoint. As such, we should increment the error counts for only for unacknowledged HB, otherwise we detect failure too soon. This goes for both the overall error count and the path error count. Now, there is a difference in how the detection is done between the two. The path error detection is done after the increment, so to detect it properly, we actually need to exceed the path threshold. The overall error detection is done _BEFORE_ the increment. Thus to detect the failure, it's enough for the error count to match the threshold. This is why all the state functions use '>=' to detect failure, while path detection uses '>'. Thanks goes to Chunbo Luo who first proposed patches to fix this issue and made me re-read the spec and the code to figure out how this cruft really works. Signed-off-by: Vlad Yasevich commit d71a09ed555e52299b5d3ad8945bdf84f65423a6 Author: Alexey Dobriyan Date: Sun Aug 23 23:11:36 2009 +0400 sctp: use proc_create() create_proc_entry() is deprecated (not formally, though). Signed-off-by: Alexey Dobriyan Signed-off-by: Vlad Yasevich commit dadb50cc1ada2906594df83d991f0bc388039bb6 Author: Wei Yongjun Date: Sat Aug 22 11:27:37 2009 +0800 sctp: fix check the chunk length of received HEARTBEAT-ACK chunk The receiver of the HEARTBEAT should respond with a HEARTBEAT ACK that contains the Heartbeat Information field copied from the received HEARTBEAT chunk. So the received HEARTBEAT-ACK chunk must have a length of: sizeof(sctp_chunkhdr_t) + sizeof(sctp_sender_hb_info_t) A badly formatted HB-ACK chunk, it is possible that we may access invalid memory. We should really make sure that the chunk format is what we expect, before attempting to touch the data. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit a2f36eec5647548fa94fb68e2843b00fb9c0d46b Author: Wei Yongjun Date: Sat Aug 22 11:24:00 2009 +0800 sctp: drop SHUTDOWN chunk if the TSN is less than the CTSN If Cumulative TSN Ack field of SHUTDOWN chunk is less than the Cumulative TSN Ack Point then drop the SHUTDOWN chunk. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 9c5c62be2f794c7cee533d856f9f34c3cf21ff1b Author: Vlad Yasevich Date: Mon Aug 10 13:51:03 2009 -0400 sctp: Send user messages to the lower layer as one Currenlty, sctp breaks up user messages into fragments and sends each fragment to the lower layer by itself. This means that for each fragment we go all the way down the stack and back up. This also discourages bundling of multiple fragments when they can fit into a sigle packet (ex: due to user setting a low fragmentation threashold). We introduce a new command SCTP_CMD_SND_MSG and hand the whole message down state machine. The state machine and the side-effect parser will cork the queue, add all chunks from the message to the queue, and then un-cork the queue thus causing the chunks to get transmitted. Signed-off-by: Vlad Yasevich commit 5d7ff261ef497c62f54c39effc259910a28b313d Author: Vlad Yasevich Date: Fri Aug 7 13:23:28 2009 -0400 sctp: Try to encourage SACK bundling with DATA. If the association has a SACK timer pending and now DATA queued to be send, we'll try to bundle the SACK with the next application send. As such, try encourage bundling by accounting for SACK in the size of the first chunk fragment. Signed-off-by: Vlad Yasevich commit e83963b769a2c38b436f5dcf82309f5cbc2f6012 Author: Vlad Yasevich Date: Fri Aug 7 10:43:07 2009 -0400 sctp: Generate SACKs when actually sending outbound DATA We are now trying to bundle SACKs when we have outbound DATA to send. However, there are situations where this outbound DATA will not be sent (due to congestion or available window). In such cases it's ok to wait for the timer to expire. This patch refactors the sending code so that betfore attempting to bundle the SACK we check to see if the DATA will actually be transmitted. Based on eirlier works for Doug Graham and Wei Youngjun . Signed-off-by: Vlad Yasevich commit 3e62abf92f34d75fe22352d8d102e3cd2755804d Author: Vlad Yasevich Date: Fri Sep 4 18:20:56 2009 -0400 sctp: Fix data segmentation with small frag_size Since an application may specify the maximum SCTP fragment size that all data should be fragmented to, we need to fix how we do segmentation. Right now, if a user specifies a small fragment size, the segment size can go negative in the presence of AUTH or COOKIE_ECHO bundling. What we need to do is track the largest possbile DATA chunk that can fit into the mtu. Then if the fragment size specified is bigger then this maximum length, we'll shrink it down. Otherwise, we just use the smaller segment size without changing it further. Signed-off-by: Vlad Yasevich commit bec9640bb0d451813b1bb1f2cc13a5bfb17c3e48 Author: Vlad Yasevich Date: Thu Jul 30 18:08:28 2009 -0400 sctp: Disallow new connection on a closing socket If a socket has a lot of association that are in the process of of being closed/aborted, it is possible for a remote to establish new associations during the time period that the old ones are shutting down. If this was a result of a close() call, there will be no socket and will cause a memory leak. We'll prevent this by setting the socket state to CLOSING and disallow new associations when in this state. Signed-off-by: Vlad Yasevich commit af87b823ca2b05257192e8d48dc686db6173d7b2 Author: Doug Graham Date: Wed Jul 29 12:05:57 2009 -0400 sctp: Fix piggybacked ACKs This patch corrects the conditions under which a SACK will be piggybacked on a DATA packet. The previous condition was incorrect due to a misinterpretation of RFC 4960 and/or RFC 2960. Specifically, the following paragraph from section 6.2 had not been implemented correctly: Before an endpoint transmits a DATA chunk, if any received DATA chunks have not been acknowledged (e.g., due to delayed ack), the sender should create a SACK and bundle it with the outbound DATA chunk, as long as the size of the final SCTP packet does not exceed the current MTU. See Section 6.2. When about to send a DATA chunk, the code now checks to see if the SACK timer is running. If it is, we know we have a SACK to send to the peer, so we append the SACK (assuming available space in the packet) and turn off the timer. For a simple request-response scenario, this will result in the SACK being bundled with the response, meaning the the SACK is received quickly by the client, and also meaning that no separate SACK packet needs to be sent by the server to acknowledge the request. Prior to this patch, a separate SACK packet would have been sent by the server SCTP only after its delayed-ACK timer had expired (usually 200ms). This is wasteful of bandwidth, and can also have a major negative impact on performance due the interaction of delayed ACKs with the Nagle algorithm. Signed-off-by: Doug Graham Signed-off-by: Vlad Yasevich commit b4e8c6a7e6caa9c80edcbfb78fc50962b792d5f0 Author: Rami Rosen Date: Thu Jul 30 09:38:43 2009 +0300 sctp: remove unused union (sctp_cmsg_data_t) definition This patch removes an unused union definition (sctp_cmsg_data_t) from include/net/sctp/user.h. Signed-off-by: Rami Rosen Signed-off-by: Vlad Yasevich commit 40187886bc31aee9c5c6f08f46cde4ab618e9736 Author: Vlad Yasevich Date: Tue Jun 23 11:28:05 2009 -0400 sctp: release cached route when the transport goes down. When the sctp transport is marked down, we can release the cached route and force a new lookup when attempting to use this transport for anything. This way, if a better route or source address is available, we'll try to use it. Signed-off-by: Vlad Yasevich commit 3cd9749c0b758223a71e059fa44c2234547d9ee0 Author: Wei Yongjun Date: Tue Jun 16 10:07:23 2009 +0800 sctp: update the route for non-active transports after addresses are added Update the route and saddr entries for the non-active transports as some of the added addresses can be used as better source addresses, or may be there is a better route. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 44e65c1ef1e771b32c82546ebfba910137aa8871 Author: Wei Yongjun Date: Tue Jun 16 14:48:24 2009 +0800 sctp: check the unrecognized ASCONF parameter before access it This patch fix to check the unrecognized ASCONF parameter before access it. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 425e0f685230986511b1fdf80340e2f28b214c5d Author: Wei Yongjun Date: Tue Jun 16 14:47:30 2009 +0800 sctp: avoid overwrite the return value of sctp_process_asconf_ack() The return value of sctp_process_asconf_ack() may be overwritten while process parameters with no error. This patch fixed the problem. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 4a88d44ab17da5f8a238050d1b43dfd2e204bc2f Author: Albin Tonnerre Date: Mon Aug 31 22:40:08 2009 +0200 tracing: Remove mentioning of legacy latency_trace file from documentation The latency_trace file got removed a while back by commit 886b5b73d71e4027d7dc6c14f5f7ab102201ea6b and has been replaced by the latency-format option. This patch fixes the documentation by reflecting this change. Changes since v1: - mention that the trace format is configurable through the latency-format option - Fix a couple mistakes related to the timestamps Signed-off-by: Albin Tonnerre Cc: Steven Rostedt LKML-Reference: <20090831204007.GE4237@pc-ras4041.res.insa> Signed-off-by: Frederic Weisbecker commit c58b43218c1a04a0bcf338ea47406c759ac28e11 Author: Li Zefan Date: Tue Sep 1 13:31:38 2009 +0800 tracing/filters: Defer pred allocation, fix memory leak The predicates of an event and their filter structure are allocated when we create an event filter for the first time. These objects must be created once but each time we come with a new filter, we overwrite such pre-existing allocation, if any. Thus, this patch checks if the filter has already been allocated before going ahead. Spotted-by: Frederic Weisbecker Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Tom Zanussi Cc: Masami Hiramatsu LKML-Reference: <4A9CB1BA.3060402@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit 6b58e7f146f8d79c08f62087f928e1f01747de71 Author: Ulrich Drepper Date: Fri Sep 4 16:39:51 2009 -0300 perf tools: Avoid unnecessary work in directory lookups This patch improves some (common) inefficiencies in the handling of directory lookups: - not using the d_type information returned by the kernel - constructing (absolute) paths for file operation even though directory-relative operations using the *at functions is possible There are more places to fix but this is a start. Signed-off-by: Ulrich Drepper Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20090904193951.GB6186@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 367da1527aff2a4f789d03082f9fb191cdf332c4 Author: Robert Schwebel Date: Fri Sep 4 21:16:36 2009 +0200 ASoC: fix pxa2xx-ac97.c breakage Today's linux-next fails to build with sound/arm/pxa2xx-ac97.c: In function 'pxa2xx_ac97_probe': sound/arm/pxa2xx-ac97.c:211: error: 'pxa2xx_audio_ops_t' has no member named 'codec_data' make[2]: *** [sound/arm/pxa2xx-ac97.o] Error 1 It looks like commit e2365bf313fb21b49b1e4c911033389564428d03 has introduced this; patch below. Signed-off-by: Robert Schwebel Signed-off-by: Mark Brown commit 849abde92bd3314a4894f2b4f70b30c2accf8653 Author: Peter Zijlstra Date: Fri Sep 4 18:23:38 2009 +0200 perf stat: Clean up statistics calculations a bit more Remove some, now useless, global storage. Don't calculate the stddev when not needed. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 7929eb9cf643ae416e5081b2a6fa558d37b9854c Author: Nicolas Pitre Date: Thu Sep 3 21:45:59 2009 +0100 ARM: 5691/1: fix cache aliasing issues between kmap() and kmap_atomic() with highmem Let's suppose a highmem page is kmap'd with kmap(). A pkmap entry is used, the page mapped to it, and the virtual cache is dirtied. Then kunmap() is used which does virtually nothing except for decrementing a usage count. Then, let's suppose the _same_ page gets mapped using kmap_atomic(). It is therefore mapped onto a fixmap entry instead, which has a different virtual address unaware of the dirty cache data for that page sitting in the pkmap mapping. Fortunately it is easy to know if a pkmap mapping still exists for that page and use it directly with kmap_atomic(), thanks to kmap_high_get(). And actual testing with a printk in the added code path shows that this condition is actually met *extremely* frequently. Seems that we've been quite lucky that things have worked so well with highmem so far. Cc: stable@kernel.org Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit b19ae3999891cad21a3995c34d313dda5df014e2 Author: H. Peter Anvin Date: Fri Sep 4 10:00:09 2009 -0700 x86, msr: change msr-reg.o to obj-y, and export its symbols Change msr-reg.o to obj-y (it will be included in virtually every kernel since it is used by the initialization code for AMD processors) and add a separate C file to export its symbols to modules, so that msr.ko can use them; on uniprocessors we bypass the helper functions in msr.o and use the accessor functions directly via inlines. Signed-off-by: H. Peter Anvin LKML-Reference: <20090904140834.GA15789@elte.hu> Cc: Borislav Petkov commit 76f0d07376388f32698ba51b6090a26b90c1342f Author: Steven Rostedt Date: Fri Sep 4 12:12:39 2009 -0400 tracing: remove users of tracing_reset The function tracing_reset is deprecated for outside use of trace.c. The new function to reset the the buffers is tracing_reset_online_cpus. The reason for this is that resetting the buffers while the event trace points are active can corrupt the buffers, because they may be writing at the time of reset. The tracing_reset_online_cpus disables writes and waits for current writers to finish. This patch replaces all users of tracing_reset except for the latency tracers. Those changes require more work and will be removed in the following patches. Signed-off-by: Steven Rostedt commit 621968cdb2563b667d6ecb484ba91ef4c3a797b3 Author: Steven Rostedt Date: Fri Sep 4 12:02:35 2009 -0400 tracing: disable buffers and synchronize_sched before resetting Resetting the ring buffers while traces are happening can corrupt the ring buffer and disable it (no kernel crash to worry about). The safest thing to do is disable the ring buffers, call synchronize_sched() to wait for all current writers to finish and then reset the buffer. Signed-off-by: Steven Rostedt commit b8de7bd168fa54d059b16d3057b2f8a32cc5bdc3 Author: Steven Rostedt Date: Mon Aug 31 22:32:27 2009 -0400 tracing: disable update max tracer while reading trace When reading the tracer from the trace file, updating the max latency may corrupt the output. This patch disables the tracing of the max latency while reading the trace file. Signed-off-by: Steven Rostedt commit 8248ac052dfd1eb41819fbc0ca5c7a1667e7e70c Author: Steven Rostedt Date: Wed Sep 2 12:27:41 2009 -0400 tracing: print out start and stop in latency traces During development of the tracer, we would copy information from the live tracer to the max tracer with one memcpy. Since then we added a generic ring buffer and we handle the copies differently now. Unfortunately, we never copied the critical section information, and we lost the output: # => started at: kmem_cache_alloc # => ended at: kmem_cache_alloc This patch adds back the critical start and end copying as well as removes the unused "trace_idx" and "overrun" fields of the trace_array_cpu structure. Signed-off-by: Steven Rostedt commit 077c5407cd3231cf13472623995f0dfdda510d62 Author: Steven Rostedt Date: Thu Sep 3 19:53:46 2009 -0400 ring-buffer: disable all cpu buffers when one finds a problem Currently the way RB_WARN_ON works, is to disable either the current CPU buffer or all CPU buffers, depending on whether a ring_buffer or ring_buffer_per_cpu struct was passed into the macro. Most users of the RB_WARN_ON pass in the CPU buffer, so only the one CPU buffer gets disabled but the rest are still active. This may confuse users even though a warning is sent to the console. This patch changes the macro to disable the entire buffer even if the CPU buffer is passed in. Signed-off-by: Steven Rostedt commit a1863c212b7517afc2b13e549552ac322fb44cab Author: Steven Rostedt Date: Thu Sep 3 10:23:58 2009 -0400 ring-buffer: do not count discarded events The latency tracers report the number of items in the trace buffer. This uses the ring buffer data to calculate this. Because discarded events are also counted, the numbers do not match the number of items that are printed. The ring buffer also adds a "padding" item to the end of each buffer page which also gets counted as a discarded item. This patch decrements the counter to the page entries on a discard. This allows us to ignore discarded entries while reading the buffer. Decrementing the counter is still safe since it can only happen while the committing flag is still set. Signed-off-by: Steven Rostedt commit 8a02631a470d6f2ccec7bcf79c1058b0d4240bce Author: Peter Zijlstra Date: Fri Sep 4 17:26:26 2009 +0200 perf stat: More advanced variance computation Use the more advanced single pass variance algorithm outlined on the wikipedia page. This is numerically more stable for larger sample sets. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 63d40deb2e7c64ed55943d49f078e09fc4b64b54 Author: Peter Zijlstra Date: Fri Sep 4 17:03:13 2009 +0200 perf stat: Use stddev_mean in stead of stddev When we're computing the mean by sampling the distribution, then the std dev of the mean is related to the std dev of the sample set by: stddev_mean = std_dev / sqrt(N) Which is exactly what we want. This results in the error on the mean decreasing with increasing number of samples. Also fix the scaled == -1, aka not counted case. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit dc892f7339af2d125478b800edb9081d6149665b Author: Steven Rostedt Date: Thu Sep 3 15:33:41 2009 -0400 ring-buffer: remove ring_buffer_event_discard The function ring_buffer_event_discard can be used on any item in the ring buffer, even after the item was committed. This function provides no safety nets and is very race prone. An item may be safely removed from the ring buffer before it is committed with the ring_buffer_discard_commit. Since there are currently no users of this function, and because this function is racey and error prone, this patch removes it altogether. Note, removing this function also allows the counters to ignore all discarded events (patches will follow). Signed-off-by: Steven Rostedt commit 7e9391cfedce34eb9786bfa69d7d545dc93ef930 Author: Steven Rostedt Date: Thu Sep 3 10:02:09 2009 -0400 ring-buffer: fix ring_buffer_read crossing pages When the ring buffer uses an iterator (static read mode, not on the fly reading), when it crosses a page boundery, it will skip the first entry on the next page. The reason is that the last entry of a page is usually padding if the page is not full. The padding will not be returned to the user. The problem arises on ring_buffer_read because it also increments the iterator. Because both the read and peek use the same rb_iter_peek, the rb_iter_peak will return the padding but also increment to the next item. This is because the ring_buffer_peek will not incerment it itself. The ring_buffer_read will increment it again and then call rb_iter_peek again to get the next item. But that will be the second item, not the first one on the page. The reason this never showed up before, is because the ftrace utility always calls ring_buffer_peek first and only uses ring_buffer_read to increment to the next item. The ring_buffer_peek will always keep the pointer to a valid item and not padding. This just hid the bug. Signed-off-by: Steven Rostedt commit 1b959e18c4d6b4b981f887260b0f8e7939efa411 Author: Steven Rostedt Date: Thu Sep 3 10:12:13 2009 -0400 ring-buffer: remove unnecessary cpu_relax The loops in the ring buffer that use cpu_relax are not dependent on other CPUs. They simply came across some padding in the ring buffer and are skipping over them. It is a normal loop and does not require a cpu_relax. Signed-off-by: Steven Rostedt commit 98277991a99734f3a31d638afb47d4484ac73e43 Author: Steven Rostedt Date: Wed Sep 2 10:56:15 2009 -0400 ring-buffer: do not swap buffers during a commit If a commit is taking place on a CPU ring buffer, do not allow it to be swapped. Return -EBUSY when this is detected instead. Signed-off-by: Steven Rostedt commit 41b6a95d693319f804607b559893fbbd27498548 Author: Steven Rostedt Date: Wed Sep 2 09:59:48 2009 -0400 ring-buffer: do not reset while in a commit The callers of reset must ensure that no commit can be taking place at the time of the reset. If it does then we may corrupt the ring buffer. Signed-off-by: Steven Rostedt commit 43ed5d6ee0f9bfd655d6bc3cb2d964b80c4422c0 Author: Catalin Marinas Date: Tue Sep 1 11:12:44 2009 +0100 kmemleak: Scan all thread stacks This patch changes the for_each_process() loop with the do_each_thread()/while_each_thread() pair. Signed-off-by: Catalin Marinas commit 8e019366ba749a536131cde1947af6dcaccf8e8f Author: Pekka Enberg Date: Thu Aug 27 14:50:00 2009 +0100 kmemleak: Don't scan uninitialized memory when kmemcheck is enabled Ingo Molnar reported the following kmemcheck warning when running both kmemleak and kmemcheck enabled: PM: Adding info for No Bus:vcsa7 WARNING: kmemcheck: Caught 32-bit read from uninitialized memory (f6f6e1a4) d873f9f600000000c42ae4c1005c87f70000000070665f666978656400000000 i i i i u u u u i i i i i i i i i i i i i i i i i i i i i u u u ^ Pid: 3091, comm: kmemleak Not tainted (2.6.31-rc7-tip #1303) P4DC6 EIP: 0060:[] EFLAGS: 00010006 CPU: 0 EIP is at scan_block+0x3f/0xe0 EAX: f40bd700 EBX: f40bd780 ECX: f16b46c0 EDX: 00000001 ESI: f6f6e1a4 EDI: 00000000 EBP: f10f3f4c ESP: c2605fcc DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 CR0: 8005003b CR2: e89a4844 CR3: 30ff1000 CR4: 000006f0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff4ff0 DR7: 00000400 [] scan_object+0x7c/0xf0 [] kmemleak_scan+0x1d9/0x400 [] kmemleak_scan_thread+0x4c/0xb0 [] kthread+0x74/0x80 [] kernel_thread_helper+0x7/0x3c [] 0xffffffff kmemleak: 515 new suspected memory leaks (see /sys/kernel/debug/kmemleak) kmemleak: 42 new suspected memory leaks (see /sys/kernel/debug/kmemleak) The problem here is that kmemleak will scan partially initialized objects that makes kmemcheck complain. Fix that up by skipping uninitialized memory regions when kmemcheck is enabled. Reported-by: Ingo Molnar Acked-by: Ingo Molnar Acked-by: Catalin Marinas Signed-off-by: Pekka Enberg commit 9e9772c458d50dabdb5327821da3803254638cd1 Author: Peter Zijlstra Date: Fri Sep 4 15:36:08 2009 +0200 perf stat: Remove the limit on repeat Since we don't need all the individual samples to calculate the error remove both the limit and the storage overhead associated with that. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 506d4bc8d5dab20d84624aa07cdc6dcd77915d52 Author: Peter Zijlstra Date: Fri Sep 4 15:36:12 2009 +0200 perf stat: Change noise calculation to use stddev The current noise computation does: \Sum abs(n_i - avg(n)) * N^-1.5 Which is (afaik) not a regular noise function, and needs the complete sample set available to post-process. Change this to use a regular stddev computation which can be done by keeping a two sums: stddev = sqrt( 1/N (\Sum n_i^2) - avg(n)^2 ) For which we only need to keep \Sum n_i and \Sum n_i^2. Signed-off-by: Peter Zijlstra Cc: LKML-Reference: Signed-off-by: Ingo Molnar commit 695a461296e5df148c99ac087b9e1cb380f4db15 Merge: c7084b3 2b681fa Author: Ingo Molnar Date: Fri Sep 4 14:44:16 2009 +0200 Merge branch 'amd-iommu/2.6.32' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/iommu commit 8a34e2f8ba7d4302977c90e357921994a6c39af9 Author: Sachin Sant Date: Fri Sep 4 03:41:07 2009 -0700 net: Fix a build break because of a typo in drivers/net/3c503.c Signed-off-by: Sachin Sant Signed-off-by: David S. Miller commit 825c9fb47a0837db12fecf8d360e0e1d284ddb49 Author: Jens Axboe Date: Fri Sep 4 02:56:22 2009 -0700 sparc: add basic support for 'perf' This wires up the perf_counter_open() syscall so that basic software support for perf is working. Signed-off-by: Jens Axboe Signed-off-by: David S. Miller commit 840a0653100dbde599ae8ddf83fa214dfa5fd1aa Author: Ingo Molnar Date: Fri Sep 4 11:32:54 2009 +0200 sched: Turn on SD_BALANCE_NEWIDLE Start the re-tuning of the balancer by turning on newidle. It improves hackbench performance and parallelism on a 4x4 box. The "perf stat --repeat 10" measurements give us: domain0 domain1 ....................................... -SD_BALANCE_NEWIDLE -SD_BALANCE_NEWIDLE: 2041.273208 task-clock-msecs # 9.354 CPUs ( +- 0.363% ) +SD_BALANCE_NEWIDLE -SD_BALANCE_NEWIDLE: 2086.326925 task-clock-msecs # 11.934 CPUs ( +- 0.301% ) +SD_BALANCE_NEWIDLE +SD_BALANCE_NEWIDLE: 2115.289791 task-clock-msecs # 12.158 CPUs ( +- 0.263% ) Acked-by: Peter Zijlstra Cc: Andreas Herrmann Cc: Andreas Herrmann Cc: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: Signed-off-by: Ingo Molnar commit 47734f89be0614b5acbd6a532390f9c72f019648 Author: Ingo Molnar Date: Fri Sep 4 11:21:24 2009 +0200 sched: Clean up topology.h Re-organize the flag settings so that it's visible at a glance which sched-domains flags are set and which not. With the new balancer code we'll need to re-tune these details anyway, so make it cleaner to make fewer mistakes down the road ;-) Cc: Peter Zijlstra Cc: Andreas Herrmann Cc: Andreas Herrmann Cc: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: Signed-off-by: Ingo Molnar commit d7ea17a76916e456fcc78e45142c66f7fb875e3d Author: Ingo Molnar Date: Fri Sep 4 11:49:25 2009 +0200 sched: Fix dynamic power-balancing crash This crash: [ 1774.088275] divide error: 0000 [#1] SMP [ 1774.100355] CPU 13 [ 1774.102498] Modules linked in: [ 1774.105631] Pid: 30881, comm: hackbench Not tainted 2.6.31-rc8-tip-01308-g484d664-dirty #1629 X8DTN [ 1774.114807] RIP: 0010:[] [] sched_balance_self+0x19b/0x2d4 Triggers because update_group_power() modifies the sd tree and does temporary calculations there - not considering that other CPUs could observe intermediate values, such as the zero initial value. Calculate it in a temporary variable instead. (we need no memory barrier as these are all statistical values anyway) Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20090904092742.GA11014@elte.hu> Signed-off-by: Ingo Molnar commit a29889a5369d2604c2053bcd051519a2445d8a70 Merge: e7a088f 37d0892 Author: David S. Miller Date: Fri Sep 4 02:22:21 2009 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 2a6ba39ad6a277595ef9a0187a44f09e062dd3b2 Author: Wolfgang Grandegger Date: Tue Sep 1 05:37:33 2009 +0000 can: sja1000: legacy SJA1000 ISA bus driver This patch adds support for legacy SJA1000 CAN controllers on the ISA or PC-104 bus. The I/O port or memory address and the IRQ number must be specified via module parameters: insmod sja1000_isa.ko port=0x310,0x380 irq=7,11 for ISA devices using I/O ports or: insmod sja1000_isa.ko mem=0xd1000,0xd1000 irq=7,11 for memory mapped ISA devices. Indirect access via address and data port is supported as well: insmod sja1000_isa.ko port=0x310,0x380 indirect=1 irq=7,11 Here is a full list of the supported module parameters: port:I/O port number (array of ulong) mem:I/O memory address (array of ulong) indirect:Indirect access via address and data port (array of byte) irq:IRQ number (array of int) clk:External oscillator clock frequency (default=16000000 [16 MHz]) (array of int) cdr:Clock divider register (default=0x48 [CDR_CBP | CDR_CLK_OFF]) (array of byte) ocr:Output clock register (default=0x18 [OCR_TX0_PUSHPULL]) (array of byte) Note: for clk, cdr, ocr, the first argument re-defines the default for all other devices, e.g.: insmod sja1000_isa.ko mem=0xd1000,0xd1000 irq=7,11 clk=24000000 is equivalent to insmod sja1000_isa.ko mem=0xd1000,0xd1000 irq=7,11 \ clk=24000000,24000000 Signed-off-by: Wolfgang Grandegger Tested-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 8935f57e68c40c6469efe03f996bfb6150e18c6b Author: Wolfgang Grandegger Date: Tue Sep 1 05:29:41 2009 +0000 can: sja1000: fix network statistics update The member "tx_bytes" of "struct net_device_stats" should be incremented when the interrupt is done and an "arbitration lost error" is a TX error and the statistics should be updated accordingly. Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 39e3ab6fded4d7e66e01a878f0cae23ddd480c3b Author: Wolfgang Grandegger Date: Tue Sep 1 05:26:12 2009 +0000 can: add can_free_echo_skb() for upcoming drivers This patch adds the function can_free_echo_skb to the CAN device interface to allow upcoming drivers to release echo skb's in case of error. Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 18a3885fc1ffa92c2212ff0afdf033403d5b0fa0 Author: Peter Zijlstra Date: Tue Sep 1 10:34:39 2009 +0200 sched: Remove reciprocal for cpu_power Its a source of fail, also, now that cpu_power is dynamical, its a waste of time. before: -0 [000] 132.877936: find_busiest_group: avg_load: 0 group_load: 8241 power: 1 after: bash-1689 [001] 137.862151: find_busiest_group: avg_load: 10636288 group_load: 10387 power: 1 [ v2: build fix from From: Andreas Herrmann ] Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083826.425896304@chello.nl> Signed-off-by: Ingo Molnar commit d899a789c28ded9c72b57ddb61868d6b8fc23e80 Author: Gautham R Shenoy Date: Wed Sep 2 16:59:10 2009 +0530 sched: Try to deal with low capacity, fix update_sd_power_savings_stats() sgs.group_capacity can now be 0, if for some reason group->__cpu_power happens to be less than SCHED_LOAD_SCALE/2. In that case, we need the following fix to make it work for update_sd_power_savings_stats(). That's because both sum_nr_running and group_capacity are unsigned longs. Cc: Gautham R Shenoy Cc: Peter Zijlstra Cc: Andreas Herrmann Cc: Balbir Singh Signed-off-by: Ingo Molnar commit bdb94aa5dbd8b55e75f5a50b61312fe589e2c2d1 Author: Peter Zijlstra Date: Tue Sep 1 10:34:38 2009 +0200 sched: Try to deal with low capacity When the capacity drops low, we want to migrate load away. Allow the load-balancer to remove all tasks when we hit rock bottom. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083826.342231003@chello.nl> Signed-off-by: Ingo Molnar commit e9e9250bc78e7f6342517214c0178a529807964b Author: Peter Zijlstra Date: Tue Sep 1 10:34:37 2009 +0200 sched: Scale down cpu_power due to RT tasks Keep an average on the amount of time spend on RT tasks and use that fraction to scale down the cpu_power for regular tasks. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083826.287778431@chello.nl> Signed-off-by: Ingo Molnar commit ab29230e673c646292c90c8b9d378b9562145af0 Author: Peter Zijlstra Date: Tue Sep 1 10:34:36 2009 +0200 sched: Implement dynamic cpu_power Recompute the cpu_power for each cpu during load-balance. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083826.162033479@chello.nl> Signed-off-by: Ingo Molnar commit a52bfd73589eaf88d9c95ad2c1de0b38a6b27972 Author: Peter Zijlstra Date: Tue Sep 1 10:34:35 2009 +0200 sched: Add smt_gain The idea is that multi-threading a core yields more work capacity than a single thread, provide a way to express a static gain for threads. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083826.073345955@chello.nl> Signed-off-by: Ingo Molnar commit cc9fba7d7672fa3ed58d9d9ecb6c45b1351c29a6 Author: Peter Zijlstra Date: Tue Sep 1 10:34:34 2009 +0200 sched: Update the cpu_power sum during load-balance In order to prepare for a more dynamic cpu_power, update the group sum while walking the sched domains during load-balance. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083825.985050292@chello.nl> Signed-off-by: Ingo Molnar commit b5d978e0c7e79a7ff842e895c85a86b38c71f1cd Author: Peter Zijlstra Date: Tue Sep 1 10:34:33 2009 +0200 sched: Add SD_PREFER_SIBLING Do the placement thing using SD flags. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083825.897028974@chello.nl> Signed-off-by: Ingo Molnar commit f93e65c186ab3c05ce2068733ca10e34fd00125e Author: Peter Zijlstra Date: Tue Sep 1 10:34:32 2009 +0200 sched: Restore __cpu_power to a straight sum of power cpu_power is supposed to be a representation of the process capacity of the cpu, not a value to randomly tweak in order to affect placement. Remove the placement hacks. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083825.810860576@chello.nl> Signed-off-by: Ingo Molnar commit 9aa55fbd01779a0b476d87cd9b5170fd5bebab1d Merge: 768d0c2 294b0c9 fa84e9e Author: Ingo Molnar Date: Fri Sep 4 10:08:43 2009 +0200 Merge branches 'sched/domains' and 'sched/clock' into sched/core Merge reason: both topics are ready now, and we want to merge dependent changes. Signed-off-by: Ingo Molnar commit 0d96b9ff748b5f57d6f1d6d21209f5745245aadc Author: Yinghai Lu Date: Sat Aug 29 13:17:14 2009 -0700 x86: Use hard_smp_processor_id() to get apic id for AMD K8 cpus Otherwise, system with apci id lifting will have wrong apicid in /proc/cpuinfo. and use that in srat_detect_node(). Signed-off-by: Yinghai Lu Cc: Andreas Herrmann Cc: Suresh Siddha Cc: Cyrill Gorcunov LKML-Reference: <4A998CCA.1040407@kernel.org> Signed-off-by: Ingo Molnar commit 7db905e636f08ea5bc9825c1f73d77802e8ccad5 Author: Paul E. McKenney Date: Wed Sep 2 14:01:24 2009 -0700 rcu: Move end of special early-boot RCU operation earlier Ingo was getting warnings from rcu_scheduler_starting() indicating that context switches had occurred before RCU ended its special early-boot handling of grace periods. This is a dangerous condition, as it indicates that RCU might have prematurely ended grace periods. This exploratory fix moves rcu_scheduler_starting() earlier in boot. Reported-by: Ingo Molnar Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 29e2035bddecce3eb584a8304528b50da8370a24 Merge: 8684896 37d0892 Author: Ingo Molnar Date: Fri Sep 4 09:28:52 2009 +0200 Merge branch 'linus' into core/rcu Merge reason: Avoid fuzz in init/main.c and update from rc6 to rc8. Signed-off-by: Ingo Molnar commit 1653192f510bd8114b7b133d7289e6e5c3e95046 Author: markus.t.metzger@intel.com Date: Wed Sep 2 16:04:48 2009 +0200 x86, perf_counter, bts: Do not allow kernel BTS tracing for now Kernel BTS tracing generates too much data too fast for us to handle, causing the kernel to hang. Fail for BTS requests for kernel code. Signed-off-by: Markus Metzger Acked-by: Peter Zijlstra LKML-Reference: <20090902140616.901253000@intel.com> [ This is really a workaround - but we want BTS tracing in .32 so make sure we dont regress. The lockup should be fixed ASAP. ] Signed-off-by: Ingo Molnar commit 596da17f94c103348ebe04129c00d536ea0e80e2 Author: markus.t.metzger@intel.com Date: Wed Sep 2 16:04:47 2009 +0200 x86, perf_counter, bts: Correct pointer-to-u64 casts On 32bit, pointers in the DS AREA configuration are cast to u64. The current (long) cast to avoid compiler warnings results in a signed 64bit address. Signed-off-by: Markus Metzger Acked-by: Peter Zijlstra LKML-Reference: <20090902140615.305889000@intel.com> Signed-off-by: Ingo Molnar commit 747b50aaf728987732e6ff3ba10aba4acc4e0277 Author: markus.t.metzger@intel.com Date: Wed Sep 2 16:04:46 2009 +0200 x86, perf_counter, bts: Fail if BTS is not available Reserve PERF_COUNT_HW_BRANCH_INSTRUCTIONS with sample_period == 1 for BTS tracing and fail, if BTS is not available. Signed-off-by: Markus Metzger Acked-by: Peter Zijlstra LKML-Reference: <20090902140612.943801000@intel.com> Signed-off-by: Ingo Molnar commit b5d10781731ece07bb2049e7743907194a5cc3f1 Author: Takashi Iwai Date: Fri Sep 4 08:45:11 2009 +0200 ALSA: dummy - Fix the timer calculation in systimer mode Fix the expire-time calculation in the systimer mode when the buffer size isn't aligned to the period size. Signed-off-by: Takashi Iwai commit 53f824520b6d84ca5b4a8fd71addc91dbf64357e Author: Jeremy Fitzhardinge Date: Thu Sep 3 14:31:44 2009 -0700 x86/i386: Put aligned stack-canary in percpu shared_aligned section Pack aligned things together into a special section to minimize padding holes. Suggested-by: Eric Dumazet Signed-off-by: Jeremy Fitzhardinge Cc: Tejun Heo LKML-Reference: <4AA035C0.9070202@goop.org> [ queued up in tip:x86/asm because it depends on this commit: x86/i386: Make sure stack-protector segment base is cache aligned ] Signed-off-by: Ingo Molnar commit fab4e76373a614d3af624caedf18bee43fc6ca16 Author: David S. Miller Date: Thu Sep 3 21:34:39 2009 -0700 WAN: dscc4: Fix warning pointing out a bug. Noticed by Stephen Rothwell: Today's linux-next build (x86_64 allmodconfig gcc-4.4.0) produced this warning: drivers/net/wan/dscc4.c: In function 'dscc4_rx_skb': drivers/net/wan/dscc4.c:670: warning: suggest parentheses around comparison in operand of '|' which actually points out a bug, I think. It is doing (x & (y | z)) != y | z when it probably means (x & (y | z)) != (y | z) Introduced by commit 5de3fcab91b0e1809eec030355d15801daf25083 ("WAN: bit and/or confusion"). Signed-off-by: David S. Miller commit a8fdf2b331b38d61fb5f11f3aec4a4f9fb2dedcb Author: Cosmin Ratiu Date: Thu Sep 3 20:44:38 2009 -0700 ipv6: Fix tcp_v6_send_response(): it didn't set skb transport header Here is a patch which fixes an issue observed when using TCP over IPv6 and AH from IPsec. When a connection gets closed the 4-way method and the last ACK from the server gets dropped, the subsequent FINs from the client do not get ACKed because tcp_v6_send_response does not set the transport header pointer. This causes ah6_output to try to allocate a lot of memory, which typically fails, so the ACKs never make it out of the stack. I have reproduced the problem on kernel 2.6.7, but after looking at the latest kernel it seems the problem is still there. Signed-off-by: Cosmin Ratiu Signed-off-by: David S. Miller commit 41c372dcad935fe7c27ec45211bad810515110bd Author: Dmitry Torokhov Date: Thu Sep 3 17:22:03 2009 -0700 Input: wacom_w8001 - simplify querying logic There is no need for locking when we send query and start commands to the touchscreen since there is no concurrency. Signed-off-by: Dmitry Torokhov commit 1ba36e11b227e32f818aea5b4d84f5cbff71e7db Author: Dmitry Torokhov Date: Thu Sep 3 17:22:04 2009 -0700 Input: atkbd - allow setting force-release bitmap via sysfs There are more and more laptop requiring use of force_release quirk for their multimedia and other specialized keys. Adding their DMI data to the kernel is not sustainable; instead we will rely on help from userspace (HAL) to do that for us. This patch creates a new 'force_release' sysfs attribute (that belongs to serio device to which keyboard is attached) which can be used to set up force_release keymap. For example, Dell laptop owners might do: echo 133-139,143,147 > /sys/devices/platform/i8042/serio0/force_release Signed-off-by: Dmitry Torokhov commit 6fdfa97073a2bcbb60d900654c612b2ff09b9cb7 Author: Scott Feldman Date: Thu Sep 3 17:02:45 2009 +0000 enic: organize device initialization/deinit into separate functions To unclutter probe() a little bit, put all device initialization code in one spot and device deinit code in another spot. Also remove unused rq->buf_index variable/func. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 491598a44f12fe8b862ab4123de1a1ffe9b86832 Author: Scott Feldman Date: Thu Sep 3 17:02:40 2009 +0000 enic: bug fix: check for zero port MTU before posting warning Nic firmware can return zero for port MTU, so check for non-zero value before checking for change in port MTU. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit d73149f51e165f5872bc431ae181650396145265 Author: Scott Feldman Date: Thu Sep 3 17:02:35 2009 +0000 enic: changes to driver/firmware interface Deprecate some old APIa; change arguments to stats dump all API; add new interrupt assert API Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 9f63a7c6aef00a8eafa7521342099f199f68c575 Author: Scott Feldman Date: Thu Sep 3 17:02:29 2009 +0000 enic: bug fix: enable VLAN filtering Bug fix: enable VLAN filtering Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 6ba9cdc09678d6925c205ef0b0bd374e31589ecf Author: Scott Feldman Date: Thu Sep 3 17:02:24 2009 +0000 enic: provision for multiple Rx/Tx queues; prepare for RSS support Provision for multiple Rx/Tx queues. Max of 8 WQs and 8 RQs. Max for completion queue is 8+8=16 and max for interrupt resources is 8+8+2. Add driver/firmware interface for setting up RSS secret key and indirection table. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 350991e12ac1ac407850169a0d65f522a7fd029e Author: Scott Feldman Date: Thu Sep 3 17:02:19 2009 +0000 enic: bug fix: included MAC drops in rx_dropped netstat Bug fix: included MAC drops in rx_dropped netstat. Also track Rx trunctations stat at the MAC Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 56ac88b38e5918d92bdfc97c528068e45ff4581c Author: Scott Feldman Date: Thu Sep 3 17:02:14 2009 +0000 enic: bug fix: protect fw call i/f with spinlock Some driver -> nic firmware calls weren't guarded with a spinlock, exposing the call i/f to a race between two threads Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit d19e22dc2c1c43724c1d9ce4a5456ae74eeb6da8 Author: Scott Feldman Date: Thu Sep 3 17:02:08 2009 +0000 enic: use netdev_alloc_skb Use netdev_alloc_skb rather than dev_alloc_skb Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit ea0d7d9181b0831f1b570b02fa02a15f25520c12 Author: Scott Feldman Date: Thu Sep 3 17:02:03 2009 +0000 enic: bug fix: split TSO fragments larger than 16K into multiple descs enic WQ desc supports a maximum 16K buf size, so split any send fragments larger than 16K into several descs. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 4badc385d1a9e140ad0992537237fc22211adad0 Author: Scott Feldman Date: Thu Sep 3 17:01:58 2009 +0000 enic: workaround A0 erratum A0 revision ASIC has an erratum on the RQ desc cache on chip where the cache can become corrupted causing pkt buf writes to wrong locations. The s/w workaround is to post a dummy RQ desc in the ring every 32 descs, causing a flush of the cache. A0 parts are not production, but there are enough of these parts in the wild in test setups to warrant including workaround. A1 revision ASIC parts fix erratum. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 27e6c7d33835e7f347cdfb5025766b7d9a6596d1 Author: Scott Feldman Date: Thu Sep 3 17:01:53 2009 +0000 enic: add support for multiple BARs Nic firmware can place resources (queues, intrs, etc) on multiple BARs, so allow driver to discover/map resources beyond BAR0. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 1a123a3168566b10f87f228ae963770b26f27420 Author: Eric Dumazet Date: Thu Sep 3 00:39:16 2009 +0000 vlan: adds drops accounting Its hard to tell if vlans are dropping frames, since every frame given to vlan_???_start_xmit() functions is accounted as fully transmitted by lower device. We can test dev_queue_xmit() return values to properly account for dropped frames. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2c11455321f37da6fe6cc36353149f9ac9183334 Author: Eric Dumazet Date: Thu Sep 3 00:11:45 2009 +0000 macvlan: add multiqueue capability macvlan devices are currently not multi-queue capable. We can do that defining rtnl_link_ops method, get_tx_queues(), called from rtnl_create_link() This new method gets num_tx_queues/real_num_tx_queues from lower device. macvlan_get_tx_queues() is a copy of vlan_get_tx_queues(). Because macvlan_start_xmit() has to update netdev_queue stats only (and not dev->stats), I chose to change tx_errors/tx_aborted_errors accounting to tx_dropped, since netdev_queue structure doesnt define tx_errors / tx_aborted_errors. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0fa0ee053aaa53939306376719450cfe56e33e3b Author: Ben Hutchings Date: Thu Sep 3 10:41:17 2009 +0000 netdev: Convert MDIO ioctl implementation to use struct mii_ioctl_data A few drivers still access the arguments to MDIO ioctls as an array of u16. Convert them to use struct mii_ioctl_data. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 7ab0f2736bfe137a82a7084bbfb5f809da95cabd Author: Ben Hutchings Date: Thu Sep 3 10:39:43 2009 +0000 netdev: Remove redundant checks for CAP_NET_ADMIN in MDIO implementations dev_ioctl() already checks capable(CAP_NET_ADMIN) before calling the driver's implementation of MDIO ioctls. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit aae5e7c30fc660c50dfecbdd745799b05af90f01 Author: Ben Hutchings Date: Thu Sep 3 10:38:33 2009 +0000 netdev: Remove SIOCDEVPRIVATE aliases for MDIO ioctls The standard MDIO ioctl numbers are well-established and these should no longer be needed. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c23ddf8f22fc2c871ce476ff917d1208bbe4f3de Author: Stephen Hemminger Date: Thu Sep 3 06:16:25 2009 +0000 sky2: only enable Vaux if capable of wakeup While perusing vendor driver, I saw that it did not enable the Vaux power unless device was able to wake from lan for D3cold. This might help for Rene's power issue. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit cf503e8f458cec455b18d3938b3b27de6db3105e Author: Dhananjay Phadke Date: Thu Sep 3 13:10:55 2009 +0000 netxen: fix infinite loop on dma mapping failure Fix a perpetual while() loop in unwinding partial mapped tx skb on dma mapping failure. Reported-by: "Juha Leppanen" Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 270e57e133a9e61c8c62ea4a0d1ffdf53f91caf1 Author: Dhananjay Phadke Date: Thu Sep 3 13:10:54 2009 +0000 netxen: remove duplicate napi_add Remove duplicate calls to netxen_napi_add(). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit bc75e5bfad2a6d24fc5a9885a2f6b93f82c6c5f1 Author: Dhananjay Phadke Date: Thu Sep 3 13:10:53 2009 +0000 netxen: fix lro buffer allocation Alloc 12k skbuffs so that firmware can aggregate more packets into one buffer. This doesn't raise memory consumption since 9k skbs use 16k slab cache anyway. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d4ab88194e982a0d213000a75475d3e76b2626f0 Author: Yi Zou Date: Thu Sep 3 14:56:31 2009 +0000 ixgbe: Add support for using FCoE DDP in 82599 as FCoE targets The FCoE DDP in 82599 can be used for both FCoE initiator as well as FCoE target, depending on the indication of the exchange being the responder or originator in the F_CTL (frame control) field in the encapsulated Fiber Channel frame header (T10 Spec., FC-FS). For the initiator, OX_ID is used for FCoE DDP, where for the target RX_ID is used for FCoE DDP. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 09ad1cc099f4ba4735d11ce1c5f024ffc521be3b Author: Yi Zou Date: Thu Sep 3 14:56:10 2009 +0000 ixgbe: Distribute transmission of FCoE traffic in 82599 This adds a simple selection of a FCoE tx queue based on the current cpu id to distribute transmission of FCoE traffic evenly among multiple FCoE transmit queues. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8de8b2e63490fe7e90128299983198d09d1679c9 Author: Yi Zou Date: Thu Sep 3 14:55:50 2009 +0000 ixgbe: Add support for multiple Tx queues for FCoE in 82599 This patch adds support for multiple transmit queues to the Fiber Channel over Ethernet (FCoE) feature found in 82599. Currently, FCoE has multiple Rx queues available, along with a redirection table, that helps distribute the I/O load across multiple CPUs based on the FC exchange ID. To make this the most effective, we need to provide the same layout of transmit queues to match receive. Particularly, when Data Center Bridging (DCB) is enabled, the designated traffic class for FCoE can have dedicated queues for just FCoE traffic, while not affecting any other type of traffic flow. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ae641bdc264a5998b7872622c86f0690a5b1c5b5 Author: Alexander Duyck Date: Thu Sep 3 14:49:33 2009 +0000 igb: set vf rlpml wasn't taking vlan tag into account This patch updates things so that vlan tags are taken into account when setting the receive large packet maximum length. This allows the VF driver to correctly receive full sized frames when vlans are enabled. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2dfd12126573d6feb12f1d215a352851750fcbd7 Author: Alexander Duyck Date: Thu Sep 3 14:49:15 2009 +0000 igb: only disable/enable interrupt bits for igb physical function The igb_irq_disable/enable calls were causing virtual functions associated with the igb physical function to have their interrupts disabled. In order to prevent this from occuring we should only clear/set the bits related to the physical function. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ff41f8dcc63b4d027ed314ae909df53746c40632 Author: Alexander Duyck Date: Thu Sep 3 14:48:56 2009 +0000 igb: add support for set_rx_mode netdevice operation This patch adds support for the set_rx_mode netdevice operation so that igb can better support multiple unicast addresses. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5a925b4282d7f805deafde62001a83dbaf8be275 Author: Andreas Herrmann Date: Thu Sep 3 09:44:28 2009 +0200 x86, sched: Workaround broken sched domain creation for AMD Magny-Cours Current sched domain creation code can't handle multi-node processors. When switching to power_savings scheduling errors show up and system might hang later on (due to broken sched domain hierarchy): # echo 0 >> /sys/devices/system/cpu/sched_mc_power_savings CPU0 attaching sched-domain: domain 0: span 0-5 level MC groups: 0 1 2 3 4 5 domain 1: span 0-23 level NODE groups: 0-5 6-11 18-23 12-17 ... # echo 1 >> /sys/devices/system/cpu/sched_mc_power_savings CPU0 attaching sched-domain: domain 0: span 0-11 level MC groups: 0 1 2 3 4 5 6 7 8 9 10 11 ERROR: parent span is not a superset of domain->span domain 1: span 0-5 level CPU ERROR: domain->groups does not contain CPU0 groups: 6-11 (__cpu_power = 12288) ERROR: groups don't span domain->span domain 2: span 0-23 level NODE groups: ERROR: domain->cpu_power not set ERROR: groups don't span domain->span ... Fixing all aspects of power-savings scheduling for Magny-Cours needs some larger changes in the sched domain creation code. As a short-term and temporary workaround avoid the problems by extending "the worst possible hack" ;-( and always use llc_shared_map on AMD Magny-Cours when MC domain span is calculated. With this I get: # echo 1 >> /sys/devices/system/cpu/sched_mc_power_savings CPU0 attaching sched-domain: domain 0: span 0-5 level MC groups: 0 1 2 3 4 5 domain 1: span 0-5 level CPU groups: 0-5 (__cpu_power = 6144) domain 2: span 0-23 level NODE groups: 0-5 (__cpu_power = 6144) 6-11 (__cpu_power = 6144) 18-23 (__cpu_power = 6144) 12-17 (__cpu_power = 6144) ... I.e. no errors during sched domain creation, no system hangs, and also mc_power_savings scheduling works to a certain extend. Cc: Peter Zijlstra Signed-off-by: Andreas Herrmann Signed-off-by: H. Peter Anvin commit cb9805ab5b97079f69a21b6b4e344a69d5c96157 Author: Andreas Herrmann Date: Thu Sep 3 09:42:20 2009 +0200 x86, mcheck: Use correct cpumask for shared bank4 This fixes threshold_bank4 support on multi-node processors. The correct mask to use is llc_shared_map, representing an internal node on Magny-Cours. We need to create 2 sets of symlinks for sibling shared banks -- one set for each internal node, symlinks of each set should target the first core on same internal node. Currently only one set is created where all symlinks are targeting the first core of the entire socket. Signed-off-by: Andreas Herrmann Signed-off-by: H. Peter Anvin commit a326e948c538e8ce998f30d92e146ecea8a30421 Author: Andreas Herrmann Date: Thu Sep 3 09:41:19 2009 +0200 x86, cacheinfo: Fixup L3 cache information for AMD multi-node processors L3 cache size, associativity and shared_cpu information need to be adapted to show information for an internal node instead of the entire physical package. Signed-off-by: Andreas Herrmann Signed-off-by: H. Peter Anvin commit 4a376ec3a2599c02207cd4cbd5dbf73783548463 Author: Andreas Herrmann Date: Thu Sep 3 09:40:21 2009 +0200 x86: Fix CPU llc_shared_map information for AMD Magny-Cours Construct entire NodeID and use it as cpu_llc_id. Thus internal node siblings are stored in llc_shared_map. Signed-off-by: Andreas Herrmann Signed-off-by: H. Peter Anvin commit 1ea0d14e480c245683927eecc03a70faf06e80c8 Author: Jeremy Fitzhardinge Date: Thu Sep 3 12:27:15 2009 -0700 x86/i386: Make sure stack-protector segment base is cache aligned The Intel Optimization Reference Guide says: In Intel Atom microarchitecture, the address generation unit assumes that the segment base will be 0 by default. Non-zero segment base will cause load and store operations to experience a delay. - If the segment base isn't aligned to a cache line boundary, the max throughput of memory operations is reduced to one [e]very 9 cycles. [...] Assembly/Compiler Coding Rule 15. (H impact, ML generality) For Intel Atom processors, use segments with base set to 0 whenever possible; avoid non-zero segment base address that is not aligned to cache line boundary at all cost. We can't avoid having a non-zero base for the stack-protector segment, but we can make it cache-aligned. Signed-off-by: Jeremy Fitzhardinge Cc: LKML-Reference: <4AA01893.6000507@goop.org> Signed-off-by: Ingo Molnar commit 8adf65cfae2d6c2ec5c06e4521f089c62f9eff05 Author: Ingo Molnar Date: Thu Sep 3 21:26:34 2009 +0200 x86, msr: Fix msr-reg.S compilation with gas 2.16.1, on 32-bit too The macro was defined in the 32-bit path as well - breaking the build on 32-bit platforms: arch/x86/lib/msr-reg.S: Assembler messages: arch/x86/lib/msr-reg.S:53: Error: Bad macro parameter list arch/x86/lib/msr-reg.S:100: Error: invalid character '_' in mnemonic arch/x86/lib/msr-reg.S:101: Error: invalid character '_' in mnemonic Cc: Borislav Petkov Cc: H. Peter Anvin LKML-Reference: Signed-off-by: Ingo Molnar commit 5788d8ad6c113c589eeaaa48a173adbbe6b1cb3d Author: Xiaotian Feng Date: Wed Jul 22 11:28:53 2009 +0800 slub: release kobject if sysfs_create_group failed in sysfs_slab_add When CONFIG_SLUB_DEBUG is enabled, sysfs_slab_add should unlink and put the kobject if sysfs_create_group failed. Otherwise, sysfs_slab_add returns error then free kmem_cache s, thus memory of s->kobj is leaked. Acked-by: Christoph Lameter Signed-off-by: Xiaotian Feng Signed-off-by: Pekka Enberg commit dc86cabe4b242446ea9aa8492c727e1220817898 Author: Ingo Molnar Date: Thu Sep 3 18:03:00 2009 +0200 perf_counter: Fix output-sharing error path We forget to release the fd in the PERF_FLAG_FD_OUTPUT error path. Reorganize the error flow here to be a clean fall-through logic. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 9162ab2000e08be076883b5a295a771223264ce8 Author: Jeff Layton Date: Thu Sep 3 12:07:17 2009 -0400 cifs: consolidate reconnect logic in smb_init routines There's a large cut and paste chunk of code in smb_init and small_smb_init to handle reconnects. Break it out into a separate function, clean it up and have both routines call it. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 2b681fafcc50fea6304ed418667c9d04282acb73 Merge: 03362a0 abdc5eb Author: Joerg Roedel Date: Thu Sep 3 17:14:57 2009 +0200 Merge branch 'amd-iommu/pagetable' into amd-iommu/2.6.32 Conflicts: arch/x86/kernel/amd_iommu.c commit 03362a05c55122baff3556109c922285299dfec4 Merge: 85da07c 4751a95 Author: Joerg Roedel Date: Thu Sep 3 16:34:23 2009 +0200 Merge branch 'amd-iommu/passthrough' into amd-iommu/2.6.32 Conflicts: arch/x86/kernel/amd_iommu.c arch/x86/kernel/amd_iommu_init.c commit 85da07c409daba3d067824f0051d58f70cb571a0 Merge: 6ac162d e0faf54 6a1eddd Author: Joerg Roedel Date: Thu Sep 3 16:32:00 2009 +0200 Merge branches 'gart/fixes', 'amd-iommu/fixes+cleanups' and 'amd-iommu/fault-handling' into amd-iommu/2.6.32 commit 6f4596d9312ba5fbf5f3231ef484823c4e684d2e Author: Ingo Molnar Date: Thu Sep 3 16:22:45 2009 +0200 perf trace: Fix read_string() We did not account for the enclosing \0. Depending on what malloc() gave us this resulted in corrupted version string printouts. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 00fc97863c21c41e257a941e83410c56341e2a5d Author: Ingo Molnar Date: Thu Sep 3 16:22:02 2009 +0200 perf trace: Print out in nanoseconds Print out more accurate timestamps - usecs does not cut it anymore on fast enough boxes ;-) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 2e01d1791168bb824226d8cc70e50374767dcc42 Author: Ingo Molnar Date: Thu Sep 3 16:21:11 2009 +0200 perf tools: Seek to the end of the header area Leave the input fd at the data area. It does not matter right now - but seeking at the end of it certainly did not make sense. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 6ac162d6c01ac7626f46c68c0770556cf682ce34 Author: Pavel Vasilyev Date: Thu Sep 3 16:20:55 2009 +0200 x86/gart: Do not select AGP for GART_IOMMU There is no dependency from the gart code to the agp code. And since a lot of systems today do not have agp anymore remove this dependency from the kernel configuration. Signed-off-by: Pavel Vasilyev Signed-off-by: Joerg Roedel commit 8886f42d6d8dabeb488c706c339634a0e3e08df4 Author: Ingo Molnar Date: Thu Sep 3 16:19:57 2009 +0200 perf trace: Fix parsing of perf.data We started parsing perf.data at head 0. This caused -D to segfault and it could possibly also case incorrect trace entries to be displayed. Parse it at data_offset instead. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 4751a95134e05f1172131d2001c6991d671fa58c Author: Joerg Roedel Date: Tue Sep 1 15:53:54 2009 +0200 x86/amd-iommu: Initialize passthrough mode when requested This patch enables the passthrough mode for AMD IOMMU by running the initialization function when iommu=pt is passed on the kernel command line. Signed-off-by: Joerg Roedel commit a1ca331c8aa75cd58fdf685e2e8745e1d3ec5c8f Author: Joerg Roedel Date: Tue Sep 1 12:22:22 2009 +0200 x86/amd-iommu: Don't detach device from pt domain on driver unbind This patch makes sure a device is not detached from the passthrough domain when the device driver is unloaded or does otherwise release the device. Signed-off-by: Joerg Roedel commit 21129f786f231f7a9dce5b504617b893f50a435f Author: Joerg Roedel Date: Tue Sep 1 11:59:42 2009 +0200 x86/amd-iommu: Make sure a device is assigned in passthrough mode When the IOMMU driver runs in passthrough mode it has to make sure that every device not assigned to an IOMMU-API domain must be put into the passthrough domain instead of keeping it unassigned. Signed-off-by: Joerg Roedel commit eba6ac60ba66c6bf6858938442204feaa67dea31 Author: Joerg Roedel Date: Tue Sep 1 12:07:08 2009 +0200 x86/amd-iommu: Align locking between attach_device and detach_device This patch makes the locking behavior between the functions attach_device and __attach_device consistent with the locking behavior between detach_device and __detach_device. Signed-off-by: Joerg Roedel commit aa879fff5d12318259816aa35023e941a1e4d3d9 Author: Joerg Roedel Date: Mon Aug 31 16:01:48 2009 +0200 x86/amd-iommu: Fix device table write order The V bit of the device table entry has to be set after the rest of the entry is written to not confuse the hardware. Signed-off-by: Joerg Roedel commit 0feae533ddebe02cda6ccce5cac7349b446776a8 Author: Joerg Roedel Date: Wed Aug 26 15:26:30 2009 +0200 x86/amd-iommu: Add passthrough mode initialization functions When iommu=pt is passed on kernel command line the devices should run untranslated. This requires the allocation of a special domain for that purpose. This patch implements the allocation and initialization path for iommu=pt. Signed-off-by: Joerg Roedel commit 2650815fb03fe2bf1e6701584087ba669dcf92cd Author: Joerg Roedel Date: Wed Aug 26 16:52:40 2009 +0200 x86/amd-iommu: Add core functions for pd allocation/freeing This patch factors some code of protection domain allocation into seperate functions. This way the logic can be used to allocate the passthrough domain later. As a side effect this patch fixes an unlikely domain id leakage bug. Signed-off-by: Joerg Roedel commit ac0101d396fee24994632f71b55b9f7f9ee16eff Author: Joerg Roedel Date: Tue Sep 1 16:00:35 2009 +0200 x86/dma: Mark iommu_pass_through as __read_mostly This variable is read most of the time. This patch marks it as such. It also documents the meaning the this variable while at it. Signed-off-by: Joerg Roedel commit abdc5eb3d69279039ba6cb89719913d08013ab14 Author: Joerg Roedel Date: Thu Sep 3 11:33:51 2009 +0200 x86/amd-iommu: Change iommu_map_page to support multiple page sizes This patch adds a map_size parameter to the iommu_map_page function which makes it generic enough to handle multiple page sizes. This also requires a change to alloc_pte which is also done in this patch. Signed-off-by: Joerg Roedel commit a6b256b41357c33ccb2d105a4457e22bdc83e021 Author: Joerg Roedel Date: Thu Sep 3 12:21:31 2009 +0200 x86/amd-iommu: Support higher level PTEs in iommu_page_unmap This patch changes fetch_pte and iommu_page_unmap to support different page sizes too. Signed-off-by: Joerg Roedel commit 30681bcf2b15a601b9460e6ddab22077998b8d4c Author: Takashi Iwai Date: Thu Sep 3 16:08:08 2009 +0200 ALSA: dummy - Add more description Signed-off-by: Takashi Iwai commit 674d798a80cb6ea1defa01899099f40d9124423c Author: Joerg Roedel Date: Wed Sep 2 17:26:09 2009 +0200 x86/amd-iommu: Remove old page table handling macros These macros are not longer required. So remove them. Signed-off-by: Joerg Roedel commit 8f7a017ce05ed4522809448e169daa44fe6edeb1 Author: Joerg Roedel Date: Wed Sep 2 16:55:24 2009 +0200 x86/amd-iommu: Use 2-level page tables for dma_ops domains The driver now supports a dynamic number of levels for IO page tables. This allows to reduce the number of levels for dma_ops domains by one because a dma_ops domain has usually an address space size between 128MB and 4G. Signed-off-by: Joerg Roedel commit bad1cac28a707c69301a4d0612da9ccbecd51953 Author: Joerg Roedel Date: Wed Sep 2 16:52:23 2009 +0200 x86/amd-iommu: Remove bus_addr check in iommu_map_page The driver now supports full 64 bit device address spaces. So this check is not longer required. Signed-off-by: Joerg Roedel commit 8c8c143cdc95ebe50fd962917556e25e8912997b Author: Joerg Roedel Date: Wed Sep 2 17:30:00 2009 +0200 x86/amd-iommu: Remove last usages of IOMMU_PTE_L0_INDEX This change allows to remove these old macros later. Signed-off-by: Joerg Roedel commit 8bc3e127421bf3b735edbde05135892c12c5f615 Author: Joerg Roedel Date: Wed Sep 2 16:48:40 2009 +0200 x86/amd-iommu: Change alloc_pte to support 64 bit address space This patch changes the alloc_pte function to be able to map pages into the whole 64 bit address space supported by AMD IOMMU hardware from the old limit of 2**39 bytes. Signed-off-by: Joerg Roedel commit 50020fb6324465e478d6c8cdbf3c695f0a60358d Author: Joerg Roedel Date: Wed Sep 2 15:38:40 2009 +0200 x86/amd-iommu: Introduce increase_address_space function This function will be used to increase the address space size of a protection domain. Signed-off-by: Joerg Roedel commit 04bfdd8406099fca2e6b8844748c4d6c5eba8c8d Author: Joerg Roedel Date: Wed Sep 2 16:00:23 2009 +0200 x86/amd-iommu: Flush domains if address space size was increased Thist patch introduces the update_domain function which propagates the larger address space of a protection domain to the device table and flushes all relevant DTEs and the domain TLB. Signed-off-by: Joerg Roedel commit 407d733e30a97daf5ea6f9eb5f9ebbd42a0a9ef2 Author: Joerg Roedel Date: Wed Sep 2 16:07:00 2009 +0200 x86/amd-iommu: Introduce set_dte_entry function This function factors out some logic of attach_device to a seperate function. This new function will be used to update device table entries when necessary. Signed-off-by: Joerg Roedel commit 6a0dbcbe4e612fbc9d73cd4dde8ebef19295058a Author: Joerg Roedel Date: Wed Sep 2 15:41:59 2009 +0200 x86/amd-iommu: Add a gneric version of amd_iommu_flush_all_devices This patch adds a generic variant of amd_iommu_flush_all_devices function which flushes only the DTEs for a given protection domain. Signed-off-by: Joerg Roedel commit a6d41a4027b758a9473197a78fab45afb31003aa Author: Joerg Roedel Date: Wed Sep 2 17:08:55 2009 +0200 x86/amd-iommu: Use fetch_pte in amd_iommu_iova_to_phys Don't reimplement the page table walker in this function. Use the generic one. Signed-off-by: Joerg Roedel commit 38a76eeeafb251bf67d143a34b37a8105cff302e Author: Joerg Roedel Date: Wed Sep 2 17:02:47 2009 +0200 x86/amd-iommu: Use fetch_pte in iommu_unmap_page Instead of reimplementing existing logic use fetch_pte to walk the page table in iommu_unmap_page. Signed-off-by: Joerg Roedel commit 9355a08186e52b7c120adea91c984923b54efa10 Author: Joerg Roedel Date: Wed Sep 2 14:24:08 2009 +0200 x86/amd-iommu: Make fetch_pte aware of dynamic mapping levels This patch changes the fetch_pte function in the AMD IOMMU driver to support dynamic mapping levels. Signed-off-by: Joerg Roedel commit b142037b4c1edf5ad0b2871c518d4f14ac1cd470 Author: Takashi Iwai Date: Thu Sep 3 16:01:06 2009 +0200 ALSA: dummy - Better jiffies handling In the system-timer mode, snd-dummy driver issues each tick to update the position. This is highly inefficient and even inaccurate if the timer can't be triggered at each tick. Now rewritten to wake up only at the period boundary. The position is calculated from the current jiffies. Signed-off-by: Takashi Iwai commit c631d03c6873b9e17906556e84fcafc42f26a7c2 Author: Takashi Iwai Date: Thu Sep 3 15:59:26 2009 +0200 ALSA: dummy - Support high-res timer mode Allow snd-dummy driver to use high-res timer as its timing source instead of the system timer. The new module option "hrtimer" is added to turn on/off the high-res timer support. It can be switched even dynamically via sysfs. Signed-off-by: Takashi Iwai commit 6a1eddd2f951656a6abbd42e2cddc2267c4a639d Author: Joerg Roedel Date: Thu Sep 3 15:15:10 2009 +0200 x86/amd-iommu: Reset command buffer if wait loop fails Instead of a panic on an comletion wait loop failure, try to recover from that event from resetting the command buffer. Signed-off-by: Joerg Roedel commit b26e81b871bd18184968f0bb3f12945906eadfce Author: Joerg Roedel Date: Thu Sep 3 15:08:09 2009 +0200 x86/amd-iommu: Panic if IOMMU command buffer reset fails To prevent the driver from doing recursive command buffer resets, just panic when that recursion happens. Signed-off-by: Joerg Roedel commit a345b23b79f1900e7d87c3165182504419180de4 Author: Joerg Roedel Date: Thu Sep 3 15:01:43 2009 +0200 x86/amd-iommu: Reset command buffer on ILLEGAL_COMMAND_ERROR On an ILLEGAL_COMMAND_ERROR the IOMMU stops executing further commands. This patch changes the code to handle this case better by resetting the command buffer in the IOMMU. Signed-off-by: Joerg Roedel commit 93f1cc67cf3196174412adca87321b25c1c986b0 Author: Joerg Roedel Date: Thu Sep 3 14:50:20 2009 +0200 x86/amd-iommu: Add reset function for command buffers This patch factors parts of the command buffer initialization code into a seperate function which can be used to reset the command buffer later. Signed-off-by: Joerg Roedel commit d586d7852ccd0cecb502bf4809f827e60c486af0 Author: Joerg Roedel Date: Thu Sep 3 15:39:23 2009 +0200 x86/amd-iommu: Add function to flush all DTEs on one IOMMU This function flushes all DTE entries on one IOMMU for all devices behind this IOMMU. This is required for command buffer resetting later. Signed-off-by: Joerg Roedel commit e0faf54ee82bf9c07f0307b4391caad4020bd659 Author: Joerg Roedel Date: Thu Sep 3 15:45:51 2009 +0200 x86/amd-iommu: fix broken check in amd_iommu_flush_all_devices The amd_iommu_pd_table is indexed by protection domain number and not by device id. So this check is broken and must be removed. Cc: stable@kernel.org Signed-off-by: Joerg Roedel commit ae908c22aa2b9f7d4b41bd02d14e473f79c22dd3 Author: Joerg Roedel Date: Tue Sep 1 16:52:16 2009 +0200 x86/amd-iommu: Remove redundant 'IOMMU' string The 'IOMMU: ' prefix is not necessary because the DUMP_printk macro already prints its own prefix. Signed-off-by: Joerg Roedel commit 4c6f40d4e0f0bba77a5f27eec4e1c6d1c457d324 Author: Joerg Roedel Date: Tue Sep 1 16:43:58 2009 +0200 x86/amd-iommu: replace "AMD IOMMU" by "AMD-Vi" This patch replaces the "AMD IOMMU" printk strings with the official name for the hardware: "AMD-Vi". Signed-off-by: Joerg Roedel commit f2430bd104bec2706315e9e983a9d9f828ff9565 Author: Joerg Roedel Date: Wed Aug 26 12:10:19 2009 +0200 x86/amd-iommu: Remove some merge helper code This patch removes some left-overs which where put into the code to simplify merging code which also depends on changes in other trees. Signed-off-by: Joerg Roedel commit 6ddf259da76cab6555c2086386f8bcd10bbb86d2 Author: Ingo Molnar Date: Thu Sep 3 12:00:22 2009 +0200 perf trace: Sample timestamps as well Before: perf-21082 [013] 0.000000: sched_wakeup_new: task perf:21083 [120] success=1 [015] perf-21082 [013] 0.000000: sched_migrate_task: task perf:21082 [120] from: 13 to: 15 perf-21082 [013] 0.000000: sched_process_fork: parent perf:21082 child perf:21083 true-21083 [015] 0.000000: sched_wakeup: task migration/15:33 [0] success=1 [015] perf-21082 [013] 0.000000: sched_switch: task perf:21082 [120] (S) ==> swapper:0 [140] true-21083 [015] 0.000000: sched_switch: task perf:21083 [120] (R) ==> migration/15:33 [0] true-21083 [011] 0.000000: sched_process_exit: task true:21083 [120] After: perf-21082 [013] 14674.797613: sched_wakeup_new: task perf:21083 [120] success=1 [015] perf-21082 [013] 14674.797506: sched_migrate_task: task perf:21082 [120] from: 13 to: 15 perf-21082 [013] 14674.797610: sched_process_fork: parent perf:21082 child perf:21083 true-21083 [015] 14674.797725: sched_wakeup: task migration/15:33 [0] success=1 [015] perf-21082 [013] 14674.797722: sched_switch: task perf:21082 [120] (S) ==> swapper:0 [140] true-21083 [015] 14674.797729: sched_switch: task perf:21083 [120] (R) ==> migration/15:33 [0] true-21083 [011] 14674.798159: sched_process_exit: task true:21083 [120] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit e394d72aa8b319211b8f947d151d9d50b0fde842 Author: Joerg Roedel Date: Thu Sep 3 15:28:33 2009 +0200 x86/amd-iommu: Introduce function for iommu-local domain flush This patch introduces a function to flush all domain tlbs for on one given IOMMU. This is required later to reset the command buffer on one IOMMU. Signed-off-by: Joerg Roedel commit 945b4ac44e5700acd3d974c176c8ace34b4d2e8e Author: Joerg Roedel Date: Thu Sep 3 14:25:02 2009 +0200 x86/amd-iommu: Dump illegal command on ILLEGAL_COMMAND_ERROR This patch adds code to dump the command which caused an ILLEGAL_COMMAND_ERROR raised by the IOMMU hardware. Signed-off-by: Joerg Roedel commit 55f9d6786de2f9cf37db50dbe8ae16f887f3ad7f Author: Eric Dumazet Date: Thu Sep 3 05:17:20 2009 -0700 net: Remove debugging code Remove a debugging aid I accidently left in previous 'cleanup' patch Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e3e59876e82a5e1a07f365d5474e7b6943524725 Author: Joerg Roedel Date: Thu Sep 3 14:02:10 2009 +0200 x86/amd-iommu: Dump fault entry on DTE error This patch adds code to dump the content of the device table entry which caused an ILLEGAL_DEV_TABLE_ENTRY error from the IOMMU hardware. Signed-off-by: Joerg Roedel commit 9d32e03d01649d2dd837923470f3f323e3b88253 Author: Jaroslav Kysela Date: Mon Aug 31 15:07:23 2009 +0200 ALSA: Release v1.0.21 Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 2f8bc32b7a08502a79e0ccec8697000f2977f2fd Author: Eric Dumazet Date: Thu Sep 3 02:19:58 2009 -0700 vlan: enable multiqueue xmits vlan_dev_hard_start_xmit() & vlan_dev_hwaccel_hard_start_xmit() select txqueue number 0, instead of using index provided by skb_get_queue_mapping(). This is not correct after commit 2e59af3dcbdf11635c03f [vlan: multiqueue vlan device] because txq->tx_packets & txq->tx_bytes changes are performed on a single location, and not the right locking. Fix is to take the appropriate struct netdev_queue pointer Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d1b19dff9159bb88fe839c30a7c071faf4761933 Author: Eric Dumazet Date: Thu Sep 3 01:29:39 2009 -0700 net: net/core/dev.c cleanups Pure style cleanup patch before surgery :) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 137742cf9738f1b4784058ff79aec7ca85e769d4 Author: Karl Hiramoto Date: Wed Sep 2 23:26:39 2009 -0700 atm/br2684: netif_stop_queue() when atm device busy and netif_wake_queue() when we can send packets again. This patch removes the call to dev_kfree_skb() when the atm device is busy. Calling dev_kfree_skb() causes heavy packet loss then the device is under heavy load, the more correct behavior should be to stop the upper layers, then when the lower device can queue packets again wake the upper layers. Signed-off-by: Karl Hiramoto Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 81538e74ca12a71ea37ce72f809ebc65a90b9538 Author: Uwe Kleine-König Date: Tue Sep 1 23:14:16 2009 +0000 fec: don't enable irqs in hard irq context fec_enet_mii, fec_enet_rx and fec_enet_tx are both only called by fec_enet_interrupt in interrupt context. So they must not use spin_lock_irq/spin_unlock_irq. This fixes: WARNING: at kernel/lockdep.c:2140 trace_hardirqs_on_caller+0x130/0x194() ... Signed-off-by: Uwe Kleine-König Cc: Greg Ungerer Cc: Ben Hutchings Cc: Patrick McHardy Cc: Sascha Hauer Cc: Matt Waddel Cc: netdev@vger.kernel.org Cc: Tim Sander Acked-by: Greg Ungerer Signed-off-by: David S. Miller commit 84177a20799072c65a69b62571660d4d9780823c Author: Uwe Kleine-König Date: Tue Sep 1 23:14:15 2009 +0000 fec: fix recursive locking of mii_lock mii_discover_phy is only called by fec_enet_mii (via mip->mii_func). So &fep->mii_lock is already held and mii_discover_phy must not call mii_queue which locks &fep->mii_lock, too. This was noticed by lockdep: ============================================= [ INFO: possible recursive locking detected ] 2.6.31-rc8-00038-g37d0892 #109 --------------------------------------------- swapper/1 is trying to acquire lock: (&fep->mii_lock){-.....}, at: [] mii_queue+0x2c/0xcc but task is already holding lock: (&fep->mii_lock){-.....}, at: [] fec_enet_interrupt+0x78/0x460 other info that might help us debug this: 2 locks held by swapper/1: #0: (rtnl_mutex){+.+.+.}, at: [] rtnl_lock+0x18/0x20 #1: (&fep->mii_lock){-.....}, at: [] fec_enet_interrupt+0x78/0x460 stack backtrace: Backtrace: [] (dump_backtrace+0x0/0x108) from [] (dump_stack+0x18/0x1c) r6:c781d118 r5:c03e41d8 r4:00000001 [] (dump_stack+0x0/0x1c) from [] (__lock_acquire+0x1a20/0x1a88) [] (__lock_acquire+0x0/0x1a88) from [] (lock_acquire+0x60/0x74) [] (lock_acquire+0x0/0x74) from [] (_spin_lock_irqsave+0x54/0x68) r7:60000093 r6:c01569f8 r5:c785e468 r4:00000000 [] (_spin_lock_irqsave+0x0/0x68) from [] (mii_queue+0x2c/0xcc) r7:c785e468 r6:c0156b24 r5:600a0000 r4:c785e000 [] (mii_queue+0x0/0xcc) from [] (mii_discover_phy+0x54/0xa8) r8:00000002 r7:00000032 r6:c785e000 r5:c785e360 r4:c785e000 [] (mii_discover_phy+0x0/0xa8) from [] (fec_enet_interrupt+0xa4/0x460) r5:c785e360 r4:c077a170 [] (fec_enet_interrupt+0x0/0x460) from [] (handle_IRQ_event+0x48/0x120) [] (handle_IRQ_event+0x0/0x120) from [] (handle_level_irq+0x94/0x11c) ... Signed-off-by: Uwe Kleine-König Cc: Greg Ungerer Cc: Ben Hutchings Cc: Patrick McHardy Cc: Sascha Hauer Cc: Matt Waddel Cc: netdev@vger.kernel.org Cc: Tim Sander Acked-by: Greg Ungerer Signed-off-by: David S. Miller commit 3eb0027594e25f5947f074ae53fea30c15c5a7f6 Author: Ralf Baechle Date: Wed Sep 2 23:09:29 2009 -0700 NET: Fix possible corruption in bpqether driver The bpq ether driver is modifying the data art of the skb by first dropping the KISS byte (a command byte for the radio) then prepending the length + 4 of the remaining AX.25 packet to be transmitted as a little endian 16-bit number. If the high byte of the length has a different value than the dropped KISS byte users of clones of the skb may observe this as corruption. This was observed with by running listen(8) -a which uses a packet socket which clones transmit packets. The corruption will then typically be displayed for as a KISS "TX Delay" command for AX.25 packets in the range of 252..508 bytes or any other KISS command for yet larger packets. Fixed by using skb_cow to create a private copy should the skb be cloned. Using skb_cow also allows us to cleanup the old logic to ensure sufficient headroom in the skb. While at it, replace a return of 0 from bpq_xmit with the proper constant NETDEV_TX_OK which is now being used everywhere else in this function. Affected: all 2.2, 2.4 and 2.6 kernels. Signed-off-by: Ralf Baechle Reported-by: Jann Traschewski Signed-off-by: David S. Miller commit ab08999d6029bb2c79c16be5405d63d2bedbdfea Author: roel kluin Date: Tue Sep 1 06:24:53 2009 +0000 WARNING: some request_irq() failures ignored in el2_open() Request_irq() may fail in different ways, handle accordingly. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit aa1330766c49199bdab4d4a9096d98b072df9044 Author: Wu Fengguang Date: Wed Sep 2 23:45:45 2009 -0700 tcp: replace hard coded GFP_KERNEL with sk_allocation This fixed a lockdep warning which appeared when doing stress memory tests over NFS: inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage. page reclaim => nfs_writepage => tcp_sendmsg => lock sk_lock mount_root => nfs_root_data => tcp_close => lock sk_lock => tcp_send_fin => alloc_skb_fclone => page reclaim David raised a concern that if the allocation fails in tcp_send_fin(), and it's GFP_ATOMIC, we are going to yield() (which sleeps) and loop endlessly waiting for the allocation to succeed. But fact is, the original GFP_KERNEL also sleeps. GFP_ATOMIC+yield() looks weird, but it is no worse the implicit sleep inside GFP_KERNEL. Both could loop endlessly under memory pressure. CC: Arnaldo Carvalho de Melo CC: David S. Miller CC: Herbert Xu Signed-off-by: Wu Fengguang Signed-off-by: David S. Miller commit 05c6a8d7a7d778f26d8eb821556988993b766092 Author: Ajit Khaparde Date: Wed Sep 2 17:02:55 2009 +0000 net/ethtool: Add support for the ethtool feature to flash firmware image from a specified file. This patch adds support to flash a firmware image to a device using ethtool. The driver gets the filename of the firmware image and flashes the image using the request firmware path. The region "on the chip" to be flashed can be specified by an option. It is upto the device driver to enumerate the region number passed by ethtool, to the region to be flashed. The default behavior is to flash all the regions on the chip. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 451f14439847db302e5104c44458b2dbb4b1829d Author: Eric Dumazet Date: Mon Aug 31 06:34:50 2009 +0000 drivers: Kill now superfluous ->last_rx stores The generic packet receive code takes care of setting netdev->last_rx when necessary, for the sake of the bonding ARP monitor. Signed-off-by: Eric Dumazet Acked-by: Neil Horman Signed-off-by: David S. Miller commit 6c1488fd581a447ec87c4b59f0d33f95f0aa441b Author: Mimi Zohar Date: Wed Sep 2 11:40:32 2009 -0400 IMA: open new file for read When creating a new file, ima_path_check() assumed the new file was being opened for write. Call ima_path_check() with the appropriate acc_mode so that the read/write counters are incremented correctly. Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 6ce9e7b5fe3195d1ae6e3a0753d4ddcac5cd699e Author: Eric Dumazet Date: Wed Sep 2 18:05:33 2009 -0700 ip: Report qdisc packet drops Christoph Lameter pointed out that packet drops at qdisc level where not accounted in SNMP counters. Only if application sets IP_RECVERR, drops are reported to user (-ENOBUFS errors) and SNMP counters updated. IP_RECVERR is used to enable extended reliable error message passing, but these are not needed to update system wide SNMP stats. This patch changes things a bit to allow SNMP counters to be updated, regardless of IP_RECVERR being set or not on the socket. Example after an UDP tx flood # netstat -s ... IP: 1487048 outgoing packets dropped ... Udp: ... SndbufErrors: 1487048 send() syscalls, do however still return an OK status, to not break applications. Note : send() manual page explicitly says for -ENOBUFS error : "The output queue for a network interface was full. This generally indicates that the interface has stopped sending, but may be caused by transient congestion. (Normally, this does not occur in Linux. Packets are just silently dropped when a device queue overflows.) " This is not true for IP_RECVERR enabled sockets : a send() syscall that hit a qdisc drop returns an ENOBUFS error. Many thanks to Christoph, David, and last but not least, Alexey ! Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2e59af3dcbdf11635c03f22bfc9706744465d589 Author: Eric Dumazet Date: Wed Sep 2 18:03:00 2009 -0700 vlan: multiqueue vlan device vlan devices are currently not multi-queue capable. We can do that with a new rtnl_link_ops method, get_tx_queues(), called from rtnl_create_link() This new method gets num_tx_queues/real_num_tx_queues from real device. register_vlan_device() is also handled. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 988abe4075e5748d9f7c79d9dfffa0cf5291611b Author: Alex Elder Date: Wed Sep 2 17:02:24 2009 -0500 xfs: xfs_showargs() reports group *and* project quotas enabled If you enable group or project quotas on an XFS file system, then the mount table presented through /proc/self/mounts erroneously shows that both options are in effect for the file system. The root of the problem is some bad logic in the xfs_showargs() function, which is used to format the file system type-specific options in effect for a file system. The problem originated in this GIT commit: Move platform specific mount option parse out of core XFS code Date: 11/22/07 Author: Dave Chinner SHA1 ID: a67d7c5f5d25d0b13a4dfb182697135b014fa478 For XFS quotas, project and group quota management are mutually exclusive--only one can be in effect at a time. There are two parts to managing quotas: aggregating usage information; and enforcing limits. It is possible to have a quota in effect (aggregating usage) but not enforced. These features are recorded on an XFS mount point using these flags: XFS_PQUOTA_ACCT - Project quotas are aggregated XFS_GQUOTA_ACCT - Group quotas are aggregated XFS_OQUOTA_ENFD - Project/group quotas are enforced The code in error is in fs/xfs/linux-2.6/xfs_super.c: if (mp->m_qflags & (XFS_PQUOTA_ACCT|XFS_OQUOTA_ENFD)) seq_puts(m, "," MNTOPT_PRJQUOTA); else if (mp->m_qflags & XFS_PQUOTA_ACCT) seq_puts(m, "," MNTOPT_PQUOTANOENF); if (mp->m_qflags & (XFS_GQUOTA_ACCT|XFS_OQUOTA_ENFD)) seq_puts(m, "," MNTOPT_GRPQUOTA); else if (mp->m_qflags & XFS_GQUOTA_ACCT) seq_puts(m, "," MNTOPT_GQUOTANOENF); The problem is that XFS_OQUOTA_ENFD will be set in mp->m_qflags if either group or project quotas are enforced, and as a result both MNTOPT_PRJQUOTA and MNTOPT_GRPQUOTA will be shown as mount options. Signed-off-by: Alex Elder Reviewed-by: Christoph Hellwig Reviewed-by: Felix Blyakher commit 5848cc096a23b80b3d15c27d72299f79caf7c517 Author: Neil Horman Date: Wed Sep 2 14:37:45 2009 -0700 net: drop_monitor: make last_rx timestamp private It was recently pointed out to me that the last_rx field of the net_device structure wasn't updated regularly. In fact only the bonding driver really uses it currently. Since the drop_monitor code relies on the last_rx field to detect drops on recevie in hardware, We need to find a more reliable way to rate limit our drop checks (so that we don't check for drops on every frame recevied, which would be inefficient. This patch makes a last_rx timestamp that is private to the drop monitor code and is updated for every device that we track. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit 3f968de276a8e585deb182d4ba56013a479c80bc Merge: 5ca1b99 d0bec34 Author: David S. Miller Date: Wed Sep 2 14:18:09 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 0fbdea19e9394a5cb5f2f5081b028c50b558910a Author: Ingo Molnar Date: Wed Sep 2 21:46:00 2009 +0200 perf_counter: Introduce new (non-)paranoia level to allow raw tracepoint access I want to sample inherited tracepoint workloads as a normal user and the CAP_SYS_ADMIN check prevents me from doing that right now. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit f76bd108e5031202bb40849306f98c4afebe4ef6 Merge: cd6feee eced1df Author: Ingo Molnar Date: Wed Sep 2 21:42:56 2009 +0200 Merge branch 'perfcounters/urgent' into perfcounters/core Merge reason: We are going to modify a place modified by perfcounters/urgent. Signed-off-by: Ingo Molnar commit d0bec34293bb0b8dddc26d25bd46a6631d6b3ec3 Author: Vivek Natarajan Date: Wed Sep 2 15:50:55 2009 +0530 ath9k: Reconfigure beacon timers after the scan is completed. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit fcc6cb0c13555e78c2d47257b6d1b5e59b0c419a Author: Bob Copeland Date: Tue Sep 1 18:12:11 2009 -0400 cfg80211: fix looping soft lockup in find_ie() The find_ie() function uses a size_t for the len parameter, and directly uses len as a loop variable. If any received packets are malformed, it is possible for the decrease of len to overflow, and since the result is unsigned, the loop will not terminate. Change it to a signed int so the loop conditional works for negative values. This fixes the following soft lockup: [38573.102007] BUG: soft lockup - CPU#0 stuck for 61s! [phy0:2230] [38573.102007] Modules linked in: aes_i586 aes_generic fuse af_packet ipt_REJECT xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state iptable_filter ip_tables x_tables acpi_cpufreq binfmt_misc dm_mirror dm_region_hash dm_log dm_multipath dm_mod kvm_intel kvm uinput i915 arc4 ecb drm snd_hda_codec_idt ath5k snd_hda_intel hid_apple mac80211 usbhid appletouch snd_hda_codec snd_pcm ath cfg80211 snd_timer i2c_algo_bit ohci1394 video snd processor ieee1394 rfkill ehci_hcd sg sky2 backlight snd_page_alloc uhci_hcd joydev output ac thermal button battery sr_mod applesmc cdrom input_polldev evdev unix [last unloaded: scsi_wait_scan] [38573.102007] irq event stamp: 2547724535 [38573.102007] hardirqs last enabled at (2547724534): [] restore_all_notrace+0x0/0x18 [38573.102007] hardirqs last disabled at (2547724535): [] apic_timer_interrupt+0x28/0x34 [38573.102007] softirqs last enabled at (92950144): [] __do_softirq+0x108/0x210 [38573.102007] softirqs last disabled at (92950274): [] _spin_lock_bh+0x14/0x80 [38573.102007] [38573.102007] Pid: 2230, comm: phy0 Tainted: G W (2.6.31-rc7-wl #8) MacBook1,1 [38573.102007] EIP: 0060:[] EFLAGS: 00010292 CPU: 0 [38573.102007] EIP is at cmp_ies+0x30/0x180 [cfg80211] [38573.102007] EAX: 00000082 EBX: 00000000 ECX: ffffffc1 EDX: d8efd014 [38573.102007] ESI: ffffff7c EDI: 0000004d EBP: eee2dc50 ESP: eee2dc3c [38573.102007] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [38573.102007] CR0: 8005003b CR2: d8efd014 CR3: 01694000 CR4: 000026d0 [38573.102007] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [38573.102007] DR6: ffff0ff0 DR7: 00000400 [38573.102007] Call Trace: [38573.102007] [] cmp_bss+0xed/0x100 [cfg80211] [38573.102007] [] cfg80211_bss_update+0x84/0x410 [cfg80211] [38573.102007] [] cfg80211_inform_bss_frame+0x114/0x180 [cfg80211] [38573.102007] [] ieee80211_bss_info_update+0x4f/0x180 [mac80211] [38573.102007] [] ieee80211_rx_bss_info+0x88/0xf0 [mac80211] [38573.102007] [] ? ieee802_11_parse_elems+0x27/0x30 [mac80211] [38573.102007] [] ieee80211_rx_mgmt_probe_resp+0xa4/0x1c0 [mac80211] [38573.102007] [] ieee80211_sta_rx_queued_mgmt+0x919/0xc50 [mac80211] [38573.102007] [] ? sched_clock+0x27/0xa0 [38573.102007] [] ? sched_clock+0x27/0xa0 [38573.102007] [] ? mark_held_locks+0x60/0x80 [38573.102007] [] ? _spin_unlock_irqrestore+0x55/0x70 [38573.102007] [] ? sub_preempt_count+0x85/0xc0 [38573.102007] [] ? _spin_unlock_irqrestore+0x3e/0x70 [38573.102007] [] ? skb_dequeue+0x4f/0x70 [38573.102007] [] ieee80211_sta_work+0x91/0xb80 [mac80211] [38573.102007] [] ? sched_clock+0x27/0xa0 [38573.102007] [] ? sub_preempt_count+0x85/0xc0 [38573.102007] [] worker_thread+0x18f/0x320 [38573.102007] [] ? worker_thread+0x12e/0x320 [38573.102007] [] ? _spin_unlock_irqrestore+0x55/0x70 [38573.102007] [] ? ieee80211_sta_work+0x0/0xb80 [mac80211] [38573.102007] [] ? autoremove_wake_function+0x0/0x50 [38573.102007] [] ? worker_thread+0x0/0x320 [38573.102007] [] kthread+0x84/0x90 [38573.102007] [] ? kthread+0x0/0x90 [38573.102007] [] kernel_thread_helper+0x7/0x10 Cc: stable@kernel.org Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit abd8ea22c23c917f56fefcda8a4468fbc2247d7f Author: Luis R. Rodriguez Date: Tue Sep 1 08:22:46 2009 -0700 wireless: remove mac80211 rate selection extra menu We can just display this upon enabling mac80211 with an 'if MAC80211 != n' check. Cc: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 253850c10d1f9af46f4870616ed29f38ed39fd15 Author: Luis R. Rodriguez Date: Tue Sep 1 08:22:43 2009 -0700 wireless: update reg debug kconfig entry Refer to the wireless wiki for more information. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 44175272ba5f08e842877ef230ff4ed21cf9ec39 Author: Luis R. Rodriguez Date: Tue Sep 1 08:22:40 2009 -0700 wireless: update top level wireless driver entry Change it to a menuconfig to give it some documentation, to refer users to our wireless wiki for extra resources and documentation. It seems our wiki is still obscure to some. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cd6feeeafddbef6abfe4d90fb26e42fd844d34ed Author: Ingo Molnar Date: Wed Sep 2 20:20:38 2009 +0200 perf trace: Sample the CPU too Sample, record, parse and print the CPU field - it had all zeroes before. Before (watch the second column, the CPU values): perf-32685 [000] 0.000000: sched_wakeup_new: task perf:32686 [120] success=1 [011] perf-32685 [000] 0.000000: sched_migrate_task: task perf:32685 [120] from: 1 to: 11 perf-32685 [000] 0.000000: sched_process_fork: parent perf:32685 child perf:32686 true-32686 [000] 0.000000: sched_wakeup: task migration/11:25 [0] success=1 [011] true-32686 [000] 0.000000: sched_wakeup: task distccd:12793 [125] success=1 [015] true-32686 [000] 0.000000: sched_wakeup: task distccd:12793 [125] success=1 [015] perf-32685 [000] 0.000000: sched_switch: task perf:32685 [120] (S) ==> swapper:0 [140] true-32686 [000] 0.000000: sched_switch: task perf:32686 [120] (R) ==> migration/11:25 [0] true-32686 [000] 0.000000: sched_switch: task perf:32686 [120] (R) ==> distccd:12793 [125] true-32686 [000] 0.000000: sched_switch: task true:32686 [120] (R) ==> distccd:12793 [125] true-32686 [000] 0.000000: sched_process_exit: task true:32686 [120] true-32686 [000] 0.000000: sched_stat_wait: task: distccd:12793 wait: 6767985949080 [ns] true-32686 [000] 0.000000: sched_stat_wait: task: distccd:12793 wait: 6767986139446 [ns] true-32686 [000] 0.000000: sched_stat_sleep: task: distccd:12793 sleep: 132844 [ns] true-32686 [000] 0.000000: sched_stat_sleep: task: distccd:12793 sleep: 131724 [ns] After: perf-32685 [001] 0.000000: sched_wakeup_new: task perf:32686 [120] success=1 [011] perf-32685 [001] 0.000000: sched_migrate_task: task perf:32685 [120] from: 1 to: 11 perf-32685 [001] 0.000000: sched_process_fork: parent perf:32685 child perf:32686 true-32686 [011] 0.000000: sched_wakeup: task migration/11:25 [0] success=1 [011] true-32686 [015] 0.000000: sched_wakeup: task distccd:12793 [125] success=1 [015] true-32686 [015] 0.000000: sched_wakeup: task distccd:12793 [125] success=1 [015] perf-32685 [001] 0.000000: sched_switch: task perf:32685 [120] (S) ==> swapper:0 [140] true-32686 [011] 0.000000: sched_switch: task perf:32686 [120] (R) ==> migration/11:25 [0] true-32686 [015] 0.000000: sched_switch: task perf:32686 [120] (R) ==> distccd:12793 [125] true-32686 [015] 0.000000: sched_switch: task true:32686 [120] (R) ==> distccd:12793 [125] true-32686 [015] 0.000000: sched_process_exit: task true:32686 [120] true-32686 [015] 0.000000: sched_stat_wait: task: distccd:12793 wait: 6767985949080 [ns] true-32686 [015] 0.000000: sched_stat_wait: task: distccd:12793 wait: 6767986139446 [ns] true-32686 [015] 0.000000: sched_stat_sleep: task: distccd:12793 sleep: 132844 [ns] true-32686 [015] 0.000000: sched_stat_sleep: task: distccd:12793 sleep: 131724 [ns] So we can now see how this workload migrated between CPUs. Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Li Zefan Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 2eff31e8096513d03b0b6484b85fd2c417eb87e8 Author: Mark Brown Date: Wed Sep 2 18:51:19 2009 +0100 ASoC: Fully specify DC servo bits to update in wm_hubs Avoids potential issues if we read back unexpected values during a read/modify/write cycle. Signed-off-by: Mark Brown commit c47a830c08a26a7c210ae16a0ffe3f56ba86ea69 Author: Dick Hollenbeck Date: Wed Sep 2 17:07:29 2009 +0100 ARM: 5688/1: ks8695_serial: disable_irq() lockup disable_irq() cannot be called from interrupt context without self imposed deadlock. This was happening in ks8695uart_stop_tx(). Signed-off-by: Dick Hollenbeck Signed-off-by: Russell King commit 65014ab36196f6d86edc9ee23759d6930b9d89a8 Author: Ingo Molnar Date: Wed Sep 2 14:55:55 2009 +0200 perf tools: Work around strict aliasing related warnings Older versions of GCC are rather stupid about strict aliasing: util/trace-event-parse.c: In function 'parse_cmdlines': util/trace-event-parse.c:93: warning: dereferencing type-punned pointer will break strict-aliasing rules util/trace-event-parse.c: In function 'parse_proc_kallsyms': util/trace-event-parse.c:155: warning: dereferencing type-punned pointer will break strict-aliasing rules util/trace-event-parse.c:157: warning: dereferencing type-punned pointer will break strict-aliasing rules util/trace-event-parse.c:158: warning: dereferencing type-punned pointer will break strict-aliasing rules util/trace-event-parse.c: In function 'parse_ftrace_printk': util/trace-event-parse.c:294: warning: dereferencing type-punned pointer will break strict-aliasing rules util/trace-event-parse.c:295: warning: dereferencing type-punned pointer will break strict-aliasing rules make: *** [util/trace-event-parse.o] Error 1 Make it clear to GCC that we intend with those pointers, by passing them through via an explicit (void *) cast. We might want to add -fno-strict-aliasing as well, like the kernel itself does. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 61562445c80452ec417fb6a6895b991f6c1dd930 Author: Ingo Molnar Date: Wed Sep 2 14:50:23 2009 +0200 perf tools: Clean up warnings list in the Makefile Make it easier to turn warnings on/off by using a separate line for each warning added. Some of the warnings have too much of a nuisance factor and we might want to turn them off in the future. Cc: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit ee18d64c1f632043a02e6f5ba5e045bb26a5465f Author: David Howells Date: Wed Sep 2 09:14:21 2009 +0100 KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] Add a keyctl to install a process's session keyring onto its parent. This replaces the parent's session keyring. Because the COW credential code does not permit one process to change another process's credentials directly, the change is deferred until userspace next starts executing again. Normally this will be after a wait*() syscall. To support this, three new security hooks have been provided: cred_alloc_blank() to allocate unset security creds, cred_transfer() to fill in the blank security creds and key_session_to_parent() - which asks the LSM if the process may replace its parent's session keyring. The replacement may only happen if the process has the same ownership details as its parent, and the process has LINK permission on the session keyring, and the session keyring is owned by the process, and the LSM permits it. Note that this requires alteration to each architecture's notify_resume path. This has been done for all arches barring blackfin, m68k* and xtensa, all of which need assembly alteration to support TIF_NOTIFY_RESUME. This allows the replacement to be performed at the point the parent process resumes userspace execution. This allows the userspace AFS pioctl emulation to fully emulate newpag() and the VIOCSETTOK and VIOCSETTOK2 pioctls, all of which require the ability to alter the parent process's PAG membership. However, since kAFS doesn't use PAGs per se, but rather dumps the keys into the session keyring, the session keyring of the parent must be replaced if, for example, VIOCSETTOK is passed the newpag flag. This can be tested with the following program: #include #include #include #define KEYCTL_SESSION_TO_PARENT 18 #define OSERROR(X, S) do { if ((long)(X) == -1) { perror(S); exit(1); } } while(0) int main(int argc, char **argv) { key_serial_t keyring, key; long ret; keyring = keyctl_join_session_keyring(argv[1]); OSERROR(keyring, "keyctl_join_session_keyring"); key = add_key("user", "a", "b", 1, keyring); OSERROR(key, "add_key"); ret = keyctl(KEYCTL_SESSION_TO_PARENT); OSERROR(ret, "KEYCTL_SESSION_TO_PARENT"); return 0; } Compiled and linked with -lkeyutils, you should see something like: [dhowells@andromeda ~]$ keyctl show Session Keyring -3 --alswrv 4043 4043 keyring: _ses 355907932 --alswrv 4043 -1 \_ keyring: _uid.4043 [dhowells@andromeda ~]$ /tmp/newpag [dhowells@andromeda ~]$ keyctl show Session Keyring -3 --alswrv 4043 4043 keyring: _ses 1055658746 --alswrv 4043 4043 \_ user: a [dhowells@andromeda ~]$ /tmp/newpag hello [dhowells@andromeda ~]$ keyctl show Session Keyring -3 --alswrv 4043 4043 keyring: hello 340417692 --alswrv 4043 4043 \_ user: a Where the test program creates a new session keyring, sticks a user key named 'a' into it and then installs it on its parent. Signed-off-by: David Howells Signed-off-by: James Morris commit d0420c83f39f79afb82010c2d2cafd150eef651b Author: David Howells Date: Wed Sep 2 09:14:16 2009 +0100 KEYS: Extend TIF_NOTIFY_RESUME to (almost) all architectures [try #6] Implement TIF_NOTIFY_RESUME for most of those architectures in which isn't yet available, and, whilst we're at it, have it call the appropriate tracehook. After this patch, blackfin, m68k* and xtensa still lack support and need alteration of assembly code to make it work. Resume notification can then be used (by a later patch) to install a new session keyring on the parent of a process. Signed-off-by: David Howells Acked-by: Russell King cc: linux-arch@vger.kernel.org Signed-off-by: James Morris commit 7b1b9164598286fe93927ff41eed2a2609fd9056 Author: David Howells Date: Wed Sep 2 09:14:11 2009 +0100 KEYS: Do some whitespace cleanups [try #6] Do some whitespace cleanups in the key management code. Signed-off-by: David Howells Acked-by: Serge Hallyn Signed-off-by: James Morris commit ad73a717e0fc6949c44e587ca5d63c273a30e6f5 Author: Serge E. Hallyn Date: Wed Sep 2 09:14:05 2009 +0100 KEYS: Make /proc/keys use keyid not numread as file position [try #6] Make the file position maintained by /proc/keys represent the ID of the key just read rather than the number of keys read. This should make it faster to perform a lookup as we don't have to scan the key ID tree from the beginning to find the current position. Signed-off-by: Serge E. Hallyn Signed-off-by: David Howells Signed-off-by: James Morris commit 5d135440faf7db8d566de0c6fab36b16cf9cfc3b Author: David Howells Date: Wed Sep 2 09:14:00 2009 +0100 KEYS: Add garbage collection for dead, revoked and expired keys. [try #6] Add garbage collection for dead, revoked and expired keys. This involved erasing all links to such keys from keyrings that point to them. At that point, the key will be deleted in the normal manner. Keyrings from which garbage collection occurs are shrunk and their quota consumption reduced as appropriate. Dead keys (for which the key type has been removed) will be garbage collected immediately. Revoked and expired keys will hang around for a number of seconds, as set in /proc/sys/kernel/keys/gc_delay before being automatically removed. The default is 5 minutes. Signed-off-by: David Howells Signed-off-by: James Morris commit f041ae2f99d49adc914153a34a2d0e14e4389d90 Author: David Howells Date: Wed Sep 2 09:13:55 2009 +0100 KEYS: Flag dead keys to induce EKEYREVOKED [try #6] Set the KEY_FLAG_DEAD flag on keys for which the type has been removed. This causes the key_permission() function to return EKEYREVOKED in response to various commands. It does not, however, prevent unlinking or clearing of keyrings from detaching the key. Signed-off-by: David Howells Acked-by: Serge Hallyn Signed-off-by: James Morris commit 0c2c9a3fc77e8b60d43d9bd2ca46eb4dddb0ff76 Author: David Howells Date: Wed Sep 2 09:13:50 2009 +0100 KEYS: Allow keyctl_revoke() on keys that have SETATTR but not WRITE perm [try #6] Allow keyctl_revoke() to operate on keys that have SETATTR but not WRITE permission, rather than only on keys that have WRITE permission. Signed-off-by: David Howells Acked-by: Serge Hallyn Signed-off-by: James Morris commit 5593122eec26b061cc0b6fbff32118f1aadf4a27 Author: David Howells Date: Wed Sep 2 09:13:45 2009 +0100 KEYS: Deal with dead-type keys appropriately [try #6] Allow keys for which the key type has been removed to be unlinked. Currently dead-type keys can only be disposed of by completely clearing the keyrings that point to them. Signed-off-by: David Howells Acked-by: Serge Hallyn Signed-off-by: James Morris commit e0e817392b9acf2c98d3be80c233dddb1b52003d Author: David Howells Date: Wed Sep 2 09:13:40 2009 +0100 CRED: Add some configurable debugging [try #6] Add a config option (CONFIG_DEBUG_CREDENTIALS) to turn on some debug checking for credential management. The additional code keeps track of the number of pointers from task_structs to any given cred struct, and checks to see that this number never exceeds the usage count of the cred struct (which includes all references, not just those from task_structs). Furthermore, if SELinux is enabled, the code also checks that the security pointer in the cred struct is never seen to be invalid. This attempts to catch the bug whereby inode_has_perm() faults in an nfsd kernel thread on seeing cred->security be a NULL pointer (it appears that the credential struct has been previously released): http://www.kerneloops.org/oops.php?number=252883 Signed-off-by: David Howells Signed-off-by: James Morris commit 13f96d8f4c5a3f6a6b5e578d08869d79d690e0b2 Author: Nicolas Pitre Date: Tue Sep 1 22:01:27 2009 +0100 ARM: 5687/1: fix an oops with highmem In xdr_partial_copy_from_skb() there is that sequence: kaddr = kmap_atomic(*ppage, KM_SKB_SUNRPC_DATA); [...] flush_dcache_page(*ppage); kunmap_atomic(kaddr, KM_SKB_SUNRPC_DATA); Mixing flush_dcache_page() and kmap_atomic() is a bit odd, especially since kunmap_atomic() must deal with cache issues already. OTOH the non-highmem case must use flush_dcache_page() as kunmap_atomic() becomes a no op with no cache maintenance. Problem is that with highmem the implementation of kmap_atomic() doesn't set page->virtual, and page_address(page) returns 0 in that case. Here flush_dcache_page() calls __flush_dcache_page() which calls __cpuc_flush_dcache_page(page_address(page)) resulting in a kernel oops. None of the kmap_atomic() implementations uses set_page_address(). Hence we can assume page_address() is always expected to return 0 in that case. Let's conditionally call __cpuc_flush_dcache_page() only when the page address is non zero, and perform that test only when highmem is configured. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 8e22676e56673494a15ba95b57af21eb47d8b98a Author: wanzongshun Date: Fri Aug 21 07:09:03 2009 +0100 ARM: 5684/1: Add nuc960 platform to w90x900 Add nuc960 platform to w90x900. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 936fbe9efc96d40c8cdc23bba31a3beaad4f96c1 Author: wanzongshun Date: Fri Aug 21 07:08:24 2009 +0100 ARM: 5683/1: Add nuc950 platform to w90x900 Add nuc950 platform to w90x900. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 35c9221acb133ecc9abd701a1fb6fa909d177a77 Author: wanzongshun Date: Fri Aug 21 07:07:46 2009 +0100 ARM: 5682/1: Add cpu.c and dev.c and modify some files of w90p910 platform Add the cpu.c and dev.c and modify w90p910 platform to apply to use the common API(provided by cpu.c and dev.c) at the same time, I renamed all w90x900 to nuc900 in every c file of w90x900 platform and touchscreen's driver name. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit b736b89f8a001cb73f020ca90a6fac77861cddf6 Author: Leo Chen Date: Tue Jul 28 23:43:33 2009 +0100 ARM: 5626/1: add suspend/resume functions to amba-pl011 serial driver Add suspend/resume functions to the AMBA pl011 serial driver. Signed-off-by: Leo Chen Signed-off-by: Russell King commit 8afe0b96b36bb967a00658003736ffa97967ee80 Author: Leo Chen Date: Tue Jul 28 23:34:59 2009 +0100 ARM: 5625/1: fix hard coded 4K resource size in amba bus detection This patch modifies the amba bus detection logic in the kernel to detect the AMBA devices using the calculated resource size information rather than the hard coded 4K size. It also calculates the resource size when request mem region and release mem region. Signed-off-by: Leo Chen Signed-off-by: Russell King commit 98b0979f025e5b98ce8f24e6dc0f9713e6f6c88c Author: Russell King Date: Thu Jul 9 15:17:41 2009 +0100 MMC: MMCI: convert realview MMC to use gpiolib Signed-off-by: Russell King commit 7064d2092df5cbff289457424969292bc4062df4 Author: Linus Walleij Date: Wed Aug 26 09:58:24 2009 +0100 ARM: 5685/1: Make MMCI driver compile without gpiolib The recent addition of optional gpiolib support to check if a card was inserted or write protected was really not optional. It needs this ifdef to become optional so that U300 compiles, for example. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit f1939f7c56456d22a559d2c75156e91912a2e97e Author: Shane Wang Date: Wed Sep 2 20:05:22 2009 +1000 crypto: vmac - New hash algorithm for intel_txt support This patch adds VMAC (a fast MAC) support into crypto framework. Signed-off-by: Shane Wang Signed-off-by: Joseph Cihula Signed-off-by: Herbert Xu commit 5ca1b998d33c39819fca2b675d80c4469e705f2d Author: Stephen Hemminger Date: Tue Sep 1 19:25:05 2009 +0000 net: file_operations should be const All instances of file_operations should be const. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3b401a81c0d50ea9c718cf837f62cc2e6e79cc30 Author: Stephen Hemminger Date: Tue Sep 1 19:25:04 2009 +0000 inet: inet_connection_sock_af_ops const The function block inet_connect_sock_af_ops contains no data make it constant. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b2e4b3debc327a5b53d9622e0b1785eea2ea2aad Author: Stephen Hemminger Date: Tue Sep 1 19:25:03 2009 +0000 tcp: MD5 operations should be const Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 98147d527a038c4aab599e57323a4e5d727c28a6 Author: Stephen Hemminger Date: Tue Sep 1 19:25:02 2009 +0000 net: seq_operations should be const Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0fc0b732eaa38beb93a6fb62f77c7bd9622c76ec Author: Stephen Hemminger Date: Wed Sep 2 01:03:33 2009 -0700 netdev: drivers should make ethtool_ops const No need to put ethtool_ops in data, they should be const. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit daf09de817353f18bb81a23a023d429cfd258e62 Author: Matt Carlson Date: Tue Sep 1 13:22:42 2009 +0000 tg3: Update version to 3.102 This patch updates the tg3 version to 3.102. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 882e9793faa9425dff581c33b1af45ed10145626 Author: Matt Carlson Date: Tue Sep 1 13:21:36 2009 +0000 tg3: Add MDIO bus address assignments The 5717 is a dual port chip that has a shared MDIO bus design. While it is impossible for one function to interface with the wrong phy, that function still needs to know which MDIO bus address to use when interfacing with its own phy. This patch adds code to determine which MDIO bus address to use. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit a1b950d56de3c72bea3343f54de24c43fb7dc74e Author: Matt Carlson Date: Tue Sep 1 13:20:17 2009 +0000 tg3: Add 5717 NVRAM detection routines This patch adds NVRAM detection routines for the 5717. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit f6eb9b1fc1411d22c073f5264e5630a541d0f7df Author: Matt Carlson Date: Tue Sep 1 13:19:53 2009 +0000 tg3: Add 5717 asic rev This patch adds the 5717 asic rev. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 8d9d7cfc0ec2fe37ff9afd74326d03f38f96ad1b Author: Matt Carlson Date: Tue Sep 1 13:19:05 2009 +0000 tg3: Assign rx ret producer indexes by vector When RSS is enabled, the status block format changes slightly. The "rx_jumbo_consumer", "reserved", and "rx_mini_consumer" members get mapped to the other three rx return ring producer indexes. This patch introduces a new per-interrupt member which identifies which location in the status block a particular vector should look for return ring updates. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 0c1d0e2b05e92ad847b3ebe1c75b7974086bc8fa Author: Matt Carlson Date: Tue Sep 1 13:16:33 2009 +0000 tg3: Adjust RSS ring allocation strategies When multivector RSS is enabled, the first interrupt vector is only used to report link interrupts and error conditions. This patch changes the code so that rx and tx ring resources are not allocated for this vector. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit baf8a94a572928710e9e60967d153a7bf3aebd9c Author: Matt Carlson Date: Tue Sep 1 13:13:00 2009 +0000 tg3: Add RSS support This patch adds code needed to enable RSS. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit b6080e126012047d42e53154189fdca286d0600e Author: Matt Carlson Date: Tue Sep 1 13:12:00 2009 +0000 tg3: Add coalesce parameters for msix vectors This patch adds code to tune the coalescing parameters for the other msix vectors. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit fed9781081aa9600765346c108ff22751e003715 Author: Matt Carlson Date: Tue Sep 1 13:10:19 2009 +0000 tg3: Enable NAPI instances for other int vectors This patch adds code to enable and disable the rest of the NAPI instances. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit fe5f5787f0866e9f883bdd90018a354f2f3defd1 Author: Matt Carlson Date: Tue Sep 1 13:09:39 2009 +0000 tg3: Add TSS support This patch exposes the additional transmit rings to the kernel and makes the necessary modifications to transmit, open, and close paths. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 89aeb3bceaa1a02651206a76a7b9dcb8f3884702 Author: Matt Carlson Date: Tue Sep 1 13:08:58 2009 +0000 tg3: Update intmbox and coal_now for msix This patch fixes up two spots that need attention now that msix support has been added. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit f77a6a8e6cee17b21a43bdf6b853cc2fc0e2c4df Author: Matt Carlson Date: Tue Sep 1 13:04:37 2009 +0000 tg3: Add tx and rx ring resource tracking This patch adds code to assign status block, tx producer ring and rx return ring resources needed for the other interrupt vectors. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 646c9eddcffd202bb0f3d906cecf94eaf10cad31 Author: Matt Carlson Date: Tue Sep 1 12:58:41 2009 +0000 tg3: Add mailbox assignments The 5717 assigns mailbox locations to interrupt vectors in a rather non-intuitive way. (Much of the complexity stems from legacy compatibility issues.) This patch implements the assignment scheme. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 679563f47cd2547a0e091b5bd3ddf30027af6b08 Author: Matt Carlson Date: Tue Sep 1 12:55:46 2009 +0000 tg3: Add MSI-X support This patch adds MSI-X support. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 4f125f42dd55390016e21f8b3960f99d02d1001f Author: Matt Carlson Date: Tue Sep 1 12:55:02 2009 +0000 tg3: Add support code around kernel interrupt API This patch adds code to support multiple interrupt vectors around the kernel's interrupt API. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 2d31ecaf10c4ae03d49aed516481b2839b0220f6 Author: Matt Carlson Date: Tue Sep 1 12:53:31 2009 +0000 tg3: Create tg3_rings_reset() This patch moves most of the chip ring setup logic into a separate function. This will make it easier to verify the multi ring setup changes. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit fd2ce37f8e4a570ce90b141a2e7c476c5b399836 Author: Matt Carlson Date: Tue Sep 1 12:51:13 2009 +0000 tg3: Add per-int coalesce now member Each interrupt vector has its own bit in the host coalescing register to force that vector's status block to be updated and generate an interrupt. This patch adds a member to the per-interrupt structure that records which bit belongs to that vector. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit f19af9c2cc015e42dfe4bd5c383e32066ec2801c Author: Matt Carlson Date: Tue Sep 1 12:47:49 2009 +0000 tg3: inline tg3_cond_int() This patch inlines the code of tg3_cond_int() into the function's only callsite. This prep work makes the following patch cleaner. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 6cdee2f96a97f6da26bd3759c3f8823332fbb438 Merge: 0625491 2fbd3da Author: David S. Miller Date: Wed Sep 2 00:32:56 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/yellowfin.c commit 768d0c27226e6587cad2fcf543f9711da3f3774e Author: Peter Zijlstra Date: Thu Jul 23 20:13:26 2009 +0200 sched: Add wait, sleep and iowait accounting tracepoints Add 3 schedstat tracepoints to help account for wait-time, sleep-time and iowait-time. They can also be used as a perf-counter source to profile tasks on these clocks. Signed-off-by: Peter Zijlstra Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Arjan van de Ven LKML-Reference: [ build fix for the !CONFIG_SCHEDSTATS case ] Signed-off-by: Ingo Molnar commit 8f0dfc34e9b323a028c2ec41abb7e9de477b7a94 Author: Arjan van de Ven Date: Mon Jul 20 11:26:58 2009 -0700 sched: Provide iowait counters For counting how long an application has been waiting for (disk) IO, there currently is only the HZ sample driven information available, while for all other counters in this class, a high resolution version is available via CONFIG_SCHEDSTATS. In order to make an improved bootchart tool possible, we also need a higher resolution version of the iowait time. This patch below adds this scheduler statistic to the kernel. Signed-off-by: Arjan van de Ven Signed-off-by: Peter Zijlstra LKML-Reference: <4A64B813.1080506@linux.intel.com> Signed-off-by: Ingo Molnar commit cede3930f0ca6fef353fa01306c72a01420bd45e Author: Benjamin Herrenschmidt Date: Mon Aug 31 21:34:36 2009 +0000 powerpc: Fix some late PowerMac G5 with PCIe ATI graphics A misconfiguration by the firmware of the U4 PCIe bridge on PowerMac G5 with the U4 bridge (latest generations, may also affect the iMac G5 "iSight") is causing us to re-assign the PCI BARs of the video card, which can get it out of sync with the firmware, thus breaking offb. This works around it by fixing up the bridge configuration properly at boot time. It also fixes a bug where the firmware provides us with an incorrect set of accessible regions in the device-tree. Signed-off-by: Benjamin Herrenschmidt commit 76acc2c1a7a9a8c2cae7e9cf8d0a8b374a48aa94 Author: Kumar Gala Date: Tue Sep 1 15:48:42 2009 +0000 powerpc/fsl-booke: Use HW PTE format if CONFIG_PTE_64BIT Switch to using the Power ISA defined PTE format when we have a 64-bit PTE. This makes the code handling between fsl-booke and book3e-64 similiar for TLB faults. Additionally this lets use take advantage of the page size encodings and full permissions that the HW PTE defines. Also defined _PMD_PRESENT, _PMD_PRESENT_MASK, and _PMD_BAD since the 32-bit ppc arch code expects them. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 1d5d9527d8ed8d87beb22a4fd954366aeabd12c7 Author: Kumar Gala Date: Tue Sep 1 15:43:54 2009 +0000 powerpc/book3e: Add missing page sizes Add defines for the other page sizes. Even if HW doesn't support them we made them use them for hugetlbfs support. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit f14eff1cc2f418a7c5e23aedc6a1bdca3343b871 Merge: 84e9dab 326ba50 Author: Ingo Molnar Date: Wed Sep 2 08:20:32 2009 +0200 Merge commit 'v2.6.31-rc8' into sched/core Merge reason: bump from rc5 to rc8, but also pick up TP_perf_assign() API, a patch will be queued that depends on it. Signed-off-by: Ingo Molnar commit 46db2f86a3b2a94e0b33e0b4548fb7b7b6bdff66 Author: Brian King Date: Fri Aug 28 12:06:29 2009 +0000 powerpc/pseries: Fix to handle slb resize across migration The SLB can change sizes across a live migration, which was not being handled, resulting in possible machine crashes during migration if migrating to a machine which has a smaller max SLB size than the source machine. Fix this by first reducing the SLB size to the minimum possible value, which is 32, prior to migration. Then during the device tree update which occurs after migration, we make the call to ensure the SLB gets updated. Also add the slb_size to the lparcfg output so that the migration tools can check to make sure the kernel has this capability before allowing migration in scenarios where the SLB size will change. BenH: Fixed #include -> to avoid breaking ppc32 build Signed-off-by: Brian King Signed-off-by: Benjamin Herrenschmidt commit 936e894a976dd3b0f07f1f6f43c17b77b7e6146d Merge: 69575d3 326ba50 Author: Ingo Molnar Date: Wed Sep 2 08:17:56 2009 +0200 Merge commit 'v2.6.31-rc8' into x86/txt Conflicts: arch/x86/kernel/reboot.c security/Kconfig Merge reason: resolve the conflicts, bump up from rc3 to rc8. Signed-off-by: Ingo Molnar commit b8e4a7dae53760b9791aca96e74366078692d90f Author: Lyonel Vincent Date: Sun Aug 30 08:54:20 2009 +0000 powerpc/powermac: Thermal control turns system off too eagerly On certain PowerMacs, a module (therm_windtunnel) controls various thermal settings (it can report CPU/case temperature, change speed of internal fans, etc.) By default, the hardware thermal control has a temperature limit to protect the computer from damages (the default limit seems to be 80°C) but therm_windtunnel.c reduces it to an anormaly low value (65°C), which means that he computer will shut down randomly when hit by direct sun light or during summer (summer in France can be quite hot), actually possibly losing data instead of protecting it. The overheat limit in therm_windtunnel.c:253-254 should be set to 75°C and 70°C instead of 65°C and 60°C respectively. From: Lyonel Vincent Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Benjamin Herrenschmidt commit 0ed2c722c650513ba4bce868c7a052e576c060e2 Author: Grant Likely Date: Fri Aug 28 08:58:16 2009 +0000 powerpc/pci: Merge ppc32 and ppc64 versions of phb_scan() The two versions are doing almost exactly the same thing. No need to maintain them as separate files. This patch also has the side effect of making the PCI device tree scanning code available to 32 bit powerpc machines, but no board ports actually make use of this feature at this point. Signed-off-by: Grant Likely Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 842ae63800bc2be62085d7ce5b3a2298c014d37a Author: Takashi Iwai Date: Wed Sep 2 07:43:08 2009 +0200 ALSA: hda - Add support of Alienware M17x laptop Added the quirk for Alienware M17x with IDT 92HD73* codec chip. It has two HP and one line-out jack, one mic jack, a built-in speaker and a built-in mic. Signed-off-by: Takashi Iwai commit ae4b688db2432baad379f73fdcac13ec24f603d5 Author: Huang Ying Date: Mon Aug 31 13:11:54 2009 +0800 x86: Move kernel_fpu_using to irq_fpu_usable in asm/i387.h This function measures whether the FPU/SSE state can be touched in interrupt context. If the interrupted code is in user space or has no valid FPU/SSE context (CR0.TS == 1), FPU/SSE state can be used in IRQ or soft_irq context too. This is used by AES-NI accelerated AES implementation and PCLMULQDQ accelerated GHASH implementation. v3: - Renamed to irq_fpu_usable to reflect the purpose of the function. v2: - Renamed to irq_is_fpu_using to reflect the real situation. Signed-off-by: Huang Ying CC: H. Peter Anvin Signed-off-by: H. Peter Anvin commit 81e251766e8f8c9d7abb5db784e58c5c45f82797 Author: Christoph Hellwig Date: Tue Sep 1 19:56:55 2009 -0400 xfs: un-static xfs_inobt_lookup xfs_inobt_lookup is also used in xfs_itable.c, remove the STATIC modifier from it's declaration to fix non-debug builds. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 0625491493d9000e4556bf566d205c28c8e7dc4e Author: Eric Dumazet Date: Tue Sep 1 18:37:16 2009 -0700 ipv6: ip6_push_pending_frames() should increment IPSTATS_MIB_OUTDISCARDS qdisc drops should be notified to IP_RECVERR enabled sockets, as done in IPV4. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 69575d388603365f2afbf4166df93152df59b165 Author: Shane Wang Date: Tue Sep 1 18:25:07 2009 -0700 x86, intel_txt: clean up the impact on generic code, unbreak non-x86 Move tboot.h from asm to linux to fix the build errors of intel_txt patch on non-X86 platforms. Remove the tboot code from generic code init/main.c and kernel/cpu.c. Signed-off-by: Shane Wang Signed-off-by: H. Peter Anvin commit f2798eb4e01b095f273f4bf40f511c9d69c0e1da Author: Xiao Guangrong Date: Sun Aug 30 20:10:43 2009 +0000 drop_monitor: fix trace_napi_poll_hit() The net_dev of backlog napi is NULL, like below: __get_cpu_var(softnet_data).backlog.dev == NULL So, we should check it in napi tracepoint's probe function Acked-by: Neil Horman Signed-off-by: Xiao Guangrong Signed-off-by: David S. Miller commit e7a088f935180b90cfe6ab0aaae8a556f46885fe Author: Alexey Dobriyan Date: Tue Sep 1 17:54:07 2009 -0700 sparc: convert /proc/io_map, /proc/dvma_map to seq_file Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 6d703a81ad5fdd102334751ddacb053ecc6ff046 Author: Alexey Dobriyan Date: Tue Sep 1 17:52:57 2009 -0700 ide: convert to ->proc_fops ->read_proc, ->write_proc are going away, ->proc_fops should be used instead. The only tricky place is IDENTIFY handling: if for some reason taskfile_lib_get_identify() fails, buffer _is_ changed and at least first byte is overwritten. Emulate old behaviour with returning that first byte to userspace and reporting length=1 despite overall -E. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 3732e9bd2d841db588624b1bf560bfc9d0dcb1fd Author: David S. Miller Date: Tue Sep 1 17:50:50 2009 -0700 xilinx_emaclite: Fix permissions on driver sources. Noticed by Michal Simek. Signed-off-by: David S. Miller commit 89d69d2b75a8f7e258f4b634cd985374cfd3202e Author: Stephen Hemminger Date: Tue Sep 1 11:13:19 2009 +0000 net: make neigh_ops constant These tables are never modified at runtime. Move to read-only section. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dcbfef820bdd1cdb412ccf234840e23edf67014f Author: roel kluin Date: Sun Aug 30 22:40:15 2009 +0000 au1000_eth: possible NULL dereference of aup->mii_bus->irq in au1000_probe() aup->mii_bus->irq allocation may fail, prevent a dereference of NULL. Signed-off-by: Roel Kluin Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 5d7892298a819743b3892df08bb496992fe85951 Author: Damian Lukowski Date: Tue Sep 1 10:24:04 2009 +0000 RTO connection timeout: sysctl documentation update This patch updates the sysctl documentation concerning the interpretation of tcp_retries{1,2} and tcp_orphan_retries. Signed-off-by: Damian Lukowski Signed-off-by: David S. Miller commit 5152fc7de3ae31b46692022ea63ce0501280f5b1 Author: Damian Lukowski Date: Tue Sep 1 10:24:00 2009 +0000 RTO connection timeout: coding style fixes and comments This patch affects the retransmits_timed_out() function. Changes: 1) Variables have more meaningful names 2) retransmits_timed_out() has an introductionary comment. 3) Small coding style changes. Signed-off-by: Damian Lukowski Signed-off-by: David S. Miller commit 72c60683282a6cd047db47d605eb96e2a6fac72c Author: Mike McCormack Date: Tue Sep 1 03:54:27 2009 +0000 sky2: Use 32bit read to read Y2_VAUX_AVAIL B0_CTST is a 24bit register according to the vendor driver (sk98lin). A 16bit read on B0_CTST will always return 0 for Y2_VAUX_AVAIL (1<<16), so use a 32bit read when testing Y2_VAUX_AVAIL Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 90bbebb4a8258a398705ecaa2e6b9e177928ee7a Author: Mike McCormack Date: Tue Sep 1 03:21:35 2009 +0000 sky2: Create buffer alloc and free helpers Refactor similar two sections of code that free buffers into one. Only call tx_init if all buffer allocations succeed. Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 10547ae2c01acdace636e23c991b21fef05428b4 Author: Stephen Hemminger Date: Mon Aug 31 07:31:41 2009 +0000 sky2: fix management of driver LED Observed by Mike McCormack. The LED bit here is just a software controlled value used to turn on one of the LED's on some boards. The register value was wrong, which could have been causing some power control issues. Get rid of problematic define use the correct mask. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 89f56d1e91cfa535ccc6cc60e9e12e02682fd972 Author: Michael S. Tsirkin Date: Sun Aug 30 07:04:42 2009 +0000 tun: reuse struct sock fields As tun always has an embeedded struct sock, use sk and sk_receive_queue fields instead of duplicating them in tun_struct. Signed-off-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 86393e52c3f1e2f6be18383f6ecdbcdc5727d545 Author: Alexey Dobriyan Date: Sat Aug 29 01:34:49 2009 +0000 netns: embed ip6_dst_ops directly struct net::ipv6.ip6_dst_ops is separatedly dynamically allocated, but there is no fundamental reason for it. Embed it directly into struct netns_ipv6. For that: * move struct dst_ops into separate header to fix circular dependencies I honestly tried not to, it's pretty impossible to do other way * drop dynamical allocation, allocate together with netns For a change, remove struct dst_ops::dst_net, it's deducible by using container_of() given dst_ops pointer. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 885a136c52a8871175477baf3903e1c38751b35a Author: Eric Dumazet Date: Tue Sep 1 06:31:18 2009 +0000 bonding: use compare_ether_addr_64bits() in ALB We can speedup ether addresses compares using compare_ether_addr_64bits() instead of memcmp(). We make sure all operands are at least 8 bytes long and 16bits aligned (or better, long word aligned if possible) Signed-off-by: Eric Dumazet Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller commit ac06713d55d450cbc9ef871b1b238409238f0fe0 Author: Eric Dumazet Date: Tue Sep 1 05:46:05 2009 +0000 macvlan: Use compare_ether_addr_64bits() To speedup ether addresses compares, we can use compare_ether_addr_64bits() (all operands are guaranteed to be at least 8 bytes long) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c3c7432741211bc9f6b072958653647b9d5cdd5d Author: Mallikarjuna R Chilakala Date: Tue Sep 1 13:50:14 2009 +0000 ixgbe: Patch to fix 82599 multispeed fiber link issues when driver is loaded without any cable and reconnecting it to 1G partner In 82599 multi speed fiber case when driver is loaded without any cable and reconnecting the cable with a 1G partner does not bring up the link in 1Gb mode. When there is no link we first setup the link at 10G & 1G and then try to re-establish the link at highest speed 10G and thereby changing autoneg_advertised value to highest speed 10G. After connecting back the cable to a 1G link partner we never try 1G as autoneg advertised value is changed to link at 10G only. The following patch fixes the issue by properly initializing the autoneg_advertised value just before exiting from link setup routine. Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b7fdb714856541cd4b659a7b86ec04415e2809f7 Author: Peter P Waskiewicz Jr Date: Tue Sep 1 13:49:56 2009 +0000 ixgbe: Properly disable DCB arbiters prior to applying changes When disabling the Rx and Tx data arbiters prior to configuration changes, the arbiters were not being shut down properly. This can create a race in the DCB hardware blocks, and potentially hang the arbiters. Also, the Tx descriptor arbiter shouldn't be disabled when applying configuration changes; disabling this arbiter can cause a Tx hang. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8620a103b5e38d952280f3d97b5e1bcce8d7874c Author: Mallikarjuna R Chilakala Date: Tue Sep 1 13:49:35 2009 +0000 ixgbe: refactor link setup code Link code cleanup: a number of redundant functions and MAC variables are cleaned up, with some functions being consolidated into a single-purpose code path. Removed following deprecated link functions and mac variables * ixgbe_setup_copper_link_speed_82598 * ixgbe_setup_mac_link_speed_multispeed_fiber * ixgbe_setup_mac_link_speed_82599 * mac.autoneg, mac.autoneg_succeeded, phy.autoneg_wait_to_complete Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fd38d7a0a0618656e491ed67af735bc4e3600367 Author: Graham, David Date: Mon Aug 31 14:12:51 2009 +0000 e1000: Fix for e1000 kills IPMI on a tagged vlan. Enabling VLAN filters (VFE) when the primary interface is brought up (per commit 78ed11a) has caused problems for some users who manage their systems using IPMI over a VLAN. This is because when the driver enables the VLAN filter, this same filter table is enabled for the management channel, and the table is initially empty, which means that the IPMI/VLAN packets are filtered out and not received by the BMC. This is a problem only on e1000 class adapters, as it is only on e1000 that the filter table is common to the management and host streams. With this change, filtering is only enabled when one or more host VLANs exist, and is disabled when the last host VLAN is removed. VLAN filtering is always disabled when the primary interface is in promiscuous mode, and will be (re)enabled if VLANs exist when the interface exits promiscuous mode. Note that this does not completely resolve the issue for those using VLAN management, because if the host adds a VLAN, then the above problem occurs when that VLAN is enabled. However, it does mean the there is no problem for configurations where management is on a VLAN and the host is not. A complete solution to this issue would require further driver changes. The driver would need to discover if (and which) management VLANs are active before enabling VLAN filtering, so that it could ensure that the managed VLANs are included in the VLAN filter table. This discovery requires that the BMC identifies its VLAN in registers accessible to the driver, and at least on Dell PE2850 systems the BMC does not identify its VLAN to allow such discovery. Intel is pursuing this issue with the BMC vendor. Signed-off-by: Dave Graham Signed-off-by: Jeff Kirsher Tested-by: Krzysztof Piotr Oledzki Signed-off-by: David S. Miller commit 4f1a0ee11d6f9c104c8e6a13dae995709a6922a8 Author: Robert Hancock Date: Thu Jul 30 14:11:29 2009 -0600 sata_sil24: always set protocol override for non-ATAPI data commands The sil24 hardware has a built-in list of commands and associated protocols that gets used by default to decide how to handle a given command. However, if the command is not known to the controller then it presumably assumes it to be a non-data command which then causes protocol mismatch errors if the device ends up requesting data transfer. The new DATA SET MANAGEMENT - Trim command causes this issue since it's a DMA data-out command. Since we should always know best what protocol the command should be using, let's just set the override flag to inform the controller what protocol to use for all non-ATAPI commands with data transfer. Signed-off-by: Robert Hancock Tested-by: Mark Lord Signed-off-by: Jeff Garzik commit 77cdec1ad527560b59ab8dbb063dbb3d0a138bf7 Author: Matthew Garrett Date: Fri Jul 17 19:13:47 2009 +0100 libata: Export AHCI capabilities AHCI exports various capability bits that may be of interest to userspace such as whether the BIOS claims a port is hotpluggable or eSATA. Providing these via sysfs along with the version of the AHCI spec implemented by the host allows userspace to make policy decisions for things like ALPM. Signed-off-by: Matthew Garrett Signed-off-by: Jeff Garzik commit f17259a31237cf0fd5c6c8cf2a4f9e6df405744b Author: Martin K. Petersen Date: Wed Jun 24 21:01:45 2009 -0400 libata: Delegate nonrot flag setting to SCSI Now that the SCSI disk driver correctly handles non-rotational devices we can move setting the queue flag to SCSI. Signed-off-by: Martin K. Petersen Signed-off-by: Jeff Garzik commit 6b406782ad0408f9cb480c2e1b543d194e8206d0 Author: Alan Cox Date: Wed Jun 24 18:29:44 2009 +0100 [libata] Add pata_rdc driver for RDC ATA devices From: Alan Cox Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 87c8b22be201cc4c139f98ef5e0471dd15c01239 Author: Joe Perches Date: Sun Jun 28 09:26:17 2009 -0700 drivers/ata: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit 051d9fbdd1d1ec85ea18ba20581234cf23f1c217 Author: Tejun Heo Date: Fri Jul 3 11:46:12 2009 +0900 libata: remove spindown skipping and warning This was a hack to give userland shutdown tools time to drop manual spindown. All popular distros updated quite some time ago and the due is well passed. Drop it. Signed-off-by: Tejun Heo Cc: Jaswinder Singh Rajput Signed-off-by: Jeff Garzik commit 6521148c6449724c3b707820b9c535c7e8b8afcd Author: Robert Hancock Date: Tue Jul 14 20:43:39 2009 -0600 libata: add command name parsing for error output This patch improve libata's output for error/notification messages to allow easier comprehension and debugging: When ATAPI commands issued through the SCSI layer fail, use SCSI functions to print the CDB in human-readable form instead of just dumping out the CDB in hex. Print out the name of the failed command (as defined by the ATA specification) in error handling output along with the raw register contents. When reporting status of ACPI taskfile commands executed on resume, also output the names of the commands being executed (or not) in readable form. Since the extra data for printing command names increases kernel size slightly, a config option has been added to allow disabling command name output (as well as some of the error register parsing) for those highly sensitive to kernel text size. Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 1e641060c4b564e820abdb6a4c7a603a0d386250 Author: Tejun Heo Date: Fri Jul 17 11:58:33 2009 +0900 libata: clear eh_info on reset completion Resets are done with port frozen but some controllers still issue interrupts during reset and they may end up recording error conditions in ehi leading to unnecessary EH retrials. This patch makes ata_eh_reset() clear ehi on reset completion. As reset is the most severe recovery action, there's nothing to lose by clearing ehi on its completion. Signed-off-by: Tejun Heo Reported-by: Zdenek Kaspar Signed-off-by: Jeff Garzik commit 388539f3ff0cf1de926b03f94e1eec112358f74d Author: Shaohua Li Date: Mon Jul 27 09:24:35 2009 +0800 [libata] add DMA setup FIS auto-activate feature Hopefully results in fewer on-the-wire FIS's and no breakage. We'll see! Signed-off-by: Shaohua Li Signed-off-by: Jeff Garzik commit 2fc37adba0fb05760b8635c6706773af828ccf3c Author: Jeff Garzik Date: Tue Apr 7 19:18:32 2009 -0400 [libata] sata_sil: disable DMA engine in sil_freeze() We must disable the DMA engine before accessing taskfile registers. Signed-off-by: Jeff Garzik commit 54c38444fad6a99b4b19512f8f0055d69115e69e Author: Jeff Garzik Date: Tue Apr 7 19:13:15 2009 -0400 [libata] EH: freeze port before aborting commands Call the ->freeze() hook before aborting qc's, because some hardware requires special handling prior to accessing the taskfile registers (for diagnosis/analysis/reset). Most notably, hardware may wish to disable the DMA engine or interrupts in the ->freeze() hook. Signed-off-by: Jeff Garzik commit 4a9678909b366b1f95e1f93220c61340ab866151 Author: Takashi Iwai Date: Wed Sep 2 01:04:24 2009 +0200 ALSA: hda - Remove dead codes from patch_sigmatel.c Due to the previous fix of input source for IDT92HD73xx, the amp mux and amp vol stuff became unused. Let's rip off dead codes. Signed-off-by: Takashi Iwai commit e2aec17100331669ecae8550a83f551f5e8fc4b8 Author: Takashi Iwai Date: Wed Sep 2 01:00:05 2009 +0200 ALSA: hda - Fix input source selection of IDT92HD73xx Fix the mux_nids to select directly the input source instead of mux mixers so that it works with the current mux enum handler for IDT 92HD73xx codecs. Also, clean up useless / unnecessary mixer controls and init verbs. Signed-off-by: Takashi Iwai commit 6ab409b53dcaf28f83d518a6702f904b7cee3f41 Author: Dave Kleikamp Date: Mon Aug 31 11:07:12 2009 -0400 cifs: Replace wrtPending with a real reference count Currently, cifs_close() tries to wait until all I/O is complete and then frees the file private data. If I/O does not completely in a reasonable amount of time it frees the structure anyway, leaving a potential use- after-free situation. This patch changes the wrtPending counter to a complete reference count and lets the last user free the structure. Signed-off-by: Dave Kleikamp Reviewed-by: Jeff Layton Tested-by: Shirish Pargaonkar Signed-off-by: Steve French commit 1b49c5566136455764a8d17ead25784f534c202d Author: Jeff Layton Date: Fri Aug 28 10:11:11 2009 -0400 cifs: protect GlobalOplock_Q with its own spinlock Right now, the GlobalOplock_Q is protected by the GlobalMid_Lock. That lock is also used for completely unrelated purposes (mostly for managing the global mid queue). Give the list its own dedicated spinlock (cifs_oplock_lock) and rename the list to cifs_oplock_list to eliminate the camel-case. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 8e047d09ee1143058b71f40c5f4d028dde52d883 Author: Jeff Layton Date: Fri Aug 28 10:11:10 2009 -0400 cifs: use tcon pointer in cifs_show_options Minor nit: we already have a tcon pointer so we don't need to dereference cifs_sb again. Also initialize the vars in the declaration. Reported-by: Peter Staubach Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 8c58b54574d18b3782b2a261b9dae3c4e90b6b04 Author: Jeff Layton Date: Mon Aug 17 16:26:49 2009 -0400 cifs: send IPv6 addr in upcall with colon delimiters Make it easier on the upcall program by adding ':' delimiters between each group of hex digits. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit d94ff6b7cab20cc014e22b2fd5f0ff35d3e2308f Author: Takashi Iwai Date: Wed Sep 2 00:20:21 2009 +0200 ALSA: hda - Fix obsolete CONFIG_SND_DEBUG_DETECT Fix the old dead CONFIG_SND_DEBUG_DETECT to CONFIG_SND_DEBUG_VERBOSE. Signed-off-by: Takashi Iwai commit f4378b6eaf63492c0f9a397d52813e0ae6b49e7b Author: Christoph Hellwig Date: Tue Sep 1 14:03:08 2009 -0400 xfs: actually enable the swapext compat handler Fix a small typo in the compat ioctl handler that cause the swapext compat handler to never be called. Signed-off-by: Christoph Hellwig Reviewed-by: Torsten Kaiser Tested-by: Torsten Kaiser Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit f6909f394c2d4a0a71320797df72d54c49c5927e Author: H. Peter Anvin Date: Tue Sep 1 13:31:52 2009 -0700 x86, msr: fix msr-reg.S compilation with gas 2.16.1 msr-reg.S used the :req option on a macro argument, which wasn't supported by gas 2.16.1 (but apparently by some earlier versions of gas, just to be confusing.) It isn't necessary, so just remove it. Signed-off-by: H. Peter Anvin Cc: Borislav Petkov commit aa72a5cf00001d0b952c7c755be404b9118ceb2e Author: Christoph Hellwig Date: Mon Aug 31 21:51:52 2009 -0300 xfs: simplify xfs_trans_iget xfs_trans_iget is a wrapper for xfs_iget that adds the inode to the transaction after it is read. Except when the inode already is in the inode cache, in which case it returns the existing locked inode with increment lock recursion counts. Now, no one in the tree every decrements these lock recursion counts, so any user of this gets a potential double unlock when both the original owner of the inode and the xfs_trans_iget caller unlock it. When looking back in a git bisect in the historic XFS tree there was only one place that decremented these counts, xfs_trans_iput. Introduced in commit ca25df7a840f426eb566d52667b6950b92bb84b5 by Adam Sweeney in 1993, and removed in commit 19f899a3ab155ff6a49c0c79b06f2f61059afaf3 by Steve Lord in 2003. And as long as it didn't slip through git bisects cracks never actually used in that time frame. A quick audit of the callers of xfs_trans_iget shows that no caller really relies on this behaviour fortunately - xfs_ialloc allows this inode from disk so it must not be there before, and all the RT allocator routines only every add each RT bitmap inode once. In addition to removing lots of code and reducing the size of the inode item this patch also avoids the double inode cache lookup in each create/mkdir/mknod transaction. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit 13e6d5cdde0e785aa943810f08b801cadd0935df Author: Christoph Hellwig Date: Mon Aug 31 21:00:31 2009 -0300 xfs: merge fsync and O_SYNC handling The guarantees for O_SYNC are exactly the same as the ones we need to make for an fsync call (and given that Linux O_SYNC is O_DSYNC the equivalent is fdadatasync, but we treat both the same in XFS), except with a range data writeout. Jan Kara has started unifying these two path for filesystems using the generic helpers, and I've started to look at XFS. The actual transaction commited by xfs_fsync and xfs_write_sync_logforce has a different transaction number, but actually is exactly the same. We'll only use the fsync transaction going forward. One major difference is that xfs_write_sync_logforce never issues a cache flush unless we commit a transaction causing that as a side-effect, which is an obvious bug in the O_SYNC handling. Second all the locking and i_update_size vs i_update_core changes from 978b7237123d007b9fa983af6e0e2fa8f97f9934 never made it to xfs_write_sync_logforce, so we add them back. To make xfs_fsync easily usable from the O_SYNC path, the filemap_fdatawait call is moved up to xfs_file_fsync, so that we don't wait on the whole file after we already waited for our portion in xfs_write. We'll also use a plain call to filemap_write_and_wait_range instead of the previous sync_page_rang which did it in two steps including an half-hearted inode write out that doesn't help us. Once we're done with this also remove the now useless i_update_size tracking. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit bd169565993b39b9b4b102cdac8b13e0a259ce2f Author: Dave Chinner Date: Mon Aug 31 20:58:28 2009 -0300 xfs: speed up free inode search Don't search too far - abort if it is outside a certain radius and simply do a linear search for the first free inode. In AGs with a million inodes this can speed up allocation speed by 3-4x. [hch: ported to the new xfs_ialloc.c world order] Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit 2187550525d7bcb8c87689e4eca41b1955bf9ac3 Author: Christoph Hellwig Date: Mon Aug 31 20:58:21 2009 -0300 xfs: rationalize xfs_inobt_lookup* Currenly we have a xfs_inobt_lookup* variant for each comparism direction, and all these get all three fields of the inobt records passed, while the common case is just looking for the inode number and we have only marginally more callers than xfs_inobt_lookup* variants. So opencode a direct call to xfs_btree_lookup for the single case where we need all fields, and replace xfs_inobt_lookup* with a xfs_inobt_looku that just takes the inode number and the direction for all other callers. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit 4254b0bbb1c0826b7443ffa593576696bc591aa2 Author: Christoph Hellwig Date: Mon Aug 31 20:57:14 2009 -0300 xfs: untangle xfs_dialloc Clarify the control flow in xfs_dialloc. Factor out a helper to go to the next node from the current one and improve the control flow by expanding composite if statements and using gotos. The xfs_ialloc_next_rec helper is borrowed from Dave Chinners dynamic allocation policy patches. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit 0b48db80ba689edfd96ed06c3124d6cf1146de3f Author: Dave Chinner Date: Mon Aug 31 20:57:09 2009 -0300 xfs: factor out debug checks from xfs_dialloc and xfs_difree Factor out a common helper from repeated debug checks in xfs_dialloc and xfs_difree. [hch: split out from Dave's dynamic allocation policy patches] Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit afabc24a73bfee2656724b0a70395f1693eaa62b Author: Christoph Hellwig Date: Mon Aug 31 20:57:03 2009 -0300 xfs: improve xfs_inobt_update prototype Both callers of xfs_inobt_update have the record in form of a xfs_inobt_rec_incore_t, so just pass a pointer to it instead of the individual variables. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit 2e287a731e0607e0371dc6165b7dd3ebc67fa8e1 Author: Christoph Hellwig Date: Mon Aug 31 20:56:58 2009 -0300 xfs: improve xfs_inobt_get_rec prototype Most callers of xfs_inobt_get_rec need to fill a xfs_inobt_rec_incore_t, and those who don't yet are fine with a xfs_inobt_rec_incore_t, instead of the three individual variables, too. So just change xfs_inobt_get_rec to write the output into a xfs_inobt_rec_incore_t directly. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit 85c0b2ab5e69ca6133380ead1c50e0840d136b39 Author: Dave Chinner Date: Mon Aug 31 20:56:51 2009 -0300 xfs: factor out inode initialisation Factor out code to initialize new inode clusters into a function of it's own. This keeps xfs_ialloc_ag_alloc smaller and better structured and enables a future inode cluster initialization transaction. Also initialize the agno variable earlier in xfs_ialloc_ag_alloc to avoid repeated byte swaps. [hch: The original patch is from Dave from his unpublished inode create transaction patch series, with some modifcations by me to apply stand-alone] Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit ca43e3beee38623a3f80691b28623d6ecf214742 Author: Steve French Date: Tue Sep 1 17:20:50 2009 +0000 [CIFS] Fix checkpatch warnings Also update version number to 1.61 Signed-off-by: Steve French commit bdb97adcdf0993adbd2eef44b4533620d43792de Author: Suresh Jayaraman Date: Thu Aug 20 13:03:34 2009 +0530 PATCH] cifs: fix broken mounts when a SSH tunnel is used (try #4) One more try.. It seems there is a regression that got introduced while Jeff fixed all the mount/umount races. While attempting to find whether a tcp session is already existing, we were not checking whether the "port" used are the same. When a second mount is attempted with a different "port=" option, it is being ignored. Because of this the cifs mounts that uses a SSH tunnel appears to be broken. Steps to reproduce: 1. create 2 shares # SSH Tunnel a SMB session 2. ssh -f -L 6111:127.0.0.1:445 root@localhost "sleep 86400" 3. ssh -f -L 6222:127.0.0.1:445 root@localhost "sleep 86400" 4. tcpdump -i lo 6111 & 5. mkdir -p /mnt/mnt1 6. mkdir -p /mnt/mnt2 7. mount.cifs //localhost/a /mnt/mnt1 -o username=guest,ip=127.0.0.1,port=6111 #(shows tcpdump activity on port 6111) 8. mount.cifs //localhost/b /mnt/mnt2 -o username=guest,ip=127.0.0.1,port=6222 #(shows tcpdump activity only on port 6111 and not on 6222 Fix by adding a check to compare the port _only_ if the user tries to override the tcp port with "port=" option, before deciding that an existing tcp session is found. Also, clean up a bit by replacing if-else if by a switch statment while at it as suggested by Jeff. Reviewed-by: Jeff Layton Reviewed-by: Shirish Pargaonkar Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit 1b3859bc9e20d764316346665fc93ecea2d2b176 Author: Alexander Strakh Date: Tue Sep 1 17:02:24 2009 +0000 [CIFS] Memory leak in ntlmv2 hash calculation in function calc_ntlmv2_hash memory is not released. 1. If in the line 333 we successfully allocate memory and assign it to pctxt variable: pctxt = kmalloc(sizeof(struct HMACMD5Context), GFP_KERNEL); then we go to line 376 and exit wihout releasing memory pointed to by pctxt variable. Add a memory releasing for pctxt variable before exit from function calc_ntlmv2_hash. Signed-off-by: Alexander Strakh Signed-off-by: Steve French commit 04e715cd46ba523806070fbf9ded009f10e107cd Author: Samuel Ortiz Date: Tue Sep 1 15:14:06 2009 +0200 iwmc3200wifi: Add a last_fw_err debugfs entry In order to check what was the last fw error we got accross resets, we add this debugfs entry. It displays the complete ASSERT information. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit d210176eaaed0c7883caba52665bcfb5d420c660 Author: Samuel Ortiz Date: Tue Sep 1 15:14:05 2009 +0200 iwmc3200wifi: Handle UMAC stalls and UMAC assert properly When UMAC stalls or asserts, we want to reset the device. But when we're associated, the current reset worker will end up calling cfg80211_connect_result() with the cfg80211 sme layer knowing that we're reassociating. That ends up with some ugly warnings. With this patch we're telling the upper layer that we've roamed if reassociation succeeds, and that we're disconnected if it fails. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit d04bd6283cf7433d56f3d8f648f1d6963fda4fdc Author: Samuel Ortiz Date: Tue Sep 1 15:14:04 2009 +0200 iwmc3200wifi: New initial LMAC calibration The LMAC calibration API got broken mostly by having a configuration bitmap being different than the result one. This patch tries to address that issue by correctly running calibrations with the newest firmwares, and keeping a backward compatibility fallback path for older firmwares, where the configuration and result bitmaps were identical. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 31452420ca956f2cf37f705c869e265c33894f07 Author: Zhu Yi Date: Tue Sep 1 15:14:03 2009 +0200 iwmc3200wifi: fix misuse of le16_to_cpu Also mark some functions static. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit c7436273889e0ce511b317041f35344e92344885 Author: Zhu Yi Date: Tue Sep 1 15:14:02 2009 +0200 iwmc3200wifi: add disconnect work When the driver receives "connection terminated" event from device, it could be caused by 2 reasons: the firmware is roaming or the connection is lost (AP disappears). For the former, an association complete event is supposed to come within 3 seconds. For the latter, the driver won't receive any event except the connection terminated. So we kick a delayed work (5*HZ) when we receive the connection terminated event. It will be canceled if it turns out to be a roaming event later. Otherwise we notify SME and userspace the disconnection. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit de15fd31fcabb4b81a556736dd67ec4f71462f07 Author: Zhu Yi Date: Tue Sep 1 15:14:01 2009 +0200 iwmc3200wifi: use cfg80211_roamed to send roam event The device sends connection terminated and [re]association success (or failure) events when roaming occours. The patch uses cfg80211_roamed instead of cfg80211_connect_result to notify SME for roaming. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit d041811d931d4f515fd58e222757cbc7d6375db4 Author: Samuel Ortiz Date: Tue Sep 1 15:14:00 2009 +0200 iwmc3200wifi: Fix sparse warning iwm_cfg80211_get_station() should be static. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit b90a5c9561d3f75f906a84613cc0071121143fb6 Author: Samuel Ortiz Date: Tue Sep 1 15:13:59 2009 +0200 iwmc3200wifi: Set WEP key from connect When connect is called with the LEGACY_PSK authentication type set, and a proper sme->key, we need to set the WEP key straight after setting the profile otherwise the authentication will never start. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit ae73abf2350de7cbfc5c46a936f4d2a532b36679 Author: Zhu Yi Date: Tue Sep 1 15:13:58 2009 +0200 iwmc3200wifi: invalidate profile when necessary before connect If cfg80211 requests to connect when we have already had an active profile, invalidate the current profile first before sending a new profile to UMAC. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 2b7dcfb7d01c9fc9efc6e39618cbf495a6051f9a Author: Jussi Kivilinna Date: Tue Sep 1 15:33:11 2009 +0300 rndis_wlan: remove 'select WIRELESS_EXT' in Kconfig Since rndis_wlan is now converted to cfg80211, WIRELESS_EXT isn't required anymore. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 53d27eaf55fb5a6e820d8e3759588473826d659e Author: Jussi Kivilinna Date: Tue Sep 1 15:33:06 2009 +0300 rndis_wlan: fix sparse endianess warnings Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit c5c4fe90e399e4c1265414249c33429c19a16ea8 Author: Jussi Kivilinna Date: Tue Sep 1 15:33:00 2009 +0300 rndis_wlan: cleanup - remove double newlines between functions - remove commented out function (rndis_set_config_parameter_u32()) - coding style fix in rndis_set_config_parameter_str() - add comment banners between function sections Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 051ae0bf7ff67c0a64485ac3b46a29aeb55a28dc Author: Jussi Kivilinna Date: Tue Sep 1 15:32:55 2009 +0300 rndis_wlan: use bool for on/off switches Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 8f43161aa6bd7bfed0905d3de6cc660fd6b9c2bc Author: Vasanthakumar Thiagarajan Date: Tue Sep 1 17:46:33 2009 +0530 ath9k: Call spin_lock_bh() on btcoex_lock As generic hw timer interrupt handler is moved to tasklet, we no more need to call spin_lock_irqsave(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ebb8e1d78c2f8b1737627ec260d7e39c4bd47385 Author: Vasanthakumar Thiagarajan Date: Tue Sep 1 17:46:32 2009 +0530 ath9k: Move generic hw timer intr handler to bottom-half There is no point handling this in hard irq, move it to tasklet. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 8bc11b491b6cad75e737f1d38bb4b261bd95b291 Author: Johannes Berg Date: Wed Aug 26 18:13:17 2009 +0200 rfkill: relicense header file This header file is copied into userspace tools that need not be GPLv2 licensed, make that easier. Signed-off-by: Johannes Berg Acked-by: Alan Jenkins Acked-by: Henrique de Moraes Holschuh Acked-by: Iñaky Pérez-González Acked-by: Ivo van Doorn Acked-by: Jaswinder Singh Rajput Acked-by: Michael Buesch Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 8a56df0ae1690f8f42a3c6c4532f4b06f93febea Author: Patrick McHardy Date: Tue Sep 1 14:34:01 2009 +0200 netfilter: ebt_ulog: fix checkentry return value Commit 19eda87 (netfilter: change return types of check functions for Ebtables extensions) broke the ebtables ulog module by missing a return value conversion. Signed-off-by: Patrick McHardy commit 5c0d38c9478e79ab7deb1b470dd181d2308a608e Author: jassi brar Date: Tue Sep 1 11:35:08 2009 +0900 ASoC: Debugged improper setting of PLL fields in WM8580 driver Bug was caught while trying to use WM8580 as I2S master on SMDK. Symptoms were lesser LRCLK read by CRO(41.02 instead of 44.1 KHz) Solved by referring to WM8580A manual and setting mask value correctly and making the code to not touch 'reserved' bits of PLL4 register. Signed-off-by: Jassi Signed-off-by: Mark Brown commit dce944dbb2d0046628bcdba882e8edc2c1d93200 Author: Barry Song <21cnbao@gmail.com> Date: Tue Sep 1 12:45:14 2009 +0800 ASoC: new board driver to connect bfin-5xx with ad1836 codec As discussed, the patch uses the original TDM order without rewriting. For the match between TDM slot number and audio channel number, a new API need be added. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit c931aaf0e1b11862077f6884b2cec22833080e23 Merge: ff55df5 ac5672f Author: Ingo Molnar Date: Tue Sep 1 12:13:30 2009 +0200 Merge branch 'x86/paravirt' into x86/cpu Conflicts: arch/x86/include/asm/paravirt.h Manual merge: arch/x86/include/asm/paravirt_types.h Merge reason: x86/paravirt conflicts non-trivially with x86/cpu, resolve it. Signed-off-by: Ingo Molnar commit acde31dc467797ccae3a55b791a77af446cce018 Author: Catalin Marinas Date: Thu Aug 27 14:29:20 2009 +0100 kmemleak: Ignore the aperture memory hole on x86_64 This block is allocated with alloc_bootmem() and scanned by kmemleak but the kernel direct mapping may no longer exist. This patch tells kmemleak to ignore this memory hole. The dma32_bootmem_ptr in dma32_reserve_bootmem() is also ignored. Signed-off-by: Catalin Marinas Acked-by: Ingo Molnar commit 6fa12c85031485dff38ce550c24f10da23b0adaa Author: Damian Lukowski Date: Wed Aug 26 00:16:34 2009 +0000 Revert Backoff [v3]: Calculate TCP's connection close threshold as a time value. RFC 1122 specifies two threshold values R1 and R2 for connection timeouts, which may represent a number of allowed retransmissions or a timeout value. Currently linux uses sysctl_tcp_retries{1,2} to specify the thresholds in number of allowed retransmissions. For any desired threshold R2 (by means of time) one can specify tcp_retries2 (by means of number of retransmissions) such that TCP will not time out earlier than R2. This is the case, because the RTO schedule follows a fixed pattern, namely exponential backoff. However, the RTO behaviour is not predictable any more if RTO backoffs can be reverted, as it is the case in the draft "Make TCP more Robust to Long Connectivity Disruptions" (http://tools.ietf.org/html/draft-zimmermann-tcp-lcd). In the worst case TCP would time out a connection after 3.2 seconds, if the initial RTO equaled MIN_RTO and each backoff has been reverted. This patch introduces a function retransmits_timed_out(N), which calculates the timeout of a TCP connection, assuming an initial RTO of MIN_RTO and N unsuccessful, exponentially backed-off retransmissions. Whenever timeout decisions are made by comparing the retransmission counter to some value N, this function can be used, instead. The meaning of tcp_retries2 will be changed, as many more RTO retransmissions can occur than the value indicates. However, it yields a timeout which is similar to the one of an unpatched, exponentially backing off TCP in the same scenario. As no application could rely on an RTO greater than MIN_RTO, there should be no risk of a regression. Signed-off-by: Damian Lukowski Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f1ecd5d9e7366609d640ff4040304ea197fbc618 Author: Damian Lukowski Date: Wed Aug 26 00:16:31 2009 +0000 Revert Backoff [v3]: Revert RTO on ICMP destination unreachable Here, an ICMP host/network unreachable message, whose payload fits to TCP's SND.UNA, is taken as an indication that the RTO retransmission has not been lost due to congestion, but because of a route failure somewhere along the path. With true congestion, a router won't trigger such a message and the patched TCP will operate as standard TCP. This patch reverts one RTO backoff, if an ICMP host/network unreachable message, whose payload fits to TCP's SND.UNA, arrives. Based on the new RTO, the retransmission timer is reset to reflect the remaining time, or - if the revert clocked out the timer - a retransmission is sent out immediately. Backoffs are only reverted, if TCP is in RTO loss recovery, i.e. if there have been retransmissions and reversible backoffs, already. Changes from v2: 1) Renaming of skb in tcp_v4_err() moved to another patch. 2) Reintroduced tcp_bound_rto() and __tcp_set_rto(). 3) Fixed code comments. Signed-off-by: Damian Lukowski Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4d1a2d9ec1c17df077ed09a0d135bccf5637a3b7 Author: Damian Lukowski Date: Wed Aug 26 00:16:27 2009 +0000 Revert Backoff [v3]: Rename skb to icmp_skb in tcp_v4_err() This supplementary patch renames skb to icmp_skb in tcp_v4_err() in order to disambiguate from another sk_buff variable, which will be introduced in a separate patch. Signed-off-by: Damian Lukowski Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 6ee1652051f14d1c110f48a5b3ee037d63d0c2fa Author: Yi Zou Date: Mon Aug 31 12:34:28 2009 +0000 ixgbe: Add support for dcbnl_rtnl_ops.setapp/getapp Add support for dcbnl_rtnl_ops.setapp/getapp to set or get the current user priority bitmap for the given application protocol. Currently, 82599 only supports setapp/getapp for Fiber Channel over Ethernet (FCoE) protocol. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 579496865cf4ea429146382d62047ffdbaab0dee Author: Yi Zou Date: Mon Aug 31 12:33:40 2009 +0000 dcbnl: Add implementations of dcbnl setapp/getapp commands Implements the dcbnl netlink setapp/getapp pair. When a setapp/getapp is received, dcbnl would just pass on to dcbnl_rtnl_op.setapp/getapp that are supposed to be implemented by the low level drivers. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6fa382af61338908e5713234bcee598423f661c3 Author: Yi Zou Date: Mon Aug 31 12:33:20 2009 +0000 dcbnl: Add netlink attributes for setapp/getapp to dcbnl Add defines for dcbnl netlink attributes to support netlink message passing of setapp/getapp in dcbnl. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7114323b1761bdf787ed79323a4a13f787878295 Author: Yi Zou Date: Mon Aug 31 12:32:55 2009 +0000 dcbnl: Add support for setapp/getapp to netdev dcbnl_rtnl_ops Adds support of dcbnl setapp/getapp to dcbnl_rtnl_ops in netdev to allow LLDs to implement their corresponding dcbnl setapp/getapp ops to support the IEEE 802.1Q DCBX setapp/getapp commands. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0f6f290259896afdca30e1ff4a28aff8edd79a14 Author: Yi Zou Date: Mon Aug 31 12:32:34 2009 +0000 dcbnl: Add support for setapp/getapp commands to dcbnl This patch adds dcbnl command definitions to support setapp/getapp functionality from the IEEE 802.1Qaz Data Center Bridging Capability Exchange protocol (DCBX) specification. Section 3.3 defines the application protocol and its 802.1p user priority in DCBX, which is implemented here as a pair of setapp/getapp commands in the kernel dcbnl for setting and retrieving the user priority for an given application protocol. The protocol is identified by the combination of an id and an idtype. Currently, when idtype is 0, the corresponding id gives the ether type of this protocol, e.g., for FCoE, it will be 0x8906; when idtype is 1, then the corresponding id gives the TCP or UDP port number. For more information regarding DCBX spec., please refer to the following: http://www.ieee802.org/1/files/public/docs2008/ az-wadekar-dcbx-capability-exchange-discovery-protocol-1108-v1.01.pdf Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8450ff8cd7fba6e78c07d7c14bf4dc582f8a6c3d Author: Yi Zou Date: Mon Aug 31 12:32:14 2009 +0000 ixgbe: Add support for the net_device_ops.ndo_fcoe_enable/disable to 82599 This adds support to the net_device_ops.ndo_fcoe_enable/disable for 82599. This consequently allows us to dynamically turn FCoE offload feature on or off upon incoming calls to ndo_fcoe_enable/disable. When this happens, FCoE offload features are enabled/disabled accordingly, and this is regardless of whether DCB being turned on or not. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0af46d997fcbfd25a9e166c2431bfebc03720a36 Author: Yi Zou Date: Mon Aug 31 12:31:55 2009 +0000 vlan: Add support for net_devices_ops.ndo_fcoe_enable/_disable to VLAN This adds implementation of the net_devices_ops.ndo_fcoe_enable/_disable to the VLAN driver. It checks if the real_dev has support for ndo_fcoe_enable/ ndo_fcoe_disable and if so, passes on to call the associated real_dev. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cb45439977d3602b91dd0aca2d94fa3b32aebba6 Author: Yi Zou Date: Mon Aug 31 12:31:36 2009 +0000 net: Add ndo_fcoe_enable/ndo_fcoe_disable to net_device_ops Add ndo_fcoe_enable/_disable to net_device_ops so the corresponding HW can initialize itself for FCoE traffic or clean up after FCoE traffic is done. This is expected to be called by the kernel FCoE stack upon receiving a request for creating an FCoE instance on the corresponding netdev interface. When implemented by the actual HW, the HW driver check the op code to perform corresponding initialization or clean up for FCoE. The initialization normally includes allocating extra queues for FCoE, setting corresponding HW registers for FCoE, indicating FCoE offload features via netdev, etc. The clean-up would include releasing the resources allocated for FCoE. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 61357325f377889a1daffa14962d705dc814dd0e Author: Stephen Hemminger Date: Mon Aug 31 19:50:58 2009 +0000 netdev: convert bulk of drivers to netdev_tx_t In a couple of cases collapse some extra code like: int retval = NETDEV_TX_OK; ... return retval; into return NETDEV_TX_OK; Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d0cf9c0dadcdc89a755bcb301cfc9c796eb28ccf Author: Stephen Hemminger Date: Mon Aug 31 19:50:57 2009 +0000 wireless: convert drivers to netdev_tx_t Mostly just simple conversions: * ray_cs had bogus return of NET_TX_LOCKED but driver was not using NETIF_F_LLTX * hostap and ipw2x00 had some code that returned value from a called function that also had to change to return netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0fc480987e69f22b9212f087545b4d1ca6950807 Author: Stephen Hemminger Date: Mon Aug 31 19:50:56 2009 +0000 appletalk: convert drivers to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3b29a56d31d585d39bf9ffe9ef1f10bd637ee0f1 Author: Stephen Hemminger Date: Mon Aug 31 19:50:55 2009 +0000 intel: convert drivers to netdev_tx_t Get rid of some bogus return wrapping as well. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 27a1de95a1461ec0589005c293d6ac23a46cb72d Author: Stephen Hemminger Date: Mon Aug 31 19:50:54 2009 +0000 3com: convert drivers to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ad096463f7ff809389454ea4219058a36564d55e Author: Stephen Hemminger Date: Mon Aug 31 19:50:53 2009 +0000 tulip: convert drivers to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3a27c149ab0e31a7b86e5ee6a27bb3b8b5687f32 Author: Stephen Hemminger Date: Mon Aug 31 19:50:52 2009 +0000 uwb: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 424efe9caf6047ffbcd6b383ff4d2347254aabf1 Author: Stephen Hemminger Date: Mon Aug 31 19:50:51 2009 +0000 netdev: convert pseudo drivers to netdev_tx_t These are all drivers that don't touch real hardware. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6518bbb803fe02b15a3211c8db2afdff0ac4f808 Author: Stephen Hemminger Date: Mon Aug 31 19:50:50 2009 +0000 irda: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dbf02fae406daf4d583a279743869c686024c341 Author: Stephen Hemminger Date: Mon Aug 31 19:50:49 2009 +0000 netdev: convert pcmcia drivers to netdev_tx_t Update all the pcmcia network drivers for netdev_tx_t. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4c5d502d8b2db8947c44dc44bdc67dbe55cce2b9 Author: Stephen Hemminger Date: Mon Aug 31 19:50:48 2009 +0000 hdlc: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d71a674922e7519edb477ecb585e7d29d69c7aa7 Author: Stephen Hemminger Date: Mon Aug 31 19:50:47 2009 +0000 wan: convert drivers to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 61a84108547c1c017683f15311ccbede249fc6fa Author: Stephen Hemminger Date: Mon Aug 31 19:50:46 2009 +0000 tokenring: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 25a79c41ce0ce88a4288adf278e9b0e00f228383 Author: Stephen Hemminger Date: Mon Aug 31 19:50:45 2009 +0000 usbnet: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8b62ff2dbc3d6c13997b9d440dfd0ed00e6df96d Author: Stephen Hemminger Date: Mon Aug 31 19:50:44 2009 +0000 isdn: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 36e4d64a82d9a91a73a2b9b32117aedfe2211fb3 Author: Stephen Hemminger Date: Mon Aug 31 19:50:43 2009 +0000 convert hamradio drivers to netdev_txreturnt_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3c805a22a3a178fc5aaadd518afa5358b78bf69e Author: Stephen Hemminger Date: Mon Aug 31 19:50:42 2009 +0000 convert ATM drivers to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6fef4c0c8eeff7de13007a5f56113475444a253d Author: Stephen Hemminger Date: Mon Aug 31 19:50:41 2009 +0000 netdev: convert pseudo-devices to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dc1f8bf68b311b1537cb65893430b6796118498a Author: Stephen Hemminger Date: Mon Aug 31 19:50:40 2009 +0000 netdev: change transmit to limited range type The transmit function should only return one of three possible values, some drivers got confused and returned errno's or other values. This changes the definition so that this can be caught at compile time. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 96910b6dc8a4fdb75e69f09f47b62d41743d36ba Author: Heiko Carstens Date: Mon Aug 31 14:43:34 2009 +0200 locking, m68k/asm-offsets: Rename signal defines In order to be able to use asm-offsets.h in C files the existing namespace conflicts must be solved first. In asm-offsets.h there are defines for signal constants, so they can be used in assembler files. Unfortunately the existing defines use a 1:1 mapping for the macro names which results in name space conflicts if the header file would also be used in C files. So rename the created defines and add an "L" prefix to each one since that has already been done for the SIGTRAP define in entry_mm. Signed-off-by: Heiko Carstens Cc: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124416.998821502@de.ibm.com> Signed-off-by: Ingo Molnar commit 2ad81ba0147919edc0cf56b80c6224775656b78d Author: Takashi Iwai Date: Tue Sep 1 09:09:26 2009 +0200 ALSA: hda - Unmute docking line-out as default with AD1984A codec Unmute the docking-station line-out as default on machines with AD1984A codec chip. It can be still muted via "Dock" mixer switch. Signed-off-by: Takashi Iwai commit f8ff035e38514ea60aae8752af45ed90e7598fcd Author: Takashi Iwai Date: Tue Sep 1 08:53:19 2009 +0200 ALSA: hda - Add another entry for Nvidia HDMI device Added another entry for Nvidia HDMI device (10de:0003). Reference: kernel bug#14097 http://bugzilla.kernel.org/show_bug.cgi?id=14097 Signed-off-by: Takashi Iwai commit ff55df53dfdd338906c8ba9d1f4a759b86b869d5 Author: H. Peter Anvin Date: Mon Aug 31 14:16:57 2009 -0700 x86, msr: Export the register-setting MSR functions via /dev/*/msr Make it possible to access the all-register-setting/getting MSR functions via the MSR driver. This is implemented as an ioctl() on the standard MSR device node. Signed-off-by: H. Peter Anvin Cc: Borislav Petkov commit 8b956bf1f0f2b552ed93cf6cafe823edff298b3b Author: H. Peter Anvin Date: Mon Aug 31 14:13:48 2009 -0700 x86, msr: Create _on_cpu helpers for {rw,wr}msr_safe_regs() Create _on_cpu helpers for {rw,wr}msr_safe_regs() analogously with the other MSR functions. This will be necessary to add support for these to the MSR driver. Signed-off-by: H. Peter Anvin Cc: Borislav Petkov commit ed6d76e4c32de0c2ad5f1d572b948ef49e465176 Author: Paul Moore Date: Fri Aug 28 18:12:49 2009 -0400 selinux: Support for the new TUN LSM hooks Add support for the new TUN LSM hooks: security_tun_dev_create(), security_tun_dev_post_create() and security_tun_dev_attach(). This includes the addition of a new object class, tun_socket, which represents the socks associated with TUN devices. The _tun_dev_create() and _tun_dev_post_create() hooks are fairly similar to the standard socket functions but _tun_dev_attach() is a bit special. The _tun_dev_attach() is unique because it involves a domain attaching to an existing TUN device and its associated tun_socket object, an operation which does not exist with standard sockets and most closely resembles a relabel operation. Signed-off-by: Paul Moore Acked-by: Eric Paris Signed-off-by: James Morris commit 2b980dbd77d229eb60588802162c9659726b11f4 Author: Paul Moore Date: Fri Aug 28 18:12:43 2009 -0400 lsm: Add hooks to the TUN driver The TUN driver lacks any LSM hooks which makes it difficult for LSM modules, such as SELinux, to enforce access controls on network traffic generated by TUN users; this is particularly problematic for virtualization apps such as QEMU and KVM. This patch adds three new LSM hooks designed to control the creation and attachment of TUN devices, the hooks are: * security_tun_dev_create() Provides access control for the creation of new TUN devices * security_tun_dev_post_create() Provides the ability to create the necessary socket LSM state for newly created TUN devices * security_tun_dev_attach() Provides access control for attaching to existing, persistent TUN devices and the ability to update the TUN device's socket LSM state as necessary Signed-off-by: Paul Moore Acked-by: Eric Paris Acked-by: Serge Hallyn Acked-by: David S. Miller Signed-off-by: James Morris commit 0cc0213e73af5963eca259c84876937c20689dbd Author: H. Peter Anvin Date: Mon Aug 31 14:23:29 2009 -0700 x86, msr: Have the _safe MSR functions return -EIO, not -EFAULT For some reason, the _safe MSR functions returned -EFAULT, not -EIO. However, the only user which cares about the return code as anything other than a boolean is the MSR driver, which wants -EIO. Change it to -EIO across the board. Signed-off-by: H. Peter Anvin Cc: Jeremy Fitzhardinge Cc: Chris Wright Cc: Alok Kataria Cc: Rusty Russell commit 79c5dca3619d6ae15815eec14cd7a43db5f38b47 Author: H. Peter Anvin Date: Mon Aug 31 13:59:53 2009 -0700 x86, msr: CFI annotations, cleanups for msr-reg.S Add CFI annotations for native_{rd,wr}msr_safe_regs(). Simplify the 64-bit implementation: we don't allow the upper half registers to be set, and so we can use them to carry state across the operation. Signed-off-by: H. Peter Anvin Cc: Borislav Petkov LKML-Reference: <1251705011-18636-1-git-send-email-petkovbb@gmail.com> commit 709972b1f6f70535d1fddbe1243a51b90c408a1c Author: H. Peter Anvin Date: Mon Aug 31 11:57:20 2009 -0700 x86, asm: Make _ASM_EXTABLE() usable from assembly code We have had this convenient macro _ASM_EXTABLE() to generate exception table entry in inline assembly. Make it also usable for pure assembly. Signed-off-by: H. Peter Anvin commit fe9b4e4e40ffdabbd385cdf171cb861c2fd517c0 Author: H. Peter Anvin Date: Mon Aug 31 11:53:23 2009 -0700 x86, asm: Add 32-bit versions of the combined CFI macros Add 32-bit versions of the combined CFI macros, equivalent to the 64-bit ones except, obviously, operating on 32-bit stack words. Signed-off-by: H. Peter Anvin commit 6b0f43ddfa358dc71ad2a2d57bce5906c1c5dc1a Author: Borislav Petkov Date: Mon Aug 31 09:50:11 2009 +0200 x86, AMD: Disable wrongly set X86_FEATURE_LAHF_LM CPUID bit fbd8b1819e80ac5a176d085fdddc3a34d1499318 turns off the bit for /proc/cpuinfo. However, a proper/full fix would be to additionally turn off the bit in the CPUID output so that future callers get correct CPU features info. Do that by basically reversing what the BIOS wrongfully does at boot. Signed-off-by: Borislav Petkov LKML-Reference: <1251705011-18636-3-git-send-email-petkovbb@gmail.com> Signed-off-by: H. Peter Anvin commit 177fed1ee8d727c39601ce9fc2299b4cb25a718e Author: Borislav Petkov Date: Mon Aug 31 09:50:10 2009 +0200 x86, msr: Rewrite AMD rd/wrmsr variants Switch them to native_{rd,wr}msr_safe_regs and remove pv_cpu_ops.read_msr_amd. Signed-off-by: Borislav Petkov LKML-Reference: <1251705011-18636-2-git-send-email-petkovbb@gmail.com> Signed-off-by: H. Peter Anvin commit 132ec92f3f70fe365c1f4b8d46e66cf8a2a16880 Author: Borislav Petkov Date: Mon Aug 31 09:50:09 2009 +0200 x86, msr: Add rd/wrmsr interfaces with preset registers native_{rdmsr,wrmsr}_safe_regs are two new interfaces which allow presetting of a subset of eight x86 GPRs before executing the rd/wrmsr instructions. This is needed at least on AMD K8 for accessing an erratum workaround MSR. Originally based on an idea by H. Peter Anvin. Signed-off-by: Borislav Petkov LKML-Reference: <1251705011-18636-1-git-send-email-petkovbb@gmail.com> Signed-off-by: H. Peter Anvin commit 1da1daed813c534263a87ffc36d5b775e65231ad Merge: a0f7bfd a022fe0 Author: Felix Blyakher Date: Mon Aug 31 15:22:44 2009 -0500 Merge branch 'master' of ssh+git://oss.sgi.com/oss/git/xfs/xfs commit a0f7bfd3429fc48f4d1aa5364b9428d75798ba04 Author: Julia Lawall Date: Mon Jul 27 18:15:25 2009 +0200 fs/xfs: Correct redundant test bp was tested for NULL a few lines before, followed by a return, and there is no intervening modification of its value. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( *x == NULL | *x != NULL ) // Signed-off-by: Julia Lawall Acked-by: Felix Blyakher Signed-off-by: Felix Blyakher commit eb00457d624c70a2492c319e7e05ed7e067b2794 Author: Eric Sandeen Date: Sun Jul 5 12:23:35 2009 -0500 xfs: remove XFS_INO64_OFFSET Commit a19d9f887d81106d52cacbc9930207b487e07e0e removed the ino64 option but left the XFS_INO64_OFFSET define it used in place - just remove it. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit fef1111ecdd2b5198afe91537a5cd4c6be80a255 Author: Eric Sandeen Date: Thu Jul 2 21:35:43 2009 -0500 un-static xfs_read_agf CONFIG_XFS_DEBUG builds still need xfs_read_agf to be non-static, oops. Signed-off-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit d96f8f891f69ac1dc8c7bd82e27525de220c04e1 Author: Eric Sandeen Date: Thu Jul 2 00:09:33 2009 -0500 xfs: add more statics & drop some unused functions A lot more functions could be made static, but they need forward declarations; this does some easy ones, and also found a few unused functions in the process. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit 1c29ce672fe817c208309eea0c1ff7bf76250f15 Author: Vasanthakumar Thiagarajan Date: Mon Aug 31 17:48:36 2009 +0530 ath9k: Do an AHB reset before doing RTC reset Doing an RTC reset when DMA is active may corrupt memory, make sure no DMA is active at this moment by doing an AHB reset. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 3107edbae8216a80920bed7f8d4ec2e6b62390f2 Author: Randy Dunlap Date: Sun Aug 30 13:22:57 2009 -0700 ipw2200: fix kconfig dependencies Fix kconfig dependencies for ipw2x00 drivers, fixes build errors: ERROR: "wiphy_free" [drivers/net/wireless/ipw2x00/libipw.ko] undefined! ERROR: "wiphy_unregister" [drivers/net/wireless/ipw2x00/libipw.ko] undefined! ERROR: "wiphy_new" [drivers/net/wireless/ipw2x00/libipw.ko] undefined! ERROR: "cfg80211_wext_giwname" [drivers/net/wireless/ipw2x00/ipw2200.ko] undefined! ERROR: "wiphy_register" [drivers/net/wireless/ipw2x00/ipw2200.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit daee6c092aa49ea090612738253ef0d11d120344 Author: Ivo van Doorn Date: Sat Aug 29 20:30:45 2009 +0200 rt2x00: Reorganize padding & L2 padding The old function rt2x00queue_payload_align() handled both adding and removing L2 padding and some basic frame alignment. The entire function was being abused because it had multiple functions and the header length argument was somtimes used to align the header instead of the payload. Additionally there was a bug when inserting L2 padding that only the payload was aligned but not the header. This happens when the header wasn't aligned properly by mac80211, but rt2x00lib only moves the payload. A secondary problem was that when removing L2 padding during TXdone or RX the skb wasn't resized to the proper size. Split the function into seperate functions each handling its task as it should. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2e27cff871dec9371e41022aaaebb3452ec069c0 Author: Ivo van Doorn Date: Sat Aug 29 19:10:14 2009 +0200 rt2x00: Fix TX status reporting Not all values of the TX status enumeration were covered during updating of the TX statistics. This could lead to wrong bitrate tuning but also wrong behavior in tools like hostapd. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1ee50cd9a22fdb22ce7bdb7f978d25b79993788d Author: Gábor Stefanik Date: Fri Aug 28 22:36:02 2009 +0200 b43: LP-PHY: Fix TX gain tables The rev1 2GHz and rev2 5GHz gain tables were incorrectly documented on the specs originally. Update these gaintables to match the cor- rected specs. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c71dbd3316d9ae8bc49d90b5a0b2915cd5089cff Author: Gábor Stefanik Date: Fri Aug 28 22:34:21 2009 +0200 b43: Fix typo in modparam_btcoex description Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 0136e51edbdae7f82aa1c32ad5cd6a49ec917c9c Author: Gábor Stefanik Date: Fri Aug 28 22:32:17 2009 +0200 b43: Add myself to module authors & to LP-PHY file copyright notices Also mark the LP-PHY driver "802.11a/g" instead of "802.11g", as LP-PHY is capable of both 2GHz and 5GHz operation. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c206a39d58fa335275403088171482f66fdbedcf Author: Gábor Stefanik Date: Fri Aug 28 21:37:00 2009 +0200 b43: Refactor and update antenna diversity for A/G-PHY -Make use of the b43_phy_set/mask/maskset helpers. -Fix a few errors in the code. -Make the code more readable. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit af472a953ef23d6b9fe717486974d7caff3fa194 Author: Reinette Chatre Date: Fri Aug 28 09:58:50 2009 -0700 iwl3945: reduce debug noise when default debug flags used Significant literature suggests users use debug flags 0x43fff - this causes the debug flags to be set that causes information to be printed for every received frame - including beacons. In the best case it fills up the logs, at worst it slows driver down and causes failures due to timeouts. In the RX handler, print debugging only if user requested RX debugging. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b57d46aa0db87b6349737e7b110ebe48ee14c143 Author: Reinette Chatre Date: Fri Aug 28 09:44:49 2009 -0700 iwlwifi: fix situation in which debug message is printed 3945 does not have update_chain_flags defined and because if this we always see the debug message that does not apply to it. Add a check to be specific about what is actually happening. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4c561a02291326c50f9b1f647eae891af9d1f3b2 Author: Johannes Berg Date: Fri Aug 28 09:44:48 2009 -0700 iwlwifi: use sleep interval succession Some concerns were raised about the automatic adjustment of sleep intervals to all the same, potentially high, value, and I can imagine the hardware behaving better when we don't ask too much of it. So let's convert to use a succession of sleep levels when requesting to go to deeper sleeps (which can only happen with large DTIM intervals), using the succession values from power level three, which have the benefit of also having been tested extensively already. As a result, the automatic sleep level adjustment will now be mostly equivalent to power level three, except for the RX/TX timeouts and possibly using smaller sleep vectors to account for networking latency. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 31513be8a06874eb359908b7b735929837831a9a Author: Daniel C Halperin Date: Fri Aug 28 09:44:47 2009 -0700 iwlwifi: use iwl_hwrate_get_mac80211_idx where appropriate For HT packets, mac80211 expects the rate_idx to be an MCS number, which is the lower byte of rate_n_flags. However, iwl_hwrate_to_plcp_idx takes the MCS number and reduces it down to the range 0-8 (6 to 60 Mbps), removing the bits that signify multiply streams, HT40 Duplicate mode, or unequal modulation. This version is used for various internal purposes through the driver. Add the function iwl_hwrate_get_mac80211_idx, an alternate version which takes the rate and the band and returns the mac80211 index (MCS, for HT packets, and PLCP rate, for legacy packets). Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b58ef214b7db57cfcbca0e1edae08566cdfd56b7 Author: Daniel C Halperin Date: Fri Aug 28 09:44:46 2009 -0700 iwlwifi: remove incorrect uses of ieee80211_get_tx_rate to prevent TX stall Refactor and correct rate selection for outgoing transmitted packets. First, note that HT rates in the mac80211 rate table do not provide valid indices when ieee80211_get_tx_rate is called; the check to see if we could to abort a transmission early in iwl_tx_skb() would thus occasionally read invalid memory and occasionally stall transmission (if the erroneous byte was 0xff). We remove that code; the check wasn't valid anyway. Second, iwl_tx_cmd_build_rate() also called ieee80211_get_tx_rate to be used for sending management packets, which do not use the uCode station table. This patch refactors that function and adds comments to enhance legibility, replaces the call to ieee80211_get_tx_rate() with a direct lookup, and adds error handling in case the table entry is invalid. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5027309b5581e9c251a46f0ecbf88996d5e0f1e0 Author: Daniel C Halperin Date: Fri Aug 28 09:44:45 2009 -0700 iwlwifi: remove 60 Mbps from sband bitrates table ieee80211_supported_band is supposed to only contain legacy rates in the bitrates table (HT rates go in the ieee80211_sta_ht_cap substruct). Make iwlwifi driver obey this restriction by removing the 60 Mbps rate. Also, clean up a few pieces of other code that formerly relied on 60 Mbps being in sband->bitrates. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a269cca9926faf8e44b340b017be0d884203141b Author: H. Peter Anvin Date: Mon Aug 31 11:17:44 2009 -0700 mm: remove !NUMA condition from PAGEFLAGS_EXTENDED condition set CONFIG_PAGEFLAGS_EXTENDED disables a trick to conserve pageflags. This trick is indended to be enabled when the pressure on page flags is very high. The previous condition was: - depends on 64BIT || SPARSEMEM_VMEMMAP || !NUMA || !SPARSEMEM ... however, the sparsemem code already has a way to crowd out the node number from the pageflags, which means that !NUMA actually doesn't contribute to hard pageflags exhaustion. This is required for the new PG_uncached flag to not cause pageflags exhaustion on x86_32 + PAE + SPARSEMEM + !NUMA. Signed-off-by: H. Peter Anvin LKML-Reference: <4A9828F4.4040905@zytor.com> Cc: Venkatesh Pallipadi Cc: Suresh Siddha commit b62e180cae6bd82e246d871a1e44e03f8019d421 Author: Heiko Carstens Date: Mon Aug 31 14:43:39 2009 +0200 locking: Inline spinlock code for all locking variants on s390 Speeds up several benchmarks in a measurable way, so inline all spin-lock variants by default. Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124419.319518405@de.ibm.com> Signed-off-by: Ingo Molnar commit bb7bed082500179519c7caf0678ba3bed9752658 Author: Heiko Carstens Date: Mon Aug 31 14:43:38 2009 +0200 locking: Simplify spinlock inlining For !DEBUG_SPINLOCK && !PREEMPT && SMP the spin_unlock() functions were always inlined by using special defines which would call the __raw* functions. The out-of-line variants for these functions would be generated anyway. Use the new per unlock/locking variant mechanism to force inlining of the unlock functions like before. This is not a functional change, we just get rid of one additional way to force inlining. Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124418.848735034@de.ibm.com> Signed-off-by: Ingo Molnar commit 892a7c67c12da63fa4b51728bbe5b982356a090a Author: Heiko Carstens Date: Mon Aug 31 14:43:37 2009 +0200 locking: Allow arch-inlined spinlocks This allows an architecture to specify per lock variant if the locking code should be kept out-of-line or inlined. If an architecure wants out-of-line locking code no change is needed. To force inlining of e.g. spin_lock() the line: #define __always_inline__spin_lock needs to be added to arch/<...>/include/asm/spinlock.h If CONFIG_DEBUG_SPINLOCK or CONFIG_GENERIC_LOCKBREAK are defined the per architecture defines are (partly) ignored and still out-of-line spinlock code will be generated. Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124418.375299024@de.ibm.com> Signed-off-by: Ingo Molnar commit 69d0ee7377eef808e34ba5542b554ec97244b871 Author: Heiko Carstens Date: Mon Aug 31 14:43:36 2009 +0200 locking: Move spinlock function bodies to header file Move spinlock function bodies to header file by creating a static inline version of each variant. Use the inline version on the out-of-line code. This shouldn't make any difference besides that the spinlock code can now be used to generate inlined spinlock code. Signed-off-by: Heiko Carstens Acked-by: Arnd Bergmann Acked-by: Peter Zijlstra Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124417.859022429@de.ibm.com> Signed-off-by: Ingo Molnar commit 0ee000e5e8fa2e5c760250be0d78d5906e3eb94b Author: Heiko Carstens Date: Mon Aug 31 14:43:35 2009 +0200 locking, m68k: Calculate thread_info offset with asm offset m68k has the thread_info structure embedded in its task struct. Therefore its not possible to implement current_thread_info() by looking at the stack pointer and do some simple calculations like most other architectures do it. To return the thread_info pointer for a task two defines are used. This works until the spinlock function bodies get moved into an own header file and CONFIG_SPINLOCK_DEBUG is turned on. That results into this compile error: In file included from include/linux/spinlock.h:378, from include/linux/seqlock.h:29, from include/linux/time.h:8, from include/linux/timex.h:56, from include/linux/sched.h:54, from arch/m68k/kernel/asm-offsets.c:12: include/linux/spinlock_api_smp.h: In function '__spin_unlock_irq': include/linux/spinlock_api_smp.h:371: error: 'current' undeclared (first use in this function) include/linux/spinlock_api_smp.h:371: error: (Each undeclared identifier is reported only once include/linux/spinlock_api_smp.h:371: error: for each function it appears in.) Including asm/current.h to asm-offsets.c wouldn't help since the definition of struct task is needed. So we end up with ugly header file include dependencies. To solve this calculate the offset of the thread_info structure into the task struct in asm-offsets.h and use the offset in task_thread_info(). This works just like it does for IA64 as well. Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124417.329662275@de.ibm.com> Signed-off-by: Ingo Molnar commit f159ee782990aacb5494738c98f13a2aa61dbb4a Author: Heiko Carstens Date: Mon Aug 31 14:43:33 2009 +0200 locking, m68k/asm-offsets: Rename pt_regs offset defines In order to be able to use asm-offsets.h in C files the existing namespace conflicts must be solved first. In asm-offsets.h e.g. PT_D0 gets defined which is the offset of the d0 member of the pt_regs structure. However a same define (with a different meaning) exists in asm/ptregs.h. So rename the defines created with the asm-offset mechanism to PT_OFF_D0 etc. There also already exist a few defines with these names that have the same meaning. So remove the existing defines and use the asm-offset generated ones. Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124416.666403991@de.ibm.com> Signed-off-by: Ingo Molnar commit 9f34ceb60357a7166c929d7b52bd057ad7ffc54b Author: Heiko Carstens Date: Mon Aug 31 14:43:32 2009 +0200 locking, sparc: Rename __spin_try_lock() and friends Needed to avoid namespace conflicts when the common code function bodies of _spin_try_lock() etc. are moved to a header file where the function name would be __spin_try_lock(). Signed-off-by: Heiko Carstens Acked-by: David S. Miller Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124416.306495811@de.ibm.com> Signed-off-by: Ingo Molnar commit 8307a98097222f4d9c2e62ebccd6f5df439328de Author: Heiko Carstens Date: Mon Aug 31 14:43:31 2009 +0200 locking, powerpc: Rename __spin_try_lock() and friends Needed to avoid namespace conflicts when the common code function bodies of _spin_try_lock() etc. are moved to a header file where the function name would be __spin_try_lock(). Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124415.918799705@de.ibm.com> Signed-off-by: Ingo Molnar commit bbe69aa57a7374b51242b95a54eefcf0d0393b7e Merge: a417887 326ba50 Author: Ingo Molnar Date: Mon Aug 31 17:54:18 2009 +0200 Merge commit 'v2.6.31-rc8' into core/locking Merge reason: we were on -rc4, move to -rc8 before applying a new batch of locking infrastructure changes. Signed-off-by: Ingo Molnar commit 2920ee2b47fc8e6aebe1d1956b2725f48fa93cc5 Author: Steve French Date: Mon Aug 31 15:27:26 2009 +0000 [CIFS] potential NULL dereference in parse_DFS_referrals() memory allocation may fail, prevent a NULL dereference Pointed out by Roel Kluin CC: Roel Kluin Signed-off-by: Steve French commit cbbb05703da4b205bb17fde555d3b2926d8b3194 Author: Roel Kluin Date: Mon Aug 31 16:32:12 2009 +0200 ALSA: allocation may fail in snd_pcm_oss_change_params() Allocation may fail, show if it did. Signed-off-by: Roel Kluin [Additional fix for invalid runtime->oss.prepare flag set by tiwai] Signed-off-by: Takashi Iwai commit 94b265514a8398ba3cfecb5a821a027b68a5c38e Author: Julius Volz Date: Mon Aug 31 16:22:23 2009 +0200 IPVS: Add handling of incoming ICMPV6 messages Add handling of incoming ICMPv6 messages. This follows the handling of IPv4 ICMP messages. Amongst ther things this problem allows IPVS to behave sensibly when an ICMPV6_PKT_TOOBIG message is received: This message is received when a realserver sends a packet >PMTU to the client. The hop on this path with insufficient MTU will generate an ICMPv6 Packet Too Big message back to the VIP. The LVS server receives this message, but the call to the function handling this has been missing. Thus, IPVS fails to forward the message to the real server, which then does not adjust the path MTU. This patch adds the missing call to ip_vs_in_icmp_v6() in ip_vs_in() to handle this situation. Thanks to Rob Gallagher from HEAnet for reporting this issue and for testing this patch in production (with direct routing mode). [horms@verge.net.au: tweaked changelog] Signed-off-by: Julius Volz Tested-by: Rob Gallagher Signed-off-by: Simon Horman Signed-off-by: Patrick McHardy commit 488908696971c5ea1dcc5d13f29c158ba4f6ae7d Author: Patrick McHardy Date: Mon Aug 31 15:30:31 2009 +0200 netfilter: ip6t_eui: fix read outside array bounds Use memcmp() instead of open coded comparison that reads one byte past the intended end. Based on patch from Roel Kluin Signed-off-by: Patrick McHardy commit c5b20d3926dfc9616265b8ff5967cb7a476f9344 Author: Tiejun Chen Date: Sat Aug 22 16:03:44 2009 +0000 powerpc/405ex: support cuImage via included dtb To support cuImage, we need to initialize the required sections and ensure that it is built. Signed-off-by: Tiejun Chen Signed-off-by: Josh Boyer commit 0484c1df473815020bdce4b46b861395759686e5 Author: Tiejun Chen Date: Sat Aug 22 16:03:43 2009 +0000 powerpc/405ex: provide necessary fixup function to support cuImage For cuImage format it's necessary to provide clock fixups since u-boot will not pass necessary clock frequency into the dtb included into cuImage so we implement the clock fixups as defined in the technical documentation for the board and update header file with the basic register definitions. Signed-off-by: Tiejun Chen Signed-off-by: Josh Boyer commit 0cdf50a7c65df894fb5fd0ef181fe18b8fec6137 Author: Solomon Peachy Date: Thu Aug 20 10:19:47 2009 +0000 powerpc/40x: Add support for the ESTeem 195E (PPC405EP) SBC This patch adds support for the ESTeem 195E Hotfoot SBC. There are several variants of the SBC deployed, single/dual ethernet+serial, and also 4MB/8MB flash variations. In the interest of having a single kernel image boot on all boards, the cuboot shim detects the differences and mangles the DTS tree appropriately. With the exception of the CF interface that was never populated on production boards, this code/DTS supports all boardpop options. Signed-off-by: Solomon Peachy Signed-off-by: Josh Boyer commit c9f75093a497bdc7389df983e914da17fad20d95 Author: fkan@amcc.com Date: Wed Aug 12 14:38:47 2009 +0000 powerpc/44x: Add Eiger AMCC (AppliedMicro) PPC460SX evaluation board support. This patch adds support for the AMCC (AppliedMicro) PPC460SX Eiger evaluation board. Signed-off-by: Tai Tri Nguyen Acked-by: Feng Kan Acked-by: Tirumala Marri Signed-off-by: Josh Boyer commit 241749261377f2e10d513505a75c071c0f4b3b51 Author: Stefan Roese Date: Thu Aug 13 04:30:56 2009 +0000 powerpc/44x: Update Arches defconfig This patch adds NOR MTD support and I2C HWMON support for the AD7414 to the AMCC Arches defconfig. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit f661be6c8af3ae357e159c3ac6d6aea4aaf7581c Author: Stefan Roese Date: Thu Aug 13 04:30:44 2009 +0000 powerpc/44x: Update Arches dts This patch adds some nodes to the AMCC Arches dts: - L2 cache support - NOR FLASH mapping with default partitioning - I2C HWMON device (AD7414) Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit ee254fa44d902ab89fd0d66851701098f07872a7 Author: Alexey Dobriyan Date: Mon Aug 31 14:23:15 2009 +0200 netfilter: nf_conntrack: netns fix re reliable conntrack event delivery Conntracks in netns other than init_net dying list were never killed. Signed-off-by: Alexey Dobriyan Acked-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 1e66dafc75f40a08b2addb82779987b269b4ca23 Author: Simon Horman Date: Mon Aug 31 14:18:48 2009 +0200 ipvs: Use atomic operations atomicly A pointed out by Shin Hong, IPVS doesn't always use atomic operations in an atomic manner. While this seems unlikely to be manifest in strange behaviour, it seems appropriate to clean this up. Cc: shin hong Signed-off-by: Simon Horman Signed-off-by: Patrick McHardy commit 8e254c1d183f0225ad21f9049641529e56cce4da Author: Li Zefan Date: Mon Aug 31 16:49:41 2009 +0800 tracing/filters: Defer pred allocation init_preds() allocates about 5392 bytes of memory (on x86_32) for a TRACE_EVENT. With my config, at system boot total memory occupied is: 5392 * (642 + 15) == 3459KB 642 == cat available_events | wc -l 15 == number of dirs in events/ftrace That's quite a lot, so we'd better defer memory allocation util it's needed, that's when filter is used. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Tom Zanussi Cc: Masami Hiramatsu LKML-Reference: <4A9B8EA5.6020700@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 561f732c1233f6bf7c3c5c5fb9b4d90bb6c107aa Author: Frederic Weisbecker Date: Mon Aug 31 06:45:21 2009 +0200 perf tools: Complete support for dynamic strings Complete support for __str_loc type strings of ftrace events which have dynamic offsets values set for each of them inside their sammples. Before: geany-5759 [000] 0.000000: lock_release: name geany-5759 [000] 0.000000: lock_release: name geany-5759 [000] 0.000000: lock_release: name kondemand/0-362 [000] 0.000000: lock_release: name pdflush-421 [000] 0.000000: lock_release: name After: geany-5759 [000] 0.000000: lock_release: &u->lock geany-5759 [000] 0.000000: lock_release: key geany-5759 [000] 0.000000: lock_release: &group->notification_mutex kondemand/0-362 [000] 0.000000: lock_release: &rq->lock pdflush-421 [000] 0.000000: lock_release: &rq->lock Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt LKML-Reference: <1251693921-6579-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt commit 9b8055a52c8986167e0a7357460d528a00db67e6 Author: Frederic Weisbecker Date: Mon Aug 31 06:45:20 2009 +0200 perf tools: Unify swapper tasks naming In perf tools, we hardcode the pid 0 cmdline resolving to "idle" because the init task is not included in the COMM events. But the idle tasks secondary cpus are resolved into their "init" name through the COMM events. We have then such strange result in perf report (ditto with trace): 19.66% init [kernel] [k] acpi_idle_enter_c1 17.32% [idle] [kernel] [k] acpi_idle_enter_c1 It's then better to unify the swapper tasks into a single init name. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <1251693921-6579-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo commit 3a2684ca58e06941ff00e3f096ca44f898a6d13e Author: Frederic Weisbecker Date: Mon Aug 31 06:45:19 2009 +0200 perf tools: Resolve idle thread cmdline for perf trace The cmd-trace tool used the cmdline file and resolved the idle thread using a hardcoded check for the 0 task pid. Now we have a centralized way to do that from perf using register_idle_thread() API. Before: :0-0 [000] 0.000000: irq_handler_entry: irq=0 handler=name :0-0 [000] 0.000000: irq_handler_entry: irq=0 handler=name After: [idle]-0 [000] 0.000000: irq_handler_entry: irq=0 handler=name [idle]-0 [000] 0.000000: irq_handler_entry: irq=0 handler=name Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <1251693921-6579-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 5b447a6a13ea823b698bf4c01193654fd7ebf4ec Author: Frederic Weisbecker Date: Mon Aug 31 06:45:18 2009 +0200 perf tools: Librarize idle thread registration Librarize register_idle_thread() used by annotate and report. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <1251693921-6579-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ec7ba4ea1d605029fb09601ab4ad3053bc1f519c Author: Frederic Weisbecker Date: Mon Aug 31 03:32:03 2009 +0200 perf tools: Add missing parameters documentation Add missing documentation for the following parameters: - perf record -R - perf report -g Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <1251682323-10395-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 19c959627a3477a8487d08afd47fdc1f4fea60e5 Merge: 119e7a2 d498bc1 Author: Ingo Molnar Date: Mon Aug 31 10:03:25 2009 +0200 Merge branch 'perfcounters/tracing' into perfcounters/core Merge reason: this topic is ready now to merge into the main development branch for .32, with functional perf trace output. Signed-off-by: Ingo Molnar commit fe7e56814cb82eb28698c2a74bdb830ae0592a45 Author: Takashi Iwai Date: Mon Aug 31 08:37:46 2009 +0200 ALSA: hda - Add missing GPIO initialization for AD1984A laptop model A similar initialization of GPIO1 pin like mobile model is needed for laptop model, too. Signed-off-by: Takashi Iwai commit 17bbaa6f600a36930879fd58e4e38a8c25bf9b60 Author: Takashi Iwai Date: Sun Aug 30 12:15:59 2009 +0200 ALSA: hda - Add support of docking auto-mute/mic for AD1984A laptop model Add the support of automatic mute and mic-switching of the docking station HP and mic plugs for AD1984A laptop model for some HP machines. Signed-off-by: Takashi Iwai commit be0ae923a40bbee8a0f02c1cd4b70656e729096f Merge: e9af4f3 a3f730a Author: Takashi Iwai Date: Mon Aug 31 08:27:10 2009 +0200 Merge branch 'fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_realtek.c commit e9af4f365fee8065c0c1b2389fe10e540dd9d60a Author: Takashi Iwai Date: Sat Aug 29 23:23:08 2009 +0200 ALSA: hda - Fix ALC268/ALC269 headphone pin routing Fix the headphone pin routing of ALC268/ALC269 codecs. Using alc882 routine doesn't work because alc268/alc269 parser assumes the independent DACs for both HP and speaker outputs. Need to assign the DAC depending on the pin. Signed-off-by: Takashi Iwai commit 2bf2901669a564b402cd0e40eb3f941c391e64c4 Author: Herbert Xu Date: Mon Aug 31 15:56:54 2009 +1000 crypto: api - Do not displace newly registered algorithms We have a mechanism where newly registered algorithms of a higher priority can displace existing instances that use a different implementation of the same algorithm with a lower priority. Unfortunately the same mechanism can cause a newly registered algorithm to displace itself if it depends on an existing version of the same algorithm. This patch fixes this by keeping all algorithms that the newly reigstered algorithm depends on, thus protecting them from being removed. Signed-off-by: Herbert Xu commit 9e39f7c5b311a306977c5471f9e2ce4c456aa038 Author: Joe Perches Date: Tue Aug 25 08:52:00 2009 +0000 s2io: Generate complete messages using single line DBG_PRINTs Single line log messages should be emitted by a single call where possible. Converted multiple calls to DBG_PRINT to single call form. Removed "s2io:" preface from DBG_PRINTs. The DBG_PRINT macro now emits a log level and is surrounded by a do {...} while (0) All s2io log output is now prefaced with KBUILD_MODNAME ": " via pr_fmt. The DBG_PRINT macro should probably be converted to use the dev_ form eventually. Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 82c2d02356229c66daa6b6e51f8da559327b87b0 Author: Joe Perches Date: Mon Aug 24 17:29:48 2009 +0000 s2io.c: Convert skipped nic->config.tx_cfg[i]. to tx_cfg-> Missed doing the conversion in earlier patch. Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit ffb5df6ce776a05eec1fbe4876cc6603c6336140 Author: Joe Perches Date: Mon Aug 24 17:29:47 2009 +0000 s2io.c: Standardize statistics accessors Regularize the declaration and uses of struct config_param *config = &sp->config; struct mac_info *mac_control = &sp->mac_control; and use struct stat_block *stats = mac_control->stats_info; struct swStat *swstats = &stats->sw_stat; struct xpakStat *xstats = &stats->xpak_stat; and convert the longish uses like nic->mac_control.stats_info->sw_stat. to swstats-> etc. This also makes the statistics code marginally smaller and presumably faster. Old: $ size s2io.o text data bss dec hex filename 114289 516 33360 148165 242c5 s2io.o New: $ size s2io.o text data bss dec hex filename 114097 516 33360 147973 24205 s2io.o Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit a2a20aef44da92b1c3b8c86ea069117dc3bc8bd6 Author: Joe Perches Date: Mon Aug 24 17:29:46 2009 +0000 s2io.c: fix spelling explaination Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 6cef2b8eb73f1a8fd7c0ed528091ddc406fef950 Author: Joe Perches Date: Mon Aug 24 17:29:45 2009 +0000 s2io.c: convert printks to pr_ Fixed trivial typo as well Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit d44570e4067aa8b832b1c1e1eb6da079f590d501 Author: Joe Perches Date: Mon Aug 24 17:29:44 2009 +0000 s2io.c: Make more conforming to normal kernel style Still has a few long lines. checkpatch was: total: 263 errors, 53 warnings, 8751 lines checked is: total: 4 errors, 35 warnings, 8767 lines checked Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 44364a035a4f7c5b58fd96b1a90b52746d1aab6b Author: Joe Perches Date: Mon Aug 24 17:29:43 2009 +0000 s2io.c: use kzalloc Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 4f87032021be1aa0c3bb66b0c89d30cb35b57f8f Author: Joe Perches Date: Mon Aug 24 17:29:42 2009 +0000 s2io.c: Use calculated size in kmallocs Use consistent style. Don't calculate the kmalloc size multiple times Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 13d866a9c912d6bc7133f4ef4d536c3a960b06cb Author: Joe Perches Date: Mon Aug 24 17:29:41 2009 +0000 s2io.c: Shorten code line length by using intermediate pointers Repeated variable use and line wrapping is hard to read. Use temp variables instead of direct references. struct fifo_info *fifo = &mac_control->fifos[i]; struct ring_info *ring = &mac_control->rings[i]; struct tx_fifo_config *tx_cfg = &config->tx_cfg[i]; struct rx_ring_config *rx_cfg = &config->rx_cfg[i]; Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 6fce365df8c4af573ea77e744fe310e034931d42 Author: Joe Perches Date: Mon Aug 24 17:29:40 2009 +0000 s2io.c: Use const for strings Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit a453e0689a3ccf85c08cb89753d7685046248c5c Author: Krishna Kumar Date: Sun Aug 30 22:20:28 2009 -0700 pkt_sched: Fix resource limiting in pfifo_fast pfifo_fast_enqueue has this check: if (skb_queue_len(list) < qdisc_dev(qdisc)->tx_queue_len) { which allows each band to enqueue upto tx_queue_len skbs for a total of 3*tx_queue_len skbs. I am not sure if this was the intention of limiting in qdisc. Patch compiled and 32 simultaneous netperf testing ran fine. Also: # tc -s qdisc show dev eth2 qdisc pfifo_fast 0: root bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 16835026752 bytes 373116 pkt (dropped 0, overlimits 0 requeues 25) rate 0bit 0pps backlog 0b 0p requeues 25 Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 03a9a447d2dab755b22df79b5e205fdbb9b2c851 Author: Krishna Kumar Date: Sat Aug 29 20:21:36 2009 +0000 net: convert remaining non-symbolic return values in dev_queue_xmit Patch compiled and 32 simultaneous netperf testing ran fine. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 7b3d3e4fc685a7d7e0b4c207ce24dfbab5689eb0 Author: Krishna Kumar Date: Sat Aug 29 20:21:21 2009 +0000 netdevice: Consolidate to use existing macros where available. Patch compiled and 32 simultaneous netperf testing ran fine. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 6ca8b990e07914a87fd1f6dfc5507f5e1c4572e2 Author: Oliver Hartkopp Date: Sat Aug 29 06:45:09 2009 +0000 can: use correct NET_RX_ return values Dropped skb's should be documented by an appropriate return value. Use the correct NET_RX_DROP and NET_RX_SUCCESS values for that reason. Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 5de3fcab91b0e1809eec030355d15801daf25083 Author: roel kluin Date: Thu Aug 20 04:04:40 2009 +0000 WAN: bit and/or confusion Fix the tests that check whether Frame* bits are not set Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 2394905f67aeec5f9452f2881cbeb2b42009de0e Author: Anton Vorontsov Date: Thu Aug 27 07:35:57 2009 +0000 ucc_geth: Implement suspend/resume and Wake-On-LAN support This patch implements suspend/resume and WOL support for UCC Ethernet driver. We support two wake up events: wake on PHY/link changes and wake on magic packet. In some CPUs (like MPC8569) QE shuts down during sleep, so magic packet detection is unusable, and also on resume we should fully reinitialize UCC structures. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit bf5aec2e79418adb42f1457152b427fd3d6316d9 Author: Anton Vorontsov Date: Thu Aug 27 07:35:56 2009 +0000 ucc_geth: Remove UGETH_MAGIC_PACKET Kconfig symbol and code This patch removes currently unused UGETH_MAGIC_PACKET Kconfig symbol and code, i.e. magic_packet_detection_{enable,disable} functions. The two functions each contain just two steps that we'll place into suspend/resume code path under CONFIG_PM. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 54b15983840c9eb264e41f3b14af398a72ebd426 Author: Anton Vorontsov Date: Thu Aug 27 07:35:54 2009 +0000 ucc_geth: Factor out MAC initialization steps into a call This patch factors out MAC initialization into ucc_geth_init_mac() function that we'll use for suspend/resume. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit ed24157ede901608e00f28b4897398a373e1e926 Author: Anton Vorontsov Date: Thu Aug 27 07:35:50 2009 +0000 powerpc/qe: Implement qe_alive_during_sleep() helper function In some CPUs (i.e. MPC8569) QE shuts down completely during sleep, drivers may want to know that to reinitialize registers and buffer descriptors. This patch implements qe_alive_during_sleep() helper function, so far it just checks if MPC8569-compatible power management controller is present, which is a sign that QE turns off during sleep. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit e0ad2cd8ff7fb957be867d17d44fb4b7093c91bd Author: Anton Vorontsov Date: Thu Aug 27 07:35:47 2009 +0000 ucc_geth: Fix NULL pointer dereference in uec_get_ethtool_stats() In commit 3e73fc9a12679a546284d597c1f19165792d0b83 ("ucc_geth: Fix IO memory (un)mapping code") I fixed ug_regs IO memory leak by properly freeing the allocated memory. But ethtool_stats() callback doesn't check for ug_regs being NULL, and that causes following oops if 'ethtool -S' is executed on a closed eth device: Unable to handle kernel paging request for data at address 0x00000180 Faulting instruction address: 0xc0208228 Oops: Kernel access of bad area, sig: 11 [#1] ... NIP [c0208228] uec_get_ethtool_stats+0x38/0x140 LR [c02559a0] ethtool_get_stats+0xf8/0x23c Call Trace: [ef87bcd0] [c025597c] ethtool_get_stats+0xd4/0x23c (unreliable) [ef87bd00] [c025706c] dev_ethtool+0xfe8/0x11bc [ef87be00] [c0252b5c] dev_ioctl+0x454/0x6a8 ... ---[ end trace 77fff1162a9586b0 ]--- Segmentation fault This patch fixes the issue. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit b9caaabb995c6ff103e2457b9a36930b9699de7c Merge: fc57e51 7e74309 Author: David S. Miller Date: Sun Aug 30 21:30:39 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 commit 903b9124eae00edf8a9d6491dab60fcda777aabd Author: Julia Lawall Date: Sun Aug 30 11:30:48 2009 -0700 Input: w90p910_keypad - move a dereference below a NULL test We should first check whether platform data is NULL or not, before dereferencing it to get the keymap. Signed-off-by: Julia Lawall Signed-off-by: Dmitry Torokhov commit 23386d63bbb3199cf247313ec088878d72debcfd Author: Michal Schmidt Date: Sat Aug 29 18:27:18 2009 +0200 x86: Detect stack protector for i386 builds on x86_64 Stack protector support was not detected when building with ARCH=i386 on x86_64 systems: arch/x86/Makefile:80: stack protector enabled but no compiler support The "-m32" argument needs to be passed to the detection script. Signed-off-by: Michal Schmidt Cc: Tejun Heo Cc: Jeremy Fitzhardinge Cc: Arjan van de Ven LKML-Reference: <20090829182718.10f566b1@leela> Signed-off-by: Ingo Molnar -- commit acdfcd04d9df7d084ff752f82afad6ed4ad5f363 Author: Aaro Koskinen Date: Fri Aug 28 14:28:54 2009 +0300 SLUB: fix ARCH_KMALLOC_MINALIGN cases 64 and 256 If the minalign is 64 bytes, then the 96 byte cache should not be created because it would conflict with the 128 byte cache. If the minalign is 256 bytes, patching the size_index table should not result in a buffer overrun. The calculation "(i - 1) / 8" used to access size_index[] is moved to a separate function as suggested by Christoph Lameter. Acked-by: Christoph Lameter Signed-off-by: Aaro Koskinen Signed-off-by: Pekka Enberg commit fc57e515a2c02599b00d252545521288dfc0158a Author: Matt Carlson Date: Fri Aug 28 14:03:44 2009 +0000 tg3: Update version to 3.101 This patch updates the tg3 version to 3.101. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit f3f3f27e5b4e27737f824535e6f145a3c88b976c Author: Matt Carlson Date: Fri Aug 28 14:03:21 2009 +0000 tg3: Move per-int tx members to a per-int struct This patch moves the tx_prod, tx_cons, tx_pending, tx_ring, and tx_buffers transmit ring device members to a per-interrupt structure. It also adds a new transmit producer mailbox member (prodmbox) and converts the code to use it rather than a preprocessor constant. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 723344820aa405ac2663ab9e36fd27833d06129b Author: Matt Carlson Date: Fri Aug 28 14:03:01 2009 +0000 tg3: Move per-int rx members to per-int struct This patch moves the rx_rcb, rx_rcb_mapping, and rx_rcb_ptr return ring device members to a per-interrupt structure. It also adds a new return ring consumer mailbox register member (consmbox) and converts the code to use it rather than a preprocessor constant. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 898a56f8d8170c188e47ae3acb90d2ea9a585ebe Author: Matt Carlson Date: Fri Aug 28 14:02:40 2009 +0000 tg3: Move general int members to a per-int struct This patch moves the last_tag, last_tag_irq, and hw_status device members to a per-interrupt structure. It also adds a new interrupt mailbox member (int_mbox) and converts the code to use it rather than a direct preprocessor constant. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 17375d25d3dcd3d4caf9456fa94f60e29d6b1146 Author: Matt Carlson Date: Fri Aug 28 14:02:18 2009 +0000 tg3: Convert napi handlers to use tnapi This patch converts the napi interrupt handler functions to accept and use tg3_napi structures. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 09943a1819a240ff4a72f924d0038818fcdd0a90 Author: Matt Carlson Date: Fri Aug 28 14:01:57 2009 +0000 tg3: Convert ISR parameter to tnapi This patch migrates the ISR parameter from struct net_device to struct tg3_napi. Checkpatch complains about the existence of the preexisting IRQF_SAMPLE_RANDOM flag. I've opted to keep this patch conservative and let it continue to exist until the flag gets officially purged from the kernel. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 8ef0442f98850333196bc56415192e52a6267878 Author: Matt Carlson Date: Fri Aug 28 14:01:37 2009 +0000 tg3: Move napi to per-int struct This patch creates a per-interrupt data structure, moves the napi member over, and creates a tg3 pointer back to the device structure. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 07b0173cb5d6a9d77646cd855066ebe90b9203f2 Author: Matt Carlson Date: Fri Aug 28 14:01:15 2009 +0000 tg3: Cleanup interrupt setup / teardown Later patches will be adding MSIX support, which will complicate interrupt initialization. This patch prepares for the integration by breaking out the interrupt setup and teardown code into separate functions and cleaning up the error return paths. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 79ed5ac7ddd5f8d6463f5a17b3575772e9896481 Author: Matt Carlson Date: Fri Aug 28 14:00:55 2009 +0000 tg3: Use ext rx bds The 5717 only uses extended buffer descriptors for the jumbo producer ring. Extended buffer descriptors are available on all devices that support a separate jumbo producer ring so make the change universal. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 21f581a5366d48d86b9ae86043fc61d44e992c0c Author: Matt Carlson Date: Fri Aug 28 14:00:25 2009 +0000 tg3: Create a new prodring_set structure This patch migrates most of the rx producer ring variables to a new tg3_rx_prodring_set structure and modifies the code accordingly. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit cf7a7298c4f47ab7546b933bb54ad3ea03a1daf6 Author: Matt Carlson Date: Fri Aug 28 13:59:57 2009 +0000 tg3: Create rx producer ring setup routines Later patches are going to complicate the ring initialization routines. This patch breaks out the setup and teardown of the rx producer rings into separate functions to make the code more readable. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 287be12e1774d842bff21ea0c1809c2387d7b310 Author: Matt Carlson Date: Fri Aug 28 13:58:46 2009 +0000 tg3: Clarify rx buffer relationships This patch attempts to document the various rx buffer sizes used by the driver and how they relate to each other. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 8f666b07ac53eeedd6c035adf6d4299f9ed0df2d Author: Matt Carlson Date: Fri Aug 28 13:58:24 2009 +0000 tg3: Move the JUMBO_CAPABLE and SUPPORT_MSI flags This patch moves where the jumbo capable and msi support flags are located. This is prep work for the addition of msix support flags. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit fdb72b38c94c0ead1f78ecc8db64b832feda22c3 Author: Matt Carlson Date: Fri Aug 28 13:57:12 2009 +0000 tg3: Break out mini producer ring handling This patch separates the code that sets up the mini producer ring from the code that sets up the jumbo producer rings. The 5717 asic rev devices do not have a mini ring, but do have a jumbo frame implementation similar to the 5704 and previous devices. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 8590a603e5e20ccf49d6cf0ea71ecf5388d1f9da Author: Matt Carlson Date: Fri Aug 28 12:29:16 2009 +0000 tg3: Reformat NVRAM case statements This patch fixes up the NVRAM detection switch statements to conform to the kernel coding style. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 2befdcea96fcd9a13e94373c66ea1dd7365d2a74 Author: Matt Carlson Date: Fri Aug 28 12:28:45 2009 +0000 tg3: Add new 5785 10/100 only device ID This patch adds a new device ID for those 5785 devices that will only use 10/100 phys. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 0a9140cff22e405fce1747a2e02d41851c36c55a Author: Matt Carlson Date: Fri Aug 28 12:27:50 2009 +0000 tg3: Delay mdio bus init until fw finishes The device firmware uses the MDIO bus during early setup. If the driver modifies the MDIO bus configuration while it is in use by the firmware, any number of bad things can happen. This patch delays MDIO setup until after the firmware posts its magic signature, signifying initialization is complete. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 70590ea75b7f9ef4846b0b0f4400e8338dbcc7eb Author: Yinghai Lu Date: Wed Aug 26 16:21:54 2009 -0700 pci/intr_remapping: Allocate irq_iommu on node make it use the node from irq_desc. Signed-off-by: Yinghai Lu Acked-by: Jesse Barnes Cc: Andrew Morton LKML-Reference: <4A95C392.5050903@kernel.org> Signed-off-by: Ingo Molnar commit 5bfb5b51382f4bd01d9ced11503264d2cc74fe41 Author: Yinghai Lu Date: Wed Aug 26 16:20:48 2009 -0700 irq: Add irq_node() primitive ... to return irq_desc node info without #ifdefs at the callsites. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes LKML-Reference: <4A95C350.8060308@kernel.org> Signed-off-by: Ingo Molnar commit 372e24b0cb764ec55b4cf3408a95ae40a29e5b96 Author: Yinghai Lu Date: Wed Aug 26 16:20:13 2009 -0700 irq: Make sure irq_desc for legacy irq get correct node setting when there is no ram on node 0. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes LKML-Reference: <4A95C32D.5040605@kernel.org> Signed-off-by: Ingo Molnar commit 84e9dabf6e6a78928c6a1a8ba235c9fb0908d0f8 Author: Anirban Sinha Date: Fri Aug 28 22:40:43 2009 -0700 sched: Rename init_cfs_rq => init_tg_cfs_rq ... so that it does not share a common name with a function within the same scope. Signed-off-by: Anirban Sinha LKML-Reference: Signed-off-by: Ingo Molnar commit 47d25003cbd9e9030a95f7ccc4e70fec6aa7b844 Author: Jan Beulich Date: Fri Aug 28 14:11:57 2009 +0100 x86: Fix earlyprintk=dbgp for machines without NX Since parse_early_param() may (e.g. for earlyprintk=dbgp) involve calls to page table manipulation functions (here set_fixmap_nocache()), NX hardware support must be determined before calling that function (so that __supported_pte_mask gets properly set up). But the call after parse_early_param() can also not go away, as that will honor eventual command line specified disabling of the NX functionality. ( This will then just result in whatever mappings got established during parse_early_param() having the NX bit set despite it being disabled on the command line, but I think that's tolerable). Signed-off-by: Jan Beulich Cc: Yinghai Lu LKML-Reference: <4A97F3BD02000078000121B9@vpn.id2.novell.com> [ merged to x86/pat to resolve a conflict. ] Signed-off-by: Ingo Molnar commit 868489660dabc0c28087cca3dbc1adbbc398c6fe Author: Paul E. McKenney Date: Thu Aug 27 15:00:12 2009 -0700 rcu: Changes from reviews: avoid casts, fix/add warnings, improve comments Changes suggested by review comments from Josh Triplett and Mathieu Desnoyers. Signed-off-by: Paul E. McKenney Acked-by: Josh Triplett Acked-by: Mathieu Desnoyers Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <20090827220012.GA30525@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit dd5d19bafd90d33043a4a14b2e2d98612caa293c Author: Paul E. McKenney Date: Thu Aug 27 14:58:16 2009 -0700 rcu: Create rcutree plugins to handle hotplug CPU for multi-level trees When offlining CPUs from a multi-level tree, there is the possibility of offlining the last CPU from a given node when there are preempted RCU read-side critical sections that started life on one of the CPUs on that node. In this case, the corresponding tasks will be enqueued via the task_struct's rcu_node_entry list_head onto one of the rcu_node's blocked_tasks[] lists. These tasks need to be moved somewhere else so that they will prevent the current grace period from ending. That somewhere is the root rcu_node. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <20090827215816.GA30472@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit a417887637e862b434b293404f2a31ad1f282a58 Author: Ming Lei Date: Sat Aug 29 18:47:59 2009 +0800 lockdep: Remove recursion stattistics Since lockdep has introduced BFS to avoid recursion, statistics for recursion does not make any sense now. So remove them. Signed-off-by: Ming Lei Cc: a.p.zijlstra@chello.nl LKML-Reference: <1251542879-5211-1-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 73222acf966792c7fda219724af963339be32e62 Merge: 0dd7b74 5d4a9db Author: Ingo Molnar Date: Sat Aug 29 13:06:05 2009 +0200 Merge branch 'tip/tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/core commit a367b17f34e1280270a6b577c11d5ecff093f9ae Author: Steffen Klassert Date: Sat Aug 29 17:36:25 2009 +1000 crypto: ansi_cprng - Fix module initialization Return the value we got from crypto_register_alg() instead of returning 0 in any case. Signed-off-by: Steffen Klassert Acked-by: Neil Horman Signed-off-by: Herbert Xu commit eebc57f73d42095b778e899f6aa90ad050c72655 Merge: d3a247b 2a4ab64 Author: Ingo Molnar Date: Sat Aug 29 09:30:41 2009 +0200 Merge branch 'for-ingo' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6 into x86/apic Merge reason: the SFI (Simple Firmware Interface) feature in the ACPI tree needs this cleanup, pull it into the APIC branch as well so that there's no interactions. Signed-off-by: Ingo Molnar commit b3df9a514f3c2020952cff34bc5bc6694a31c00c Author: roel kluin Date: Thu Aug 27 02:03:15 2009 +0000 tipc: fix test of bearer_priority range in tipc_register_media() For the bearer_priority to be less than TIPC_MIN_LINK_PRI and greater than TIPC_MAX_LINK_PRI is logically impossible. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit ea00b8e2223170a842bee06e0f27754ccdf2a217 Author: Alexey Dobriyan Date: Fri Aug 28 09:57:21 2009 +0000 can: switch to seq_file create_proc_read_entry() is going to be removed soon. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 4923576b8ac5bfd36ab2beb176aeb747aaab7e41 Author: Yoshihiro Shimoda Date: Thu Aug 27 23:25:03 2009 +0000 net: sh_eth: add value of ether_link pin in platform_data The method of ETHER_LINK pin is board dependence. This patch adding paramters are: - no_ether_link : If set to 1, do not use ETHER_LINK - ether_link_active_low : If set to 1, ETHER_LINK is active low. Signed-off-by: Yoshihiro Shimoda Signed-off-by: David S. Miller commit 2db9517ef3dd48790c02a531e2b0db1957afd891 Author: Rajashekhara, Sudhakar Date: Wed Aug 19 10:39:55 2009 +0000 TI DaVinci EMAC: delay DaVinci EMAC initialization On TI's DA850/OMAP-L138 EVM, MAC address is stored in SPI flash which is accessed using MTD interface. This patch delays the initialization of DaVinci EMAC driver by changing module_init to late_initcall. This helps SPI and MTD drivers to get initialized before EMAC thereby enabling EMAC driver to read the MAC address while booting and use it. Tested with NFS on DM644x, DM6467, DA830/OMAP-L137 and DA850/OMAP-L138 EVMs. Signed-off-by: Sudhakar Rajashekhara Reviewed-by: Chaithrika U S Signed-off-by: Kevin Hilman Signed-off-by: David S. Miller commit 38edb5b87ea26314cb6ad4524c3f3b0fea0e33de Author: Krzysztof Halasa Date: Wed Aug 19 23:56:20 2009 +0000 WAN/LMC: Fix type_trans(). Fix lmc_proto_type() invocation. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit 8a27f7c90ffcb791eed7574922b51fb60b08fc89 Author: Joe Perches Date: Mon Aug 17 12:29:44 2009 +0000 lib/vsprintf.c: Add "%pI6c" - print pointer as compressed ipv6 address Signed-off-by: Joe Perches Tested-by: Jens Rosenboom Signed-off-by: David S. Miller commit 9a7030b76ab3c2b23b1629c49b6df33fb5aed305 Author: John Dykstra Date: Wed Aug 19 09:47:41 2009 +0000 tcp: Remove redundant copy of MD5 authentication key Remove the copy of the MD5 authentication key from tcp_check_req(). This key has already been copied by tcp_v4_syn_recv_sock() or tcp_v6_syn_recv_sock(). Signed-off-by: John Dykstra Signed-off-by: David S. Miller commit fd3ae5e8fc5e947a9f151e80a65763a24b6368a9 Author: Krishna Kumar Date: Tue Aug 18 21:55:59 2009 +0000 Speed-up pfifo_fast lookup using a private bitmap Maintain a per-qdisc bitmap for pfifo_fast giving availability of skbs for each band. This allows faster lookup for a skb when there are no high priority skbs. Also, it helps in (rare) cases when there are no skbs on the list, where an immediate lookup is faster than iterating through the three bands. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 31ce8c71a3bdab12debb5899b1f6dac13e54c71d Author: David Ward Date: Sat Aug 29 00:04:09 2009 -0700 ipv6: Update Neighbor Cache when IPv6 RA is received on a router When processing a received IPv6 Router Advertisement, the kernel creates or updates an IPv6 Neighbor Cache entry for the sender -- but presently this does not occur if IPv6 forwarding is enabled (net.ipv6.conf.*.forwarding = 1), or if IPv6 Router Advertisements are not accepted (net.ipv6.conf.*.accept_ra = 0), because in these cases processing of the Router Advertisement has already halted. This patch allows the Neighbor Cache to be updated in these cases, while still avoiding any modification to routes or link parameters. This continues to satisfy RFC 4861, since any entry created in the Neighbor Cache as the result of a received Router Advertisement is still placed in the STALE state. Signed-off-by: David Ward Signed-off-by: David S. Miller commit 078b0735881c7969aaf21469f3577831cddd9f8c Author: Michael Chan Date: Sat Aug 29 00:02:46 2009 -0700 bnx2: Update firmware to 5.0.0.j3. - Better small packet receive performance. - Better handling of Flow control on 5709. - Fixed iSCSI TMP ABORT TASK problem. - Added iSCSI TCP timestamp option. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 80a1096bac73ce6e98dbbce10cc00a154460bcbd Author: Octavian Purdila Date: Sat Aug 29 00:00:35 2009 -0700 tcp: fix premature termination of FIN_WAIT2 time-wait sockets There is a race condition in the time-wait sockets code that can lead to premature termination of FIN_WAIT2 and, subsequently, to RST generation when the FIN,ACK from the peer finally arrives: Time TCP header 0.000000 30755 > http [SYN] Seq=0 Win=2920 Len=0 MSS=1460 TSV=282912 TSER=0 0.000008 http > 30755 aSYN, ACK] Seq=0 Ack=1 Win=2896 Len=0 MSS=1460 TSV=... 0.136899 HEAD /1b.html?n1Lg=v1 HTTP/1.0 [Packet size limited during capture] 0.136934 HTTP/1.0 200 OK [Packet size limited during capture] 0.136945 http > 30755 [FIN, ACK] Seq=187 Ack=207 Win=2690 Len=0 TSV=270521... 0.136974 30755 > http [ACK] Seq=207 Ack=187 Win=2734 Len=0 TSV=283049 TSER=... 0.177983 30755 > http [ACK] Seq=207 Ack=188 Win=2733 Len=0 TSV=283089 TSER=... 0.238618 30755 > http [FIN, ACK] Seq=207 Ack=188 Win=2733 Len=0 TSV=283151... 0.238625 http > 30755 [RST] Seq=188 Win=0 Len=0 Say twdr->slot = 1 and we are running inet_twdr_hangman and in this instance inet_twdr_do_twkill_work returns 1. At that point we will mark slot 1 and schedule inet_twdr_twkill_work. We will also make twdr->slot = 2. Next, a connection is closed and tcp_time_wait(TCP_FIN_WAIT2, timeo) is called which will create a new FIN_WAIT2 time-wait socket and will place it in the last to be reached slot, i.e. twdr->slot = 1. At this point say inet_twdr_twkill_work will run which will start destroying the time-wait sockets in slot 1, including the just added TCP_FIN_WAIT2 one. To avoid this issue we increment the slot only if all entries in the slot have been purged. This change may delay the slots cleanup by a time-wait death row period but only if the worker thread didn't had the time to run/purge the current slot in the next period (6 seconds with default sysctl settings). However, on such a busy system even without this change we would probably see delays... Signed-off-by: Octavian Purdila Signed-off-by: David S. Miller commit 80b71b80df14d885f7e50e115c1348398f418759 Author: Jens Låås Date: Fri Aug 28 23:57:15 2009 -0700 fib_trie: resize rework Here is rework and cleanup of the resize function. Some bugs we had. We were using ->parent when we should use node_parent(). Also we used ->parent which is not assigned by inflate in inflate loop. Also a fix to set thresholds to power 2 to fit halve and double strategy. max_resize is renamed to max_work which better indicates it's function. Reaching max_work is not an error, so warning is removed. max_work only limits amount of work done per resize. (limits CPU-usage, outstanding memory etc). The clean-up makes it relatively easy to add fixed sized root-nodes if we would like to decrease the memory pressure on routers with large routing tables and dynamic routing. If we'll need that... Its been tested with 280k routes. Work done together with Robert Olsson. Signed-off-by: Jens Låås Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 8945a808f7d5efd21fa9fb6055d2dd7887bdd9d8 Author: Sascha Hlusiak Date: Fri Aug 28 23:53:53 2009 -0700 sit: allow ip fragmentation when using nopmtudisc to fix package loss if tunnel parameters have frag_off set to IP_DF, pmtudisc on the ipv4 link will be performed by deriving the mtu from the ipv4 link and setting the DF-Flag of the encapsulating IPv4 Header. If fragmentation is needed on the way, the IPv4 pmtu gets adjusted, the ipv6 package will be resent eventually, using the new and lower mtu and everyone is happy. If the frag_off parameter is unset, the mtu for the tunnel will be derived from the tunnel device or the ipv6 pmtu, which might be higher than the ipv4 pmtu. In that case we must allow the fragmentation of the IPv4 packet because the IPv6 mtu wouldn't 'learn' from the adjusted IPv4 pmtu, resulting in frequent icmp_frag_needed and package loss on the IPv6 layer. This patch allows fragmentation when tunnel was created with parameter nopmtudisc, like in ipip/gre tunnels. Signed-off-by: Sascha Hlusiak Signed-off-by: David S. Miller commit 30038fc61adfdab162b1966e34261f06eda67f02 Author: Eric Dumazet Date: Fri Aug 28 23:52:01 2009 -0700 net: ip_rt_send_redirect() optimization While doing some forwarding benchmarks, I noticed ip_rt_send_redirect() is rather expensive, even if send_redirects is false for the device. Fix is to avoid two atomic ops, we dont really need to take a reference on in_dev Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit df19a6267705456f463871ae2aabc44299909d2a Author: Eric Dumazet Date: Fri Aug 28 23:48:54 2009 -0700 tcp: keepalive cleanups Introduce keepalive_probes(tp) helper, and use it, like keepalive_time_when(tp) and keepalive_intvl_when(tp) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5e9b2dbfcbc9b180a0064d8a473a4652ee99c9ad Author: Michael Chan Date: Wed Aug 26 09:49:23 2009 +0000 cnic: Put uio init in separate function. This will allow the 10G iSCSI code to reuse the function. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ec0248ea35f6e1fc7426f377a7df071d997bdedd Author: Michael Chan Date: Wed Aug 26 09:49:22 2009 +0000 cnic: Put rx/tx ring allocation in separate function. This will allow the 10G iSCSI code to reuse the function. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3d1427f87002735aa54c370558e0c2bacc61f31e Author: Eric Dumazet Date: Fri Aug 28 23:45:21 2009 -0700 ipv4: af_inet.c cleanups Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2975315b79f4109523b3d43932f57ed8370b9da3 Author: Alexey Dobriyan Date: Fri Aug 28 23:34:43 2009 -0700 pktgen: use proc_create_data() It looks like after rename device proc entry is unusable, because of no ->read_proc or ->proc_fops. And create_proc_entry() is deprecated. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit c3d2f52dd40b5b6c122329dac32dc0e0351f0598 Author: Stephen Hemminger Date: Thu Aug 27 13:55:20 2009 +0000 pktgen: increase version Increase module version, and cleanup module info. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 63adc6fb8ac0dee0020d6ad73e0d44f4306e1e34 Author: Stephen Hemminger Date: Thu Aug 27 13:55:19 2009 +0000 pktgen: cleanup checkpatch warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 64e8ff5ef2a798cae2e3bede75644173aae98e08 Author: Stephen Hemminger Date: Thu Aug 27 13:55:18 2009 +0000 pktgen: use common idle routine Simpler to have one place that spins and accounts for delays, this will also make the last packet be detected faster for more repeatable timing. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2bc481cf433879f0e6cdd4d899fc21ee05dcea23 Author: Stephen Hemminger Date: Fri Aug 28 23:41:29 2009 -0700 pktgen: spin using hrtimer This changes how the pktgen thread spins/waits between packets if delay is configured. It uses a high res timer to wait for time to arrive. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fd29cf72621071d1d5f9bae634a4505b05f0e58b Author: Stephen Hemminger Date: Thu Aug 27 13:55:16 2009 +0000 pktgen: convert to use ktime_t The kernel ktime_t is a nice generic infrastructure for mananging high resolution times, as is done in pktgen. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5c9d191c166233e723e632e79bcca2127a5fece9 Author: Stephen Hemminger Date: Thu Aug 27 13:55:15 2009 +0000 pktgen: avoid calling gettimeofday If not using delay then no need to update next_tx after each packet sent. This allows pktgen to send faster especially on systems with slower clock sources. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5b8db2f568c4ee2a436f0e1c1416153e2878f869 Author: Stephen Hemminger Date: Thu Aug 27 13:55:14 2009 +0000 pktgen: reorganize transmit loop Handle standard (and non-standard) return values in a switch. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e470757d6179eb8998881ac2706927d4d0cb0e54 Author: Stephen Hemminger Date: Thu Aug 27 13:55:13 2009 +0000 pktgen: use netdev_alloc_skb netdev_alloc_skb is NUMA node aware. Also, don't exhaust atomic emergency pool. Don't want pktgen to cause OOM behaviour. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7d7bb1cf0ea7434230b3e3de49c24ff68666a72e Author: Stephen Hemminger Date: Thu Aug 27 13:55:12 2009 +0000 pktgen: cleanup clone count test The if statement to test for "should a new packet be used" can be simplified. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3791decb5aa0202d2a2473d6cf4947d98e846c7a Author: Stephen Hemminger Date: Thu Aug 27 13:55:11 2009 +0000 pktgen: xmit logic reorganization Do some reorganization of transmit logic path: * move transmit queue full idle to separate routine * add a cpu_relax() * eliminate some of the uneeded goto's * if queue is still stopped, go back to main thread loop. * don't give up transmitting if quantum is exhausted (be greedy) Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3bda06a3d7987bfeabb218ac2f17ce22c34f13b3 Author: Stephen Hemminger Date: Thu Aug 27 13:55:10 2009 +0000 pktgen: stop_device cleanup All the callers were freeing skb after stopping device. Remove unneeded forward decl. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 65c5b786a37746302e225223c0d8b760d4c48a8b Author: Stephen Hemminger Date: Thu Aug 27 13:55:09 2009 +0000 pktgen: mark read-only/mostly variables Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 475ac1e4099a005e1307c416df19f2100b7a838d Author: Stephen Hemminger Date: Thu Aug 27 13:55:08 2009 +0000 pktgen: change inlining Don't force inlining where not needed. Gcc does better job of deciding to inline local functions. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 648fda7404630ba85ce462ee1279e1bc027ad915 Author: Stephen Hemminger Date: Thu Aug 27 13:55:07 2009 +0000 pktgen: minor cleanup A couple of minor functions can be written more compactly. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 39aa81659353becbe4ee34d72cf79e02182e858a Author: Ron Mercer Date: Thu Aug 27 11:02:11 2009 +0000 qlge: Move TX completions from workqueue to NAPI. TX completions were running in a workqueue queued by the ISR. This patch moves the processing of TX completions to an existing RSS NAPI context. Now each irq vector runs NAPI for one RSS ring and one or more TX completion rings. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a4ab613717184138763c5fb4a4b4bbc354d5b0ee Author: Ron Mercer Date: Thu Aug 27 11:02:10 2009 +0000 qlge: Allow running MSIx with fewer vectors. Currently we downshift to MSI/Legacy if we don't get enough vectors for cpu_count RSS rings plus cpu_count TX completion rings. This patch allows running MSIX with the vector count that the platform provides. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit b2014ff8ac314f58d6542ec4ea7b576a2de21c8b Author: Ron Mercer Date: Thu Aug 27 11:02:09 2009 +0000 qlge: Get rid of 'default' rx_ring type. Currently we have three types of RX rings. 1) Default ring - services rx_ring for broadcast/multicast, handles firmware events, and errors. 2) TX completion ring - handles only outbound completions. 3) RSS ring - handles only inbound completions. This patch gets rid of the default ring type and moves it's functionality into the first RSS ring. This makes better use of MSIX vectors since they are a limited resource on some platforms. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit b7f1d43a2ba1b63abbb1dcd966ab1edb9f62f636 Merge: 6c98885 ad43f8b Author: David S. Miller Date: Fri Aug 28 23:06:05 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 6c9888532bb540cb692f51f1d34fe9344eed5a0d Author: Petri Gynther Date: Fri Aug 28 12:05:15 2009 +0000 bonding: Have bond_check_dev_link examine netif_running bonding: Have bond_check_dev_link examine netif_running Some network devices do not call netif_carrier_off when they are set administratively down. Have the bonding link check function also inspect the netif_running state. Ignore netif_running if the bond_check_dev_link function is called with "reporting" set, as in that case it's inspecting the capabilities of the non-netif_carrier device driver. Signed-off-by: Petri Gynther Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit f584130616dfae757b888b7ee472e7c824f59e6a Author: Nicolas de Pesloüan Date: Fri Aug 28 13:18:34 2009 +0000 bonding: Fix useless test: int > INT_MAX max_bonds is of type int and cannot be greater than INT_MAX. Signed-off-by: Nicolas de Pesloüan Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 89c76c62f191daa7ede3d1d0c510a5ccfbcae571 Author: Stephen Hemminger Date: Fri Aug 28 12:05:13 2009 +0000 bonding: use compare_ether_addr Bonding can use compare_ether_addr() in bond_release. Signed-off-by: Stephen Hemminger Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 278339a42a1bcef1fb448d275056d519307e6025 Author: Jay Vosburgh Date: Fri Aug 28 12:05:12 2009 +0000 bonding: propogate vlan_features to bonding master Propogate the vlan_features of the slave devices to the bonding master device, using the same logic as for regular features. Tested by Or Gerlitz , who also removed the debug logic from the original test patch. Signed-off-by: Or Gerlitz Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 2a4ab640d3c28c2952967e5f63ea495555bf2a5f Author: Feng Tang Date: Tue Jul 7 23:01:15 2009 -0400 ACPI, x86: expose some IO-APIC routines when CONFIG_ACPI=n Some IO-APIC routines are ACPI specific now, but need to be exposed when CONFIG_ACPI=n for the benefit of SFI. Remove #ifdef ACPI around these routines: io_apic_get_unique_id(int ioapic, int apic_id); io_apic_get_version(int ioapic); io_apic_get_redir_entries(int ioapic); Move these routines from ACPI-specific boot.c to io_apic.c: uniq_ioapic_id(u8 id) mp_find_ioapic() mp_find_ioapic_pin() mp_register_ioapic() Also, since uniq_ioapic_id() is now no longer static, re-name it to io_apic_unique_id() for consistency with the other public io_apic routines. For simplicity, do not #ifdef the resulting code ACPI || SFI, thought that could be done in the future if it is important to optimize the !ACPI !SFI IO-APIC x86 kernel for size. Signed-off-by: Feng Tang Signed-off-by: Len Brown Cc: x86@kernel.org commit 96f845de89be6be12112d7b388cdf366dccfe12d Author: Takashi Iwai Date: Sat Aug 29 00:49:36 2009 +0200 ALSA: hda - Create "Digital Mic Capture Volume" correctly for IDT codecs So far, the digital mic capture volume wasn't created. This is because IDT codecs have output amps for digital mics, not input amps, while input amps should be used for other analog pins. Thus the automatic capture volume creation should check both directions for digital mics. Signed-off-by: Takashi Iwai commit ad43f8bfb7b9a6a8b800cdad24c4a62180a5eb3d Author: Kiran Divekar Date: Fri Aug 28 17:47:59 2009 +0530 libertas: add NULL check on return value of get_zeroed_page Most of the places in debugfs.c are missing a NULL check on the return value of get_zeroed_page API call. Added required NULL check at appropriate places. Signed-off-by: Kiran Divekar Signed-off-by: John W. Linville commit 04a6445f6f5e439ef775bd18cf3f485f84bbfb1b Author: Jussi Kivilinna Date: Fri Aug 28 13:28:35 2009 +0300 rndis_wlan: use cfg80211_wext_handler Now that cfg80211 functions are added and wext converted to use wext-compat functions, remove wext structures and disabled code. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 21ec2d8d0fee4f3bf0d2e25e5b63bf2637233b43 Author: Jussi Kivilinna Date: Fri Aug 28 13:28:30 2009 +0300 rndis_wlan: disable IWEVPMKIDCAND wireless event Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit a0f9ce2ac35a0c57413dafd90e316c4048d1b43e Author: Jussi Kivilinna Date: Fri Aug 28 13:28:24 2009 +0300 rndis_wlan: convert mic failure wireless event to cfg80211 Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 3334943cefa03a5384060e321e3dd9e686097caf Author: Jussi Kivilinna Date: Fri Aug 28 13:28:19 2009 +0300 rndis_wlan: remove unneeded SIOCSIWCOMMIT Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 305e243e6868eb6cf898183a523455bb9264cd2c Author: Jussi Kivilinna Date: Fri Aug 28 13:28:14 2009 +0300 rndis_wlan: rename wireless stats worker to device poller Stats worker no longer poll stats from device anymore. It's still needed to poll device control channel for connect/disconnect events, so rename stats worker as device poller. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit d695df9049199bdeadd81c29104da8e2542062cf Author: Jussi Kivilinna Date: Fri Aug 28 13:28:09 2009 +0300 rndis_wlan: add cfg80211 dump_station Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 8b89a2883be4b6bad8ac0c5928784febb2b34172 Author: Jussi Kivilinna Date: Fri Aug 28 13:28:03 2009 +0300 rndis_wlan: add cfg80211 get_station Add cfg80211 get_station and convert SIOCGIWRATE and get_wireless_stats to cfg80211. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 84bf8400cee127be3b58a9d9b8cfa453dad999ab Author: Jussi Kivilinna Date: Fri Aug 28 13:27:58 2009 +0300 rndis_wlan: add cfg80211 key handling Add cfg80211 add_key/del_key/set_default_key and convert wext to use theim. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5554adbe0d366f6a5096e6f74b48dcad5698c528 Author: Jussi Kivilinna Date: Fri Aug 28 13:27:53 2009 +0300 rndis_wlan: add cfg80211 set_channel Add cfg80211 set_channel and convert wext to use it. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5c52323e8c44a06183052986dbd028ce15622166 Author: Jussi Kivilinna Date: Fri Aug 28 13:27:47 2009 +0300 rndis_wlan: add cfg80211 connect, disconnect, join_ibss and leave_ibss Add cfg80211 connect functions for station and ad-hoc modes and convert wext to use theim. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 9f77ccab57534f45b0289ceae3a6b85478d14182 Author: Jussi Kivilinna Date: Fri Aug 28 12:59:26 2009 +0300 rndis_wlan: enable infrastructure before setting random essid Random essid must be set to turn on radio when not connected. If device is in ad-hoc mode, this results 'media connect' indications with the random essid which should be ignored. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 161391725eba1f07e98594369cfcb10c848ef352 Author: Jussi Kivilinna Date: Fri Aug 28 12:59:21 2009 +0300 rndis_wlan: set ieee80211_ptr->iftype in rndis_change_virtual_intf Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 7b1fff996a5408261ca458f82369d1f5b7aad2d4 Author: Jussi Kivilinna Date: Fri Aug 28 12:59:15 2009 +0300 rndis_wlan: use is_zero_ether_addr() and is_broadcast_ether_addr() Use is_zero_ether_addr() and is_broadcast_ether_addr() instead of memcmp against ffff_bssid/zero_bssid. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 0848e6c698237ba51c69eca10580d2f38a1179ad Author: Jussi Kivilinna Date: Fri Aug 28 12:59:10 2009 +0300 rndis_wlan: move link up/down work to separate functions Move link up/down work to separate functions and use local array for allocating memory for info structure instead of kzmalloc. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit b1d25a67647efacf2a9f2a1800f0c8195827f923 Author: Jussi Kivilinna Date: Fri Aug 28 12:59:05 2009 +0300 rndis_wlan: increase scan timer delay Increase scan delay from 1 sec to 6 sec. Spec says that scan by OID_802_11_BSSID_LIST_SCAN completes in 6 seconds. Before rfkill patch too short delay was not problem as device was always active (radio on) and performing background scanning. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5fd8f2503b0888ed0c8e0017264059a3f9dc51c0 Author: Jussi Kivilinna Date: Fri Aug 28 12:59:00 2009 +0300 rndis_wlan: resize bssid list if too small Buffer used for bssid list might be too small. Change rndis_query_oid() to return required buffer length to caller and make rndis_check_bssid_list() resize buffer when needed. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit db0dd396da45502e02c64c4153c5822ab5a59a5f Author: Jussi Kivilinna Date: Fri Aug 28 12:58:55 2009 +0300 rndis_wlan: get bssid scan list before new scan OID_802_11_BSSID_LIST_SCAN clears device's bssid list, so retrieve current bssid list from device before issuing new scan. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5f81ff5a7a12a9281d03be103382971ce490268e Author: Jussi Kivilinna Date: Fri Aug 28 12:58:49 2009 +0300 rndis_wlan: ignore OID_802_11_ADD_KEY triggered media connect indications Setting WPA keys with OID_802_11_ADD_KEY sometimes trigger instant media connect indication. These indications are extranous and should be ignored, as otherwise driver would send reassociation event to userspace which in this case is not needed. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 64e368bf9c3690eebd4b3a5cc243f39e902ecdd1 Author: Gábor Stefanik Date: Thu Aug 27 22:49:49 2009 +0200 b43: Implement antenna diversity support for LP-PHY The A/G-PHY changes are fallout fixes from the enum change, which in turn allows the LP-PHY code to be much simpler. The antenna_to_phyctl change is a fix for a potential existing bug that this patch may otherwise trigger. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 867b2efe68b6bb929e3bd1c6d699ba61ff2cf847 Author: Gábor Stefanik Date: Thu Aug 27 17:24:23 2009 +0200 b43: Enable LP-PHY support by default and remove Kconfig warning The most common LP-PHY device, BCM4312, is now fully functional. So, no need to say "probably won't work for you" anymore. It's also not "for debuggers and developers only", as it is perfectly usable for end-users now (at least for BCM4312). Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 97a81f5c5033cb02ae56dd80ff9c38866c777bd8 Author: Pavel Roskin Date: Wed Aug 26 22:30:09 2009 -0400 ath5k: don't use PCI ID to find the chip revision AR5K_SREV is available even if the chip has been put to sleep. Relying on the chip register allows binding non-standard PCI IDs by echo VENDOR_ID PRODUCT_ID >/sys/bus/pci/drivers/ath5k/new_id without having to specify the driver data as well. Signed-off-by: Pavel Roskin Acked-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 3b3ee43da43aca1cbf4c3651379b2b1492e49dd6 Author: Pavel Roskin Date: Wed Aug 26 22:30:00 2009 -0400 ath5k: fix uninitialized value use in ath5k_eeprom_read_turbo_modes() The `val' variable in ath5k_eeprom_read_turbo_modes() is used uninitialized. gcc 4.4.1 with -fno-inline-functions-called-once reports it: eeprom.c: In function 'ath5k_eeprom_read_turbo_modes': eeprom.c:441: warning: 'val' may be used uninitialized in this function Comparing the code to the Atheros HAL, it's clear that the split between ath5k_eeprom_read_modes() and ath5k_eeprom_read_turbo_modes() was incorrect. The Atheros HAL reads both turbo and non-turbo data from EEPROM in one function. Some turbo mode parameters are derived from the same EEPROM values as non-turbo parameters, just from different bits. Merge ath5k_eeprom_read_turbo_modes() into ath5k_eeprom_read_modes() to fix the warning. The actual values and offsets have been cross-checked against Atheros HAL. Signed-off-by: Pavel Roskin Acked-by: Bob Copeland Signed-off-by: John W. Linville commit ca5efbe243dde7d269b6bbae7feaa5e4740db36e Author: Bob Copeland Date: Thu Aug 27 15:17:15 2009 -0400 ath5k: clarify srev comparison for CCMP check As Pavel Roskin noted, the check for mac version as copied from legacy_hal made no sense. This replaces it with the equivalent and makes up a suitable #define for the mac version legacy_hal checked. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 00fa928df428521793866ff6832569d99be7f3e3 Author: Gábor Stefanik Date: Wed Aug 26 23:46:18 2009 +0200 b43: LP-PHY: Revert to the original PHY register write routine After some discussion on IRC about the PHY register write change, I am not sure anymore if this is the right thing to do. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 1303dcfd0504565aef8ef63487443ab1f814c00f Author: Johannes Berg Date: Wed Aug 26 22:15:13 2009 +0200 iwlwifi: fix ICT irq table endianness The ICT IRQ table is a set of __le32 values, not u32 values, so when reading it we need to take into account that it has to be converted to CPU endianness. This was causing a lot of trouble on my powerpc box where various things would simply not work for no apparent reason with 5xxx cards, but worked with 4965 -- which doesn't use the ICT table. Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 924d6356b216e592f596595757db8e955391a489 Author: Ivo van Doorn Date: Wed Aug 26 21:04:08 2009 +0200 rt2x00: Cleanup rt2x00mac_bss_info_changed() Since patch "rt2x00: bss_info_changed() callback is allowed to sleep" the variable delayed wasn't used anymore. This means it can be removed along with the call to schedule_work which depended on that variable. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 06e4da268c0e8f3b8408403d65e47d2885a78ff2 Author: Gábor Stefanik Date: Wed Aug 26 20:51:26 2009 +0200 ssb: Implement PMU LDO control and use it in b43 Implement the "PMU LDO set voltage" and "PMU LDO PA ref enable" functions, and use them during LP-PHY baseband init in b43. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 68ec53292c7f09056152efa9a6ee2591c794f08c Author: Gábor Stefanik Date: Wed Aug 26 20:51:25 2009 +0200 b43: Fix and update LP-PHY code -Fix a few nasty typos (b43_phy_* operations instead of b43_radio_*) in the channel tune routines. -Fix some typos & spec errors found by MMIO tracing. -Optimize b43_phy_write & b43_phy_mask/set/maskset to use only the minimal number of MMIO accesses. (Write is possible using a single 32-bit MMIO write, while set/mask/maskset can be done in 3 16-bit MMIOs). -Set the default channel back to 1, as the bug forcing us to use channel 7 is now fixed. With this, the device comes up, scans, associates, transmits, receives, monitors and injects on all channels - in other words, it's fully functional. Sensitivity and TX power are still sub-optimal, due to the lack of calibration (that's next on my list). Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit d8fa338ee01e7de029d2441a8c2b9c5fbfeac82f Author: Gábor Stefanik Date: Wed Aug 26 20:51:24 2009 +0200 b43: LP-PHY: Fix and simplify Qdiv roundup The Qdiv roundup routine is essentially a fixed-point division algorithm, using only integer math. However, the version in the specs had a major error that has been recently fixed (a missing quotient++). Replace Qdiv roundup with a rewritten, simplified version. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit ca9152e37f57259ca92486ca5753af16fd9155c6 Author: Herton Ronaldo Krzesinski Date: Wed Aug 26 13:54:09 2009 -0300 rtl8187: Implement rfkill support This change implements rfkill support for RTL8187B and RTL8187L devices, using new cfg80211 rfkill API. Acked-by: Larry Finger Tested-by: Hin-Tak Leung Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit 6a8171f261eec3577c2a5985e3a2b51377e48931 Author: Herton Ronaldo Krzesinski Date: Wed Aug 26 13:54:08 2009 -0300 rtl8187: fix circular locking (rtl8187_stop/rtl8187_work) Larry Finger reports following lockdep warning: [ INFO: possible circular locking dependency detected ] 2.6.31-rc6-wl #201 ------------------------------------------------------- rfkill/30578 is trying to acquire lock: (&(&priv->work)->work#2){+.+...}, at: [] __cancel_work_timer+0xd9/0x222 but task is already holding lock: (&priv->conf_mutex#2){+.+.+.}, at: [] rtl8187_stop+0x31/0x364 [rtl8187] which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&priv->conf_mutex#2){+.+.+.}: [] __lock_acquire+0x12d0/0x1614 [] lock_acquire+0xb9/0xdd [] mutex_lock_nested+0x56/0x2a8 [] rtl8187_work+0x3b/0xf2 [rtl8187] [] worker_thread+0x1fa/0x30a [] kthread+0x8f/0x97 [] child_rip+0xa/0x20 [] 0xffffffffffffffff -> #0 (&(&priv->work)->work#2){+.+...}: [] __lock_acquire+0x1005/0x1614 [] lock_acquire+0xb9/0xdd [] __cancel_work_timer+0x112/0x222 [] cancel_delayed_work_sync+0xd/0xf [] rtl8187_stop+0x34c/0x364 [rtl8187] [] ieee80211_stop_device+0x29/0x61 [mac80211] [] ieee80211_stop+0x476/0x530 [mac80211] [] dev_close+0x8a/0xac [] cfg80211_rfkill_set_block+0x4a/0x7a [cfg80211] [] rfkill_set_block+0x84/0xd9 [rfkill] [] rfkill_fop_write+0xda/0x124 [rfkill] [] vfs_write+0xae/0x14a [] sys_write+0x47/0x6e [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff The problem here is that rtl8187_stop, while helding priv->conf_mutex, runs cancel_delayed_work_sync on an workqueue that runs rtl8187_work, which also takes priv->conf_mutex lock. Move cancel_delayed_work_sync out of rtl8187_stop priv->conf_mutex locking region. Reported-by: Larry Finger Tested-by: Larry Finger Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit 1773912bd25196c2a3ca6c174574561363f43b2b Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:50 2009 +0530 ath9k: Add Bluetooth Coexistence 3-wire support This patch adds 3-wire bluetooth coex support for AR9285. This support can be enabled through btcoex_enable modparam. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ff155a45cea56ad7a90c3f5192db59a4c7812fde Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:49 2009 +0530 ath9k: Add infrastructure for generic hw timers Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 81fa16fbe06cb3a4d29cc5a6f925132554521c72 Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:48 2009 +0530 ath9k: Remove hw capability bit meant for btcoex We don't need a hw cap bit for btcoex anymore as btcoex scheme type is enough to do this. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 22f25d0d5e146112d4ec464564ebb49a5b8a547b Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:47 2009 +0530 ath9k: Determine btcoex scheme type based on chip version Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f14462c6661c6b9e91d436f7ab66b35ed52ea703 Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:46 2009 +0530 ath9k: Move btcoex related data to a separate struct Also define macros for wlanactive and btactive (5 & 6) gpios. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 42cc41edf24b75fc6c37c99aed6e85455687e080 Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:45 2009 +0530 ath9k: Configure btcoex register during every reset Make sure btcoex register configured with appropriate values after it is initialized with the default values from initvals.h during reset. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 17d50d1df48631ae868958032edada7aa920636b Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:44 2009 +0530 ath9k: Move btcoex stuff from hw.[ch] to new btcoex.[ch] Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f985ad12b595094839fddaf757fcf5d853ed3d7f Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:43 2009 +0530 ath9k: Split ath9k_hw_btcoex_enable() into two logical pieces This function currently does initialization + enable the btcoex support. Split it into two logical functions which does the above operations separately. Btcoex initialization is done during attach time and enabling this feature is done in start(). Also, add code to disable btcoex support in stop(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 4a7f13eef508012bd1b0ffbb24b807e3494f31cd Author: Jussi Kivilinna Date: Wed Aug 26 15:53:02 2009 +0300 rndis_wlan: set cipher suites for cfg80211 rndis_wlan does not set cipher suites list for cfg80211 which causes wext-compat-range to report rndis_wlan not supporting WPA. Patch adds cipher suites list and fixes NetworkManager not being able to connect to WPA encrypted APs. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 7cf4a2e778ab18c66cd8dd4785aceb2800d49f79 Author: Sujith Date: Wed Aug 26 11:11:57 2009 +0530 ath9k: Wrap DMA dump function with PS wakeup/restore When dumping register contents, HW has to be awake. Signed-off-by: Sujith Signed-off-by: John W. Linville commit b264c673a03329b5e5bab79b705b5bb5ab1fe965 Author: Sujith Date: Wed Aug 26 08:39:55 2009 +0530 ath9k: Update INITVALs for AR9285 Signed-off-by: Sujith Signed-off-by: John W. Linville commit 20caf0dd4131d030c2a4099e2c2766ec7a5e83ea Author: Sujith Date: Wed Aug 26 08:39:52 2009 +0530 ath9k: Handle PA cal usage properly PA Calibration is not needed for high power solutions. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0abb0968795b55ecb102bf635a94a087bbb5aff5 Author: Sujith Date: Wed Aug 26 08:39:50 2009 +0530 ath9k: Fix bugs in programming registers during PA CAL * First PA driver (PDPADRV1) was not powered down properly. * Compensation capacitor for dynamic PA was programmed incorrectly. Also, remove a stray REG_READ. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a13883b0bfcc435e4b7fbbde6334339aac8b1dc4 Author: Sujith Date: Wed Aug 26 08:39:40 2009 +0530 ath9k: Reduce the frequency of PA offset calibration PA calibration need not be done if the offset is not varying. The current logic does PA calibration even if the offset is the same. Signed-off-by: Sujith Signed-off-by: John W. Linville commit b8ecd988b1670035a05035c553c08331214d6603 Author: John W. Linville Date: Tue Aug 25 14:12:25 2009 -0400 libipw: initiate cfg80211 API conversion Initiate the conversion of libipw to the new cfg80211 configuration API. For now, leave CONFIG_IPW2200_PROMISCUOUS stuff alone. Eventually migrate it to cfg80211 when the add/del/change_virtual_intf methods are implemented. Signed-off-by: John W. Linville commit 73f57f8398ed6cba82f9856e20d94d71e6edb3e2 Author: Roel Kluin Date: Fri Aug 7 23:50:00 2009 +0200 ath9k: Fix read buffer overflow Prevent a read of powInfo[-1] in the first iteration. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit 5bf6fcc2bbfb90d997f88c969f1ceee35d064a24 Author: Jouni Malinen Date: Tue Aug 25 17:44:28 2009 +0300 mac80211: Check pending scan request after having processed mgd work When the queued management work items are processed in ieee80211_sta_work() an item could be removed. This could change the anybusy from true to false, so we better check whether we can start a new scan only after having processed the pending work first. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 15db0b7fd872b0312033666d3a82e1214a227ec0 Author: Johannes Berg Date: Tue Aug 25 16:33:47 2009 +0200 mac80211: fix scan cancel on ifdown When an interface is taken down while a scan is pending -- i.e. a scan request was accepted but not yet acted upon due to other work being in progress -- we currently do not properly cancel that scan and end up getting stuck. Fix this by doing better checks when an interface is taken down. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6bd5f5208fac04d00325b458355e4a4abda76595 Author: Gábor Stefanik Date: Tue Aug 25 16:17:48 2009 +0200 b43: LP-PHY: Fix a few typos in the RC calibration code The RC calibration code has some typos - fix them. Also, make the default channel 7, as channel 1 is still broken (only channels 7 and 8, and occasionally 9 work). Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 1e4c7ddc3c34b3e129ec34b3f90bd6359743a5bb Author: Jaswinder Singh Rajput Date: Tue Aug 25 15:28:45 2009 +0530 PRISM54: fix compilation warning CC [M] drivers/net/wireless/prism54/islpci_eth.o drivers/net/wireless/prism54/islpci_eth.c: In function ‘islpci_eth_cleanup_transmit’: drivers/net/wireless/prism54/islpci_eth.c:53: warning: cast from pointer to integer of different size drivers/net/wireless/prism54/islpci_eth.c: In function ‘islpci_eth_receive’: drivers/net/wireless/prism54/islpci_eth.c:453: warning: cast from pointer to integer of different size Signed-off-by: Jaswinder Singh Rajput Signed-off-by: John W. Linville commit 1c81874078dc96b8158ce7b0dab54afe43c8d03e Author: Bob Copeland Date: Mon Aug 24 23:00:33 2009 -0400 ath5k: add hardware CCMP encyption support Recent ath5k hardware is capable of doing CCMP acceleration. Enable it for the cards that support it. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 1c5256bb168faca5ce32a9c9511c8389f9fed31c Author: Bob Copeland Date: Mon Aug 24 23:00:32 2009 -0400 ath5k: use the skb->cb directly for RX status Save a memcpy by just storing updates directly in the skb control block. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 09c9bae26b0d3c9472cb6ae45010460a2cee8b8d Author: Marcos Chaparro Date: Mon Aug 24 23:00:31 2009 -0400 ath5k: add led pin configuration for compaq c700 laptop With this patch, a compaq c700 can turn on the wifi led. The array of compatible devices now includes the hardware present in this computer, as well as the led pin and polarity. Signed-off-by: Marcos Chaparro Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 56d1de0a21db28e41741cfa0a66e18bc8d920554 Author: Bob Copeland Date: Mon Aug 24 23:00:30 2009 -0400 ath5k: clean up filter flags setting The maze of if() statements in configure_filter is confusing. Reorganizing it as a switch statement makes it more apparent what is going on and reveals several suspicious settings. This has no functional changes, though it does remove some redundant flags that are set earlier. Also now that we can sleep, protect sc->filter_flags with the sc lock. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit eadac6bf95e1945bb64e6f8f22d8509391645e2e Author: Arnd Hannemann Date: Mon Aug 24 20:51:46 2009 +0200 mac80211: Fix output of minstrels rc_stats An integer overflow in the minstrel debug code prevented the throughput to be displayed correctly. This patch fixes that, by permutating operations like proposed by Pavel Roskin. Signed-off-by: Arnd Hannemann Signed-off-by: John W. Linville commit 2aa7b01fe4f2d0978115bfd40364f52d86003606 Author: Lennert Buytenhek Date: Mon Aug 24 15:48:07 2009 +0200 mwl8k: separate driver and device info reporting during probe Only print the driver version once, and condense all per-PHY information to a single line. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 76c962a204f8d36b762440aa941fcea3d44e2fd2 Author: Lennert Buytenhek Date: Mon Aug 24 15:42:56 2009 +0200 mwl8k: missing endian conversion when printing firmware command result Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 39a1e42eb4d0a2bc3f1211e9012bd23734ab86db Author: Lennert Buytenhek Date: Mon Aug 24 15:42:46 2009 +0200 mwl8k: fix pci dma mapping leak in mwl8k_post_cmd() error path Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 942457d63fedd08ce7330b89fc2934be02c3fecc Author: Lennert Buytenhek Date: Mon Aug 24 15:42:36 2009 +0200 mwl8k: fix inverted error test in mwl8k_bss_info_changed() Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 77a980dc6c4674fc7741d72b9775135669318d8d Author: Johannes Berg Date: Mon Aug 24 11:46:30 2009 +0200 mac80211: fix RX skb leaks In mac80211's RX path some of the warnings that warn about drivers passing invalid status values leak the skb, fix that by refactoring the code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0448b5fc032ea76096eb3cfbe3196b3c01b08b86 Author: Roel Kluin Date: Sat Aug 22 21:15:49 2009 +0200 nl80211: jump to out_err upon unsupported iftype Jump to out_err when the iftype is not supported. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit 229a7ef7c2861f9ecb7e025f4bd4ea1167fbb0a7 Author: Joerg Albert Date: Fri Aug 21 22:53:37 2009 +0200 ar9170: remove unnecessary call to ar9170_set_beacon_timers Signed-off-by: Joerg Albert Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit ea39d1a4027cca99cc75126f574633c3b72da04a Author: Joerg Albert Date: Fri Aug 21 23:25:07 2009 +0200 ar9170: cleanup of bss_info_changed and beacon config Add beacon control by BSS_CHANGED_BEACON_ENABLED and bss_conf->enable_beacon from mac80211. Signed-off-by: Joerg Albert Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a0bf797ff10cdbc15e8abe1309e7ab397f61691f Author: Reinette Chatre Date: Fri Aug 21 14:03:51 2009 -0700 MAINTAINERS: Update ipw2x00 and iwlwifi entries Update MAINTAINERS file to reflect current maintenance status of ipw2x00 drivers. We remove James's name as he is not involved with this project anymore. We also update the Status to "Odd Fixes". This has been true for a while now, we have to make it official. There is also a new email address with which all relevant people can be reached. The same email address should be used for iwlwifi. Signed-off-by: Reinette Chatre Cc: James Ketrenos Acked-by: James Ketrenos Acked-by: Zhu Yi Signed-off-by: John W. Linville commit c1eb2c82e5ccc9b691f737c3150e746c9af3ffab Author: Reinette Chatre Date: Fri Aug 21 13:34:26 2009 -0700 ipw2x00: update contact information Intel Linux wireless folks can be reached via this address. Signed-off-by: Reinette Chatre Acked-by: Zhu Yi Signed-off-by: John W. Linville commit 5bddf54962bf68002816df710348ba197d6391bb Author: Wey-Yi Guy Date: Fri Aug 21 13:34:25 2009 -0700 iwlwifi: fix unloading driver while scanning If NetworkManager is busy scanning when user tries to unload the module, the driver can not be unloaded because HW still scanning. Make sure driver sends abort scan host command to uCode if it is in the middle of scanning during driver unload. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b2ccb4dbe77eaebb6b286402c31b4e2b1155660f Author: Abhijeet Kolekar Date: Fri Aug 21 13:34:24 2009 -0700 iwlwifi: fix remove key error Fix following error by sending synchronous command and waiting for the command to complete. mac80211-phy0: failed to remove key (0, ff:ff:ff:ff:ff:ff) from hardware (-16). -16 is EBUSY error. The asynchronous command tests for STATUS_EXIT_PENDING while interface is getting down and it returns -EBUSY error if set. Changing the host command from asynchronous call to synchronous call enables command to be run while interface is going down. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ab9fd1bf76ffebf6c3b3d5800092387edf1201b9 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:23 2009 -0700 iwlwifi: read enhanced tx power info from EEPROM image For 6000 series and up, additional enhanced regulatory tx power limitation information is added to EEPROM image. In order to setup the tx power limitation per channel correctly. Read the enhanced tx power information from EEPROM image and update accordingly. The information is provided per SISO (a,b,c) chain based, it also has information for both MIMO2 and MIMO3. For tx power regulatory limitation, take the highest number from all the chains and update. Also update tx_power_user_lmt to the highest power supported by any channels and chains Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c4d9b50986b4264f32883d19ac260a11647860e1 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:22 2009 -0700 iwlwifi: remove duplicated define Remove duplicated define "STA_FLG_PWR_SAVE_MSK" Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c5f8cdb72e3940d647980358dec0aba945a3bb57 Author: Daniel C Halperin Date: Fri Aug 21 13:34:21 2009 -0700 iwlwifi: set HT flags in ieee80211_rx_status for received packets Add code to set the HT flags (HT, 40 MHz, Short guard interval) in the ieee80211_rx_status field passed to mac80211. This ensures that mac80211 processes these HT packets correctly. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7ebaeff8ae0ba14c086b117f451c5b40bea8a64b Author: Daniel C Halperin Date: Fri Aug 21 13:34:20 2009 -0700 iwlwifi: clear rate control flags on non-HT packet Clear the flags (most importantly, the IEEE80211_TX_RC_MCS flag) when sending a non-HT packet so that the rate index can be properly treated. This fixes the reporting of legacy rates in wireless-extensions for packets sent after an HT packet. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f204b2487e5503ca4a9f3e69dcd63f6af979aaac Author: Wey-Yi Guy Date: Fri Aug 21 13:34:19 2009 -0700 iwlwifi: show current tx power debugFs file show current tx power for all the transmit chains Adding "tx_power" file in /sys/kernal/debug/ieee80211/phy0/iwlagn/debug to display current tx power for all the active chains in 1/2 dB step. Show tx power information "Not available" if uCode can not provide the information or interface is down. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fcbaf8b06da385c73cb6218f079e9ddba9ee9f7c Author: Wey-Yi Guy Date: Fri Aug 21 13:34:18 2009 -0700 iwlwifi: change IWL6000_UCODE_API_MAX to v4 uCode version changed to v4 for 6000 series The additional parameter added to v4 is providing current tx power for each chain in tx statistics portion of "statistics notification" command. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5eadd94bd4006aacf12052c447bcc997bf6ecd28 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:17 2009 -0700 iwlwifi: error checking for setting tx_power in sysfs Perform error checking and report failure when setting tx power from sysfs. If fail to set the tx power, do not update the local copy, so user will not see the incorrect tx power in sysfs Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit dc1b09733215e19f6a0f676be2744fe2f5471d85 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:16 2009 -0700 iwlwifi: name changes from "tx_power_channel_lmt" to "tx_power_device_lmt" Changing the name from "tx_power_channel_lmt" to "tx_power_device_lmt"; to give idea that scope of limit is for overall device, not any individual channels Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 08f2d58d0e573d13a8eb0afbb6f3122da37b9ce3 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:15 2009 -0700 iwlwifi: do not allow set tx power over channel power limit When setting tx power in sysfs, check against max channel tx power limit instead of IWL_TX_POWER_TARGET_POWER_MAX. Different devices have different max tx power limit; using IWL_TX_POWER_TARGET_POWER_MAX can excess the limitaion and give wrong information. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 02eec9c5a1d3e9a2bed5e6221970febef38fc080 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:14 2009 -0700 iwlwifi: set default tx power user limit to minimal Set the tx_power_user_lmt to the lowest power level this value will get overwritten by channel's max power avg from eeprom Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit aa065263ecb0b0df096ff4b02b2fb88060dd2d45 Author: Gábor Stefanik Date: Fri Aug 21 20:44:09 2009 +0200 iwlwifi: Make injection of non-broadcast frames work again Commit 1ccb84d87d04df3c76cd4352fe69786d8c7cf016 by Wey-Yi Guy ("iwlwifi: clean up unused NL80211_IFTYPE_MONITOR for Monitor mode") broke injection of non-broadcast frames to unassociated stations (causing a SYSASSERT for all such injected frames), due to injected frames no longer automatically getting a broadcast station ID assigned. This patch restores the old behavior, fixing the aforementioned regression. Also, consistently check for IEEE80211_TX_CTL_INJECTED instead of iwl_is_monitor_mode in the TX path, as TX_CTL_INJECTED specifically means that a given packet is coming from a monitor interface, while iwl_is_monitor_mode only shows whether a monitor interface exists on the device. Signed-off-by: Gábor Stefanik Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 9d45368a3825349d8ba686bc36df589d16577dd4 Author: Marek Vasut Date: Fri Aug 21 04:08:16 2009 +0200 libertas: Add support for Marvell Libertas CF8305 The CF8305 is a very old silicon running firmware version 3.0 . This card also needs some special treatment as it's so old it can't do unaligned register access. But since that happens only at one place, there were no changes made to the register access functions, but instead that particular place was fixed. Also, this card uses only one-stage firmware which is loaded the same way as helper firmware. The second-stage firmware isn't loaded on this card and doesn't therefore have to be supplied. Signed-off-by: Marek Vasut Signed-off-by: John W. Linville commit ca4fe30097d700c595c13362200083650759e104 Author: Dan Williams Date: Fri Aug 21 09:35:20 2009 -0500 libertas: clean up and clarify get_common_rates Clarify what the heck the function is doing with better variable names and less indirection and better comments. Also ensure callers use the proper minimum size, even though all rates arrays should be size MAX_RATES anyway. Reverts part of Andrey's dynamic alloc patch since we don't really need it. Also leaves the passed-in rates array alone on errors. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 1e3d31c589a6bcb05cd7fccccf9657c27b0e3dd1 Author: Roel Kluin Date: Sun Aug 2 09:44:12 2009 +0200 libertas: Read buffer overflow Check whether index is within bounds before testing the element. (also includes "Libertas: Association request to the driver failed" The size of the tmp buffer was too small, causing a regression rates->rates has an arraysize of 1, so a memcpy with MAX_RATES (14) was already causing reads out of bounds. In get_common_rates() the memset/memcpy can be moved upwards. -- JWL) Signed-off-by: Roel Kluin Tested-by: Daniel Mack Signed-off-by: John W. Linville commit 1c4e9ab3f1cc458306b3b910000371ba4f71c4d2 Author: Arnd Hannemann Date: Fri Aug 21 16:11:30 2009 +0200 mac80211: Remove unnused throughput field from minstrel_rate. I noticed that the throughput field of the minstrel_rate struct is never used, so remove it. Signed-off-by: Arnd Hannemann Signed-off-by: John W. Linville commit ea77f12f2cc0f31168f2e0259e65a22202ac4dc2 Author: Johannes Berg Date: Fri Aug 21 14:44:45 2009 +0200 mac80211: remove tasklet enable/disable Due to the way the tasklets work in mac80211 there's no need to ever disable them. However, we need to clear the pending packets when taking down the last interface because otherwise the tx_pending_tasklet might be queued if the driver mucks with the queues (which it shouldn't). I've had a situation occasionally with ar9170 in which ksoftirq was using 100% CPU time because a disabled tasklet was scheduled, and I think that was due to ar9170 receiving a packet while the tasklet was disabled. That's strange and it really should not do that for other reasons, but there's no need to waste that much CPU time over it, it should just warn instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3d54d25515838543e56889aa7e48f40d00719368 Author: Johannes Berg Date: Fri Aug 21 14:51:05 2009 +0200 cfg80211: clean up properly on interface type change When the interface type changes while connected, and the driver does not require the interface to be down for a type change, it is currently possible to get very strange results unless the driver takes special care, which it shouldn't have to. To fix this, take care to disconnect/leave IBSS when changing the interface type -- even if the driver may fail the call. Also process all events that may be pending to avoid running into a situation where an event is reported but only processed after the type has already changed, which would lead to missing events and warnings. A side effect of this is that you will have disconnected or left the IBSS even if the mode change ultimately fails, but since the intention was to change it and thus leave or disconnect, this is not a problem. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f7969969f416e593bcc7dc24abf3f9fd6c27136d Author: Johannes Berg Date: Fri Aug 21 12:23:49 2009 +0200 cfg80211: make spurious warnings less likely, configurable Bob reported that he got warnings in IBSS mode about the ssid_len being zero on a joined event, but only when kmemcheck was enabled. This appears to be due to a race condition between drivers and userspace, when the driver reports joined but the user in the meantime decided to leave the IBSS again, the warning would trigger. This was made more likely by kmemcheck delaying the code that does the check and sends the event. So first, make the warning trigger closer to the driver, which means it's not locked, but since only the warning depends on it that's ok. And secondly, users will not want to have spurious warnings at all, so make those that are known to be racy in such a way configurable. Reported-by: Bob Copeland Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3d832611d794b3d312d26a4b251ac5285206f90d Author: Sujith Date: Fri Aug 21 12:00:28 2009 +0530 ath9k: Fix chainmask selection during scanning The TX/RX chainmasks were set to 1x1 during scanning. Configure them properly with the values retrieved from the EEPROM. Also, this requires scan_start/scan_end callbacks to be locked with sc->mutex. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 103bf9f7d35849bce52ad412e4da5063b0716969 Author: John W. Linville Date: Thu Aug 20 16:34:15 2009 -0400 mac80211: remove ieee80211_rx namespace hack With the libipw naming scheme change, it is no longer necessary for mac80211 to avoid the ieee80211_rx name clash. Reported-by: Johannes Berg Signed-off-by: John W. Linville commit b0a4e7d8a291de63f35b04464de9ab4a83d38a7c Author: John W. Linville Date: Thu Aug 20 14:48:03 2009 -0400 libipw: switch from ieee80211_* to libipw_* naming policy This eliminates the dual definition of ieee80211_channel (and possibly others), further clarifying who defines what and paving the way for inclusion of cfg80211.h. Signed-off-by: John W. Linville commit 01a0ac417ce9b4f1216a266f2fd454cffefc5aee Author: Johannes Berg Date: Thu Aug 20 21:36:16 2009 +0200 cfg80211: check lost scans later, fix bug When we lose a scan, cfg80211 tries to clean up after the driver. However, it currently does this too early, it does this in GOING_DOWN already instead of DOWN, so it may happen with mac80211. Besides fixing this, also make it more robust by leaking the scan request so if the driver later actually finishes the scan, it won't crash. Also check in ___cfg80211_scan_done whether a scan request is still pending and exit if not. Reported-by: Felix Fietkau Signed-off-by: Johannes Berg Tested-by: Felix Fietkau Signed-off-by: John W. Linville commit 40ba60ddfeff8ef42fb33c0bdacfbb5f83e96b32 Author: Jussi Kivilinna Date: Thu Aug 20 21:00:34 2009 +0300 rndis_wlan: fix broken logic in add_wep_key() add_wep_key() tries to check if key length is not 5 AND not 13 but uses (key_len != 5 || key_len != 13) instead. Fix this. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 84f6a01ce05fa671f7745b6e041e698a2d1f1341 Author: Johannes Berg Date: Thu Aug 20 20:02:20 2009 +0200 mac80211: fix configure_filter invocation after stop Since configure_filter can sleep now, any multicast configuration needed to be postponed to a work struct. This, however, lead to a problem that we could queue the work, stop the device and then afterwards invoke configure_filter which may lead to driver hangs and is a bug. To fix this, we can just cancel the filter work since it's unnecessary to do after stopping the hw. Since there are various places that call drv_stop, and two of them do very similar things, the code for them can be put into a shared function at the same time. Signed-off-by: Johannes Berg Reported-by: Lennert Buytenhek Tested-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 5eb6ba83aa326e2f2cf9109d20df5d6a497b36bb Author: Javier Cardona Date: Thu Aug 20 19:12:07 2009 -0700 ath9k: Add support FIF_OTHER_BSS filtering mode. Support for FIF_OTHER_BSS was missing. This patch adds support for this filtering mode which in turn resolves a problem where mesh interfaces would not receive broadcast traffic. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 9e03fdfd05e733e1136d431973625b174029c5e6 Author: Javier Cardona Date: Thu Aug 20 09:21:45 2009 -0700 mac80211: Update mesh config IE to 11s draft 3.02 The mesh config information element has changed significantly since draft 1.08 This patch brings it up to date. Thanks to Sam Leffler and Rui Paulo for identifying this. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 90d6f92828a081a86cb4f9644b6eef6207855050 Author: Christian Lamparter Date: Thu Aug 20 20:22:01 2009 +0200 p54: fix broadcast buffering in AP mode The patch "mac80211: fix PS-poll response race" somehow broke broadcast buffering in a funny way. During normal operation - stations are awake - the firmware refused to transmit broadcast frames and reported P54_TX_PSM_CANCELLED. But everything worked as soon as one station entered PSM. The reason: The stack sets IEEE80211_TX_CTL_SEND_AFTER_DTIM for outgoing broadcast frames as soon as a station is marked as sleeping. This flag triggers a path which will reroute these frames into p54's "content after beacon" queue, which is designed to cope with the demands for psm. This patch restores the old behavior. IEEE80211_TX_CTL_CLEAR_PS_FILT will once again be used to signalize the firmware to ignore the ps canceling for certain frames. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d2c0bdaa9362c4b2ab7416420d034a0a2d1ec979 Author: Jarkko Nikula Date: Fri Aug 28 15:35:35 2009 +0300 ASoC: OMAP: Add functionality to set CLKR and FSR sources in McBSP DAI The McBSP1 port in OMAP3 processors (I believe OMAP2 too but I don't have specifications to check it) have additional CLKR and FSR pins for McBSP1 receiver. Reset default is that receiver is using bit clock and frame sync signal from those pins but it is possible to configure to use also CLKX and FSX pins as well. In fact, other McBSP ports are doing that internally that transmitter and receiver share the CLKX and FSX. Add functionaly that machine drivers can set the CLKR and FSR sources by using the snd_soc_dai_set_sysclk. Thanks to "Aggarwal, Anuj" for reporting the issue. Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown commit 0dd7b74787eaf7858c6c573353a83c3e2766e674 Author: Frederic Weisbecker Date: Fri Aug 28 00:50:06 2009 +0200 tracing: Fix double CPP substitution in TRACE_EVENT_FN TRACE_EVENT_FN relays on TRACE_EVENT by reprocessing its parameters into the ftrace events CPP macro. This leads to a double substitution in some cases. For example, a bad consequence is a format always prefixed by "%s, %s\n" for every TRACE_EVENT_FN based events. Eg: cat /debug/tracing/events/syscalls/sys_enter/format [...] print fmt: "%s, %s\n", "\"NR %ld (%lx, %lx, %lx, %lx, %lx, %lx)\"",\ "REC->id, REC->args[0], REC->args[1], REC->args[2], REC->args[3],\ REC->args[4], REC->args[5]" This creates a failure in post-processing tools such as perf trace or trace-cmd. Then drop this double substitution and replace it by a new __cpparg() macro that relays CPP arguments containing commas. Signed-off-by: Frederic Weisbecker Cc: Josh Stone Cc: Li Zefan Cc: Steven Rostedt Cc: Jason Baron LKML-Reference: <1251413406-6704-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 66c6e29f24a50173fc1e761c3e2483c8d64e3b1a Merge: 6c347d4 117226d Author: Ingo Molnar Date: Fri Aug 28 13:53:07 2009 +0200 Merge branch 'tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core commit 119e7a22bb70d84849384e5113792cd45afa4f85 Author: Pierre Habouzit Date: Thu Aug 27 09:59:02 2009 +0200 perf tools: do not complain if root is owning perf.data This improves patch fa6963b24 so that perf.data stuff that has been dumped as root can be read (annotate/report) by a user without the use of the --force. Rationale is that root has plenty of ways to screw us (usually) that do not require twisted schemes involving specially crafting a perf.data. Signed-off-by: Pierre Habouzit Cc: Paul Mackerras Cc: Peter Zijlstra Cc: LKML-Reference: <20090827075902.GF19653@laphroaig.corp> Signed-off-by: Ingo Molnar commit f4890b5c04b6301ef9c3c44ecbfe9955efdbaa17 Author: Chaithrika U S Date: Tue Aug 25 15:22:21 2009 +0300 ASoC: davinci: i2c device creation moved into board files Also, the codec setup data structure has to remain for successful probe. Signed-off-by: Chaithrika U S Signed-off-by: Kevin Hilman Signed-off-by: Mark Brown commit 34d76c41554a05425613d16efebb3069c4c545f0 Author: Peter Zijlstra Date: Thu Aug 27 13:08:56 2009 +0200 sched: Fix division by zero - really When re-computing the shares for each task group's cpu representation we need the ratio of weight on each cpu vs the total weight of the sched domain. Since load-balancing is loosely (read not) synchronized, the weight of individual cpus can change between doing the sum and calculating the ratio. The previous patch dealt with only one of the race scenarios, this patch side steps them all by saving a snapshot of all the individual cpu weights, thereby always working on a consistent set. Signed-off-by: Peter Zijlstra Cc: torvalds@linux-foundation.org Cc: jes@sgi.com Cc: jens.axboe@oracle.com Cc: Balbir Singh Cc: Arjan van de Ven Cc: Yinghai Lu LKML-Reference: <1251371336.18584.77.camel@twins> Signed-off-by: Ingo Molnar commit d498bc1f6261dd6f655440eb2f1c7fa25694d3ba Author: Frederic Weisbecker Date: Fri Aug 28 04:46:07 2009 +0200 perf tools: Fix missing string field printing in perf trace Some string fields are not printed because of a missing printf in the post-processing. Before: perf-10070 [000] 0.000000: sched_switch: task :10070 [120] (R) ==> :5720 [120] geany-5720 [000] 0.000000: sched_switch: task :5720 [120] (S) ==> :10070 [120] perf-10070 [000] 0.000000: sched_switch: task :10070 [120] (R) ==> :5720 [120] geany-5720 [000] 0.000000: sched_switch: task :5720 [120] (S) ==> :10070 [120] -0 [000] 0.000000: sched_switch: task :0 [140] (R) ==> :361 [115] After: perf-10070 [000] 0.000000: sched_switch: task perf:10070 [120] (R) ==> geany:5720 [120] geany-5720 [000] 0.000000: sched_switch: task geany:5720 [120] (S) ==> perf:10070 [120] perf-10070 [000] 0.000000: sched_switch: task perf:10070 [120] (R) ==> geany:5720 [120] geany-5720 [000] 0.000000: sched_switch: task geany:5720 [120] (S) ==> perf:10070 [120] -0 [000] 0.000000: sched_switch: task swapper:0 [140] (R) ==> kondemand/1:361 [115] Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt LKML-Reference: <1251427567-10551-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 1ef2ed1066ae9f8080cd96cba11c2d41118b8792 Author: Frederic Weisbecker Date: Fri Aug 28 03:09:58 2009 +0200 perf tools: Only save the event formats we need While opening a trace event counter, every events are saved in the trace.info file. But we only want to save the specifications of the events we are using. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt LKML-Reference: <1251421798-9101-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit cf0baf16c3a3b3dd67ea3df346479032ab10e988 Author: Takashi Iwai Date: Fri Aug 28 07:22:05 2009 +0200 ALSA: Fixed a typo of printk() Fixed a silly typo of printk() included in the previous patch... Signed-off-by: Takashi Iwai commit 9d8340687c524ce61e3c9c76758c4c81303acfc0 Author: David Brownell Date: Tue Aug 25 19:24:14 2009 -0700 Input: add twl4030_keypad driver Add a driver for the keypad controller on TWL4030 family chips. These support up to an 8x8 key matrix. The TWL4030 multifunction chips are mostly used on OMAP3 (or OMAP 2430) based boards. [dtor@mail.ru: switch to matrix-keypad framework, fix changing keymap from userspace] Reviewed-by: Trilok Soni Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit 77a53fd21870c726b670c0d8179294ac1ea33468 Author: Dmitry Torokhov Date: Tue Aug 25 19:24:13 2009 -0700 Input: matrix-keypad - add function to build device keymap Signed-off-by: Dmitry Torokhov commit 8fbac18e8edd974b5234d96a9b8e2a26ab2ac556 Author: Roel Kluin Date: Tue Aug 25 19:24:23 2009 -0700 Input: tosakbd - fix cleaning up KEY_STROBEs after error Direct to fail2 to gpio_free() the KEY_STROBEs as well as the KEY_SENSEs. [dtor@mail.ru: change keymap from unsigned int to unsigned short] Signed-off-by: Roel Kluin Signed-off-by: Dmitry Torokhov commit 999b874f4aa39b7abf45662ff0900f943ddb2d02 Author: Stephen Kitt Date: Tue Aug 25 19:24:22 2009 -0700 Input: joydev - validate axis/button maps before clobbering current ones Up to now axis and button map validation was done after the user-supplied values were copied over the driver's map. This patch copies the user-supplied values into temporary buffers and validated them before overwriting the driver's permanent maps. Also change JSIOCGBTNMAP and JSIOCGAXMAP to return number of bytes returned to userspace instead of 0. Signed-off-by: Stephen Kitt Signed-off-by: Dmitry Torokhov commit 4b61bb575b1fb42ab1df228ae7812e5135f656da Merge: 805423e 326ba50 Author: Dmitry Torokhov Date: Thu Aug 27 22:00:20 2009 -0700 Merge commit 'v2.6.31-rc8' into next commit 77c0a700c1c292edafa11c1e52821ce4636f81b0 Author: Benjamin Herrenschmidt Date: Fri Aug 28 14:25:04 2009 +1000 powerpc: Properly start decrementer on BookE secondary CPUs This moves the code to start the decrementer on 40x and BookE into a separate function which is now called from time_init() and secondary_time_init(), before the respective clock sources are registered. We also remove the 85xx specific code for doing it from the platform code. Signed-off-by: Benjamin Herrenschmidt commit e5a6a1c9094839581242c678b11c93c294108696 Author: Paul Gortmaker Date: Thu Aug 13 09:37:04 2009 +0000 powerpc: derive COMMAND_LINE_SIZE from asm-generic The default COMMAND_LINE_SIZE in asm-generic is 512, so the net effect of this change is nil, aside from the cleanup factor. See also commit 2b74b8569. Signed-off-by: Paul Gortmaker Signed-off-by: Benjamin Herrenschmidt commit 89c2dd62a389c5fed07c4b13c906c43214fc7491 Author: Kumar Gala Date: Tue Aug 25 16:20:45 2009 +0000 powerpc/pci: Pull ppc32 PCI features into common Some of the PCI features we have in ppc32 we will need on ppc64 platforms in the future. These include support for: * ppc_md.pci_exclude_device * indirect config cycles * early config cycles We also simplified the logic in fake_pci_bus() to assume it will always get a valid pci_controller. Since all current callers seem to pass it one. Signed-off-by: Kumar Gala Acked-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit fbe65447197789a3ccccc27755956f6a4c445089 Author: Grant Likely Date: Tue Aug 25 20:07:11 2009 +0000 powerpc/pci: move pci_64.c device tree scanning code into pci-common.c The PCI device tree scanning code in pci_64.c is some useful functionality. It allows PCI devices to be described in the device tree instead of being probed for, which in turn allows pci devices to use all of the device tree facilities to describe complex PCI bus architectures like GPIO and IRQ routing (perhaps not a common situation for desktop or server systems, but useful for embedded systems with on-board PCI devices). This patch moves the device tree scanning into pci-common.c so it is available for 32-bit powerpc machines too. Signed-off-by: Grant Likely Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit ae14e13a4c8bb091dfd5606fd76c9cd272090ab7 Author: Grant Likely Date: Tue Aug 25 20:07:02 2009 +0000 powerpc/pci: Remove dead checks for CONFIG_PPC_OF PPC_OF is always selected for arch/powerpc. This patch removes the stale #defines Signed-off-by: Grant Likely Acked-by: Stephen Rothwell Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit bb1af71ecbfdbecbe9f7e43f703da5840b76c2e4 Author: Kumar Gala Date: Tue Aug 18 19:08:33 2009 +0000 powerpc/book3e-64: Add support to initial_tlb_book3e for non-HES TLB We now search through TLBnCFG looking for the first array that has IPROT support (we assume that there is only one). If that TLB has hardware entry select (HES) support we use the existing code and with the proper TLB select (the HES code still needs to clean up bolted entries from firmware). The non-HES code is pretty similiar to the 32-bit FSL Book-E code but does make some new assumtions (like that we have tlbilx) and simplifies things down a bit. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 4b98d9e713a03bd79ced8800e24a56359f9effbf Author: Kumar Gala Date: Tue Aug 18 19:08:32 2009 +0000 powerpc/book3e-64: Add helper function to setup IVORs Not all 64-bit Book-3E parts will have fixed IVORs so add a function that cpusetup code can call to setup the base IVORs (0..15) to match the fixed offsets. We need to 'or' part of interrupt_base_book3e into the IVORs since on parts that have them the IVPR doesn't extend as far down. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 6c188829d2c20a1d02aedb13db34b3ca2a8f0dc4 Author: Kumar Gala Date: Tue Aug 18 19:08:31 2009 +0000 powerpc/book3e-64: Wait til generic_calibrate_decr to enable decrementer Match what we do on 32-bit Book-E processors and enable the decrementer in generic_calibrate_decr. We need to make sure we disable the decrementer early in boot since we currently use lazy (soft) interrupt on 64-bit Book-E and possible get a decrementer exception before we are ready for it. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit f45c4486f70d0a6502e7499a8664cdc0bba84cd2 Author: Kumar Gala Date: Tue Aug 18 19:08:30 2009 +0000 powerpc/book3e-64: Move the default cpu table entry Move the default cpu entry table for CONFIG_PPC_BOOK3E_64 to the very end since we will probably want to support both 32-bit and 64-bit kernels for some processors that are higher up in the list. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit df5d6ecf8157245ef733db87597adb2c6e2510da Author: Kumar Gala Date: Mon Aug 24 15:52:48 2009 +0000 powerpc/mm: Add MMU features for TLB reservation & Paired MAS registers Support for TLB reservation (or TLB Write Conditional) and Paired MAS registers are optional for a processor implementation so we handle them via MMU feature sections. We currently only used paired MAS registers to access the full RPN + perm bits that are kept in MAS7||MAS3. We assume that if an implementation has hardware page table at this time it also implements in TLB reservations. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 23e55f92d4fd733365dd572ea6e9e211387123c2 Author: Michael Wolf Date: Thu Aug 20 13:21:45 2009 +0000 powerpc: Adjust base and index registers in Altivec macros On POWER6 systems RA needs to be the base and RB the index. If they are reversed you take a misdirect hit. Signed-off-by: Mike Wolf ---- Signed-off-by: Benjamin Herrenschmidt commit e3e1d15855206c85f4c9ed82746e81acfe13e5aa Author: Becky Bruce Date: Mon Aug 24 06:15:36 2009 +0000 powerpc: Name xpn & x fields in HW Hash PTE format Previously, the 36-bit code was using these bits, but they had never been named in the pte format definition. This patch just gives those fields their proper names and adds a comment that they are only present on some processors. There is no functional code change. Signed-off-by: Becky Bruce Signed-off-by: Benjamin Herrenschmidt commit 948c28fe3001f2c9d852dff2a0b2c69fe7cec91b Author: Peter Huewe Date: Thu Aug 20 11:14:06 2009 +0000 hvc_console: Add __init and __exit to hvc_vio Trivial patch which adds the __init/__exit macros to the module_init/ module_exit functions of char/hvc_vio.c Please have a look at the small patch and either pull it through your tree, or please ack' it so Jiri can pull it through the trivial tree. linux version 2.6.31-rc6 - linus git tree, Do 20. Aug 22:26:06 CEST 2009 Signed-off-by: Peter Huewe Signed-off-by: Benjamin Herrenschmidt commit 80d3e8abb73dad3983fef2597b52cab8fbcd876b Author: FUJITA Tomonori Date: Tue Aug 4 19:08:28 2009 +0000 powerpc: Add CONFIG_DMA_API_DEBUG support Signed-off-by: FUJITA Tomonori Signed-off-by: Benjamin Herrenschmidt commit 4a9a6bfe707cfe5bcb0a20eabe240293a095cd10 Author: FUJITA Tomonori Date: Tue Aug 4 19:08:27 2009 +0000 powerpc: Handle SWIOTLB mapping error properly Signed-off-by: FUJITA Tomonori Signed-off-by: Benjamin Herrenschmidt commit 46bab4e4b45ec522ecd5fa4a0e2b4a6e6d1f153a Author: FUJITA Tomonori Date: Tue Aug 4 19:08:26 2009 +0000 powerpc: Use asm-generic/dma-mapping-common.h Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce Signed-off-by: Benjamin Herrenschmidt commit 45223c549273bbb2c6e1bc6e3629174e8765ad01 Author: FUJITA Tomonori Date: Tue Aug 4 19:08:25 2009 +0000 powerpc: use dma_map_ops struct This converts uses dma_map_ops struct (in include/linux/dma-mapping.h) instead of POWERPC homegrown dma_mapping_ops. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce Signed-off-by: Benjamin Herrenschmidt commit f726f30e32305a34a203ff975e60885aa7556c6a Author: FUJITA Tomonori Date: Tue Aug 4 19:08:24 2009 +0000 dma: Add set_dma_mask hook to struct dma_map_ops POWERPC needs this hook. SPARC could use it too. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce Signed-off-by: Benjamin Herrenschmidt commit 3702977fa7d1a1a95caa387121fa7c9f4cae35f3 Author: FUJITA Tomonori Date: Tue Aug 4 19:08:23 2009 +0000 powerpc: Remove swiotlb_pci_dma_ops Now swiotlb_pci_dma_ops is identical to swiotlb_dma_ops; we can use swiotlb_dma_ops with any devices. This removes swiotlb_pci_dma_ops. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce Signed-off-by: Benjamin Herrenschmidt commit 762afb7317b1987fa0851135fe4f2947f68c3c2a Author: FUJITA Tomonori Date: Tue Aug 4 19:08:22 2009 +0000 powerpc: Remove addr_needs_map in struct dma_mapping_ops This patch adds max_direct_dma_addr to struct dev_archdata to remove addr_needs_map in struct dma_mapping_ops. It also converts dma_capable() to use max_direct_dma_addr. max_direct_dma_addr is initialized in pci_dma_dev_setup_swiotlb(), called via ppc_md.pci_dma_dev_setup hook. For further information: http://marc.info/?t=124719060200001&r=1&w=2 Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce Signed-off-by: Benjamin Herrenschmidt commit 2864697cefb6e7596e39aef933b4131f6c9fa9e1 Merge: 3c2ee2d c7084b3 Author: Benjamin Herrenschmidt Date: Fri Aug 28 14:23:06 2009 +1000 Merge commit 'tip/iommu-for-powerpc' into next commit 5d4a9dba2d7fbab69f00dedd430d1788834a055a Author: Steven Rostedt Date: Thu Aug 27 16:52:21 2009 -0400 tracing: only show tracing_max_latency when latency tracer configured The tracing_max_latency file should only be present when one of the latency tracers ({preempt|irqs}off, wakeup*) are enabled. This patch also removes tracing_thresh when latency tracers are not enabled, as well as compiles out code that is only used for latency tracers. Reported-by: Arnaldo Carvalho de Melo Signed-off-by: Steven Rostedt commit c0729be99cb2b9d9749256254f1c40a801835896 Author: Steven Rostedt Date: Wed Aug 26 22:23:52 2009 -0400 tracing: remove legacy select of MARKERS by context switch tracing The context switch tracer was made before tracepoints were mature, and the original version used markers. This is no longer true and this patch removes the select. Reported-by: Thomas Gleixner Signed-off-by: Steven Rostedt commit 5a53a7640a7af7acf904ed805c6fd1bf9fea829c Author: Takashi Iwai Date: Thu Aug 27 21:04:12 2009 +0200 ALSA: pcm - Increase protocol version Increase the PCM protocol version to indicate the drain ioctl behavior change. Signed-off-by: Takashi Iwai commit 6c347d43eea29221a8ebab9ff9cbe7a00cddac98 Author: Frederic Weisbecker Date: Thu Aug 27 18:17:34 2009 +0200 tracing: Undef TRACE_EVENT_FN between trace events headers inclusion The recent commit: tracing/events: fix the include file dependencies fixed a file dependency problem while including more than one trace event header file. This fix undefined TRACE_EVENT after an event header macro preprocessing in order to make tracepoint.h able to correctly declare the tracepoints necessary for the next event header file. But now we also need to undefine TRACE_EVENT_FN at the end of an event header file preprocessing for the same reason. This fixes the following build error: In file included from include/trace/events/napi.h:5, from net/core/net-traces.c:28: include/linux/tracepoint.h:285:1: warning: "TRACE_EVENT_FN" redefined In file included from include/trace/define_trace.h:61, from include/trace/events/skb.h:40, from net/core/net-traces.c:27: include/trace/ftrace.h:50:1: warning: this is the location of the previous definition In file included from include/trace/events/napi.h:5, from net/core/net-traces.c:28: include/linux/tracepoint.h:285:1: warning: "TRACE_EVENT_FN" redefined In file included from include/trace/define_trace.h:61, from include/trace/events/skb.h:40, from net/core/net-traces.c:27: include/trace/ftrace.h:50:1: warning: this is the location of the previous definition Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Masami Hiramatsu Cc: Xiao Guangrong Cc: Steven Rostedt Cc: Li Zefan LKML-Reference: <20090827161732.GA7618@nowhere> Signed-off-by: Ingo Molnar commit 36ce99c1dcab2978fc1900f19b431adedd8f99f6 Author: Takashi Iwai Date: Thu Aug 27 16:45:07 2009 +0200 ALSA: Add debug module option Add debug module option to snd core. This controls the debug print level. When CONFIG_SND_DEBUG_VERBOSE is set, you can suppress the debug messages by giving or changing this parameter to a lower value. debug=0 means no debug messsages. As default, it's set to the verbose level 2. Since this option can be changed dynamically via sysfs file, you can suppress the verbose debug messages on the fly, which wasn't possible before. Signed-off-by: Takashi Iwai commit 8d8291ae93ecb4a246e87e452d55cca412373300 Author: Steven Whitehouse Date: Thu Aug 27 15:51:07 2009 +0100 GFS2: Remove no_formal_ino generating code The inum structure used throughout GFS2 has two fields. One no_addr is the disk block number of the inode in question and is used everywhere as the inode number. The other, no_formal_ino, is used only as the generation number for NFS. Historically the no_formal_ino field was set using a complicated system of one global and one per-node file containing inode numbers in order to ensure that each no_formal_ino was unique. Also this code made no provision for what would happen when eventually the (64 bit) numbers ran out. Now I know that is pretty unlikely to happen given the large space of numbers, but it is possible nevertheless. The only guarantee required for no_formal_ino is that, for any single inode, the same number doesn't get reused too quickly. We already have a generation number which is kept in the inode and initialised from a counter in the resource group (almost no overhead, since we have to touch the resource group anyway in order to allocate an inode in the first place). Aside from ensuring that we never use the value 0 in the no_formal_ino field, we can use that counter directly. As a result of that change, we lose about 200 lines of code and also gain about 10 creates/sec on the postmark benchmark (on my test machine). Signed-off-by: Steven Whitehouse commit fa84e9eecfff478df2d00e94deb3fc40fe4634ad Author: Thomas Gleixner Date: Fri Aug 21 22:01:12 2009 +0200 init: Move sched_clock_init after late_time_init Some architectures initialize clocks and timers in late_time_init and x86 wants to do the same to avoid FIXMAP hackery for calibrating the TSC. That would result in undefined sched_clock readout and wreckaged printk timestamps again. We probably have those already on archs which do all their time/clock setup in late_time_init. There is no harm to move that after late_time_init except that a few more boot timestamps are stale. The scheduler is not active at that point so no real wreckage is expected. Signed-off-by: Thomas Gleixner LKML-Reference: Cc: linux-arch@vger.kernel.org commit 0494e08281d08f0a3dc442eb5e5cecc125b53b27 Author: Sergey Senozhatsky Date: Thu Aug 27 14:29:18 2009 +0100 kmemleak: Printing of the objects hex dump Introducing printing of the objects hex dump to the seq file. The number of lines to be printed is limited to HEX_MAX_LINES to prevent seq file spamming. The actual number of printed bytes is less than or equal to (HEX_MAX_LINES * HEX_ROW_SIZE). (slight adjustments by Catalin Marinas) Signed-off-by: Sergey Senozhatsky Signed-off-by: Catalin Marinas commit 008139d9146f9afee0e58df4b7422d0c9921f8ce Author: Catalin Marinas Date: Thu Aug 27 14:29:17 2009 +0100 kmemleak: Do not report alloc_bootmem blocks as leaks This patch sets the min_count for alloc_bootmem objects to 0 so that they are never reported as leaks. This is because many of these blocks are only referred via the physical address which is not looked up by kmemleak. Signed-off-by: Catalin Marinas Cc: Pekka Enberg commit fd6789675ebfb9185cb4fb68dc51010b4e95d952 Author: Catalin Marinas Date: Thu Aug 27 14:29:17 2009 +0100 kmemleak: Save the stack trace for early allocations Before slab is initialised, kmemleak save the allocations in an early log buffer. They are later recorded as normal memory allocations. This patch adds the stack trace saving to the early log buffer, otherwise the information shown for such objects only refers to the kmemleak_init() function. Signed-off-by: Catalin Marinas commit a6186d89c913b176e7339f37a4ec6ccb38b2c5c0 Author: Catalin Marinas Date: Thu Aug 27 14:29:16 2009 +0100 kmemleak: Mark the early log buffer as __initdata This buffer isn't needed after kmemleak was initialised so it can be freed together with the .init.data section. This patch also marks functions conditionally accessing the early log variables with __ref. Signed-off-by: Catalin Marinas commit 189d84ed54bbb05aac5b24d9d784d86c4d37f807 Author: Catalin Marinas Date: Thu Aug 27 14:29:15 2009 +0100 kmemleak: Dump object information on request By writing dump= to the kmemleak file, kmemleak will look up an object with that address and dump the information it has about it to syslog. This is useful in debugging memory leaks. Signed-off-by: Catalin Marinas commit af98603dad87e393d2fc57117fe8a2aa6d620a0c Author: Catalin Marinas Date: Thu Aug 27 14:29:12 2009 +0100 kmemleak: Allow rescheduling during an object scanning If the object size is bigger than a predefined value (4K in this case), release the object lock during scanning and call cond_resched(). Re-acquire the lock after rescheduling and test whether the object is still valid. Signed-off-by: Catalin Marinas commit 286f5875ca5c4e58432e3e6ca386ea4294275d84 Author: Takashi Iwai Date: Thu Aug 27 14:37:51 2009 +0200 ALSA: hda - Add more quirk for HP laptops with AD1984A More entries for HP laptops to get them working properly. Signed-off-by: Takashi Iwai commit 1b0053a0f0893e6bbaaee0d28f5f6269459d8d14 Author: Takashi Iwai Date: Thu Aug 27 12:34:54 2009 +0200 ALSA: core - strip too long file names in snd_print*() When modules are built with M= option, they pass long file paths to __FILE__. This results in ugly outputs of snd_print*() when CONFIG_SND_VERBOSE_PRINTK is set. This patch adds a check of the path and strips the leading path dirs if the file name is an absolute path to improve the readability of logs. Signed-off-by: Takashi Iwai commit 4dbc9ca219b0f294332e734528f7b82211700170 Author: Thomas Gleixner Date: Thu Aug 27 09:38:49 2009 +0200 genirq: Do not mask oneshot edge type interrupts Masking oneshot edge type interrupts is wrong as we might lose an interrupt which is issued when the threaded handler is handling the device. We can keep the irq unmasked safely as with edge type interrupts there is no danger of interrupt floods. If the threaded handler has not yet finished then IRQTF_RUNTHREAD is set which will keep the handler thread active. Debugged and verified in preempt-rt. Signed-off-by: Thomas Gleixner commit 3c2ee2d9f41ef43a581b26b677d2b4054ccbd200 Merge: 6776426 1dcd8ff Author: Benjamin Herrenschmidt Date: Thu Aug 27 13:13:41 2009 +1000 Merge commit 'kumar/next' into next commit 6776426320e151051a16bc7bf86f12d310c9e8ca Author: Gautham R Shenoy Date: Tue Jun 23 23:26:37 2009 +0000 powerpc/pseries: Reduce the polling interval in __cpu_up() Time time taken for a single cpu online operation on a pseries machine is as follows: Dedicated LPAR (POWER6): ~220ms. Shared LPAR (POWER5) : ~240ms. Of this time, approximately 200ms is taken up by __cpu_up(). This is because we poll every 200ms to check if the new cpu has notified it's presence through the cpu_callin_map. We repeat this operation until the new cpu sets the value in cpu_callin_map or 5 seconds elapse, whichever comes earlier. However, using completion_structs instead of polling loops, the time taken by the new processor to indicate it's presence has found to be less than 1ms on pseries. This method however may not work on all powerpc platforms due to the time-base synchronization code. Keeping this in mind, we could reduce msleep polling interval from 200ms to 1ms while retaining the 5 second timeout. With this, the time taken for a cpu online operation changes as follows: Dedicated LPAR (POWER6): 20-25ms. Shared LPAR (POWER5) : 60-80ms. In both these cases, it was found that the code polls through the loop only once indicating that 1ms is a reasonable value, atleast on pseries. The code needs testing on other powerpc platforms. Signed-off-by: Gautham R Shenoy Acked-by: Joel Schopp Signed-off-by: Benjamin Herrenschmidt commit 6fdc31a2b86cf1f98e3eed896578ad9659eeb0f8 Author: Bastian Blank Date: Wed Aug 12 23:30:45 2009 +0000 powerpc: Remove SMP warning from PowerMac cpufreq On Thu, Aug 13, 2009 at 04:14:58PM +1000, Benjamin Herrenschmidt wrote: > On Tue, 2009-08-11 at 11:39 +0200, Bastian Blank wrote: > > This patch just disables this driver on SMP kernels, as it is obviously > > not supported. > Why not remove the #error instead ? :-) I don't think it's still > meaningful, especially since we use the timebase for delays nowadays > which doesn't depend on the CPU frequency... Your call. Take this one: The build of a PowerMac 32bit kernel currently fails with error: #warning "WARNING, CPUFREQ not recommended on SMP kernels" Thie patch removes the not longer applicable SMP warning from the PowerMac cpufreq code. Signed-off-by: Bastian Blank Signed-off-by: Benjamin Herrenschmidt commit 14d757520a08d09745c3b18bb34addd9bef56e2d Author: Josh Boyer Date: Wed Aug 19 04:27:53 2009 +0000 powerpc: Fix __flush_icache_range on 44x The ptrace POKETEXT interface allows a process to modify the text pages of a child process being ptraced, usually to insert breakpoints via trap instructions. The kernel eventually calls copy_to_user_page, which in turn calls __flush_icache_range to invalidate the icache lines for the child process. However, this function does not work on 44x due to the icache being virtually indexed. This was noticed by a breakpoint being triggered after it had been cleared by ltrace on a 440EPx board. The convenient solution is to do a flash invalidate of the icache in the __flush_icache_range function. Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt commit ea3cc330ac0cd521ff07c7cd432a1848c19a7e92 Author: Benjamin Herrenschmidt Date: Tue Aug 18 19:00:34 2009 +0000 powerpc/mm: Cleanup handling of execute permission This is an attempt at cleaning up a bit the way we handle execute permission on powerpc. _PAGE_HWEXEC is gone, _PAGE_EXEC is now only defined by CPUs that can do something with it, and the myriad of #ifdef's in the I$/D$ coherency code is reduced to 2 cases that hopefully should cover everything. The logic on BookE is a little bit different than what it was though not by much. Since now, _PAGE_EXEC will be set by the generic code for executable pages, we need to filter out if they are unclean and recover it. However, I don't expect the code to be more bloated than it already was in that area due to that change. I could boast that this brings proper enforcing of per-page execute permissions to all BookE and 40x but in fact, we've had that now for some time as a side effect of my previous rework in that area (and I didn't even know it :-) We would only enable execute permission if the page was cache clean and we would only cache clean it if we took and exec fault. Since we now enforce that the later only work if VM_EXEC is part of the VMA flags, we de-fact already enforce per-page execute permissions... Unless I missed something Signed-off-by: Benjamin Herrenschmidt commit f480fe3916de2e2cbb6e384cb685f0f1d8272188 Merge: 4f0dbc2 f415c41 Author: Benjamin Herrenschmidt Date: Thu Aug 27 13:12:40 2009 +1000 Merge commit 'origin/master' into next commit c06f51eab8e652abebb698b1ead4c5585f820ef9 Author: Joe Perches Date: Wed Aug 26 08:47:47 2009 +0000 MAINTAINERS: update information for sfc network driver Based upon a patch by Ben Hutchings. Signed-off-by: David S. Miller commit 5c8af3b9aa4d19fba7f5a9224636fc70e476eb4f Author: Ben Hutchings Date: Wed Aug 26 08:18:13 2009 +0000 sfc: Improve reliability of RX queue flushing Reconfiguring the port requires us to flush all DMA queues. In repeated testing we have found that RX flushes would sometimes fail because the RX DMA engine was not properly isolated from the MACs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit cc11763b3510e4942bfece052ccf329a7b086a32 Author: Ben Hutchings Date: Wed Aug 26 08:17:59 2009 +0000 sfc: Work around XMAC bug causing packet loss with some peers Received frames must be re-clocked by the local XGXS to the 156.25 MHz (DDR) clock of the XGMII. If the remote clock is slightly faster this can reduce a minimum IPG of 64 bit-times (1 cycle) to 32 bit-times (half a cycle). If the XMAC detects that a frame has reached the maximum RX frame length in the same cycle that it receives one of these reduced IPGs, it may miss the IPG, causing two valid frames to be treated as a single invalid frame (over-length with bad CRC). We work around this by increasing the maximum RX frame length so that peers with matched MTU will not provoke this bug. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5afaa753d681c437419e3dd9b532c2712dd1d2ea Author: Ben Hutchings Date: Wed Aug 26 08:17:19 2009 +0000 sfc: QT2025C: Use hard reset only At probe time, falcon_reset_hw() performs a hard reset of the PHY along with Falcon. There is no need to perform a soft reset later, and any access to standard MDIO registers before the PHY firmware has booted can interrupt the boot process, making the port unusable. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 771046d7b1def64c00a5a47ca48526cbbacd7fe3 Author: Ben Hutchings Date: Wed Aug 26 08:16:58 2009 +0000 mdio: Check MDIO_STAT1_FAULT in mdio45_links_ok() Some PHYs will report that the link is up even though there is a fault condition. Therefore, check the fault flag too. We must also read STAT2 to reset this flag. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit d4ec09acdb15cdb5afdb5cd03f6bceb5c3c690a5 Author: Ben Hutchings Date: Wed Aug 26 08:16:46 2009 +0000 sfc: Do not reinitialise XAUI serdes before it has completed reset falcon_reset_xaui() waits for XGXS reset to complete, but the XAUI serdes reset may take longer. It needs to check both reset active bits. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit aed0628dae0c26b47d40d65f942abe30279b52a5 Author: Ben Hutchings Date: Wed Aug 26 08:16:27 2009 +0000 sfc: Fix ordering of device registration and initial netif_carrier_off() We must call netif_carrier_off() after the device is registered, not before, to set the operational state and user-space IFF_RUNNING flag correctly. Since we don't want observers to see an intermediate state, open-code register_netdev() and add efx_update_name() and netif_carrier_off() into the locked region. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 7c6a3ed5bd61ec981c8a0d0111cfd435adf3f2b7 Author: Ursula Braun Date: Wed Aug 26 02:01:10 2009 +0000 qeth: display "undefined" value of sysfs-attribute "layer2" If nothing has been written into the qeth sysfs-attribute layer2, its value is "-1" meaning "not yet defined". But the value is displayed as "1" meaning "layer2 selected". The patch changes the reading of this "-1"-value to "-1" to make clear the layer2-attribute has not yet been defined. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 0d788c7d285a91ef72a7b436dbe753d117856b3d Author: Klaus-Dieter Wacker Date: Wed Aug 26 02:01:09 2009 +0000 qeth: display service_level info only when valid. qeth displayed an entry in /proc/service_level even when no valid MCL-string was available (the MCL info is blank). The change is to create an entry in /proc/service_level only when MCL-string is non-zero. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: David S. Miller commit ce73e10ee0cb6cde1c5075a2803da0f0eb5b2324 Author: Klaus-Dieter Wacker Date: Wed Aug 26 02:01:08 2009 +0000 qeth: Cleanup for cast-type determination. Clear separation of cast-type determination (send path) for layer-2 resp. layer-3. Allowing to have inline functions for qeth layer- discipline. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: David S. Miller commit e806904057253e4f7651a8594456e68857c24e1b Author: Frank Blaschka Date: Wed Aug 26 02:01:07 2009 +0000 qeth: scheduling while atomic during ifconfig online sequence In case the IP address list contains entries (not removed when the device was set offline) this entries should be registered next time the device is brought online. In the past this was done implicitly with the device open call but since we wait in the set IPv4 IPA and the device open common code holds various locks this does not work any longer. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 58490f18071de525f42b6ed264a87116ec49ef0f Author: Klaus-Dieter Wacker Date: Wed Aug 26 02:01:06 2009 +0000 qeth: HiperSockets SIGA retry support on CC=2. Qeth HiperSockets support now retries sending of packets when the IBM System z signals a temporary resource shortage (e.g. target buffer full). The packet is enqueued into the device queue. After 3 times of unsuccessful send the packet is dropped. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: David S. Miller commit b855192c08fcb14adbc5d3a7cab182022d433cca Merge: d886c73 3e0e1e9 Author: H. Peter Anvin Date: Wed Aug 26 17:17:51 2009 -0700 Merge branch 'x86/urgent' into x86/pat Reason: Change to is_new_memtype_allowed() in x86/urgent Resolved semantic conflicts in: arch/x86/mm/pat.c arch/x86/mm/ioremap.c Signed-off-by: H. Peter Anvin commit 31ffe249e5426d2648d68568fa00a7b66666a5db Author: David S. Miller Date: Wed Aug 26 16:32:37 2009 -0700 net: Temporarily backout SKB sources tracer. Steven Rostedt has suggested that Neil work with the tracing folks, trying to use TRACE_EVENT as the mechanism for implementation. And if that doesn't workout we can investigate other solutions such as that one which was tried here. This reverts the following 2 commits: 5a165657bef7c47e5ff4cd138f7758ef6278e87b ("net: skb ftracer - Add config option to enable new ftracer (v3)") 9ec04da7489d2c9ae01ea6e9b5fa313ccf3d35fb ("net: skb ftracer - Add actual ftrace code to kernel (v3)") Signed-off-by: David S. Miller commit f656f39801b00c3c2aa26cefbdee2775d6706d45 Author: Matt Carlson Date: Tue Aug 25 10:11:55 2009 +0000 tg3: Update version to 3.100 This patch updates the tg3 version to 3.100. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit d9221e66002a7f24fb71b73132aa46c40079745f Author: Matt Carlson Date: Tue Aug 25 10:11:26 2009 +0000 broadcom: Make the 57780 IEEE compliant This brings the 57780's phy into IEEE compliance by suppressing the common mode oscillation. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit d7a2ed9248a3c3ec6afe3be0c351bd1ca9e981f3 Author: Matt Carlson Date: Tue Aug 25 10:10:58 2009 +0000 broadcom: Add AC131 phy support This patch adds support for the AC131 fast ethernet transceiver. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 4f4598fd0a87f39955e71bcb7447f403dafc20ba Author: Matt Carlson Date: Tue Aug 25 10:10:30 2009 +0000 broadcom: Add BCM50610M support This patch adds support for the BCM50610M phy ID. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 7f97a4bd47291e4ec9b9eaf63d7275ddfb498cb3 Author: Matt Carlson Date: Tue Aug 25 10:10:03 2009 +0000 tg3: Convert code to use PHY_IS_FET This patch converts the code to use the PHY_IS_FET flag rather than the ASIC revision to decide whether or not to use FET paths. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 535ef6e1124d445efbcc13b7126561dc544b0b64 Author: Matt Carlson Date: Tue Aug 25 10:09:36 2009 +0000 tg3: Create MII_TG3_FET namespace Broadcom's phys come in two distinctly different register layouts. For the lack of an official term to distinguish between the two formats, we can loosely categorize them by their fast ethernet or gigabit ethernet transceiver description. This patch creates the (driver-internal) Fast Ethernet Transceiver (FET) namespace and converts the 5906 EPHY definitions over. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit bb85fbb6a98d8edab81599913559c7ff0a963984 Author: Matt Carlson Date: Tue Aug 25 10:09:07 2009 +0000 tg3: Tune 5785 clock switching This patch tunes the timeouts the CPMU uses to decide when to switch from the clocks output by the PHY to internal clock sources. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 5e7ccf2003e6a9c35b5aa24953ba5009a1a8b653 Author: Matt Carlson Date: Tue Aug 25 10:08:42 2009 +0000 tg3: Add 57788, remove 57720 This patch adds support for the 57788 and removes support for the 57720 which was never released. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit e7126997342560533317d8467e8516119ebcbd21 Author: Matt Carlson Date: Tue Aug 25 10:08:16 2009 +0000 tg3: Preserve PCIe MPS setting for new devs Most older tg3 devices only supported a PCIe maximum payload size of 128 bytes. More recent devices bump this limit up to 256 bytes though. This patch modifies the code so that the MPS limit is only enforced on those devices that only allow the 128 byte setting. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 29ea095fb727ac48228ff2d1af484c27bf1dcbd4 Author: Matt Carlson Date: Tue Aug 25 10:07:54 2009 +0000 tg3: Fix TSO test against wrong flags var Julia Lawall discovered that the TG3_FLG2_TSO_CAPABLE flag was being compared against the wrong flags device member. This patch implements the fix. Signed-off-by: Julia Lawall Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 255ca311b650caece3ec4f78b88ef298664d561f Author: Matt Carlson Date: Tue Aug 25 10:07:27 2009 +0000 tg3: Prevent tx BD corruption This patch prevents a tx BD corruption bug by preventing the device from powering down the PLL from L1 if the link speed is 10Mbps or 100Mbps. The same bits are also used to prevent a system hang during chip reset resulting from a complicated set of events that ultimately leads to PCIe block register corruption. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 521e6b90dd3f0392062845d7ef13e6e41bb99d8a Author: Matt Carlson Date: Tue Aug 25 10:06:01 2009 +0000 tg3: Fix 57780 asic rev PCIe link receiver errors This patch fixes some PCIe link receiver errors by decreasing the internal electrical idle timeout. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit d886c73cd4cf02a71e1650cbcb6176799d78aac1 Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:41 2009 -0700 x86, pat: Sanity check remap_pfn_range for RAM region Add sanity check for remap_pfn_range of RAM regions using lookup_memtype(). Previously, we did not have anyway to get the type of RAM memory regions as they were tracked using a single bit in page_struct (WB, nonWB). Now we can get the actual type from page struct (WB, WC, UC_MINUS) and make sure the requester gets that type. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 1087637616dd5e96d834164ea462aed6159d039b Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:40 2009 -0700 x86, pat: Lookup the protection from memtype list on vm_insert_pfn() Lookup the reserved memtype during vm_insert_pfn and use that memtype for the new mapping. This takes care or handling of vm_insert_pfn() interface in track_pfn_vma*/untrack_pfn_vma. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 637b86e75f4c255a4446bc0b67ce9d914b9d2d42 Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:39 2009 -0700 x86, pat: Add lookup_memtype to get the current memtype of a paddr Add a new routine lookup_memtype() to get the current memtype based on the PAT reserves and frees. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit f58417409603d62f2eb23db4d2cf6853d84a1698 Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:38 2009 -0700 x86, pat: Use page flags to track memtypes of RAM pages Change reserve_ram_pages_type and free_ram_pages_type to use 2 page flags to track UC_MINUS, WC, WB and default types. Previous RAM tracking just tracked WB or NonWB, which was not complete and did not allow tracking of RAM fully and there was no way to get the actual type reserved by looking at the page flags. We use the memtype_lock spinlock for atomicity in dealing with memtype tracking in struct page. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 46cf98cdaef5471926010b5bddf84c44ec177fdd Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:37 2009 -0700 x86, pat: Generalize the use of page flag PG_uncached Only IA64 was using PG_uncached as of now. We now intend to use this bit in x86 as well, to keep track of memory type of those addresses that have page struct for them. So, generalize the use of that bit across ia64 and x86. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 335ef896d4c6639849d79367f0fef9abc06d121b Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:36 2009 -0700 x86, pat: Add rbtree to do quick lookup in memtype tracking PAT memtype tracking uses a linear link list to keep track of IO (non-RAM) regions and their memtypes. The code used a last_accessed pointer as a cache to speedup the lookup. As per discussions with H. Peter Anvin a while back, having a rbtree here will avoid bad performances in pathological cases where we may end up with huge linked list. This may not add any noticable performance speedup in normal case as the number of entires in PAT memtype list tend to be ~20-30 range. The patch removes the "cached_entry" logic as with rbtree we have more generic way of speeding up the lookup. With this patch, we use rbtree to do the quick lookup. We still use linked list as the memtype range tracked can be of different sizes and can overlap in different ways. We also keep track of usage counts with linked list. Example: Multiple ioremaps with different sizes uncached-minus @ 0xfffff00000-0xfffff04000 uncached-minus @ 0xfffff02000-0xfffff03000 And one userlevel mmap and the thread forks a new process uncached-minus @ 0xbf453000-0xbf454000 uncached-minus @ 0xbf453000-0xbf454000 Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 9e36fda0b359d2a6ae039c3d7e71a04502a77898 Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:35 2009 -0700 x86, pat: Add PAT reserve free to io_mapping* APIs io_mapping_* interfaces were added, mainly for graphics drivers. Make this interface go through the PAT reserve/free, instead of hardcoding WC mapping. This makes sure that there are no aliases due to unconditional WC setting. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 9fd126bc742f74a95d2ba610247712ff05da02fe Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:34 2009 -0700 x86, pat: New i/f for driver to request memtype for IO regions Add new routines to request memtype for IO regions. This will currently be a backend for io_mapping_* routines. But, it can also be made available to drivers directly in future, in case it is needed. reserve interface reserves the memory, makes sure we have a compatible memory type available and keeps the identity map in sync when needed. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 279e669b3fc0068cc3509e8e53036999e1e86588 Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:33 2009 -0700 x86, pat: ioremap to follow same PAT restrictions as other PAT users ioremap has this hard-coded check for new type and requested type. That check differs from other PAT users like /dev/mem mmap, remap_pfn_range in only one condition where requested type is UC_MINUS and new type is WC. Under that condition, ioremap fails. But other PAT interfaces succeed with a WC mapping. Change to make ioremap be in sync with other PAT APIs and use the same macro as others. Also changes the error print to KERN_ERR instead of pr_debug. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 5fc517466dd3d0fc6d2a5180ca6792e60344d8be Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:32 2009 -0700 x86, pat: Keep identity maps consistent with mmaps even when pat_disabled Make reserve_memtype internally take care of pat disabled case and fallback to default return values. Remove the specific pat_disabled checks in track_* routines. Change kernel_map_sync_memtype to sync identity map even when pat_disabled. This change ensures that, even for pat_disabled case, we take care of keeping identity map in sync. Before this patch, in pat disabled case, ioremap() keeps the identity maps in sync and other APIs like pci and /dev/mem mmap don't, which is not a very consistent behavior. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit c46b59b241ec52ffaf92ece8d8ab726621d580fb Author: Graham, David Date: Tue Aug 25 04:43:17 2009 +0000 e1000: Remove unused function e1000_mta_set. Remove function e1000_mta_set, as it is no longer called Signed-off-by: Dave Graham Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cd1da503847a28775f60b959cb7b0123cee2a1a3 Author: Alexander Duyck Date: Tue Aug 25 04:47:50 2009 +0000 igb/ixgbe: add IPV6_CSUM support to vlan_features We were already exporting TSO6 to the vlan, but we weren't exporting the checksum support for IPV6 which was causing warning messages to be displayed when doing IPv6 TSO over a vlan. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7b25cdbafd757b1255725d4ffb5b1081714b4256 Author: Don Skidmore Date: Tue Aug 25 04:47:32 2009 +0000 ixgbe: cleanup functions that should have been defined static We have some ~40 functions that were being called out with 'make namespacecheck'. This patch changes these functions to be static. Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 46a72b35144769d1e9c23c3a9a26c1776ef7d8f6 Author: Mallikarjuna R Chilakala Date: Tue Aug 25 04:47:11 2009 +0000 ixgbe: Fix isues while reporting 8259x backplane link capabilities Fix ethtool get_settings logic to report 10G & 1G advertised and supported link modes in all 8259x 10G backplane connection types except for 82598EB BX network connection type. Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fa3ce355c1bf1a83b843420228202fd6f8023ad3 Author: Narender Kumar Date: Mon Aug 24 19:23:28 2009 +0000 netxen: bridged mode optimizations When the interface is put in bridged mode, destination mac addresses are unknown to firmware. So packets take a slow path (lower priority) in firmware reducing performance. Firmware can cache limited number of remote unicast mac addresses for certain interval, if "dynamic mac learning" mode is enabled. Driver needs to enable this "mac learning" mode in firmware. Currently this is done through net device class sysfs entry, possibly this can also be done upon netlink notifications to from bridge. Signed-off-by: Narender Kumar Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 3ad4467ca43e7a2556e26e4e304faf3385048834 Author: Dhananjay Phadke Date: Mon Aug 24 19:23:27 2009 +0000 netxen: remove netxen_nic_niu.c Consolidate all MAC/PHY access functions into netxen_nic_hw.c Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit c9517e5893db03ca8bd32b8783b39af58176947c Author: Dhananjay Phadke Date: Mon Aug 24 19:23:26 2009 +0000 netxen: implement generic pcie semaphore functions Implement common function for locking/unlocking 8 hardware semaphores used for serializing access to shared resouces on a NIC board by different PCI functions. As by definition, callers of these semaphore API can be put to sleep till the semaphore is locked. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit cb7e4b6e37144f5d131ee09296be3c21c41f28d8 Author: Dhananjay Phadke Date: Mon Aug 24 19:23:25 2009 +0000 netxen: remove unused code Remove code for phy access on unreleased NX2031 based quad-gig board. NX3031 based production quad-gig boards do not require direct phy access by driver. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 117226d15850387b55fd01675917ee4fcb9699e8 Author: Jason Baron Date: Mon Aug 24 17:40:26 2009 -0400 tracing: Remove FTRACE_SYSCALL_MAX definitions Remove the FTRACE_SYSCALL_MAX definitions now that we have converted the syscall event tracing code to use NR_syscalls. Signed-off-by: Jason Baron Cc: Paul Mundt Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Josh Stone Cc: Thomas Gleixner Cc: H. Peter Anwin Cc: Hendrik Brueckner Cc: Heiko Carstens LKML-Reference: Signed-off-by: Frederic Weisbecker commit 57421dbbdc932d65f0e6a41ebb027a2bfe3d0669 Author: Jason Baron Date: Mon Aug 24 17:40:22 2009 -0400 tracing: Convert event tracing code to use NR_syscalls Convert the syscalls event tracing code to use NR_syscalls, instead of FTRACE_SYSCALL_MAX. NR_syscalls is standard accross most arches, and reduces code confusion/complexity. Signed-off-by: Jason Baron Cc: Paul Mundt Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Josh Stone Cc: Thomas Gleixner Cc: H. Peter Anwin Cc: Hendrik Brueckner Cc: Heiko Carstens LKML-Reference: <9b4f1a84ecae57cc6599412772efa36f0d2b815b.1251146513.git.jbaron@redhat.com> Signed-off-by: Frederic Weisbecker commit a5a2f8e2acb991327952c45a13f5441fc09dffd6 Author: Jason Baron Date: Wed Aug 26 12:09:10 2009 -0400 tracing: Define NR_syscalls for x86_64 Express the available number of syscalls in a standard way by defining NR_syscalls. The common way to define it is to place its definition in asm/unistd.h However, the number of syscalls is defined using __NR_syscall_max in x86-64 after building a dynamic header file "asm-offsets.h" The source file that generates this header, asm-offsets-64.c includes unistd.h, then if we want to express NR_syscalls from __NR_syscall_max in unistd.h only after generating the dynamic header file, we need a watchguard. If unistd.h is included from asm-offsets-64.c, then we are generating asm-offset.h which defines __NR_syscall_max. At this time, we don't want to (we can't) define NR_syscalls, then we do nothing. Otherwise we define NR_syscalls because we know asm-offsets.h has been generated. Signed-off-by: Jason Baron Acked-by: Steven Rostedt Cc: Paul Mundt Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Josh Stone Cc: Thomas Gleixner Cc: H. Peter Anwin Cc: Hendrik Brueckner Cc: Heiko Carstens LKML-Reference: <20090826160910.GB2658@redhat.com> Signed-off-by: Frederic Weisbecker commit dd86dda24cc1dc70031a7d9250dc3c0c430a50e2 Author: Jason Baron Date: Mon Aug 24 17:40:14 2009 -0400 tracing: Define NR_syscalls for x86 (32) Add a NR_syscalls #define for x86. This is used in the syscall events tracing code. Todo: make it dynamic like x86_64. NR_syscalls is the usual name used to determine the number of syscalls supported by the current arch. We want to unify the use of this number across archs that support the syscall tracing. This also prepare to move some of the arch code to core code in the syscall tracing area. Signed-off-by: Jason Baron Cc: Paul Mundt Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Josh Stone Cc: Thomas Gleixner Cc: H. Peter Anwin Cc: Hendrik Brueckner Cc: Heiko Carstens LKML-Reference: <0f33c0f96d198fccc3ddd9ff7f5334ff5cb42706.1251146513.git.jbaron@redhat.com> Signed-off-by: Frederic Weisbecker commit cc3b13c11c567c69a6356be98d0c03ff11541d5c Author: Hendrik Brueckner Date: Tue Aug 25 18:02:37 2009 +0200 tracing: Don't trace kernel thread syscalls Kernel threads don't call syscalls using the sysenter/sysexit path. Instead they directly call the sys_* or do_* functions that implement the syscalls inside the kernel. The current syscall tracepoints only bind the sysenter/sysexit path, then it has no effect to trace the kernel thread calls to syscalls in that path. Setting the TIF_SYSCALL_TRACEPOINT flag is then useless for these. Actually there is only one case when a kernel thread can reach the usual syscall exit tracing path: when we create a kernel thread, the child comes to ret_from_fork and is the fork() return is then traced. But this information alone is useless, then we don't want to set the TIF flags for these threads. Kernel threads have task_struct->mm set to NULL. (Thanks to Heiko for that hint ;-) The idea is then to check the mm field in syscall_regfunc() and set the flag accordingly. Signed-off-by: Hendrik Brueckner Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Martin Schwidefsky Cc: Paul Mundt Cc: Heiko Carstens Cc: Hendrik Brueckner LKML-Reference: <20090825160237.GG4639@cetus.boeblingen.de.ibm.com> Signed-off-by: Frederic Weisbecker commit cd0980fc8add25e8ab12fcf1051c0f20cbc7c0c0 Author: Hendrik Brueckner Date: Tue Aug 25 14:50:27 2009 +0200 tracing: Check invalid syscall nr while tracing syscalls Most arch syscall_get_nr() implementations returns -1 if the syscall number is not valid. Accessing the bit field without a check might result in a kernel oops (at least I saw it on s390 for ftrace selftest). Before this change, this problem did not occur, because the invalid syscall number (-1) caused syscall_nr_to_meta() to return NULL. There are at least two scenarios where syscall_get_nr() can return -1: 1. For example, ptrace stores an invalid syscall number, and thus, tracing code resets it. (see do_syscall_trace_enter in arch/s390/kernel/ptrace.c) 2. The syscall_regfunc() (kernel/tracepoint.c) sets the TIF_SYSCALL_FTRACE (now: TIF_SYSCALL_TRACEPOINT) flag for all threads which include kernel threads. However, the ftrace selftest triggers a kernel oops when testing syscall trace points: - The kernel thread is started as ususal (do_fork()), - tracing code sets TIF_SYSCALL_FTRACE, - the ret_from_fork() function is triggered and starts ftrace_syscall_exit() with an invalid syscall number. To avoid these scenarios, I suggest to check the syscall_nr. For instance, the ftrace selftest fails for s390 (with config option CONFIG_FTRACE_SYSCALLS set) and produces the following kernel oops. Unable to handle kernel pointer dereference at virtual kernel address 2000000000 Oops: 0038 [#1] PREEMPT SMP Modules linked in: CPU: 0 Not tainted 2.6.31-rc6-next-20090819-dirty #18 Process kthreadd (pid: 818, task: 000000003ea207e8, ksp: 000000003e813eb8) Krnl PSW : 0704100180000000 00000000000ea54c (ftrace_syscall_exit+0x58/0xdc) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:1 PM:0 EA:3 Krnl GPRS: 0000000000000000 00000000000e0000 ffffffffffffffff 20000000008c2650 0000000000000007 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ffffffffffffffff 000000003e813d78 000000003e813f58 0000000000505ba8 000000003e813e18 000000003e813d78 Krnl Code: 00000000000ea540: e330d0000008 ag %r3,0(%r13) 00000000000ea546: a7480007 lhi %r4,7 00000000000ea54a: 1442 nr %r4,%r2 >00000000000ea54c: e31030000090 llgc %r1,0(%r3) 00000000000ea552: 5410d008 n %r1,8(%r13) 00000000000ea556: 8a104000 sra %r1,0(%r4) 00000000000ea55a: 5410d00c n %r1,12(%r13) 00000000000ea55e: 1211 ltr %r1,%r1 Call Trace: ([<0000000000000000>] 0x0) [<000000000001fa22>] do_syscall_trace_exit+0x132/0x18c [<000000000002d0c4>] sysc_return+0x0/0x8 [<000000000001c738>] kernel_thread_starter+0x0/0xc Last Breaking-Event-Address: [<00000000000ea51e>] ftrace_syscall_exit+0x2a/0xdc Signed-off-by: Hendrik Brueckner Acked-by: Heiko Carstens Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Martin Schwidefsky Cc: Paul Mundt LKML-Reference: <20090825125027.GE4639@cetus.boeblingen.de.ibm.com> Signed-off-by: Frederic Weisbecker commit 7515bf59f87f19b2a17972b74230d2f91756fe3c Author: Hendrik Brueckner Date: Tue Aug 25 14:31:11 2009 +0200 tracing: Add syscall tracepoints - s390 arch update This patch includes s390 arch updates to synchronize with latest core changes in the syscalls tracing area. - tracing: Map syscall name to number (syscall_name_to_nr()) - tracing: Call arch_init_ftrace_syscalls at boot - tracing: add support tracepoint ids (set_syscall_{enter,exit}_id()) Signed-off-by: Hendrik Brueckner Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Martin Schwidefsky Cc: Paul Mundt LKML-Reference: <20090825123111.GD4639@cetus.boeblingen.de.ibm.com> Signed-off-by: Frederic Weisbecker commit d3a247bfb2c26f5b67367d58af7ad8c2efbbc6c1 Author: Cyrill Gorcunov Date: Wed Aug 26 21:13:24 2009 +0400 x86, apic: Slim down stack usage in early_init_lapic_mapping() As far as I see there is no external poking of mp_lapic_addr in this procedure which could lead to unpredited changes and require local storage unit for it. Lets use it plain forward. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090826171324.GC4548@lenovo> Signed-off-by: Ingo Molnar commit 7ced156bb8bb6363b6ed541871bf19a90273f910 Author: Arnaldo Carvalho de Melo Date: Wed Aug 26 11:51:26 2009 -0300 perf top: Show RIP only in verbose mode Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090826145126.GA5255@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 680b6cfd3cee30a7d997d49430fb73af84523853 Author: Hidetoshi Seto Date: Wed Aug 26 16:20:36 2009 +0900 x86, mce: CE in last bank prevents panic by unknown MCE If MCE handler is called but none of mces_seen have machine check event which might signal the MCE (i.e. event higher than MCE_KEEP_SEVERITY), panic with "Machine check from unknown source" will be taken since the MCE is assumed to be signaled from external agent or so. Usually mces_seen never point MCE_KEEP_SEVERITY event such as CE. But it can happen because initial value of mces_seen is accidentally modified by mce_no_way_out() - in case if mce_no_way_out() run through all banks and the last bank has the CE, mces_seen points the CE and the "panic by unknown" will not be taken. This patch fixes this undesired behavior, and clarifies the logic. Signed-off-by: Hidetoshi Seto Cc: H. Peter Anvin Cc: Andi Kleen Cc: Jin Dongming LKML-Reference: <4A94E244.3020301@jp.fujitsu.com> Signed-off-by: Ingo Molnar Reported-by: Jin Dongming commit 307cf6e63cfa5025589ea1a06db44439a43819ff Author: Steven Whitehouse Date: Wed Aug 26 18:51:04 2009 +0100 GFS2: Rename eattr.[ch] as xattr.[ch] Use the more conventional name for the extended attribute support code. Update all the places which care. Signed-off-by: Steven Whitehouse commit 40b78a322365aa1d87770200f7fc7de3b361c11a Author: Steven Whitehouse Date: Wed Aug 26 18:41:32 2009 +0100 GFS2: Clean up of extended attribute support This has been on my list for some time. We need to change the way in which we handle extended attributes to allow faster file creation times (by reducing the number of transactions required) and the extended attribute code is the main obstacle to this. In addition to that, the VFS provides a way to demultiplex the xattr calls which we ought to be using, rather than rolling our own. This patch changes the GFS2 code to use that VFS feature and as a result the code shrinks by a couple of hundred lines or so, and becomes easier to read. I'm planning on doing further clean up work in this area, but this patch is a good start. The cleaned up code also uses the more usual "xattr" shorthand, I plan to eliminate the use of "eattr" eventually and in the mean time it serves as a flag as to which bits of the code have been updated. Signed-off-by: Steven Whitehouse commit f1e887de2d24d50286709912ddc4a91ead21ff81 Author: Mark Brown Date: Wed Aug 26 14:14:51 2009 +0100 ASoC: Don't reconfigure WM8350 FLL if not needed If the requested FLL configuration is the one we're currently running in it's at best pointless to reconfigure the FLL. Signed-off-by: Mark Brown commit 5dc0748182037e3fea35a96d615a3c2610b8e4b0 Author: Mark Brown Date: Wed Aug 26 14:17:23 2009 +0100 ASoC: Fix s3c-i2s-v2 build We now need the PCM header to kick the DMA. Signed-off-by: Mark Brown commit 977d49e00d18d500d0bfe77500053d9df9c3db77 Author: Mark Brown Date: Wed Aug 26 13:05:14 2009 +0100 ASoC: Make platform data optional for TLV320AIC3x Now that we don't need the I2C address for the device the platform data is redundant so allow it to be omitted. Signed-off-by: Mark Brown Tested-by: Chaithrika U S commit bc36681fdc3276b9da4047c277349291c4cbad09 Author: Mark Brown Date: Tue Aug 25 15:53:41 2009 +0100 ASoC: Add S3C24xx dependencies for Simtec machines No point in building them for S3C64xx, certainly no sense in running into build issues there. Signed-off-by: Mark Brown commit 0396c215f301e92677d1e9a064b405e31501dc1d Author: David Vrabel Date: Tue Aug 25 16:41:06 2009 +0100 uwb: avoid radio controller reset loops If a radio controller reset attempt occurs while a probe() or remove() is in progress it fails and is retried endlessly, potentially preventing the probe() or remove() from completing. If a reset fails, sleep for a bit before retrying the reset. This allows the probe()/remove() to complete. Signed-off-by: David Vrabel commit 42960a13001aa6df52ca9952ce996f94a744ea65 Author: Jan Scholz Date: Wed Aug 26 13:18:51 2009 +0200 HID: completely remove apple mightymouse from blacklist Commit fa047e4f6fa63a6e9d0ae4d7749538830d14a343 "HID: fix inverted wheel for bluetooth version of apple mighty mouse" is incomplete. If we remove Apple MightyMouse (bluetooth version) from the list of apple_devices in drivers/hid/hid-apple.c we have to remove it from hid_blacklist in drivers/hid/hid-core.c as well. Signed-off-by: Jan Scholz Signed-off-by: Jiri Kosina commit f1d269bac24e5ddb3a0650aaeb4117aa806b99f1 Author: Roel Kluin Date: Wed Aug 26 12:01:20 2009 +0200 sound: vwsnd: Fix setting of cfgval and ctlval in li_setup_dma() Since !LI_CCFG_* evaluates to 0, this did not change anything to cfgval and ctlval. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit 06e799764eb7c2e4640888d438c3524d756613e1 Author: Paul E. McKenney Date: Tue Aug 25 18:53:37 2009 -0700 rcu: Remove lockdep annotations from RCU's _notrace() API members The lockdep annotations rcu_read_acquire() and rcu_read_release() might lead to infinite looping if called from lockdep. So this patch removes them. Formal repost of http://lkml.org/lkml/2009/8/25/309 on the strength of Lai Jiangshan's review. Suggested-by: Lai Jiangshan Suggested-by: Mathieu Desnoyers Reviewed-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <20090826015337.GA18904@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 7e7430908c3ccaf71f0851050c8ccaf9ecfb3b56 Author: Gustavo F. Padovan Date: Wed Aug 26 04:04:03 2009 -0300 Bluetooth: Add support for L2CAP 'Send RRorRNR' action When called, 'Send RRorRNR' should send a RNR frame if local device is busy or a RR frame otherwise. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 2246b2f1b43f3fbd128e72b129dcbbd3202cc592 Author: Gustavo F. Padovan Date: Wed Aug 26 04:04:02 2009 -0300 Bluetooth: Handle L2CAP case when the remote receiver is busy Implement all issues related to RemoteBusy in the RECV state table. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit ca42a613c92d131ff02d5714419d58c36c3459f3 Author: Gustavo F. Padovan Date: Wed Aug 26 04:04:01 2009 -0300 Bluetooth: Acknowledge L2CAP packets when receiving RR-frames (F-bit=1) Implement the Recv ReqSeqAndFBit event when a RR frame with F bit set is received. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 35dce1a99d010f3d738af4ce1b9b77302fdfe69c Merge: 7cb2e3e 1c569f0 Author: Ingo Molnar Date: Wed Aug 26 08:29:02 2009 +0200 Merge branch 'tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core Conflicts: include/linux/tracepoint.h Signed-off-by: Ingo Molnar commit 5051fd69773d2d044734b78516317a04d3774871 Author: Cyrill Gorcunov Date: Mon Aug 24 21:53:37 2009 +0400 x86, e820: Guard against array overflowed in __e820_add_region() Better to be paranoid against unpredicted nr_map modifications. Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090824175551.146070377@openvz.org> Signed-off-by: Ingo Molnar commit ffc438366c2660a6a811b94ba33229bf217f8254 Author: Cyrill Gorcunov Date: Mon Aug 24 21:53:39 2009 +0400 x86, ioapic: Get rid of needless check and simplify ioapic_setup_resources() alloc_bootmem() already panics on allocation failure. There is no need to check the result. Also there is a way to unbind global variable from its body and use it as a parameter which allow us to simplify ioapic_init_mappings as well -- "for" cycle already uses nr_ioapics as a conditional variable and there is no need to check if ioapic_setup_resources was returning NULL again. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090824175551.493629148@openvz.org> Signed-off-by: Ingo Molnar commit 8f3e1df48baf728bbb0f242c9dff9c9d7108218a Author: Cyrill Gorcunov Date: Mon Aug 24 21:53:36 2009 +0400 x86, ioapic: Define IO_APIC_DEFAULT_PHYS_BASE constant We already have APIC_DEFAULT_PHYS_BASE so just to be consistent. Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090824175550.927946757@openvz.org> Signed-off-by: Ingo Molnar commit 7cb2e3ee2aeec5b83ecadba929a2dc575dd4008f Author: Steven Rostedt Date: Wed Aug 26 00:32:37 2009 -0400 tracing: add comments to explain TRACE_EVENT out of protection The commit: commit 5ac35daa9343936038a3c9c4f4d6d3fe6a2a7bd8 Author: Xiao Guangrong tracing/events: fix the include file dependencies Moved the TRACE_EVENT out of the ifdef protection of tracepoints.h but uses the define of TRACE_EVENT itself as protection. This patch adds comments to explain why. Signed-off-by: Steven Rostedt commit 5ac35daa9343936038a3c9c4f4d6d3fe6a2a7bd8 Author: Xiao Guangrong Date: Tue Aug 25 14:06:22 2009 +0800 tracing/events: fix the include file dependencies The TRACE_EVENT depends on the include/linux/tracepoint.h first and include/trace/ftrace.h later, if we include the ftrace.h early, a building error will occur. Both define TRACE_EVENT in trace_a.h and trace_b.h, if we include those in .c file, like this: #define CREATE_TRACE_POINTS include include The above will not work, because the TRACE_EVENT was re-defined by the previous .h file. Reported-by: Wei Yongjun Signed-off-by: Xiao Guangrong LKML-Reference: <4A937F5E.3020802@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 5079f3261ffd7fe4a537679af695f2328943a245 Author: Zhaolei Date: Tue Aug 25 16:12:56 2009 +0800 ftrace: Move setting of clock-source out of options There are many clock sources for the tracing system but we can only enable/disable one at a time with the trace/options file. We can move the setting of clock-source out of options and add a separate file for it: # cat trace_clock [local] global # echo global > trace_clock # cat trace_clock local [global] Signed-off-by: Zhao Lei LKML-Reference: <4A939D08.6050604@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 87a342f5db69d53ea70493bb1ec69c9047677038 Author: Li Zefan Date: Fri Aug 7 10:33:43 2009 +0800 tracing/filters: Support filtering for char * strings Usually, char * entries are dangerous in traces because the string can be released whereas a pointer to it can still wait to be read from the ring buffer. But sometimes we can assume it's safe, like in case of RO data (eg: __file__ or __line__, used in bkl trace event). If these RO data are in a module and so is the call to the trace event, then it's safe, because the ring buffer will be flushed once this module get unloaded. To allow char * to be treated as a string: TRACE_EVENT(..., TP_STRUCT__entry( __field_ext(const char *, name, FILTER_PTR_STRING) ... ) ... ); The filtering will not dereference "char *" unless the developer explicitly sets FILTER_PTR_STR in __field_ext. Signed-off-by: Li Zefan LKML-Reference: <4A7B9287.90205@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 43b51ead3f752a3935116e5b1a94254b8573734f Author: Li Zefan Date: Fri Aug 7 10:33:22 2009 +0800 tracing/filters: Add __field_ext() to TRACE_EVENT Add __field_ext(), so a field can be assigned to a specific filter_type, which matches a corresponding filter function. For example, a later patch will allow this: __field_ext(const char *, str, FILTER_PTR_STR); Signed-off-by: Li Zefan LKML-Reference: <4A7B9272.6050709@cn.fujitsu.com> [ Fixed a -1 to FILTER_OTHER Forward ported to latest kernel. ] Signed-off-by: Steven Rostedt commit aa38e9fc3ea804290efd3a39316d7f7e6c945800 Author: Li Zefan Date: Fri Aug 7 10:33:02 2009 +0800 tracing/filters: Add filter_type to struct ftrace_event_field The type of a field is stored as a string in @type, and here we add @filter_type which is an enum value. This prepares for later patches, so we can specifically assign different @filter_type for the same @type. For example normally a "char *" field is treated as a ptr, but we may want it to be treated as a string when doing filting. Signed-off-by: Li Zefan LKML-Reference: <4A7B925E.9030605@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 6591b493871cf9b17de2ba272edb8ab529a8058b Author: Josh Triplett Date: Thu Aug 6 07:57:01 2009 -0700 tracing: Add vim script to enable folding for function_graph traces function_graph traces look like nested function calls, complete with braces denoting the start and end of functions. function-graph-fold.vim teaches vim how to fold these functions, to make it more convenient to browse them. To use, :source function-graph-fold.vim while viewing a function_graph trace, or use "view -S function-graph-fold.vim some-trace" to load it from the command-line together with a trace. You can then use the usual vim fold commands, such as "za", to open and close nested functions. While closed, a fold will show the total time taken for a call, as would normally appear on the line with the closing brace. Folded functions will not include finish_task_switch(), so folding should remain relatively sane even through a context switch. Note that this will almost certainly only work well with a single-CPU trace (e.g. trace-cmd report --cpu 1). It also takes some time to run (a few seconds for a large trace on my laptop). Nevertheless, I found it very handy to get an overview of a trace and then drill down on problematic calls. Signed-off-by: Josh Triplett LKML-Reference: <20090806145701.GB7661@feather> Signed-off-by: Steven Rostedt commit f0693c8bd5c50380b299e19d19e7640024640b42 Author: Steven Rostedt Date: Thu Aug 6 14:59:32 2009 -0400 tracing/sched: show CPU task wakes up on in trace event While debugging the scheduler push / pull algorithm, I found it very annoying that the sched wake up events did not show the CPU that the task was waking on. In order to analyze the scheduler, I needed that information. This patch adds recording of the CPU that a task is waking up on. Signed-off-by: Steven Rostedt commit 1dcd8ffc81e80a170625883f63f6a5db3cd0428d Author: Michael Barkowski Date: Tue Aug 18 17:20:44 2009 -0400 powerpc/qe_lib: Set gpio data before changing the direction to output This avoids having a short glitch if the desired initial value is not the same as what was previously in the data register. Signed-off-by: Michael Barkowski Acked-by: Anton Vorontsov Signed-off-by: Kumar Gala commit ab94fcf528d127fcb490175512a8910f37e5b346 Author: H. Peter Anvin Date: Tue Aug 25 16:47:16 2009 -0700 x86: allow "=rm" in native_save_fl() This is a partial revert of f1f029c7bfbf4ee1918b90a431ab823bed812504. "=rm" is allowed in this context, because "pop" is explicitly defined to adjust the stack pointer *before* it evaluates its effective address, if it has one. Thus, we do end up writing to the correct address even if we use an on-stack memory argument. The original reporter for f1f029c7bfbf4ee1918b90a431ab823bed812504 was apparently using a broken x86 simulator. [ Impact: performance ] Signed-off-by: H. Peter Anvin Cc: Gabe Black commit 1c569f0264ea629c10bbab471dd0626ce4d3f19f Author: Josh Stone Date: Mon Aug 24 14:43:14 2009 -0700 tracing: Create generic syscall TRACE_EVENTs This converts the syscall_enter/exit tracepoints into TRACE_EVENTs, so you can have generic ftrace events that capture all system calls with arguments and return values. These generic events are also renamed to sys_enter/exit, so they're more closely aligned to the specific sys_enter_foo events. Signed-off-by: Josh Stone Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Li Zefan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Lai Jiangshan Cc: Paul Mundt Cc: Martin Schwidefsky Cc: Heiko Carstens LKML-Reference: <1251150194-1713-5-git-send-email-jistone@redhat.com> Signed-off-by: Frederic Weisbecker commit e8a2eb47e6ca03d4a4f98f0beef73720c5dddc0c Merge: 8b5a10f c62e432 Author: H. Peter Anvin Date: Tue Aug 25 15:40:29 2009 -0700 Merge commit 'origin/x86/urgent' into x86/asm commit 97419875865859fd2403e66266c02ce028e2f5ab Author: Josh Stone Date: Mon Aug 24 14:43:13 2009 -0700 tracing: Move tracepoint callbacks from declaration to definition It's not strictly correct for the tracepoint reg/unreg callbacks to occur when a client is hooking up, because the actual tracepoint may not be present yet. This happens to be fine for syscall, since that's in the core kernel, but it would cause problems for tracepoints defined in a module that hasn't been loaded yet. It also means the reg/unreg has to be EXPORTed for any modules to use the tracepoint (as in SystemTap). This patch removes DECLARE_TRACE_WITH_CALLBACK, and instead introduces DEFINE_TRACE_FN which stores the callbacks in struct tracepoint. The callbacks are used now when the active state of the tracepoint changes in set_tracepoint & disable_tracepoint. This also introduces TRACE_EVENT_FN, so ftrace events can also provide registration callbacks if needed. Signed-off-by: Josh Stone Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Li Zefan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Lai Jiangshan Cc: Paul Mundt Cc: Martin Schwidefsky Cc: Heiko Carstens LKML-Reference: <1251150194-1713-4-git-send-email-jistone@redhat.com> Signed-off-by: Frederic Weisbecker commit 3d27d8cb34fc156beb86de2338ca4029873a5cc6 Author: Josh Stone Date: Mon Aug 24 14:43:12 2009 -0700 tracing: Make syscall tracepoints conditional The syscall enter/exit tracepoints are only supported on archs that HAVE_SYSCALL_TRACEPOINTS, so the declarations should be #ifdef'ed. Also, the definition of syscall_regfunc and syscall_unregfunc should depend on this same config, rather than the ftrace-specific one. Signed-off-by: Josh Stone Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Li Zefan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Lai Jiangshan LKML-Reference: <1251150194-1713-3-git-send-email-jistone@redhat.com> Signed-off-by: Frederic Weisbecker commit 667000011927b4fcc359beac4a2447889db6d349 Author: Josh Stone Date: Mon Aug 24 14:43:11 2009 -0700 tracing: Rename FTRACE_SYSCALLS for tracepoints s/HAVE_FTRACE_SYSCALLS/HAVE_SYSCALL_TRACEPOINTS/g s/TIF_SYSCALL_FTRACE/TIF_SYSCALL_TRACEPOINT/g The syscall enter/exit tracing is no longer specific to just ftrace, so they now have names that reflect their tie to tracepoints instead. Signed-off-by: Josh Stone Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Li Zefan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Lai Jiangshan Cc: Paul Mundt Cc: Martin Schwidefsky Cc: Heiko Carstens LKML-Reference: <1251150194-1713-2-git-send-email-jistone@redhat.com> Signed-off-by: Frederic Weisbecker commit 30cd0c4ad57f45e257758edad537cc5f6554e711 Author: Candelaria Villareal, Jorge Date: Tue Aug 25 10:13:25 2009 -0500 ASoC: SDP3430: Fix TWL GPIO6 pin mux request Fix the write to PMBR1 register through I2C. Also, the constant which holds the value to write is now called TWL4030_GPIO6_PWM0_MUTE. This name is based on TRM to avoid confusion. Signed-off-by: Jorge Eduardo Candelaria Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit c935a331c8f569c7903ed26a3994a70cbea1802e Author: Paul E. McKenney Date: Tue Aug 25 08:40:25 2009 -0700 rcu: Add #ifdef to suppress __rcu_offline_cpu() warning in !HOTPLUG_CPU builds Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Paul Mundt LKML-Reference: <20090825154025.GD6616@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit e2e465693247b7f81e85aa8b1b482d9502812be4 Author: Takashi Iwai Date: Tue Aug 25 18:25:30 2009 +0200 ALSA: hda - Add / fix model entries for HD-audio driver Signed-off-by: Takashi Iwai commit fc86f95415d14c74fd71f5e70173a4def7da68f6 Author: Denis Kuplyakov Date: Tue Aug 25 18:15:59 2009 +0200 ALSA: hda - Add full audio support on Acer Aspire 7730G notebook 1) Added support of internal subwoofer (it sounds!!!) 2) Auto muting front speakers and internal subwoofer on headphones plug. 3) Internal mic works. 4) 3 channel mods (jack maps): black pink blue 2ch: front ext mic line in 4ch: front ext mic surround 6ch: front CLFE surround Can be changed in mixer. 5) Sound can be recorded from: Internal mic Ext mic Cd Line in 6) 2 separate capture channels. Signed-off-by: Denis Kuplyakov Signed-off-by: Takashi Iwai commit 9b9d401b8d11796f4c4bcbcabecfec9f5d85ea25 Author: Anton Vorontsov Date: Wed Aug 19 03:28:21 2009 +0400 powerpc/85xx: Add QE USB support for MPC8569E-MDS boards - Add gpio-controller node for BCSR17, it is used to control USB speed and VBUS; - Add timer node for QE GTM, needed for USB host; - Add usb node itself; - Add some probing code for BCSR GPIOs. NOTE: QE USB doesn't work on prototype boards, but should work on pilot boards if specs and schematics are correct, though we don't have the pilot boards to actually test it. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 818fcac554397a04987d49e2bd2dfc2d394b265c Author: Anton Vorontsov Date: Wed Aug 19 03:28:17 2009 +0400 powerpc/82xx: Add CPM USB Gadget support for MPC8272ADS boards - Add usb node; - Configure pins and clocks; - Enable USB function in BCSR. The support was successfully tested using serial and ethernet gadget drivers. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit a70e88bc78d220a506394058d48cedd1c491a256 Author: Anton Vorontsov Date: Wed Aug 19 03:28:10 2009 +0400 powerpc/82xx: Fix BCSR bits for MPC8272ADS boards mpc8272_ads.c is using BCSR bits definitions from pq2ads.h, but according to User's Guide the bits are wrong for MPC8272ADS boards (I guess definitions from pq2ads should only be used for PQ2FADS boards). So, let's introduce our own definitions for MPC8272ADS, and don't include pq2ads.h. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit ec80fb2d89a0a93db46bdc968b6a849be5340531 Author: Anton Vorontsov Date: Wed Aug 19 03:38:18 2009 +0400 powerpc/85xx: Add eSDHC support for MPC8536DS boards This patch simply adds sdhci node to the device tree. We specify clock-frequency manually, so that eSDHC will work without upgrading U-Boot. Though, that'll only work for default setup (1500 MHz) on new board revisions. For non-default setups, it's recommended to upgrade U-Boot, since it will fixup clock-frequency automatically. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit d88cb582325830698de5071fa8b8c9e933dbbcad Author: Anirban Sinha Date: Tue Aug 25 07:00:02 2009 -0700 tracing: Eliminate code duplication in kernel/tracepoint.c Signed-off-by: Anirban Sinha Reviewed-by: Li Zefan Cc: "Oleg Nesterov" LKML-Reference: Signed-off-by: Ingo Molnar commit 0d884cb936e8e36c47bc7ee86eb6750261bd5438 Author: Takashi Iwai Date: Tue Aug 25 16:14:35 2009 +0200 ALSA: hda - Improve auto-cfg mixer name for ALC662 The last patch in this series is for ALC662; pretty similar as the previous patch for ALC861-VD. Signed-off-by: Takashi Iwai commit a4fcd491098603356e7600b021bdb6acbb53adb4 Author: Takashi Iwai Date: Tue Aug 25 16:12:15 2009 +0200 ALSA: hda - Improve auto-cfg mixer name for ALC861-VD One more patch to give a better name for the primary output controls, this time for ALC861-VD codec. The change is simple, just checking the pin connection whether it's a speaker-out. When both speaker and HP are assigned, we name the volume as "PCM" as this influences on both outputs. Signed-off-by: Takashi Iwai commit c3fc1f502a1f1a751c891d3b757a24dc76943539 Author: Takashi Iwai Date: Tue Aug 25 16:08:47 2009 +0200 ALSA: hda - Improve auto-cfg mixer name for ALC262 Similar improvements for ALC262 codec like previous two commits: assign a better name, either Master or Speaker, for the primary output controls. However, in the case of ALC262 codec, the necessary changes are larger than others because we need to check the possibility of different mixer amps depending on the pins. The pin 0x16 is mono, and bound with the dedicated mixer 0x0e while other pins are bound with 0x0c. Thus, there are two possible volumes. When only one of them is used, we can name it as "Master". OTOH, when both are used at the same time, they have to be named uniquely. Signed-off-by: Takashi Iwai commit 3993832464dd4e14a4c926583a11f0fa92c1f0f0 Author: Patrick McHardy Date: Tue Aug 25 16:07:58 2009 +0200 netfilter: nfnetlink: constify message attributes and headers Signed-off-by: Patrick McHardy commit 3a6c2b419b7768703cfb2cabdb894517c5065e33 Author: Patrick McHardy Date: Tue Aug 25 16:07:40 2009 +0200 netlink: constify nlmsghdr arguments Consitfy nlmsghdr arguments to a couple of functions as preparation for the next patch, which will constify the netlink message data in all nfnetlink users. Signed-off-by: Patrick McHardy commit a9e75a389254801ca160b72c6e221e5bb7e35df9 Author: David Vrabel Date: Tue Aug 25 15:07:12 2009 +0100 uwb: stop uwbd thread if rc->start() fails This fixes an oops when uwbd thread continues running after a failed radio controller start. Signed-off-by: David Vrabel commit 23112d6d2d9b265c959ecb671366c7c3b9c83611 Author: Takashi Iwai Date: Tue Aug 25 16:07:08 2009 +0200 ALSA: hda - Improve auto-cfg mixer name for ALC260 Instead of fixed "Front" mixer name, try to assign a better name, e.g. "Master" or "Speaker" fot the primary output volume controls of ALC260 codec. Signed-off-by: Takashi Iwai commit cb162b6bf2f445d67a45f5485d4ce32addaf8fe0 Author: Takashi Iwai Date: Tue Aug 25 16:05:03 2009 +0200 ALSA: hda - Improve auto-cfg mixer name for ALC880 When there is only one DAC is used for ALC880, try to assign a better name, either Speaker or Front, depending on the output pin type. Signed-off-by: Takashi Iwai commit 3fafdd7cc810a8fcd28b83fbde2d0e25830dee41 Author: David Vrabel Date: Tue Aug 25 15:03:07 2009 +0100 uwb: handle radio controller events with out-of-range IDs correctly If a radio controller event has an ID that's just out of range don't read beyond the end of uwbd's event arrays. Signed-off-by: Roel Kluin Signed-off-by: David Vrabel commit 005155b1f626d2b2d7932e4afdf4fead168c6888 Author: Roel Kluin Date: Tue Aug 25 15:35:12 2009 +0200 x86: Fix x86_model test in es7000_apic_is_cluster() For the x86_model to be greater than 6 or less than 12 is logically always true. Signed-off-by: Roel Kluin Cc: Andrew Morton Cc: Signed-off-by: Ingo Molnar commit 74f7a6552c8d76ffc5e11eb8d9d6c07238b9ae77 Author: Patrick McHardy Date: Tue Aug 25 15:33:08 2009 +0200 netfilter: nf_conntrack: log packets dropped by helpers Log packets dropped by helpers using the netfilter logging API. This is useful in combination with nfnetlink_log to analyze those packets in userspace for debugging. Signed-off-by: Patrick McHardy commit b6ed2e03df1e2c6ee41cf0e2e2699f2410671916 Author: Steven Whitehouse Date: Tue Aug 25 13:44:04 2009 +0100 GFS2: Add explanation of extended attr on-disk format Some useful info regarding the on-disk representation of GFS2 extended attributes. Signed-off-by: Steven Whitehouse commit faf907c7ba3d7df6266366556817f2ef7314640a Author: Shine Liu Date: Tue Aug 25 20:05:50 2009 +0800 ASoC: S3C platform: Fix s3c2410_dma_started() called at improper time s3c24xx dma has the auto reload feature, when the the trnasfer is done, CURR_TC(DSTAT[19:0], current value of transfer count) reaches 0, and DMA ACK becomes 1, and then, TC(DCON[19:0]) will be loaded into CURR_TC. So the transmission is repeated. IRQ is issued while auto reload occurs. We change the DISRC and DCON[19:0] in the ISR, but at this time, the auto reload has been performed already. The first block is being re-transmitted by the DMA. So we need rewrite the DISRC and DCON[19:0] for the next block immediatly after the this block has been started to be transported. The function s3c2410_dma_started() is for this perpose, which is called in the form of "s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_STARTED);" in s3c24xx_pcm_trigger(). But it is not correct. DMA transmission won't start until DMA REQ signal arrived, it is the time s3c24xx_snd_txctrl(1) or s3c24xx_snd_rxctrl(1) is called in s3c24xx_i2s_trigger(). In the current framework, s3c24xx_pcm_trigger() is always called before s3c24xx_pcm_trigger(). So the s3c2410_dma_started() should be called in s3c24xx_pcm_trigger() after s3c24xx_snd_txctrl(1) or s3c24xx_snd_rxctrl(1) is called in this function. However, s3c2410_dma_started() is dma related, to call this function we should provide the channel number, which is given by substream->runtime->private_data->params->channel. The private_data points to a struct s3c24xx_runtime_data object, which is define in s3c24xx_pcm.c, so s3c2410_dma_started() can't be called in s3c24xx_i2s.c Fix this by moving the call to signal the DMA started to the DAI drivers. Signed-off-by: Shine Liu Signed-off-by: Shine Liu Signed-off-by: Mark Brown commit 05f5f477082f0b192dab5ac25ccc5d468d98ecbd Author: Takashi Iwai Date: Tue Aug 25 13:10:18 2009 +0200 ALSA: hda - Generalize input pin parsing in patch_realtek.c Provide a standard parser for input pins to create the input mixer and input source controls instead of having a difference one for each Realtek codec. The new helper parses the codec connections dynamically isntead of fixed indicies. Signed-off-by: Takashi Iwai commit d09a2afc9359407114b7062519101f1ee2d05388 Author: Jarkko Nikula Date: Sun Aug 23 12:24:27 2009 +0300 ARM: OMAP: McBSP: Merge two functions into omap_mcbsp_start/_stop Functionality of functions omap_mcbsp_xmit_enable and omap_mcbsp_recv_enable can be merged into omap_mcbsp_start and omap_mcbsp_stop since API of those omap_mcbsp_start and omap_mcbsp_stop was changed recently allowing to start and stop individually the transmitter and receiver. This cleans up the code in arch/arm/plat-omap/mcbsp.c and in sound/soc/omap/omap-mcbsp.c which was the only user for those removed functions. Signed-off-by: Jarkko Nikula Acked-by: Eero Nurkkala Cc: Peter Ujfalusi Signed-off-by: Mark Brown commit 32080af7a612e8c56131d6bdcd268cd9e8b0add1 Author: Jarkko Nikula Date: Sun Aug 23 12:24:26 2009 +0300 ASoC: OMAP: Fix setup of XCCR and RCCR registers in McBSP DAI Commit ca6e2ce08679c094878d7f39a0349a7db1d13675 is setting up few XCCR and RCCR bits for I2S and DPS_A formats. Part of the bits are already set for all formats and I believe that XDISABLE and RDISABLE bits are format independent. As XCCR and RCCR are found only from OMAP2430 and OMAP34xx, I move setup of XDISABLE and RDISABLE to where those cpu's are tested and remove format dependent part for simplicity. Signed-off-by: Jarkko Nikula Acked-by: Eero Nurkkala Cc: Peter Ujfalusi Signed-off-by: Mark Brown commit 9b30050908fad96968497e73b88626056ea33c96 Author: Jarkko Nikula Date: Mon Aug 24 17:45:50 2009 +0300 OMAP: McBSP: Use textual values in DMA operating mode sysfs files Use more descriptive than numerical value when showing and storing the McBSP DMA operating mode. Show function is using similar syntax than e.g. the led triggers so that all possible values for store function are printed but with current value surrounded with square brackets. Signed-off-by: Jarkko Nikula Cc: Peter Ujfalusi Acked-by: Eduardo Valentin Signed-off-by: Mark Brown commit 31b47cf7609288893a10706c648faa932c7aef90 Author: Mark Brown Date: Mon Aug 24 20:28:04 2009 +0100 genirq: Add prototype for handle_nested_irq() The function is supposed to be called from the primary IRQ handler for a demultiplexing chip so make a protype visible for them. Signed-off-by: Mark Brown Cc: Mark Brown LKML-Reference: <1251142084-9852-1-git-send-email-broonie@opensource.wolfsonmicro.com> Signed-off-by: Ingo Molnar commit daedc71836e5a398fd0cc0e12c5cb43539478485 Merge: c36ba80 422bef8 Author: Ingo Molnar Date: Tue Aug 25 10:04:27 2009 +0200 Merge commit 'v2.6.31-rc7' into irq/core Merge reason: move from an -rc2 base to -rc7. Signed-off-by: Ingo Molnar commit a4be7c2778d1fd8e0a8a5607bec91fa221ab2c91 Author: Peter Zijlstra Date: Wed Aug 19 11:18:27 2009 +0200 perf_counter: Allow sharing of output channels Provide the ability to configure a counter to send its output to another (already existing) counter's output stream. Signed-off-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: stephane eranian Cc: Paul Mackerras LKML-Reference: <20090819092023.980284148@chello.nl> Signed-off-by: Ingo Molnar commit fa289beca9de9119c7760bd984f3640da21bc94c Author: Paul Mackerras Date: Tue Aug 25 15:17:20 2009 +1000 perf_counter: Start counting time enabled when group leader gets enabled Currently, if a group is created where the group leader is initially disabled but a non-leader member is initially enabled, and then the leader is subsequently enabled some time later, the time_enabled for the non-leader member will reflect the whole time since it was created, not just the time since the leader was enabled. This is incorrect, because all of the members are effectively disabled while the leader is disabled, since none of the members can go on the PMU if the leader can't. Thus we have to update the ->tstamp_enabled for all the enabled group members when a group leader is enabled, so that the time_enabled computation only counts the time since the leader was enabled. Similarly, when disabling a group leader we have to update the time_enabled and time_running for all of the group members. Also, in update_counter_times, we have to treat a counter whose group leader is disabled as being disabled. Reported-by: Stephane Eranian Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: LKML-Reference: <19091.29664.342227.445006@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit c9c419773d2a84af8ff2f91c859d3d16592c947b Author: Paul Gortmaker Date: Fri Aug 14 12:13:54 2009 -0400 powerpc/85xx: sbc8560 - remove "has-rstcr" from global utilities block The earlier mpc8560 CPUs don't have the RSTCR at 0xe00b0 in the GUTS. The generic reboot code uses this tag to determine if it should be using the RSTCR for reboot, so remove it from the board definition. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 46c4c229ecf470202a1f4fd2402283cb038864bf Author: Paul Gortmaker Date: Fri Aug 14 12:13:53 2009 -0400 powerpc/85xx: issue fsl_soc reboot warning only when applicable Some CPU, like the MPC8560 don't have a RSTCR in the Global Utilities Block. These boards will implement their own reboot call, and not use this code, so we should only warn about the absence of the GUTS RSTCR when the default reboot code is used. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 7792da8567a70be3280c8eef916334e6923815e3 Author: Liang Li Date: Fri Aug 14 10:36:14 2009 -0400 powerpc/85xx: sbc8560 - Fix warm reboot with board specific reset function The existing fsl_rstcr_restart function is not applicable to the mpc8560. The Global Utilities Block on this earlier CPU doesn't have the control/reset register at 0xe00b0. This implements a board specific reset function that uses the RCR(Reset Control Register) of the sbc8560's EPLD to do a reset. Signed-off-by: Liang Li Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 944ac03804c4c9c0879347098ea458fd57f38687 Author: Paul Gortmaker Date: Wed Aug 12 09:34:31 2009 -0400 powerpc/83xx: sbc8349 - update defconfig, enable MTD, USB storage With flash partition entries in the DTS file, MTD might as well be enabled in the defconfig. In a similar vein, enable USB and enough related options (SCSI/ext2/ext3) so that a user can read and write to a generic USB flash drive as well. Also, this board only has the two default SOC UARTs, so adjust the UART config accordingly. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 58dfc497b9357ec00c879b775c02f4eab19bcecb Author: Liang Li Date: Wed Aug 12 09:34:30 2009 -0400 powerpc/83xx: Fix incorrect PCI interrupt map in SBC834x DTS Allows interrupts to occur on the sbc834x. Currently PCI devices get assigned an incorrect IRQ and so the interrupt count never increases. This was tested with the 82546GB based dual port E1000 PCI-X NIC which uses two distinct IRQ lines on the one card. root@localhost:/root> cat /proc/interrupts | grep eth 17: 78 IPIC Level eth1 48: 27121 IPIC Level eth0 Signed-off-by: Liang Li Signed-off-by: Yang Shi Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 31ff09b7a60bbc80b5df941ec1a12502861b4da9 Author: Liang Li Date: Wed Aug 12 09:34:29 2009 -0400 powerpc/83xx: Add localbus node and MTD partitions for SBC834x There is 8MB flash, 8kB EEPROM and 128MB SDRAM on the sbc834x local bus, so add a localbus node in DTS with MTD partitions. The recent U-boot commit fe613cdd4eb moves u-boot to the beginning of flash, hence the legacy label on the partition at the end of flash. Signed-off-by: Liang Li Signed-off-by: Yang Shi Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 4de124446b4d68edd6cb747495234be915d56a29 Author: Liang Li Date: Wed Aug 12 09:34:28 2009 -0400 powerpc/83xx: Remove second USB node from SBC834x DTS Since only one of the SoC USB devices is brought out to a physical connector on the board, remove the 2nd (USB-DR) node from the DTS. Having it present and USB enabled will cause a hang at boot. Signed-off-by: Liang Li Signed-off-by: Yang Shi Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit fb8e3e1fe1df963b6c1ab8610682737ccae96ef0 Author: Poonam Aggrwal Date: Fri Aug 7 21:05:16 2009 +0530 powerpc/85xx: Add support for P2020RDB board Add support for the P2020RDB reference board from Freescale. Overview of P2020RDB platform - DDR DDR2 1G - NOR Flash 16MByte - NAND Flash 32MByte - 3 Ethernet interfaces 1) etSEC1 - RGMII - connected to a 5 port Vitesse Switch(VSC7385) - Switch is memory mapped through eLBC interface(CS#2) - IRQ1 2) etSEC2 - SGMII - connected to VSC8221 - IRQ2 3) etSEC3 - RGMII - connected to VSC8641 - IRQ3 - 2 1X PCIe interfaces - SD/MMC ,USB - SPI EEPROM - Serial I2C EEPROM Signed-off-by: Poonam Aggrwal Signed-off-by: Kumar Gala commit fc4bdb35fba1c8f464fd85b94a5059e752fc85d4 Author: Kumar Gala Date: Fri Aug 14 09:38:34 2009 -0500 powerpc/booke: Move MMUCSR definition into mmu-book3e.h The MMUCSR is now defined as part of the Book-3E architecture so we can move it into mmu-book3e.h and add some of the additional bits defined by the architecture specs. Signed-off-by: Kumar Gala commit 8934210cfe925f0d3e3089c69e9e88021324801b Author: Heiko Schocher Date: Fri Aug 7 08:41:15 2009 +0200 powerpc/82xx: mgcoge - updated defconfig - add I2C support - add FCC1 and FCC2 support Signed-off-by: Heiko Schocher Signed-off-by: Kumar Gala commit cbe86b98a6aceefe943ada1471eb52fd9ac4c504 Author: Randy Dunlap Date: Mon Aug 24 16:32:50 2009 -0700 Bluetooth: Add missing selection of CONFIG_CRC16 for L2CAP layer Fix net/bluetooth/l2cap.c build errors: l2cap.c:(.text+0x126035): undefined reference to `crc16' l2cap.c:(.text+0x126323): undefined reference to `crc16' l2cap.c:(.text+0x12668e): undefined reference to `crc16' l2cap.c:(.text+0x12683b): undefined reference to `crc16' l2cap.c:(.text+0x126956): undefined reference to `crc16' net/built-in.o:l2cap.c:(.text+0x129041): more undefined references to `crc16' follow Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Marcel Holtmann commit 7bee549e197c9c0e92b89857a409675c1d5e9dff Author: Oliver Neukum Date: Mon Aug 24 23:44:59 2009 +0200 Bluetooth: Add USB autosuspend support to btusb driver This patch adds support of USB autosuspend to the btusb driver. If the device doesn't support remote wakeup, simple support based on up/down is provided. If the device supports remote wakeup, additional support for autosuspend while the interface is up is provided. This is done by queueing URBs in an anchor structure and waking the device up from a work queue on sending. Reception triggers remote wakeup. The last busy facility of the USB autosuspend code is used. To close a race between autosuspend and transmission, a counter of ongoing transmissions is maintained. Add #ifdefs for CONFIG_PM as necessary. Signed-off-by: Oliver Neukum Tested-by: Sarah Sharp Signed-off-by: Marcel Holtmann commit 9f0f4ae570a148c76be6e86c959c8d4ed912fb1f Author: Janusz Krzysztofik Date: Sun Aug 23 17:56:12 2009 +0200 ARM: OMAP: DMA: Add support for DMA channel self linking on OMAP1510 Implement DMA channel self linking on OMAP1510 using AUTO_INIT and REPEAT flags of the DMA CCR register. Created against linux-2.6.31-rc5. Tested on Amstrad Delta. Signed-off-by: Janusz Krzysztofik Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit d2e353f7c3c5fbb3add0341c10ae167ee745d23b Author: Wending Weng Date: Mon Aug 24 16:05:17 2009 -0400 Bluetooth: Fix false errors from bcsp_pkt_cull function The error message "Removed only %u out of %u pkts" is printed when multiple to be acked packets are queued. if (i++ >= pkts_to_be_removed) break; This will break out of the loop and increase the counter i when i==pkts_to_be_removed and the loop ends up with i=pkts_to_be_removed+1. The following line if (i != pkts_to_be_removed) { BT_ERR("Removed only %u out of %u pkts", i, pkts_to_be_removed); } will then display the false message. The counter i must not increase on the same statement. Signed-off-by: Wending Weng Signed-off-by: Marcel Holtmann commit e4aa8dd5cadca054a807278b04f67ce8e3b9dc42 Merge: 239a22a 59ae07a Author: Mark Brown Date: Mon Aug 24 20:44:41 2009 +0100 Merge branch 'topic/digital-mixing' into for-2.6.32 commit 239a22aaa9d4d574d397b852652684ac610d1e1b Author: Mark Brown Date: Mon Aug 24 20:21:51 2009 +0100 ASoC: Select core DMA when building for S3C64xx Ensure that the core DMA support is available when building for S3C64xx. Signed-off-by: Mark Brown commit 33f76148ced0e0618062e302d2a9614efdbd4a06 Author: Paul E. McKenney Date: Mon Aug 24 09:42:01 2009 -0700 rcu: Add CPU-offline processing for single-node configurations Add preemptable-RCU plugin to handle the CPU-offline processing. An additional plugin is forthcoming to handle multinode RCU trees, but this current plugin works for configurations up to 32 CPUs (64 CPUs for 64-bit kernels). Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12511321213336-git-send-email-> Signed-off-by: Ingo Molnar commit 7c614d6461399acca5c0ba444f5db49cb332fc08 Author: Paul E. McKenney Date: Mon Aug 24 09:42:00 2009 -0700 rcu: Add "notrace" to RCU function headers used by ftrace Both rcu_read_lock_sched_notrace() and rcu_read_unlock_sched_notrace() are used by ftrace, and thus need to be marked "notrace". Unfortunately, my naive assumption that gcc would see the inner "notrace" does not hold. Kudos to Lai Jiangshan for noting this. Reported-by: Ingo Molnar Bug-spotted-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12511321213243-git-send-email-> Signed-off-by: Ingo Molnar commit f3abc9b963e004b8c96cd7fbee6fd905f2bfd620 Author: Eric Dumazet Date: Mon Aug 24 19:35:38 2009 +0200 netfilter: bridge: refcount fix commit f216f082b2b37c4943f1e7c393e2786648d48f6f ([NETFILTER]: bridge netfilter: deal with martians correctly) added a refcount leak on in_dev. Instead of using in_dev_get(), we can use __in_dev_get_rcu(), as netfilter hooks are running under rcu_read_lock(), as pointed by Patrick. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit cce5a5c3029f731b5ea17a8a9a953ff742abf0d6 Author: Maximilian Engelhardt Date: Mon Aug 24 19:24:54 2009 +0200 netfilter: nf_nat: fix inverted logic for persistent NAT mappings Kernel 2.6.30 introduced a patch [1] for the persistent option in the netfilter SNAT target. This is exactly what we need here so I had a quick look at the code and noticed that the patch is wrong. The logic is simply inverted. The patch below fixes this. Also note that because of this the default behavior of the SNAT target has changed since kernel 2.6.30 as it now ignores the destination IP in choosing the source IP for nating (which should only be the case if the persistent option is set). [1] http://git.eu.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=98d500d66cb7940747b424b245fc6a51ecfbf005 Signed-off-by: Maximilian Engelhardt Signed-off-by: Patrick McHardy commit 35aad0ffdf548617940ca1e78be1f2e0bafc4496 Author: Jan Engelhardt Date: Mon Aug 24 14:56:30 2009 +0200 netfilter: xtables: mark initial tables constant The inputted table is never modified, so should be considered const. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 9d0b71b1cf7b7ff856d200841de3f3d7c64eb170 Author: Takashi Iwai Date: Mon Aug 24 14:10:30 2009 +0200 ALSA: hda - Reuse ALC268 parser for ALC269 Reuse a part of the code of ALC268 parser for ALC269. This will change the default output volume either to Front or Speaker depending on the pin configuration. Signed-off-by: Takashi Iwai commit 10f02d1168585edf66229bb2ec90a42f32667a78 Author: Alexey Dobriyan Date: Sun Aug 23 23:17:27 2009 +0400 x86: uv: Clean up uv_ptc_init(), use proc_create() create_proc_entry() is getting duhprecated. Signed-off-by: Alexey Dobriyan Cc: cpw@sgi.com Signed-off-by: Ingo Molnar commit 5f9ece02401116b29eb04396b99ea092acb75dd8 Merge: 9f51e24 422bef8 Author: Ingo Molnar Date: Mon Aug 24 12:25:44 2009 +0200 Merge commit 'v2.6.31-rc7' into x86/cleanups Merge reason: we were on -rc1 before - go up to -rc7 Signed-off-by: Ingo Molnar commit d34843d0c4a20872f3f3bfb510328bd043b939ff Author: Bob Peterson Date: Mon Aug 24 10:44:18 2009 +0100 GFS2: Add "-o errors=panic|withdraw" mount options This patch adds "-o errors=panic" and "-o errors=withdraw" to the gfs2 mount options. The "errors=withdraw" option is today's current behaviour, meaning to withdraw from the file system if a non-serious gfs2 error occurs. The new "errors=panic" option tells gfs2 to force a kernel panic if a non-serious gfs2 file system error occurs. This may be useful, for example, where fabric-level fencing is used that has no way to reboot (such as fence_scsi). Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit cd0120751d631bc4b99f180c1c22de2caca98207 Author: Roel Kluin Date: Sat Aug 22 19:26:42 2009 +0200 GFS2: jumping to wrong label? Also a gfs2_glock_dq() is required here. Signed-off-by: Roel Kluin Signed-off-by: Steven Whitehouse commit 1b7bf4edca0fdbad70c44e139f4cfebd6759de81 Author: Gustavo F. Padovan Date: Mon Aug 24 00:45:20 2009 -0300 Bluetooth: Use proper *_unaligned_le{16,32} helpers for L2CAP Simplify more conversions to the right endian with the proper helpers. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit e686219a64fee9be9ce438dc3f040cd71ddd168a Author: Gustavo F. Padovan Date: Mon Aug 24 00:45:19 2009 -0300 Bluetooth: Add locking scheme to L2CAP timeout callbacks Avoid race conditions when accessing the L2CAP socket from within the timeout handlers. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit fd72d008465d45db63d7f8931eea6a04e05916d6 Author: Wu Fengguang Date: Mon Aug 24 09:50:46 2009 +0800 ALSA: hda: move open coded tricks into get_wcaps_channels() Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit c6ea2af76ab79b82a0bfed313e4c2b68b10c2bc1 Author: Takashi Iwai Date: Mon Aug 24 09:41:32 2009 +0200 ASoC: Remove unneeded inclusion of linux/regulator/consumer.h Signed-off-by: Takashi Iwai commit 20496ff3783fc9d4cea2317ed2d4442561af64d9 Author: Takashi Iwai Date: Mon Aug 24 09:40:34 2009 +0200 ASoC: add missing inclusion of debugfs.h To fix compile errors. Signed-off-by: Takashi Iwai commit 96d6e48bc6b38342a59ccd23e25907d12caaeaf8 Merge: 6e08643 4464fca Author: Ingo Molnar Date: Wed Aug 19 14:50:35 2009 +0200 Merge branch 'perfcounters/urgent' into perfcounters/core Conflicts: tools/perf/builtin-annotate.c tools/perf/builtin-report.c Merge reason: resolve these conflicts. Signed-off-by: Ingo Molnar commit 5eecfde615894dc1c2e3f85b515a96ae2e408fb5 Author: Chuck Lever Date: Fri Aug 21 17:50:30 2009 -0400 NFS: Handle a zero-length auth flavor list Some releases of Linux rpc.mountd (nfs-utils 1.1.4 and later) return an empty auth flavor list if no sec= was specified for the export. This is notably broken server behavior. The new auth flavor list checking added in a recent commit rejects this case. The OpenSolaris client does too. The broken mountd implementation is already widely deployed. To avoid a behavioral regression, the kernel's mount client skips flavor checking (ie reverts to the pre-2.6.32 behavior) if mountd returns an empty flavor list. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 940917226260d6e029f55742a34a7d7810983c75 Merge: 9818f66 929122c Author: David S. Miller Date: Sun Aug 23 19:19:30 2009 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit 9818f660f433b58e770cfeb2ee9566f7b42ca0ae Author: Florian Fainelli Date: Thu Aug 20 01:26:23 2009 +0000 r6040: bump to version 0.25 and 20 August 2009 release date Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit e03f614af7811f9d089862a8700e683dcc6963c6 Author: Mark Kelly Date: Thu Aug 20 01:26:20 2009 +0000 r6040: move down second PHY detection to r6040_init_one Instead of fully initializing an unusable second r6040 device, perform the PHY detection earlier and bail out in r6040_init_one when we could not read the PHY identifier. Signed-off-by: Mark Kelly Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit d516478ff67b2abb2f3ecc998a598576d92b0b5e Author: Mark Kelly Date: Thu Aug 20 01:26:12 2009 +0000 r6040: remove unused pioaddr variable This patch removes the unused pioaddr variable. Signed-off-by: Mark Kelly Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit f2c449320d547bd5c281649eb1d99afb20765144 Author: Andy Grover Date: Fri Aug 21 12:28:35 2009 +0000 RDS: Add a debug message suggesting to load transport modules Now that RDS transports are no longer compiled-in to RDS core, there is now the possibility that they will not be loaded. This adds a helpful suggestion when rds_bind() fails to find a transport. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 335776bd696a6bf95134baf8ad95847371e4d5f6 Author: Andy Grover Date: Fri Aug 21 12:28:34 2009 +0000 RDS: Track transports via an array, not a list Now that transports can be loaded in arbitrary order, it is important for rds_trans_get_preferred() to look for them in a particular order, instead of walking the list until it finds a transport that works for a given address. Now, each transport registers for a specific transport slot, and these are ordered so that preferred transports come first, and then if they are not loaded, other transports are queried. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 40d866095df3bb70ded1813f4852cab445ef678b Author: Andy Grover Date: Fri Aug 21 12:28:33 2009 +0000 RDS: Modularize RDMA and TCP transports Enable the building of transports as modules. Also, improve consistency of Kconfig messages in relation to other protocols, and move build dependency on IB from the RDS core code to the rds_rdma module. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 616b757ae18fb8ec2dfe7ff9d3f589f82cb0eb9d Author: Andy Grover Date: Fri Aug 21 12:28:32 2009 +0000 RDS: Export symbols from core RDS Now that rdma and tcp transports will be modularized, we need to export a number of functions so they can call them. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 70041088e3b976627ba9a183b812f39ef8a9ba0e Author: Andy Grover Date: Fri Aug 21 12:28:31 2009 +0000 RDS: Add TCP transport to RDS This code allows RDS to be tunneled over a TCP connection. RDMA operations are disabled when using TCP transport, but this frees RDS from the IB/RDMA stack dependency, and allows it to be used with standard Ethernet adapters, or in a VM. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 7d6fd5e7e97a2188d56441e4e96494c21c5994a7 Author: Dhananjay Phadke Date: Sun Aug 23 08:35:13 2009 +0000 netxen: remove netxen_nic_phan_reg.h Consolidate register definitions in netxen_nic_hdr.h Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 22b5794b5d58ea81e91d68d00e49357b66d5a559 Author: Amit Kumar Salecha Date: Sun Aug 23 08:35:12 2009 +0000 netxen: implement pci driver shutdown Implement pci driver shutdown functionality, this helps quiescing all PCI transaction before chipset is reset. Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ce644ed4db3ee1075ebd9f4acc403e1f9410db21 Author: Dhananjay Phadke Date: Sun Aug 23 08:35:11 2009 +0000 netxen: refactor tx dma mapping code Move all tx skb mapping code into netxen_map_tx_skb(). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1dbc84a7f6c2ebd8c69299e1adef22ee26db38c0 Author: Dhananjay Phadke Date: Sun Aug 23 08:35:10 2009 +0000 netxen: fix firmware reset logic If netxen_need_fw_reset() return 0 [ implies firmware is up and running], still go through dma mask check, etc. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1bb482f8a46000f77577948ff1c350275bba7dc9 Author: Narender Kumar Date: Sun Aug 23 08:35:09 2009 +0000 netxen: ethtool statistics and control for LRO Add ethtool -K knob to control LRO in firmware. LRO path is completely separated from GRO, LRO packets are still fed with netif_receive_skb(). Also fix ethtool statistics to include LRO packets. Also use correct message type while configuring interrupt coalescing. Signed-off-by: Narender Kumar Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d8e180dcd5bbbab9cd3ff2e779efcf70692ef541 Author: Michal Schmidt Date: Thu Aug 20 14:39:52 2009 -0700 bsdacct: switch credentials for writing to the accounting file When process accounting is enabled, every exiting process writes a log to the account file. In addition, every once in a while one of the exiting processes checks whether there's enough free space for the log. SELinux policy may or may not allow the exiting process to stat the fs. So unsuspecting processes start generating AVC denials just because someone enabled process accounting. For these filesystem operations, the exiting process's credentials should be temporarily switched to that of the process which enabled accounting, because it's really that process which wanted to have the accounting information logged. Signed-off-by: Michal Schmidt Acked-by: David Howells Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: James Morris commit e2365bf313fb21b49b1e4c911033389564428d03 Author: Marek Vasut Date: Fri Aug 21 20:02:52 2009 +0200 ASoC: Pass correct platform data from pxa2xx-ac97 Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit 848bffef28454049549bfba113b932df7c6d243d Author: Bartlomiej Zolnierkiewicz Date: Wed Aug 19 22:09:55 2009 +0200 ALSA: ali5451: remove dead code Remove code covered by #if/endif 0 and #ifdef/endif CODEC_RESET (CODEC_RESET is never defined). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Takashi Iwai commit 821ebc86efd4b42aa120076562b0fd4f03ec3c0c Author: Roel Kluin Date: Sat Aug 22 21:24:24 2009 +0200 ASoC: free socdev if init_card() fails in wm9705_soc_probe() Free socdev if snd_soc_init_card() fails. Signed-off-by: Roel Kluin Signed-off-by: Mark Brown commit 366d19e181be873c70f4aafca3931d77d781ccd7 Author: Tobias Doerffel Date: Fri Aug 21 23:06:23 2009 +0200 x86: add specific support for Intel Atom architecture Add another option when selecting CPU family so the kernel can be optimized for Intel Atom CPUs. If GCC supports tuning options for Intel Atom they will be used. Signed-off-by: Tobias Doerffel Signed-off-by: H. Peter Anvin LKML-Reference: <1251018457-19157-1-git-send-email-tobias.doerffel@gmail.com> Signed-off-by: Ingo Molnar commit 8a517c514d5893602cf85c1b4c47afbbc04d2198 Merge: c64b04f 422bef8 Author: Ingo Molnar Date: Sun Aug 23 11:18:47 2009 +0200 Merge commit 'v2.6.31-rc7' into x86/cpu commit 6b3ef48adf847f7adf11c870e3ffacac150f1564 Author: Paul E. McKenney Date: Sat Aug 22 13:56:53 2009 -0700 rcu: Remove CONFIG_PREEMPT_RCU Now that CONFIG_TREE_PREEMPT_RCU is in place, there is no further need for CONFIG_PREEMPT_RCU. Remove it, along with whatever subtle bugs it may (or may not) contain. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <125097461396-git-send-email-> Signed-off-by: Ingo Molnar commit f41d911f8c49a5d65c86504c19e8204bb605c4fd Author: Paul E. McKenney Date: Sat Aug 22 13:56:52 2009 -0700 rcu: Merge preemptable-RCU functionality into hierarchical RCU Create a kernel/rcutree_plugin.h file that contains definitions for preemptable RCU (or, under the #else branch of the #ifdef, empty definitions for the classic non-preemptable semantics). These definitions fit into plugins defined in kernel/rcutree.c for this purpose. This variant of preemptable RCU uses a new algorithm whose read-side expense is roughly that of classic hierarchical RCU under CONFIG_PREEMPT. This new algorithm's update-side expense is similar to that of classic hierarchical RCU, and, in absence of read-side preemption or blocking, is exactly that of classic hierarchical RCU. Perhaps more important, this new algorithm has a much simpler implementation, saving well over 1,000 lines of code compared to mainline's implementation of preemptable RCU, which will hopefully be retired in favor of this new algorithm. The simplifications are obtained by maintaining per-task nesting state for running tasks, and using a simple lock-protected algorithm to handle accounting when tasks block within RCU read-side critical sections, making use of lessons learned while creating numerous user-level RCU implementations over the past 18 months. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12509746134003-git-send-email-> Signed-off-by: Ingo Molnar commit a157229cabd6dd8cfa82525fc9bf730c94cc9ac2 Author: Paul E. McKenney Date: Sat Aug 22 13:56:51 2009 -0700 rcu: Simplify rcu_pending()/rcu_check_callbacks() API All calls from outside RCU are of the form: if (rcu_pending(cpu)) rcu_check_callbacks(cpu, user); This is silly, instead we put a call to rcu_pending() in rcu_check_callbacks(), and then make the outside calls be to rcu_check_callbacks(). This cuts down on the code a bit and also gives the compiler a better chance of optimizing. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <125097461311-git-send-email-> Signed-off-by: Ingo Molnar commit 22f00b69f6a7e1e18e821979a23e8307c2de9888 Author: Paul E. McKenney Date: Sat Aug 22 13:56:50 2009 -0700 rcu: Use debugfs_remove_recursive() simplify code. Suggested by Josh Triplett. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: "Paul E. McKenney" LKML-Reference: <12509746132173-git-send-email-> Signed-off-by: Ingo Molnar commit 65cf8f866fc0fb40fa9daaded7e938a886d6f7c5 Author: Paul E. McKenney Date: Sat Aug 22 13:56:49 2009 -0700 rcu: Merge per-RCU-flavor initialization into pre-existing macro Rename the RCU_DATA_PTR_INIT() macro to RCU_INIT_FLAVOR() and make it do the rcu_init_one() and rcu_boot_init_percpu_data() calls. Merge the loop that was in the original macro with the loops that were in __rcu_init(). Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12509746133916-git-send-email-> Signed-off-by: Ingo Molnar commit 5699ed8fcb0c32ca699e2a27ad716eb70b367dbf Author: Paul E. McKenney Date: Sat Aug 22 13:56:48 2009 -0700 rcu: Fix online/offline indication for rcudata.csv trace file The heading said "Online?", but the column had "Y" for offline CPUs and "N" for online CPUs. Swap the "Y" and "N" to match the heading. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12509746132841-git-send-email-> Signed-off-by: Ingo Molnar commit bc33f24bdca8b6e97376e3a182ab69e6cdefa989 Author: Paul E. McKenney Date: Sat Aug 22 13:56:47 2009 -0700 rcu: Consolidate sparse and lockdep declarations in include/linux/rcupdate.h Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12509746132349-git-send-email-> Signed-off-by: Ingo Molnar commit d6714c22b43fbcbead7e7b706ff270e15f04a791 Author: Paul E. McKenney Date: Sat Aug 22 13:56:46 2009 -0700 rcu: Renamings to increase RCU clarity Make RCU-sched, RCU-bh, and RCU-preempt be underlying implementations, with "RCU" defined in terms of one of the three. Update the outdated rcu_qsctr_inc() names, as these functions no longer increment anything. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12509746132696-git-send-email-> Signed-off-by: Ingo Molnar commit 9f77da9f40045253e91f55c12d4481254b513d2d Author: Paul E. McKenney Date: Sat Aug 22 13:56:45 2009 -0700 rcu: Move private definitions from include/linux/rcutree.h to kernel/rcutree.h Some information hiding that makes it easier to merge preemptability into rcutree without descending into #include hell. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <1250974613373-git-send-email-> Signed-off-by: Ingo Molnar commit 8fea0f0db87a4aaed41a93eed147af61cc5f9e3f Author: Michael Chan Date: Fri Aug 21 16:20:50 2009 +0000 bnx2: Update version to 2.0.2. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0ced9d01d19795f913b95cebedd7d03986671379 Author: Michael Chan Date: Fri Aug 21 16:20:49 2009 +0000 bnx2: Use const on flash_table structure. The structure, once initialized, never changes. Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit cf7474a6f4eda22603591b7d6253dffc224e4784 Author: Michael Chan Date: Fri Aug 21 16:20:48 2009 +0000 bnx2: Refine coalescing parameters. - Set the USE_INT_PARAM bit so the rx-frames-irq and tx-frames-irq will take effect on 5709. - Increase the default rx-frames to reduce interrupt count. - Decrease the default rx-frames-irq and tx-frames-irq to catch more events during NAPI poll. All these will reduce interrupts without affecting latency. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 790dab2f671cb477e6179322a6c48c898e311e72 Author: Michael Chan Date: Fri Aug 21 16:20:47 2009 +0000 bnx2: Report FTQ discard counter. Report this counter to ethtool -S and include it in netstat. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 61d9e3fa7eacabfb7879e3da91709f1a5420c507 Author: Michael Chan Date: Fri Aug 21 16:20:46 2009 +0000 bnx2: Apply BROKEN_STATS workaround to 5706 and 5708. Add flag to expand the workaround to both chips. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6fefb65e78f098c09d0ab877b2c70421e4c84116 Author: Michael Chan Date: Fri Aug 21 16:20:45 2009 +0000 bnx2: Close device if MTU change or ring size change fails. When unable to allocate memory for new MTU or new ring size, we need to close the device to prevent it from crashing. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3767546cc24de8f104e745d59a0a43a09d9267df Author: Michael Chan Date: Fri Aug 21 16:20:44 2009 +0000 bnx2: Check if_running() before touching chip registers. Add this check to bnx2_netif_stop() and bnx2_vlan_rx_register() to prevent bus lockups on some systems when the chip is in low power state. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 155d5561f570c5b3af7a178670061927d89209fb Author: Michael Chan Date: Fri Aug 21 16:20:43 2009 +0000 bnx2: Zero out status block before chip reset. In case IRQs are shared, we will not mistakenly start processing the ring based on old status block indices. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 60df75c169c5d42f4eef03d80e65c3fe223a1620 Author: James Bottomley Date: Thu Aug 13 19:23:12 2009 +0000 [SCSI] update MAINTAINERS with new email Novell is now funding SCSI work, so the MAINTAINERS file should reflect this. Signed-off-by: James Bottomley commit 8ea0696e9251c2283d3d306c6b096e71cf6a60c0 Author: Kashyap, Desai Date: Wed Aug 5 12:54:32 2009 +0530 [SCSI] mptsas : Bump version to 3.04.11 Bump version to 3.04.11 Signed-off-by: James Bottomley commit d130691725e9c4a098a59fc64f5ac3dcb1e2aa3b Author: Kashyap, Desai Date: Wed Aug 5 12:53:51 2009 +0530 [SCSI] mptsas : Code cleanup of host page alloc and diag reset. Code cleanup of host page alloc and diag reset. Signed-off-by: James Bottomley commit 79a3ec1ace2329d115ecd2445379b46aed3286b0 Author: Kashyap, Desai Date: Wed Aug 5 12:52:58 2009 +0530 [SCSI] mptsas : set max_id to infinite value. Do not set max_id value received from FW. Once SAS transport layer is introduced max_id value is missleading to SCSI mid layer. Use max_id to infinite value. logic of can queue of scsi host is changed. Signed-off-by: James Bottomley commit 4b97650b555b1cd09b547104d98da0ff700187d9 Author: Kashyap, Desai Date: Wed Aug 5 12:52:03 2009 +0530 [SCSI] mptsas : Change config request timeout value to 30 seconds. Change config request timeout value to 30 seconds. Signed-off-by: James Bottomley commit d23321b4880fb7a95fa58277fafb98a4368b4c92 Author: Kashyap, Desai Date: Wed Aug 5 12:51:25 2009 +0530 [SCSI] mptsas : Handle INSUFFICIENT resources status as similar to IOC BUSY status Handle insufficient resources status as similar to busy status. Signed-off-by: James Bottomley commit a247fa4521ccec7cb82a9f2d4e8544fce27ea109 Author: Kashyap, Desai Date: Wed Aug 5 12:50:02 2009 +0530 [SCSI] mptsas : Removed mptscsih_timer_expired. Removed mptscsih_timer_expired. This timer is no more use. Signed-off-by: James Bottomley commit 9d2e9d66a3f032667934144cd61c396ba49f090d Author: Kashyap, Desai Date: Wed Aug 5 12:48:44 2009 +0530 [SCSI] mptsas : Change DEFINED value of can queue for FC and SAS devices. Change DEFINED value of can queue for FC and SAS devices. Signed-off-by: James Bottomley commit 4dbfb544ad5a28ac9e60634bdfbf09d2eb39cdb5 Author: Chandra Seetharaman Date: Wed Aug 12 12:43:20 2009 -0700 [SCSI] scsi_dh: add two SUN devices to the list of devices supported by default Reported-by: Rice Brown Signed-Off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 95a3639e275fb7aec5c9a2116c88a2cdd23e0b8b Author: James Bottomley Date: Tue Aug 11 10:59:09 2009 -0500 [SCSI] fix bugs in scsi_vpd_inquiry() Universally, SCSI functions assume the lengths fed in are those of the buffer to DMA data to, not the lengths of the data minus the header. scsi_vpd_inquiry() assumed the latter and got it wrong, so fix up all the functions to use the correct assumption (and fix a bug where INQUIRY in SCSI-2 dcannot go over 255). [jejb: Matthew posted an identical version of this at the same time I did] Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 5f91bb050ecc4ff1d8d3d07edbe550c8f431c5e1 Author: Michael Reed Date: Mon Aug 10 11:59:28 2009 -0500 [SCSI] reservation conflict after timeout causes device to be taken offline An IBM tape drive failed to complete a PERSISTENT RESERVE IN within the scsi cmd timeout. Error recovery was initiated and it sequenced from abort through taking the tape drive offline. The device was taken offline because it repeatedly responded to the TUR command issued by error recovery with a RESERVATION CONFLICT status. The tape drive was reserved to another system. This is perfectly legitimate response to TUR, and is one that an escalation of recovery is unlikely to clear. Further, escalation of recovery can have undesirable side effects on the operation of tape drives shared with other initiators. Instead of escalating recovery, error recovery should treat the RESERVATION CONFLICT response to the TUR as a good status, giving the issuer of the command the opportunity to handle the timeout and reservation conflict. Signed-off-by: Michael reed Signed-off-by: James Bottomley commit edced191e4512b7795380563634f4d44b21c684a Author: Jiri Slaby Date: Sat Aug 8 11:36:06 2009 +0200 [SCSI] nsp_cs: fix buf overflow In nsp_cs_config there is a wrong struct nsp_cs_configdata allocation. It allocates only sizeof(pointer to nsp_cs_configdata) for a whole structure. Add a dereference to the sizeof to allocate sizeof(nsp_cs_configdata). Signed-off-by: Jiri Slaby Signed-off-by: James Bottomley commit a2cf8a6306c89223d0ed35a7e9d40da99902e32a Author: Davidlohr Bueso A Date: Fri Aug 7 16:42:21 2009 -0400 [SCSI] ch: Check NULL for kmalloc() return Verify that ch->dt is not NULL before using it. Signed-off-by: Davidlohr Bueso Signed-off-by: James Bottomley commit d68866927ddd0ed3145cb3fba4a1c07ca5e4709d Author: Sage Weil Date: Mon Aug 3 13:54:47 2009 -0700 [SCSI] ibmvscsi: avoid unnecessary use of kzalloc_pool The allocated struct is manually zeroed after allocation, so avoid using the (broken) kzalloc mempool (which does not re-zero previously used items when they are returned to the pool). Acked-by: Brian King Signed-off-by: Sage Weil Signed-off-by: James Bottomley commit d430ddc660d2f9875125b4f13a2b9279313db529 Author: Giridhar Malavali Date: Fri Jul 31 15:09:34 2009 -0700 [SCSI] qla2xxx: Update version number to 8.03.01-k5 Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 7163ea815170f8c5d56ead27d7e6fa3fa1f9844b Author: Anirban Chakraborty Date: Wed Aug 5 09:18:40 2009 -0700 [SCSI] qla2xxx: Fix to ensure driver works in sinlge queue mode if multiqueue fails When the multiqueue mode fails to work, the driver falls back on single queue mode. This ensures that the firmware is reinitialized with single queue options and all the resources are readjusted accordingly. Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 09ccbcc628f71e7f57b4a96982ad1bb2084391d8 Author: Andrew Vasquez Date: Tue Aug 4 23:38:21 2009 -0700 [SCSI] qla2xxx: Correct display of vp_count in debug printk. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit eb94114bfd894dce1955e2ece575db544cecd921 Author: Anirban Chakraborty Date: Tue Aug 4 16:12:13 2009 -0700 [SCSI] qla2xxx: Fix a bug that clears the interrupt status register for the base queue The interrupt handler clears the interrupt status register for response updates in the base queue while working in the multique mode. This could lead to missing interrupt for async events, mail box completions etc. as these are also handled in the base queue. The fix ensures that the interrupt bit is not cleared for response updates in the ISR when the driver is working in multiqueue mode. Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 80de7efa6d6a4eb72e917bb2d814f38332090d45 Author: Andrew Vasquez Date: Fri Jul 31 15:09:33 2009 -0700 [SCSI] qla2xxx: ISP21xx/22xx do not support FDMI registrations. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit f9e899ebe502e547fca37f64ebc4b1399880d8f7 Author: Shyam Sundar Date: Fri Jul 31 15:09:30 2009 -0700 [SCSI] qla2xxx: Pad IOCB structure for size requirements. One byte added to make the IOCB structure satisfy size requirements. Signed-off-by: Shyam Sundar Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit a2d301e8d62ecd36dbfec69be13859ae3050f6fa Author: Santosh Vernekar Date: Fri Jul 31 15:09:29 2009 -0700 [SCSI] qla2xxx: Handle RSCN's per master/slave vn-port basis. Signed-off-by: Santosh Vernekar Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 4b785241ad6d07176a692631dbda3605f4917a18 Author: Lalit Chandivade Date: Fri Jul 31 15:09:27 2009 -0700 [SCSI] qla2xxx: Process DPC requests within valid Fabric topologies. If vports are created and topology is changed to Loop only, the driver continuously gets a LIP reset occurred and keeps trying to enable the vport. Only manage requests during F_Port. Signed-off-by: Lalit Chandivade Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit faadc5e71cb69cff9c4517f7a4add97f92820120 Author: Santosh Vernekar Date: Fri Jul 31 15:09:26 2009 -0700 [SCSI] qla2xxx: Mark all devices lost on loss of fc port. Signed-off-by: Santosh Vernekar Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 55903b9d152e91d4df2ab242c33efbd33e03e499 Author: Santosh Vernekar Date: Fri Jul 31 15:09:25 2009 -0700 [SCSI] qla2xxx: Skip RSCN processing on vha if event is global. The RSCN processing is skipped if the event received is global and vha is not recipient. Signed-off-by: Santosh Vernekar Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 9764ff8807a2455218e2ec5024e823cc09b01906 Author: Andrew Vasquez Date: Fri Jul 31 15:09:24 2009 -0700 [SCSI] qla2xxx: Correctly handle 'global port-unavailable' AEN. Treat a global port-unavailable PORT_UPDATE (8014h) AEN as a loop-down event. For this case, within the FCoE domain, the 'logical' interface has been terminated, but the driver will not receive the classic LOOP_DOWN AEN. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 8f1f3ece891e8fe6ee69fa27617b60cb26e37bec Author: Ravi Anand Date: Fri Jul 31 15:09:23 2009 -0700 [SCSI] qla2xxx: Pass the command's data residual to upper-layer callers. Signed-off-by: Ravi Anand Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 2bfd2e1337f0d8bb6ff45ce12934c45b83d70ee0 Author: Chandra Seetharaman Date: Mon Aug 3 12:42:45 2009 -0700 [SCSI] scsi_dh: Use scsi_dh_set_params() in multipath. Use scsi_dh_set_params() set parameters provided. Save the parameters in parse_hw_handler() and use it in parse_path(). Reported-by: Eddie Williams Signed-off-by: Chandra Seetharaman Tested-by: Eddie Williams Cc: Alasdair G Kergon Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 14d9cb5f760c86b3a8f686909465982231c06627 Author: Chandra Seetharaman Date: Mon Aug 3 12:42:39 2009 -0700 [SCSI] scsi_dh: Provide set_params interface in emc device handler Handle the parameters provided by user thru multipath. This handler expects only 2 parameters and their value can either be 0 or 1. This code originates from the old dm-emc.c file. Appropriate changes have been made to make it work in the new design. Reported-by: Eddie Williams Signed-off-by: Chandra Seetharaman Tested-by: Eddie Williams Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 18ee70c9d7b2dcd312a1f8c6536841e7c0fea5ca Author: Chandra Seetharaman Date: Mon Aug 3 12:42:33 2009 -0700 [SCSI] scsi_dh: add the interface scsi_dh_set_params() When we moved the device handler functionality from dm layer to SCSI layer we dropped the parameter functionality. This path adds an interface to scsi dh layer to set device handler parameters. Basically, multipath layer need to create a string with all the parameters and call scsi_dh_set_params() after it called scsi_dh_attach() on a device. If a device handler provides such an interface it will handle the parameters as it expects them. Reported-by: Eddie Williams Signed-off-by: Chandra Seetharaman Tested-by: Eddie Williams Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 21fab1d0595eacf781705ec3509012a28f298245 Author: James Bottomley Date: Sat Aug 1 00:43:59 2009 +0000 [SCSI] ses: update enclosure data on hot add Now that hot add works correctly, if a new device is added, we're still operating on stale enclosure data, so fix that by updating the enclosure diagnostic pages when we get notified of a device hot add Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 43d8eb9cfd0aea93be32181c64e18191b69c211c Author: James Bottomley Date: Sat Aug 1 00:41:22 2009 +0000 [SCSI] ses: add support for enclosure component hot removal Right at the moment, hot removal of a device within an enclosure does nothing (because the intf_remove only copes with enclosure removal not with component removal). Fix this by adding a function to remove the component. Also needed to fix the prototype of enclosure_remove_device, since we know the device we've removed but not the internal component number Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 163f52b6cf3a639df6a72c7937e0eb88b20f1ef3 Author: James Bottomley Date: Sat Aug 1 00:39:36 2009 +0000 [SCSI] ses: fix hotplug with multiple devices and expanders In a situation either with expanders or with multiple enclosure devices, hot add doesn't always work. This is because we try to find a single enclosure device attached to the host. Fix this by looping over all enclosure devices attached to the host and also by making the find loop recognise that the enclosure devices may be expander remote (i.e. not parented by the host). Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 0124ca9d8ee58b3cd028a23cef2fe225fcfee3b8 Author: Brian King Date: Thu Jul 30 10:58:51 2009 -0500 [SCSI] ipr: fix buffer overflow ipr_cmd_label[] isn't big enough for an eight byte string plus terminator. Fix by shortening the string to seven bytes. Signed-off-by: Brian King Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit c19dcd011238118ad07d3ab7ed1bbc4916826324 Author: Anil Veerabhadrappa Date: Wed Jul 29 21:50:11 2009 -0700 [SCSI] bnx2i : Fix "cid #n not valid" issue When bnx2i_adapter_ready() fails, connection handle(cid) = 0 is wrongly freed because 'cid' is not yet allocated for the endpoint. Fix is to initialize bnx2i_ep->ep_iscsi_cid to '-1' in bnx2i_alloc_ep() and not in bnx2i_ep_connect() to avoid releasing invalid 'cid'. There is already a check in bnx2i_free_iscsi_cid() not to free invalid iscsi connection handle (-1) Signed-off-by: Anil Veerabhadrappa Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 534cc9c165017dd29ae0f4458832893dc8033c6f Author: Anil Veerabhadrappa Date: Wed Jul 29 21:49:48 2009 -0700 [SCSI] bnx2i : Fix command session number jump issue seen during cable pull test Without the fix bnx2i would fail tt->xmit_task() when link is down and libiscsi would have already incremented session->cmdsn before calling bnx2i's xmit_task() entry point and will just return the command to SCSI-ML when xmit_task() fails. libiscsi does not retract the session->cmdsn as the command was never sent on wire. It is generally good idea for LLD, bnx2i to accept the scsi cmnd/nopout and let upper layer timeout and go though normal session recovery process. When link is down, unsolicited nopout will not be accepted by bnx2i and connection will never enter recovery state. This fix is required for MPIO to work corectly Signed-off-by: Anil Veerabhadrappa Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 1d1b88dc01e5fd2b3e2abb7aa42d0f1eca4c33ea Author: Vasu Dev Date: Wed Jul 29 17:05:45 2009 -0700 [SCSI] fcoe: removes phys_dev and renames real_dev to netdev. The phys_dev was used only to locate common offload EM instance for all FCoE instances on a eth devices in function fcoe_em_config, so just updated fcoe_em_config to look for actual real eth device in locating common offload EM instance and then no need to store phys_dev in fcoe_softc, so removes phys_dev from fcoe_softc also. Renames fcoe_softc real_dev to netdev and updates all its uses to use netdev. So effectively no functional change, use of single netdev instead phys_dev and real_dev saves one pointer memory in fcoe_softc, also real_dev used here was confusing with vlan driver terminology since real_dev in vlan driver is referred to physical eth device. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 53fcfbbef569819706b880a502ff62e2852edfce Author: Yi Zou Date: Wed Jul 29 17:05:40 2009 -0700 [SCSI] libfc: Remove page flags check for sglist I don't believe this check is needed any more in the current kernel, which, if I understand correctly, is for compound page where only the first page is supposed to get ref-counted. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 537029f8e950776951ca2a3fe30121d5c05643d1 Author: Yi Zou Date: Wed Jul 29 17:05:32 2009 -0700 [SCSI] libfc: Remove FC_FRAME_SG_LEN in fc_fcp_send_data FC_FRAME_SG_LEN is 4 which is too small when offload is enabled. Actually, the WARN_ON() in fc_fcp_send_data() should be: WARN_ON(skb_shinfo(fp_skb(fp))->nr_frags > MAX_SKB_FRAGS); But since we will not get anything more than 64K anyway, so there is no need to do this anyway here. Therefore, I am getting rid of FC_FRAME_SG_LEN here and the WARN_ON here. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 15a521b4243f3d61971f8422f3e514ef009a42b8 Author: Yi Zou Date: Wed Jul 29 17:05:26 2009 -0700 [SCSI] fcoe: Remove ifdef for NETIF_F_FCOE_CRC and NETIF_F_FSO Remove the extra ifdef for NETIF_F_FSO and NETIF_F_FCOE_CRC since they are already defined in the current kernel as in include/linux/netdevice.h. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit d7179680d04f1e196b7a5f70e7f93bb1850407c6 Author: Vasu Dev Date: Wed Jul 29 17:05:21 2009 -0700 [SCSI] fcoe, libfc: adds offload EM per eth device with only single xid range per EM Updates fcoe_em_config to allocate a single instance of sharable offload EM for supported lp->lro_xid per eth device, and then share this EM for subsequently more lports creation on same eth device (e.g when using VLAN). Adds tiny fcoe_oem_match function for offload EM to return true for read types IO to have read IO exchanges allocated from offload shared EM. Removes fc_em_alloc_xid function completely which was needed to manage two xid ranges within a EM, this is not needed any more with allocation of separate sharable offload EM per eth device. Instead this patch adds simple xid allocation logic to manage single xid range. Adds fc_exch_em_alloc with mp->next_xid as cursor to allocate new xid from single xid range of EM, uses mp->next_xid instead removed mp->last_xid which slightly increase probability of finding empty xid on exch allocation. Removes restriction of not allowing use of xid zero along with changing two xid range change to single xid range. Makes fc_fcp_ddp_setup calling conditional to only xid allocated from shared offload EM. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit e8af4d4380babc89d193c16163f070a6418f033b Author: Vasu Dev Date: Wed Jul 29 17:05:15 2009 -0700 [SCSI] fcoe: modifies fcoe_hostlist_lock uses as prep work to add shared offload EM Modifies fcoe_hostlist_lock uses such that a new EM allocation in fcoe_em_config and adding new fcoe_softc using fcoe_hostlist_add are atomic, this is to ensure that a shared offload EM gets allocated only once per eth device for its all lports. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 52ff878c912215210f53c0a080552dd6ba3055a2 Author: Vasu Dev Date: Wed Jul 29 17:05:10 2009 -0700 [SCSI] fcoe, fnic, libfc: modifies current code paths to use EM anchor list Modifies current code to use EM anchor list in EM allocation, EM free, EM reset, exch allocation and exch lookup code paths. 1. Modifies fc_exch_mgr_alloc to accept EM match function and then have allocated EM added to the lport using fc_exch_mgr_add API while also updating EM kref for newly added EM. 2. Updates fc_exch_mgr_free API to accept only lport pointer instead EM and then have this API free all EMs of the lport from EM anchor list. 3. Removes single lport pointer link from the EM, which was used in associating lport pointer in newly allocated exchange. Instead have lport pointer passed along new exchange allocation call path and then store passed lport pointer in newly allocated exchange, this will allow a single EM instance to be used across more than one lport and used in EM reset to reset only lport specific exchanges. 4. Modifies fc_exch_mgr_reset to reset all EMs from the EM anchor list of the lport, adds additional exch lport pointer (ep->lp) check for shared EM case to reset exchange specific to a lport requested reset. 5. Updates exch allocation API fc_exch_alloc to use EM anchor list and its anchor match func pointer. The fc_exch_alloc will walk the list of EMs until it finds a match, a match will be either null match func pointer or call to match function returning true value. 6. Updates fc_exch_recv to accept incoming frame on local port using only lport pointer and frame pointer without specifying EM instance of incoming frame. Instead modified fc_exch_recv to locate EM for the incoming frame by matching xid of incoming frame against a EM xid range. This change was required to use EM list in libfc Rx path and after this change the lport fc_exch_mgr pointer emp is not needed anymore, so removed emp pointer. 7. Updates fnic for removed lport emp pointer and above modified libfc APIs fc_exch_recv, fc_exch_mgr_alloc and fc_exch_mgr_free. 8. Removes exch_get and exch_put from libfc_function_template as these are no longer needed with EM anchor list and its match function use. Also removes its default function fc_exch_get. A defect this patch introduced regarding the libfc initialization order in the fnic driver was fixed by Joe Eykholt . Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit d459b7ea1b4c7aa3dacfeee174d02b2f7a95850d Author: Robert Love Date: Wed Jul 29 17:05:05 2009 -0700 [SCSI] libfc: Remove the FC_EM_DBG macro Currently there is a 1:1 relationship between the lport and exchange manager. This macro takes an EM as an argument and determines the lport from it. However, later patches will use an EM list per lport, so we will no longer have this 1:1 relationship- this macro must change. The FC_EM_DBG macro is rarely used. There are four callers, two can use FC_LPORT_DBG instead and two can be removed since they're not necessary. This patch makes those changes and removes the macro. Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 96316099ac3cb259eac2d6891f3c75b38b29d26e Author: Vasu Dev Date: Wed Jul 29 17:05:00 2009 -0700 [SCSI] fcoe, libfc: adds exchange manager(EM) anchor list per lport and related APIs Adds EM list using a anchor struct fc_exch_mgr_anchor, anchor is used to allow same EM instance sharing across more than one lport on a eth device, this implementation is per discussed design posted at http://www.open-fcoe.org/pipermail/devel/2009-June/002566.html. The shared EM is required for multiple lports on eth device when using multiple VLANs or NPIV. Adds fc_exch_mgr_add API to add a EM to the lport and fc_exch_mgr_del API to delete previously added EM. Also adds function fc_exch_mgr_destroy() to destroy allocated EM. The kref is added to the EM to keep track of EM usage count, the EM is destroyed when no longer in use upon kref reaching to zero. The caller can specify match function to fc_exch_mgr_add, this will be used in determining exchange allocation from its EM or not. Moved calling of fcoe_em_config below fcoe_libfc_config calling, so that list head lp->ema_list is initialized before configuring EM. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 201e5795b7b9582accb6d83316e30f24d7d40fd3 Author: Joe Eykholt Date: Wed Jul 29 17:04:54 2009 -0700 [SCSI] libfc: fix: cancel rport retry timer The timer for rport retries wasn't getting canceled, and would occasionally go off after the module was unloaded. Add logic to cancel the timer in fc_rport_work(). Since we cancel the timer before deleting the rdata, it is no longer necessary to do a get_device() for the pending timer. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 5f7ea3b7f81d5e5180647a071998b73a841bdba9 Author: Joe Eykholt Date: Wed Jul 29 17:04:49 2009 -0700 [SCSI] libfc: fc_rport_logoff should not drop the lock fc_rport_logoff drops the rport lock in order to cancel work that may be pending. This is undesirable as the state can completely change, and the caller may not expect that the lock could've been dropped. If there is work pending, it will acquire the rdata mutex and so we're protected and can change the event from READY to DELETE. Queue the work only if there is no event already pending. There were a couple other cases where the state was set to DELETE and work queued, even though the state may have already been DELETE. Fix these using a common function fc_rport_enter_delete(). Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 141940548c6919c22bf0573c68fd59d961e22475 Author: Joe Eykholt Date: Wed Jul 29 17:04:43 2009 -0700 [SCSI] libfc: rename rport state "NONE" to "DELETE". State RPORT_ST_NONE was intented to be an invalid state (0), never used. This was a misguided attempt to be sure it was always initialized. Having an extra state meaning nothing requires switch statements to have a case covering that state. State NONE has been used instead to mean the remote port is being deleted. Changing the name to RPORT_ST_DELETE. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 84b05445b9f0b1ac2192f32260c916426d902d79 Author: Joe Eykholt Date: Wed Jul 29 17:04:38 2009 -0700 [SCSI] libfc: fix WARNING from fc_seq_start_next on closed exchanges We saw periodic messages like: WARNING: at drivers/scsi/libfc/fc_exch.c:825 fc_seq_start_next+0x30/0x4b This was due to trying to allocate a sequence in a request handler when the exchange had been reset. Delete the WARN_ON. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit e9ba8b427852937caee6ca39bb6f9a893bb32ae1 Author: Joe Eykholt Date: Wed Jul 29 17:04:33 2009 -0700 [SCSI] libfc: in fc_lport_destroy, flush rports after turning off link During an fcoe module unload, we saw a problem where fc_rport_work() finds the lport has been freed. The rdata points to an area containing 0x6b6b6b6b... the pool poison value from kmem_free(). In fcoe_if_destroy() we call fc_fabric_logoff() then fc_lport_destroy(). fc_fabric_logoff() flushes the remote port work, but we're still receiving requests, and an RSCN or PLOGI arrives which creates more rports. Note that although the LLD also checks link_up, it doesn't do it under the lport mutex, so it can deliver frames to fc_lport_recv_req() even after link_up is cleared. So, re-check link_up there. We need to flush the rports by calling disc_stop_final() after we clear link_up. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 1190d925813aab80d17ff10f26c115f5846b3308 Author: Joe Eykholt Date: Wed Jul 29 17:04:27 2009 -0700 [SCSI] libfc: stop login after fabric logoff When removing the fcoe module, several lports were being shut down through fc_lport_fabric_logoff(). Occasionally, one would enter reset state before fc_lport_destroy() was called, and since link_up was still true, it would log back in. If we just clear link_up earlier, then we wouldn't be accepting LOGO requests from other initiators while we are shutting down. Fix by changing the LOGO response handler to enter DISABLED instead of RESET. Add an fc_lport_enter_disabled() function which does what fc_lport_enter_reset() did, except it doesn't proceed to FLOGI state. Move the code that was common between fc_lport_enter_reset() and fc_lport_enter_disabled() into a new fc_lport_reset_locked() function. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit b1d9fd5574763abe5c763e32e3547a4adee9bd88 Author: Joe Eykholt Date: Wed Jul 29 17:04:22 2009 -0700 [SCSI] libfc: rename lport NONE state to DISABLED The state NONE was meant to be invalid, but has been used as the initial state. Rename it to be DISABLED, as more descriptive. Further patches will make it the like the RESET state, except it won't transition to FLOGI until fc_lport_fabric_login() is called. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit f161fb72104c7addac3d404a1ff543b2491c1426 Author: Joe Eykholt Date: Wed Jul 29 17:04:17 2009 -0700 [SCSI] fcoe: stop delivery of received frames before doing lport_destroy() To be more sure that no more input arrives at the local port as it is being destroyed, clean the queues in the per-cpu receive threads. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 7f74549ff630ad444b0b6bbcabf426f781910906 Author: Joe Eykholt Date: Wed Jul 29 17:04:12 2009 -0700 [SCSI] libfc: change debug messages to give host number. libfc debug messages currently show 'lport: :' wher is the hex assigned port-id. When the lport is logged off, that will be zero, so its hard to distinguish which instance is involved. The FC-ID can change if the port is re-patched or changes VSANs. Two lports may even have the same FC-ID if connected to isolated SANs. Change the debug messages to print the SCSI host number "hostN:", which will not change for the life of the lport. Still show the FC_ID on lport messages. Also, add a macro to FC_RPORT_ID_DBG for rport debugging where there's no rdata structure involved. It takes the lport and port_id as parameters. Use this in fc_rport_recv_plogi_req() and fc_rport_recv_logo_req(). Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit beb29a6d421f6dbd41d68d0621c1b28ad1d4a9f4 Author: Joe Eykholt Date: Wed Jul 29 17:04:06 2009 -0700 [SCSI] libfc: remove extra semicolons from debug macros This is unlikely to cause any problems, but the libfc debug macros introduce extra undesirable semicolons. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 2f718d64ecc7010463d36e6ec4ae37778d03fc0b Author: Yi Zou Date: Wed Jul 29 17:04:01 2009 -0700 [SCSI] fcoe: Call dev_ethtool_get_settings() in fcoe_link_ok No need to check phys_dev here, just call dev_ethtool_get_settings() directly will take care of this. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 5a84baeaf7b8bb4188219140cb326a3e859b2312 Author: Yi Zou Date: Wed Jul 29 17:03:55 2009 -0700 [SCSI] libfcoe: Set fip_flags according to fcf and lport's capability of SPMA support When encap the els for FIP, set the fip_flags according to the FCF and lport's capability of supporting SPMA or FPMA or both. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 7a7f0c7f7a0cbda062d1ff2ff1d3f99d0e41d2af Author: Yi Zou Date: Wed Jul 29 17:03:50 2009 -0700 [SCSI] fcoe: Fix validation of mac address when checking for spma support Fix this bug of validating the wrong mac address while checking for SAN MAC address support from LLD as we should check ha->addr not ctlr.ctl_src_addr. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 3c0d1d94aa516cad50274fe1aa9f745957b67a65 Author: Mike Christie Date: Tue Jul 28 23:08:06 2009 -0500 [SCSI] ALUA: send STPG if explicit and implicit is supported alua_activate only sends a STPG if only explicit is suppored. As a result, for EMC targets that support both we end up doing a implicit failover when X commands are finally sent to the other SP. This patch does a AND on the h->tpgs, so we do a explicit failover right away. Signed-off-by: Mike Christie Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit a4a8b064dd06d30d007e46445d17575e2875c340 Author: James Bottomley Date: Tue Jul 28 16:39:05 2009 +0000 [SCSI] scsi_transport_sas: fix incorrect duplicate setup of max_phys There are two setup places for max_phys in scsi_transport_sas.c; one incorrectly places a NULL into host_attrs instead of port_attrs. Remove it. Reported-by: Roel Kluin Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 4643682ba50634db5cd61292711d031630baf233 Author: James Smart Date: Tue Jul 28 12:30:01 2009 -0400 [SCSI] fc_transport: Correct max fc_host attribute count Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 7cfbc8d9663c88d11e2c1acd2009f1786e150cf6 Author: James Smart Date: Sun Jul 19 10:01:44 2009 -0400 [SCSI] lpfc 8.3.4: Update driver version to 8.3.4 Update driver version to 8.3.4 Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit e4e74273c3e8d0dc54ddce4fed27e266927c7ad0 Author: James Smart Date: Sun Jul 19 10:01:38 2009 -0400 [SCSI] lpfc 8.3.4: Remove spaces before newlines in several log messages Remove spaces before newlines in several log messages Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit f1c3b0fcbb8104dac92d65d5016500a09beea287 Author: James Smart Date: Sun Jul 19 10:01:32 2009 -0400 [SCSI] lpfc 8.3.4: Add bsg (SGIOv4) support for ELS/CT support Add bsg (SGIOv4) support for sending and receiving ELS, CT commands This patch adds a new file, lpfc_bsg.c. Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 1c6834a7e85715a4ac07c1cac25a1950040decb0 Author: James Smart Date: Sun Jul 19 10:01:26 2009 -0400 [SCSI] lpfc 8.3.4: NPIV vport fixes NPIV vport fixes - Fixed static vport creation on SLI4 HBAs - Fixed vport create sending init_vpi before REG_VFI - Fix unable to create vports on SLI4 HBA's Port2 Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 32b9793fe6ff09a85f36b8bd7d6ff214653a7497 Author: James Smart Date: Sun Jul 19 10:01:21 2009 -0400 [SCSI] lpfc 8.3.4: Fix a pair of FCoE issues Fix a pair of FCoE issues - Fix Region 23 FCoE Parameters not being read correctly - Fix race condition when there are FCoE events during FCF table read Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 8568a4d2495ebcf5da38a2141c7633399143b1a5 Author: James Smart Date: Sun Jul 19 10:01:16 2009 -0400 [SCSI] lpfc 8.3.4: Various SLI3 fixes Various SLI3 fixes - Fix for firmware dump failure - Fix inband remote management Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit a0c87cbdb52467a16343b31251f2722643db603c Author: James Smart Date: Sun Jul 19 10:01:10 2009 -0400 [SCSI] lpfc 8.3.4: Consistently Implement persistent port disable Consistently implement persistent port disable. Ability was to be managed in the adapter via firmware via flash settings. However, not all firmware images supported it. Uniformly support it everywhere. Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 8fa38513ddc1076f3e26c651f3567b084c273ba2 Author: James Smart Date: Sun Jul 19 10:01:03 2009 -0400 [SCSI] lpfc 8.3.4: Various SLI4 fixes Various SLI4 fixes - Fix switch name not used in the FCF record for FCoE HBAs - Enabled HBA UE error polling error-condition action code - Rewrite lpfc_sli4_scmd_to_wqidx_distr() to handle counter rollover cleanly - Modify resume_rpi mailbox data structure to match current SLI4 spec - Do not issue mailbox command in MBX_POLL mode when LPFC_HBA_ERROR is set - Wait for HBA POST completion before checking Online and UE registers - Fix accumulated total length not being filled in on unsolicited IOCBs - Use PCI config space register to determine SLI rev of HBA - Turn on starting ELS tmo function timer during device initialization Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 66d6faec2f874cf6bf9bd4900966584ea9feae3d Author: Johannes Berg Date: Wed Jul 15 17:21:14 2009 +0200 [SCSI] fcoe: convert to %pM print_mac is being deprecated, and %pM makes for smaller code anyway. Signed-off-by: Johannes Berg Acked-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit e34ccdfe0e08a6acb8c5e649fef1e94e6cd637f9 Author: Jiri Slaby Date: Mon Jul 13 23:25:54 2009 +0200 [SCSI] lpfc: don't dereference NULL When kzalloc fails in lpfc_hba_alloc, don't dereference the NULL by lpfc_printf_log. Use dev_err instead. Signed-off-by: Jiri Slaby Acked-By: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 0fd30f77693f4fef32d30d4801cd21dcd487c2f0 Author: Dave Jones Date: Mon Jul 13 16:27:46 2009 -0400 [SCSI] qla2xxx: Fix __LITTLE_ENDIAN definition warnings On ppc64, gcc 4.4 spews lots of.. drivers/scsi/qla2xxx/qla_def.h:1485:7: warning: "__LITTLE_ENDIAN" is not defined Signed-off-by: Dave Jones Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit fac3cc458fc2f8272bcc1ff1903474ff41715723 Author: Anil Veerabhadrappa Date: Wed Jul 8 18:21:01 2009 -0700 [SCSI] bnx2i: register given device with cnic if shost != NULL in ep_connect() When using iface, bnx2i was unable to offload further connections after all active sessions are logged out. bnx2i will unregister the device from cnic when the last connection is torn down. Next call to ep_connect() will fail because the device is not registered. This issue is not seen if shost == NULL is passed to ep_connect() call because in that case bnx2i will registers all known devices with cnic before doing a route look-up. When shost != NULL, bnx2i knows the device on which to offload the connection and has to register this device before attempting to offload the connection Signed-off-by: Anil Veerabhadrappa Reviewed-by: Michael Chan Reviewed-by Mike Christie Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit fe5d20c818a8c5fe83d9f2223a051fb5bc50d180 Author: Randy Dunlap Date: Sat Jul 4 13:10:41 2009 -0700 [SCSI] scsi_transport_fc: fix kernel-doc param name Change function parameter name in kernel-doc to match the function's actual parameter name, to fix 2 kernel-doc warnings. Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 3be924fb1d7be90c3ae6aa30ca42e9aa5d75efaf Author: Anil Veerabhadrappa Date: Tue Jun 23 14:07:40 2009 -0700 [SCSI] bnx2i: convert bnx2i_dev_lock to mutex convert bnx2i_dev_lock to type mutex from rwlock_t because cnic->register_device() can sleep for various reasons including memory allocation, waiting for ISCSI_INIT completion and while acquiring mutex lock, cnic_lock. Signed-off-by: Michael Chan Signed-off-by: Anil Veerabhadrappa Reviewed-by: Mike Christie Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 4e85f15166a6a9da8317ddb8600b604b27e58aa3 Author: Anil Veerabhadrappa Date: Tue Jun 23 14:04:23 2009 -0700 [SCSI] bnx2i: bug fixes in bnx2i_init_one to handle error conditions Fixed bnx2i_init_one() to properly handle return code of cnic->register_device() and propagate it back to the caller. No need to check for BNX2I_CNIC_REGISTERED, because unless the adapter is added to adapter_list it will not be registered in ep_connect context Signed-off-by: Michael Chan Signed-off-by: Anil Veerabhadrappa Reviewed-by: Mike Christie Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 1ed0f6a3ef94996341f3c5a2d4034ba1a2532b0a Author: Anil Veerabhadrappa Date: Tue Jun 23 13:56:29 2009 -0700 [SCSI] bnx2i: remove global variable bnx2i_reg_devices Removed bnx2i_reg_devices as this counter is not really used in a meaningful way Signed-off-by: Michael Chan Signed-off-by: Anil Veerabhadrappa Reviewed-by: Mike Christie Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 002b1eb2c03ccec36bf6e7b719cccedf57d83402 Author: Martin K. Petersen Date: Sat May 23 11:45:07 2009 -0400 [SCSI] Print failed commands When a request fails we print the sense data but not the actual command that failed. Add a printout of the operation + CDB for failed commands. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 6c10db72c94818573552fd71c89540da325efdfb Author: Chandra Seetharaman Date: Fri Jun 26 19:30:06 2009 -0700 [SCSI] scsi_dh: Reference count scsi_dh_attach Problem reported: http://marc.info/?l=dm-devel&m=124585978305866&w=2 scsi_dh does not do a refernce count for attach/detach, and this affects the way it is supposed to work with multipath when a device is not in the dev_list of the hardware handler. This patch adds a reference count that counts each attach. Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit b4567ca6304a9b31cb2eae62f812e9eb9badcb60 Author: Douglas Gilbert Date: Thu Jun 25 15:43:02 2009 -0400 [SCSI] update scsi/constants.c It has been 3 years since this file was sync-ed with www.t10.org . Information taken from the last bunch of drafts released in May 2009. More asc/ascq codes are coming for thin provisioning; when approved and allocated another patch could add them prior to this patch going live. Changelog: - add some new command names and rename two commands - sync asc/ascq table with www.t10.org/lists/asc-num.txt - correct bug in scsi_extd_sense_format() [second for loop] Signed-off-by: Douglas Gilbert Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 9e726b17422bade75fba94e625cd35fd1353e682 Author: Luiz Augusto von Dentz Date: Wed Jul 15 13:50:58 2009 -0300 Bluetooth: Fix rejected connection not disconnecting ACL link When using DEFER_SETUP on a RFCOMM socket, a SABM frame triggers authorization which when rejected send a DM response. This is fine according to the RFCOMM spec: the responding implementation may replace the "proper" response on the Multiplexer Control channel with a DM frame, sent on the referenced DLCI to indicate that the DLCI is not open, and that the responder would not grant a request to open it later either. But some stacks doesn't seems to cope with this leaving DLCI 0 open after receiving DM frame. To fix it properly a timer was introduced to rfcomm_session which is used to set a timeout when the last active DLC of a session is unlinked, this will give the remote stack some time to reply with a proper DISC frame on DLCI 0 avoiding both sides sending DISC to each other on stacks that follow the specification and taking care of those who don't by taking down DLCI 0. Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Marcel Holtmann commit 9d7302299ee96ca954fe4ab8ca640333b6e19ad0 Author: Magnus Damm Date: Thu Aug 20 20:25:32 2009 +0200 PM: Run-time PM platform device bus support This patch adds default Runtime PM callbacks to the dev_pm_ops belonging to the platform bus. The callbacks are weak symbols that architecture specific code can override. Allows Runtime PM even though CONFIG_PM_SLEEP=n. Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit 5e928f77a09a07f9dd595bb8a489965d69a83458 Author: Rafael J. Wysocki Date: Tue Aug 18 23:38:32 2009 +0200 PM: Introduce core framework for run-time PM of I/O devices (rev. 17) Introduce a core framework for run-time power management of I/O devices. Add device run-time PM fields to 'struct dev_pm_info' and device run-time PM callbacks to 'struct dev_pm_ops'. Introduce a run-time PM workqueue and define some device run-time PM helper functions at the core level. Document all these things. Special thanks to Alan Stern for his help with the design and multiple detailed reviews of the pereceding versions of this patch and to Magnus Damm for testing feedback. Signed-off-by: Rafael J. Wysocki Acked-by: Magnus Damm commit ef54fd937fbd5ebaeb023818524565bd526a5f36 Author: Gustavo F. Padovan Date: Thu Aug 20 22:26:04 2009 -0300 Bluetooth: Full support for receiving L2CAP SREJ frames Support for receiving of SREJ frames as specified by the state table. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 8400146d0dc03590bba051399e4bb7e1cbf1c010 Merge: 39cf051 3edf2fb Author: Rafael J. Wysocki Date: Sun Aug 23 00:03:00 2009 +0200 Merge branch 'master' into for-linus commit 8f17154f1f70fcc6faa31ac82164fcf7f0599f38 Author: Gustavo F. Padovan Date: Thu Aug 20 22:26:03 2009 -0300 Bluetooth: Add support for L2CAP SREJ exception When L2CAP loses an I-frame we send a SREJ frame to the transmitter side requesting the lost packet. This patch implement all Recv I-frame events on SREJ_SENT state table except the ones that deal with SendRej (the REJ exception at receiver side is yet not implemented). Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit fcc203c30d72dde82692f6b761a80e5ca5fdd8fa Author: Gustavo F. Padovan Date: Thu Aug 20 22:26:02 2009 -0300 Bluetooth: Add support for FCS option to L2CAP Implement CRC16 check for L2CAP packets. FCS is used by Streaming Mode and Enhanced Retransmission Mode and is a extra check for the packet content. Using CRC16 is the default, L2CAP won't use FCS only when both side send a "No FCS" request. Initially based on a patch from Nathan Holstein Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 6840ed0770d79b9bb0800e5e026a067040ef18f5 Author: Gustavo F. Padovan Date: Thu Aug 20 22:26:01 2009 -0300 Bluetooth: Enable Streaming Mode for L2CAP Streaming Mode is helpful for the Bluetooth streaming based profiles, such as A2DP. It doesn't have any error control or flow control. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit e90bac061b17cd81bd0df30606c64f4543bf5ca0 Author: Gustavo F. Padovan Date: Thu Aug 20 22:26:00 2009 -0300 Bluetooth: Add support for Retransmission and Monitor Timers L2CAP uses retransmission and monitor timers to inquiry the other side about unacked I-frames. After sending each I-frame we (re)start the retransmission timer. If it expires, we start a monitor timer that send a S-frame with P bit set and wait for S-frame with F bit set. If monitor timer expires, try again, at a maximum of L2CAP_DEFAULT_MAX_TX. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 30afb5b2aa83adf4f69e5090d48e1bb04b64c58a Author: Gustavo F. Padovan Date: Thu Aug 20 22:25:59 2009 -0300 Bluetooth: Initial support for retransmission of packets with REJ frames When receiving an I-frame with unexpected txSeq, receiver side start the recovery procedure by sending a REJ S-frame to the transmitter side. So the transmitter can re-send the lost I-frame. This patch just adds a basic support for retransmission, it doesn't mean that ERTM now has full support for packet retransmission. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit c74e560cd0101455f1889515e1527e4c2e266113 Author: Gustavo F. Padovan Date: Thu Aug 20 22:25:58 2009 -0300 Bluetooth: Add support for Segmentation and Reassembly of SDUs ERTM should use Segmentation and Reassembly to break down a SDU in many PDUs on sending data to the other side. On sending packets we queue all 'segments' until end of segmentation and just the add them to the queue for sending. On receiving we create a new SKB with the SDU reassembled. Initially based on a patch from Nathan Holstein Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a Author: Gustavo F. Padovan Date: Thu Aug 20 22:25:57 2009 -0300 Bluetooth: Add initial support for ERTM packets transfers This patch adds support for ERTM transfers, without retransmission, with txWindow up to 63 and with acknowledgement of packets received. Now the packets are queued before call l2cap_do_send(), so packets couldn't be sent at the time we call l2cap_sock_sendmsg(). They will be sent in an asynchronous way on later calls of l2cap_ertm_send(). Besides if an error occurs on calling l2cap_do_send() we disconnect the channel. Initially based on a patch from Nathan Holstein Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 22121fc9152ca8f25a2d790860832ccb6a414c4d Author: Gustavo F. Padovan Date: Thu Jul 23 10:27:23 2009 -0300 Bluetooth: Create separate l2cap_send_disconn_req() function The code for sending a disconnect request was repeated several times within L2CAP source code. So move this into its own function. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit f2fcfcd670257236ebf2088bbdf26f6a8ef459fe Author: Gustavo F. Padovan Date: Sat Jul 4 15:06:24 2009 -0300 Bluetooth: Add configuration support for ERTM and Streaming mode Add support to config_req and config_rsp to configure ERTM and Streaming mode. If the remote device specifies ERTM or Streaming mode, then the same mode is proposed. Otherwise ERTM or Basic mode is used. And in case of a state 2 device, the remote device should propose the same mode. If not, then the channel gets disconnected. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 65c7c4918450f8c4545ccb02a9c7a3d77e073535 Author: Marcel Holtmann Date: Sat May 2 23:07:53 2009 -0700 Bluetooth: Add L2CAP RFC option if ERTM is enabled When trying to establish a connection with Enhanced Retransmission mode enabled, the RFC option needs to be added to the configuration. Signed-off-by: Marcel Holtmann commit c6b03cf986eab00e20d0dbc852b233bb83472138 Author: Marcel Holtmann Date: Sat May 2 22:31:10 2009 -0700 Bluetooth: Allow setting of L2CAP ERTM via socket option To enable Enhanced Retransmission mode it needs to be set via a socket option. A different mode can be set on a socket, but on listen() and connect() the mode is checked and ERTM is only allowed if it is enabled via the module parameter. Signed-off-by: Marcel Holtmann commit 44dd46de325c4d47abfd1361e5d84a548edb8e42 Author: Marcel Holtmann Date: Sat May 2 19:09:01 2009 -0700 Bluetooth: Add module option to enable L2CAP ERTM support Since the Enhanced Retransmission mode for L2CAP is still under heavy development disable it by default and provide a module option to enable it manually for testing. Signed-off-by: Marcel Holtmann commit 52d18347dfb61519aa0f58fe1759edd3ad8c4e36 Author: Marcel Holtmann Date: Sat Aug 22 14:49:36 2009 -0700 Bluetooth: Coding style cleanup from previous rfcomm_init bug fix The rfcomm_init bug fix went into the kernel premature before it got fully reviewed and acknowledged by the Bluetooth maintainer. So fix up the coding style now. Signed-off-by: Marcel Holtmann commit a6a67efd7088702fdbbb780c5a3f8e1a74e77b63 Author: Thomas Gleixner Date: Sun Jul 26 08:18:19 2009 +0000 Bluetooth: Convert hdev->req_lock to a mutex hdev->req_lock is used as mutex so make it a mutex. Signed-off-by: Thomas Gleixner Signed-off-by: Marcel Holtmann commit 5959809ded86e267c1a95fb44738a224c30d3434 Author: Julia Lawall Date: Thu Aug 6 22:05:18 2009 +0200 Bluetooth: Add missing kmalloc NULL tests to Marvell driver Check that the result of kmalloc is not NULL before dereferencing it. The patch also replaces kmalloc + memset by kzalloc. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression *x; identifier f; constant char *C; @@ x = \(kmalloc\|kcalloc\|kzalloc\)(...); ... when != x == NULL when != x != NULL when != (x || ...) ( kfree(x) | f(...,C,...,x,...) | *f(...,x,...) | *x->f ) // Signed-off-by: Julia Lawall Signed-off-by: Marcel Holtmann commit 3318b2362bf0528be77123c480249663557dfbfc Author: Bing Zhao Date: Wed Jul 8 11:44:14 2009 -0700 Bluetooth: Fix incorrect alignment in Marvell BT-over-SDIO driver The driver uses "u32" for alignment check and calculation which works only on 32-bit system. It will crash the 64-bit system. Replace "u32" with "unsigned long" to fix this issue. Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 9374253ffe609f2d70dd5ae280182cb6f08fef08 Author: Marcel Holtmann Date: Sat Jun 13 07:40:18 2009 +0200 Bluetooth: Remove Enter/Leave debug statements from Marvell driver The Marvell Bluetooth driver is full of Enter/Leave debug statements and all of them are really pointless and only clutter the code. Seems to be some left-overs when they ported the driver from Windows. For the Linux driver lets remove these. Signed-off-by: Marcel Holtmann commit e0721f99ba33d13a88746732be2d74ca805abf55 Author: Marcel Holtmann Date: Sat Jun 13 07:27:19 2009 +0200 Bluetooth: Fix last few compiler warning within Marvell core driver After fixing the driver to use skb_put properly for their HCI commands only a few compiler warnings are left. Add proper casting for them. Signed-off-by: Marcel Holtmann commit 91d697302b291205171840bfe84c1563e171acb2 Author: Marcel Holtmann Date: Wed Jun 10 12:18:50 2009 +0200 Bluetooth: Fix Marvell driver to use skb_put and hci_opcode_pack The Marvell driver has some weird quirks on how to construct proper SKBs with Bluetooth HCI commands. Fix it to use skb_put properly and also use hci_opcode_pack instead of self-crafted macro. Signed-off-by: Marcel Holtmann commit 60dee5ccd789ee8a380eee802b6cb24c52123428 Author: Marcel Holtmann Date: Wed Jun 10 12:05:52 2009 +0200 Bluetooth: Remove private device name of Marvell SDIO driver For some reason the btmrvl_device struct has a name field that the SDIO fills in, but then never ever uses again. That is totally pointless and so just remove it. Signed-off-by: Marcel Holtmann commit 9666fb356da78a5ec28403197d72e8cd6aa16424 Author: Marcel Holtmann Date: Tue Jun 9 21:45:04 2009 +0200 Bluetooth: Fix module description strings for Marvell driver Make the module description entries for the core and also the Marvell SDIO driver match common practive inside the Bluetooth subsystem. Signed-off-by: Marcel Holtmann commit dcf47f3bc798888f9ea40b9f626d669dc62086bf Author: Marcel Holtmann Date: Tue Jun 9 16:21:58 2009 +0200 Bluetooth: Fix complicated assignment of firmware for Marvell devices The Marvell Bluetooth SDIO driver has a really complicated concept on how firmware names are assigned to specific device ids. Fix that by doing a proper structure and assign it to the module device table. And while at it fix various coding style weirdness that is still present in this driver. Signed-off-by: Marcel Holtman commit 4271e08d8b799171af18d7864908ec444282efe5 Author: Marcel Holtmann Date: Tue Jun 9 16:00:22 2009 +0200 Bluetooth: Some coding style cleanup for Marvell core driver The Marvell core Bluetooth driver has various weird casting and unneeded braces in its code that makes it hard to read. Remove all of these to make the code a little bit simpler. Signed-off-by: Marcel Holtmann commit 542399037d0cb2b2e96dfb8ced35b07dfb1c3706 Author: Marcel Holtmann Date: Tue Jun 9 15:48:35 2009 +0200 Bluetooth: Remove pointless casts from Marvell debugfs support The Marvell Bluetooth driver has debugfs support and they are casting like there is no tomorrow. Remove all of them and magically the code becomes more readable. Signed-off-by: Marcel Holtmann commit 944fe798c6a48336e82bbc0d4e280587325a4d95 Author: Marcel Holtmann Date: Tue Jun 9 15:46:07 2009 +0200 Bluetooth: Remove pointless ifdef protection for Marvell header files Both header files of the Marvell Bluetooth driver are private anyway and if the driver happens to include them twice or they create a circular dependency then the driver needs fixing. So just remove both pointless ifdefs. Signed-off-by: Marcel Holtmann commit 08b0b0ce8c609b0e2284b134f0614e211374a038 Author: Marcel Holtmann Date: Tue Jun 9 15:44:03 2009 +0200 Bluetooth: Fix compilation of Marvell driver without debugfs The Makefile entry for the Marvell driver is broken when it comes to handling the optional DEBUG_FS correctly. That must have been the reason why they were using select in Kconfig in the first place. Fix this and make it really optional. Signed-off-by: Marcel Holtmann commit e7a25f9839fd392ec2c96e7e2b3734501d761a24 Author: Marcel Holtmann Date: Tue Jun 9 13:42:54 2009 +0200 Bluetooth: Fix Kconfig for Marvell Bluetooth driver The Marvell driver selects DEBUG_FS and FW_LOADER for its core driver and that is pointless. Don't select DEBUG_FS since it is either enabled or not and it is not for the driver to enable it. Also FW_LOADER is only used within the SDIO driver and so just have that one select the FW_LOADER option. Signed-off-by: Marcel Holtmann commit 196be0cd018068d545e1d764094c7b07aaf0bcfe Author: Bing Zhao Date: Tue Jun 2 14:29:38 2009 -0700 Bluetooth: Add documentation for Marvell Bluetooth driver add btmrvl.txt to Documentation/ This patch incorporates a lot of comments given by Nicolas Pitre . Many thanks to Nicolas Pitre. Signed-off-by: Rahul Tank Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit fb784f0508d5aa39a23e72879a8dfb517c6f6e7f Author: Bing Zhao Date: Tue Jun 2 14:29:37 2009 -0700 Bluetooth: Add debugfs support to btmrvl driver /debug/btmrvl/config/ /debug/btmrvl/status/ See Documentation/btmrvl.txt for details. This patch incorporates a lot of comments given by Nicolas Pitre . Many thanks to Nicolas Pitre. Signed-off-by: Rahul Tank Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 789221ecc870117b77e354d488d5d29f15410de8 Author: Bing Zhao Date: Tue Jun 2 14:29:36 2009 -0700 Bluetooth: Add Marvell BT-over-SDIO driver This driver supports Marvell Bluetooth enabled devices with SDIO interface. Currently only SD8688 chip is supported. The helper/firmware images of SD8688 can be downloaded from this tree: git://git.infradead.org/users/dwmw2/linux-firmware.git This patch incorporates a lot of comments given by Nicolas Pitre . Many thanks to Nicolas Pitre. Signed-off-by: Rahul Tank Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 132ff4e5fa8dfb71a7d99902f88043113947e972 Author: Bing Zhao Date: Tue Jun 2 14:29:35 2009 -0700 Bluetooth: Add btmrvl driver for Marvell Bluetooth devices This driver provides basic definitions and library functions to support Marvell Bluetooth enabled devices, such as 88W8688 WLAN/BT combo chip. This patch incorporates a lot of comments given by Nicolas Pitre . Many thanks to Nicolas Pitre. Signed-off-by: Rahul Tank Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit edad63886993d18ab800c49f6587a93432ef8b35 Author: Marcel Holtmann Date: Sat Aug 22 14:22:15 2009 -0700 Bluetooth: Let HIDP grab the device reference for connections The core exports the hci_conn_hold_device() and hci_conn_put_device() functions for device reference of connections. Use this to ensure that the uevents from the parent are send after the child ones. Based on a report by Brian Rogers Signed-off-by: Marcel Holtmann commit 9eba32b86d17ef87131fa0bce43c614904ab5781 Author: Marcel Holtmann Date: Sat Aug 22 14:19:26 2009 -0700 Bluetooth: Add extra device reference counting for connections The device model itself has no real usable reference counting at the moment and this causes problems if parents are deleted before their children. The device model itself handles the memory details of this correctly, but the uevent order is not consistent. This causes various problems for systems like HAL or even X. So until device_put() does a proper cleanup, the device for Bluetooth connection will be protected with an extra reference counting to ensure the correct order of uevents when connections are terminated. This is not an automatic feature. Higher Bluetooth layers like HIDP or BNEP should grab this new reference to ensure that their uevents are send before the ones from the parent device. Based on a report by Brian Rogers Signed-off-by: Marcel Holtmann commit 364f63519d94442ed373ac7da79033c8282df46a Author: Marcel Holtmann Date: Sat Aug 22 14:15:53 2009 -0700 Bluetooth: Disconnect HIDRAW devices on disconnect Currently the HID subsystem will create HIDRAW devices for the transport driver, but it will not disconnect them. Until the HID subsytem gets fixed, ensure that HIDRAW and HIDDEV devices are disconnected when the Bluetooth HID device gets removed. Based on a patch from Brian Rogers Signed-off-by: Marcel Holtmann commit 290ba200815fdecb4d40dc942499c4ea6d0c4624 Author: Vikram Kandukuri Date: Thu Jul 2 14:31:59 2009 +0530 Bluetooth: Improve USB driver throughput by increasing the frame size This patch increases the receive buffer size to HCI_MAX_FRAME_SIZE which improves the RX throughput considerably. Tested against BRM/Atheros/CSR USB Dongles with PAN profile using iperf and chariot. This gave significant (around 40%) increase in performance (increased from 0.8 to 1.5 Mb/s in Sheld room) Signed-off-by: Vikram Kandukuri Signed-off-by: Marcel Holtmann commit 981b1414d78a7a42cab48b97d4de54a62d61db88 Author: Vikram Kandukuri Date: Wed Jul 1 11:39:58 2009 +0530 Bluetooth: Fix missing scheduling when VIRTUAL_CABLE_UNPLUG is received There is a test case in PTS tool; PTS will send the VIRTUAL_CABLE_UNPLUG command to IUT. Then IUT should disconnect the channel and kill the HID session when it receives the command. The VIRTUAL_CABLE_UNPLUG command is parsed by HID transport, but it is not scheduled to do so. Add a call to hidp_schedule() to kill the session. Signed-off-by: Jothikumar Mothilal Signed-off-by: Marcel Holtmann commit fd0b3ff707dc1f7837079044bd4eca7ed505f70d Author: Marcel Holtmann Date: Tue Jun 16 00:01:49 2009 +0200 Bluetooth: Add proper shutdown support to SCO sockets The SCO sockets for Bluetooth audio setup and streaming are missing the shutdown implementation. This hasn't been a problem so far, but with a more deeper integration with PulseAudio it is important to shutdown SCO sockets properly. Also the Headset profile 1.2 has more detailed qualification tests that require that SCO and RFCOMM channels are terminated in the right order. A proper shutdown function is necessary for this. Based on a report by Johan Hedberg Signed-off-by: Marcel Holtmann Tested-by: Johan Hedberg commit b560d8ad8583803978aaaeba50ef29dc8e97a610 Author: Paul E. McKenney Date: Fri Aug 21 22:08:51 2009 -0700 rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP A couple of references to CONFIG_CLASSIC_RCU have survived. Although these are harmless, it is past time for them to go. The one in hardirq.h is strictly a readability problem. The two in pagemap.h appear to disable a !SMP performance optimization (which this patch re-enables). This does raise the issue as to whether pagemap.h should really be referring to the CPU implementation. Long term, I intend to make the RCU implementation driven by CONFIG_PREEMPT, at which point these should change from defined(CONFIG_TREE_RCU) to !defined(CONFIG_PREEMPT). In the meantime, is there something else that could be done in pagemap.h? Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <20090822050851.GA8414@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 5400743db5a06a4e6e298725a2044c40edcb27b9 Author: H. Peter Anvin Date: Fri Aug 21 17:00:02 2009 -0700 x86, mtrr: make mtrr_aps_delayed_init static bool mtr_aps_delayed_init was declared u32 and made global, but it only ever takes boolean values and is only ever used in arch/x86/kernel/cpu/mtrr/main.c. Declare it "static bool" and remove external references. Signed-off-by: H. Peter Anvin Cc: Suresh Siddha commit d0af9eed5aa91b6b7b5049cae69e5ea956fd85c3 Author: Suresh Siddha Date: Wed Aug 19 18:05:36 2009 -0700 x86, pat/mtrr: Rendezvous all the cpus for MTRR/PAT init SDM Vol 3a section titled "MTRR considerations in MP systems" specifies the need for synchronizing the logical cpu's while initializing/updating MTRR. Currently Linux kernel does the synchronization of all cpu's only when a single MTRR register is programmed/updated. During an AP online (during boot/cpu-online/resume) where we initialize all the MTRR/PAT registers, we don't follow this synchronization algorithm. This can lead to scenarios where during a dynamic cpu online, that logical cpu is initializing MTRR/PAT with cache disabled (cr0.cd=1) etc while other logical HT sibling continue to run (also with cache disabled because of cr0.cd=1 on its sibling). Starting from Westmere, VMX transitions with cr0.cd=1 don't work properly (because of some VMX performance optimizations) and the above scenario (with one logical cpu doing VMX activity and another logical cpu coming online) can result in system crash. Fix the MTRR initialization by doing rendezvous of all the cpus. During boot and resume, we delay the MTRR/PAT init for APs till all the logical cpu's come online and the rendezvous process at the end of AP's bringup, will initialize the MTRR/PAT for all AP's. For dynamic single cpu online, we synchronize all the logical cpus and do the MTRR/PAT init on the AP that is coming online. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 269c861baa2fe7c114c3bc7831292758d29eb336 Author: Suresh Siddha Date: Wed Aug 19 18:05:35 2009 -0700 generic-ipi: Allow cpus not yet online to call smp_call_function with irqs disabled Because of deadlock possiblities smp_call_function() is not allowed to be called with interrupts disabled. Add an exception for the cpu not yet online, as no one else can send smp call function interrupt to this cpu that is not yet online and as such deadlock condition is not possible. Signed-off-by: Suresh Siddha Acked-by: Nick Piggin Signed-off-by: H. Peter Anvin commit 8b5a10fc6fd02289ea03480f93382b1a99006142 Author: Jan Beulich Date: Wed Aug 19 08:40:48 2009 +0100 x86: properly annotate alternatives.c Some of the NOPs tables aren't used on 64-bits, quite some code and data is needed post-init for module loading only, and a couple of functions aren't used outside that file (i.e. can be static, and don't need to be exported). The change to __INITDATA/__INITRODATA is needed to avoid an assembler warning. Signed-off-by: Jan Beulich LKML-Reference: <4A8BC8A00200007800010823@vpn.id2.novell.com> Acked-by: Sam Ravnborg Signed-off-by: H. Peter Anvin commit 1909629fb1ec9800cf2cb0091870d6a1c1ca665f Author: Masami Hiramatsu Date: Fri Aug 21 14:56:03 2009 -0400 perf trace: Add OPT_END to option array of perf-trace Add OPT_END to option array of perf-trace for fixing a SEGV bug when showing perf-trace help message. Without this patch; ./perf trace -h usage: perf trace [] -D, --dump-raw-trace dump raw trace in ASCII -v, --verbose be more verbose (show symbol address, etc) -f, Segmentation fault With this patch: ./perf trace -h usage: perf trace [] -D, --dump-raw-trace dump raw trace in ASCII -v, --verbose be more verbose (show symbol address, etc) Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Masami Hiramatsu Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Xiao Guangrong Cc: Zhaolei Cc: Li Zefan Cc: Lai Jiangshan Cc: Tom Zanussi LKML-Reference: <20090821185603.11039.62109.stgit@localhost.localdomain> Signed-off-by: Ingo Molnar commit 48586218b6515b9bd70694e3cd8c901a6a6ee69c Author: Steven Rostedt Date: Fri Aug 21 12:42:20 2009 -0400 kconfig: add missing dependency of conf to localyesconfig There's a dependency missing. $ make localyesconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/basic/docproc HOSTCC scripts/basic/hash using config: '/boot/config-2.6.27.25-78.2.56.fc9.x86_64' /bin/sh: line 8: scripts/kconfig/conf: No such file or directory make[1]: *** [localyesconfig] Error 127 make: *** [localyesconfig] Error 2 Thus the script failed to run. But the sed command that converts the '=m' to '=y' still ran. This gives us a distro config with all modules converted to built in! The missing dependency was for conf for localyesconfig. This dependency was already set for localmodconfig. Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 79fb9387f88b6b44bbc46e19cae26d2c9fe3bb6a Author: Mark Brown Date: Fri Aug 21 16:38:13 2009 +0100 ASoC: Add DAPM widget power decision debugfs files Currently when built with DEBUG DAPM will dump information about the power state decisions it is taking for each widget to dmesg. This isn't an ideal way of getting the information - it requires a kernel build to turn it on and off and for large hub CODECs the volume of information is so large as to be illegible. When the output goes to the console it can also cause a noticable impact on performance simply to print it out. Improve the situation by adding a dapm directory to our debugfs tree containing a file per widget with the same information in it. This still requires a decision to build with debugfs support but is easier to navigate and much less intrusive. In addition to the previously displayed information active streams are also shown in these files. Signed-off-by: Mark Brown commit 3e0e1e9c5a327d4dba8490d83ef55c0564e6e8a7 Author: Amerigo Wang Date: Fri Aug 21 04:34:45 2009 -0400 x86: Fix an incorrect argument of reserve_bootmem() This line looks suspicious, because if this is true, then the 'flags' parameter of function reserve_bootmem_generic() will be unused when !CONFIG_NUMA. I don't think this is what we want. Signed-off-by: WANG Cong Cc: Yinghai Lu Cc: akpm@linux-foundation.org LKML-Reference: <20090821083709.5098.52505.sendpatchset@localhost.localdomain> Signed-off-by: Ingo Molnar commit 8126dec32738421afa362114337331337b4be17f Author: Xiao Guangrong Date: Thu Aug 20 20:23:11 2009 +0800 x86: Fix system crash when loading with "reservetop" parameter The system will die if the kernel is booted with "reservetop" parameter, in present code, parse "reservetop" parameter after early_ioremap_init(), and some function still use early_ioremap() after it. The problem is, "reservetop" parameter can modify 'FIXADDR_TOP', then the virtual address got by early_ioremap() is base on old 'FIXADDR_TOP', but the page mapping is base on new 'FIXADDR_TOP', it will occur page fault, and the IDT is not prepare yet, so, the system is dead. So, put parse_early_param() in the front of early_ioremap_init() in this patch. Signed-off-by: Xiao Guangrong Cc: yinghai@kernel.org Cc: Andrew Morton LKML-Reference: <4A8D402F.4080805@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 405d8f8b1d936414da2093d4149ff790ff3f84a5 Author: Trond Myklebust Date: Fri Aug 21 08:17:56 2009 -0400 SUNRPC: Ensure that sunrpc gets initialised before nfs, lockd, etc... We can oops if rpc_pipefs isn't properly initialised before we start to set up objects that depend upon it. Signed-off-by: Trond Myklebust commit a8af7246c114bfd939e539f9566b872c06f6225c Author: Peter Zijlstra Date: Fri Aug 21 13:58:54 2009 +0200 sched: Avoid division by zero Patch a5004278f0525dcb9aa43703ef77bf371ea837cd (sched: Fix cgroup smp fairness) introduced the possibility of a divide-by-zero because load-balancing is not synchronized between sched_domains. This can cause the state of cpus to change between the first and second loop over the sched domain in tg_shares_up(). Reported-by: Yinghai Lu Signed-off-by: Peter Zijlstra Cc: Jes Sorensen Cc: Jens Axboe Cc: Linus Torvalds LKML-Reference: <1250855934.7538.30.camel@twins> Signed-off-by: Ingo Molnar commit b8e583f6012d618fb93bb38a302b63c3c6d2bfbc Author: Kuninori Morimoto Date: Fri Aug 21 09:42:59 2009 +0900 ASoC: Add FSI-AK4642 sound support for SuperH This patch is tested by ms7724se Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit a3a83d9a7cb0ce3b1d100060d5ad777e7480b4f2 Author: Kuninori Morimoto Date: Fri Aug 21 10:23:41 2009 +0900 ASoC: Add ak4642/ak4643 codec support This is very simple driver for ALSA It supprt headphone output and stereo input only This patch is tested by ms7724se Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit b2ec22e2633996727f4f2abcd806aaeb0506dd6a Author: Ben Dooks Date: Thu Aug 20 22:50:43 2009 +0100 ASoC: S3C24XX: Support for Simtec Hermes boards Add support for the tlv320aic3x CODEC on the Simtec Hermes board. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit aa6b904e66d5f484bd52763d63259b9a16f6e107 Author: Ben Dooks Date: Thu Aug 20 22:50:42 2009 +0100 ASoC: tlv320aic3x: fixup board device changes Fixup the device changes by modifying the files that we just removed the explicit device creation from with i2c_register_board_info() until this can be moved into the relevant board files. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit cb3826f524728a90a47f2f831c3d61851c8091b2 Author: Ben Dooks Date: Thu Aug 20 22:50:41 2009 +0100 ASoC: tlv320aic3x: Change to use device model The tlv320aic3x driver managed its own i2c device, instead of an extant one created by the board support code. Change the code to make it so that the driver binds to an extant (in this case i2c) device. Add explict tlv320aic33 as well as tlv320aic3x to the supported device table and remove the old driver bindings from the users of this code. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit 14412acde5b57450b8afb3d4b03132419b6abebf Author: Ben Dooks Date: Thu Aug 20 22:50:40 2009 +0100 ASoC: S3C24XX: Add audio core and tlv320aic23 for Simtec boards Add core support for the range of S3C24XX Simtec boards with TLV320AIC23 CODECs on them. Since there are also boards with similar IIS routing the AMP and the configuration code is placed in a core file for re-use with other CODEC bindings. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit f8f2109d4f6c525f893f6f2901ae62372e83245e Merge: bb81b2d a2c3f65 Author: David S. Miller Date: Fri Aug 21 01:56:56 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit c7084b35eb1a4d3353a501508baf9d3d82822c93 Author: Casey Dahlin Date: Thu Aug 20 16:27:56 2009 -0700 lib/swiotlb.c: Fix strange panic message selection logic when swiotlb fills up swiotlb_full() in lib/swiotlb.c throws one of two panic messages based on whether the direction of transfer is from the device or to the device. The logic around this is somewhat weird in the case of bidirectional transfers. It appears to want to throw both in succession, but since its a panic only the first makes it. This patch adds a third, separate error for DMA_BIDIRECTIONAL to make things a bit clearer. Signed-off-by: Casey Dahlin Cc: FUJITA Tomonori Cc: Becky Bruce [ further fixed the error message ] Signed-off-by: Andrew Morton LKML-Reference: <200908202327.n7KNRuqK001504@imap1.linux-foundation.org> Signed-off-by: Ingo Molnar commit 805423e84e900e56c834aadee61a020b0d5092c3 Author: Corbin Simpson Date: Thu Aug 20 21:41:04 2009 -0700 Input: xpad - add USB ID for the drumkit controller from Rock Band Signed-off-by: Corbin Simpson Signed-off-by: Dmitry Torokhov commit fb962e1e1772df163358832476e6091d1660ba9f Author: Wan ZongShun Date: Thu Aug 20 21:41:03 2009 -0700 Input: w90p910_keypad - rename driver name to match platform Signed-off-by: Wan ZongShun Signed-off-by: Dmitry Torokhov commit 939a9421eb53d3ea83188ae13802779041caefdb Author: Amerigo Wang Date: Thu Aug 20 19:29:03 2009 -0700 vfs: allow file truncations when both suid and write permissions set When suid is set and the non-owner user has write permission, any writing into this file should be allowed and suid should be removed after that. However, current kernel only allows writing without truncations, when we do truncations on that file, we get EPERM. This is a bug. Steps to reproduce this bug: % ls -l rootdir/file1 -rwsrwsrwx 1 root root 3 Jun 25 15:42 rootdir/file1 % echo h > rootdir/file1 zsh: operation not permitted: rootdir/file1 % ls -l rootdir/file1 -rwsrwsrwx 1 root root 3 Jun 25 15:42 rootdir/file1 % echo h >> rootdir/file1 % ls -l rootdir/file1 -rwxrwxrwx 1 root root 5 Jun 25 16:34 rootdir/file1 Signed-off-by: WANG Cong Cc: Eric Sandeen Acked-by: Eric Paris Cc: Eugene Teo Cc: Al Viro Cc: OGAWA Hirofumi Cc: Christoph Hellwig Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: James Morris commit bc6a6008e5e3c7a30191a7f19ab19e85b14b1705 Author: Amerigo Wang Date: Thu Aug 20 19:29:02 2009 -0700 selinux: adjust rules for ATTR_FORCE As suggested by OGAWA Hirofumi in thread: http://lkml.org/lkml/2009/8/7/132, we should let selinux_inode_setattr() to match our ATTR_* rules. ATTR_FORCE should not force things like ATTR_SIZE. [hirofumi@mail.parknet.co.jp: tweaks] Signed-off-by: WANG Cong Signed-off-by: OGAWA Hirofumi Acked-by: Stephen Smalley Acked-by: Eric Paris Cc: Eugene Teo Cc: Al Viro Cc: Christoph Hellwig Acked-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 4dceef96756b667360741712a8e37490f8458516 Author: J. Bruce Fields Date: Thu Aug 20 17:08:39 2009 -0400 nfs: fix compile error in rpc_pipefs.h This include is needed for the definition of delayed_work. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit a0a499c5792b8656cd51e11d5e0db9fb21640f58 Author: Eduardo Valentin Date: Thu Aug 20 16:18:26 2009 +0300 ASoC: OMAP: Use DMA operating mode of McBSP Configures DMA sync mode depending on McBSP operating mode value. The value is configurable by McBSP instance. So, depending on McBSP operating mode, the DMA sync mode is passed from omap-mcbsp to omap-pcm. Besides that, it also configures McBSP threshold value depending on which McBSP mode is activated. Signed-off-by: Eduardo Valentin Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit caebc0cb3ba1e88f5311fbe7aa58b8dff18dd763 Author: Eduardo Valentin Date: Thu Aug 20 16:18:25 2009 +0300 ASoC: OMAP: Use McBSP threshold to playback and capture This patch changes the way DMA is done in omap-pcm.c in order to reduce power consumption. There is no need to have so much SW control in order to have DMA in idle state during audio streaming. Configuring McBSP threshold value and DMA to FRAME_SYNC are sufficient. Signed-off-by: Eduardo Valentin Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit ca6e2ce08679c094878d7f39a0349a7db1d13675 Author: Eero Nurkkala Date: Thu Aug 20 16:18:24 2009 +0300 ASoC: Always syncronize audio transfers on frames All these steps are required for ASoC to behave correctly. rccr and xccr are format dependent, for example TDM audio has different values than I2S or DSP_A. Also the omap_mcbsp_xmit_enable and/or omap_mcbsp_recv_enable must be called right after the DMA has started. This provides no longer L and R channels switching at random. Signed-off-by: Eero Nurkkala Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit c721bbdad71d2928e8b5015e9b462fbeb35427c6 Author: Eero Nurkkala Date: Thu Aug 20 16:18:23 2009 +0300 ASoC: Add runtime check for RFIG and XFIG This is, no RFIG or XFIG (Not defined in 34xx), correct initiliazation of rccr and xccr. Signed-off-by: Eero Nurkkala Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit a152ff24b9784ddfd347953f23c53f0b890ebca8 Author: Eduardo Valentin Date: Thu Aug 20 16:18:22 2009 +0300 ASoC: OMAP: Make DMA 64 aligned Align DMA address to DMA burst transaction sizes. Signed-off-by: Eduardo Valentin Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 9599d485cb0b5ea093414654d723f3ab03c95038 Author: Eduardo Valentin Date: Thu Aug 20 16:18:21 2009 +0300 ASoC: OMAP: Enable DMA burst mode Improve DMA transfers by enabling Burst transaction. Signed-off-by: Eduardo Valentin Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 72cc6d715d5b018e2cff4adb68966855850d4e77 Author: Eero Nurkkala Date: Thu Aug 20 16:18:20 2009 +0300 OMAP: McBSP: Let element DMA mode hit retention also The device no longer hits retention if element DMA mode is taken for at least the duration of the serial console timeout. Force element DMA mode to shut down through smartidle. Signed-off-by: Eero Nurkkala Acked-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit fa3935ba34667ffd35fbb33958cd1d67035fdf82 Author: Eero Nurkkala Date: Thu Aug 20 16:18:19 2009 +0300 OMAP: McBSP: Do not enable wakeups for no-idle mode When no-idle mode is taken, wakeups need not to be enabled. Moreover, CLOCKACTIVITY bits are unnecessary with this mode also. Signed-off-by: Eero Nurkkala Acked-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit d99a7454e57d3dc9d04d6a77292a056f430a9ece Author: Eduardo Valentin Date: Thu Aug 20 16:18:18 2009 +0300 OMAP: McBSP: Configure NO IDLE mode for DMA mode different of threshold Use dma mode property to configure NO IDLE or SMART IDLE of McBSPs. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 2ba93f8fa77c0140de163e8a31bb9c09b5ded74c Author: Eero Nurkkala Date: Thu Aug 20 16:18:17 2009 +0300 OMAP: McBSP: Retain McBSP FCLK clockactivity FCLK may get autogated so that it prevents the McBSP to work properly. It is the bit 9 that must be set for maintaining the McBSP FCLK. Signed-off-by: Eero Nurkkala Signed-off-by: Eduardo Valentin Acked-by: Jarkko Nikula Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit d9a9b3f5f7d4736cfe6fae95b9d63b07faeb702e Author: Eduardo Valentin Date: Thu Aug 20 16:18:16 2009 +0300 OMAP: McBSP: Change wakeup signals Configure only XRDYEN and RRDYEN wakeup signals in order to get better power consumption. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 2122fdc629f05634537e796c0630028e4db76953 Author: Eero Nurkkala Date: Thu Aug 20 16:18:15 2009 +0300 OMAP: McBSP: Wakeups utilized This patch enables the smart idle mode while McBPS is being utilized. Once it's done, force idle mode is taken instead. Apart of it, it also configures what signals will wake mcbsp up. Signed-off-by: Eero Nurkkala Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 98cb20e88957faf9c99e194242caac7f55dd47e4 Author: Peter Ujfalusi Date: Thu Aug 20 16:18:14 2009 +0300 OMAP: McBSP: Add link DMA mode selection It adds a new sysfs file, where the user can configure the mcbsp mode to use. If the mcbsp channel is in use, it does not allow the change. Than in omap_pcm_open we can call the omap_mcbsp_get_opmode to get the mode, store it, than use it to implement the different modes. Signed-off-by: Peter Ujfalusi Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 4c8200aeb04b8aeaf8c7425f49caf761e2cda95a Author: Eduardo Valentin Date: Thu Aug 20 16:18:13 2009 +0300 OMAP: McBSP: Rename thres sysfs symbols This patch renames the symbols that handles threshold sysfs properties. This way we can add more sysfs properties to them. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 7e4f943b725008272d5c50e676a89d642232a4e3 Author: Peter Ujfalusi Date: Thu Aug 20 16:18:12 2009 +0300 OMAP3: McBSP: Lower the maximum buffersize for McBSP1, 3, 4, 5 Do not allow applications to use the full buffer found on McBSP1,3,4,5. Using the full buffer in threshold mode causes the McBSP buffer to run dry, which can be observed as channels are switching (in reality the channels are shifting). Signed-off-by: Peter Ujfalusi Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit a1a56f5faa41327116bf960a8e79f21a8ea35dce Author: Eduardo Valentin Date: Thu Aug 20 16:18:11 2009 +0300 OMAP: McBSP: Create and export max_(r|t)x_thres property This patch export through sysfs two properties to configure maximum threshold for transmission and reception on each mcbsp instance. Also, it exports two helper functions to allow mcbsp users to read this values. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 7aa9ff56cae7a6a4fa2e1a503cc5f8bbd887d6e3 Author: Eduardo Valentin Date: Thu Aug 20 16:18:10 2009 +0300 OMAP: McBSP: Add transmit/receive threshold handler This patch adds a way to handle transmit/receive threshold. It export to mcbsp users a callback registration procedure. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 44a6311c0a83f682bcf18fae389a1b270df29314 Author: Eduardo Valentin Date: Thu Aug 20 16:18:09 2009 +0300 OMAP: McBSP: Use appropriate value for startup delay Increasing startup delay value as worst case: CLKSRG*2 = 8000khz: (1/8000) * 2 * 2 usec Although, 100us may give enough time for two CLKSRG, due to some unknown PM related, clock gating etc. reason, this patch increases it to 500us. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 946a49a95dabc9dd10344ae9ab4db9f14c5ad502 Author: Eduardo Valentin Date: Thu Aug 20 16:18:08 2009 +0300 OMAP: McBSP: Add IRQEN, IRQSTATUS, THRESHOLD2 and THRESHOLD1 registers. Adding McBSP register definition for IRQEN, IRQSTATUS, THRESHOLD2 and THRESHOLD1 registers. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 9abea08e43c6cfc18399e42cbc6028d111532f61 Author: Eero Nurkkala Date: Thu Aug 20 16:18:07 2009 +0300 OMAP: McBSP: Provide functions for ASoC frame syncronization ASoC has an annoying bug letting either L or R channel to be played on L channel. In other words, L and R channels can switch at random. This provides McBSP funtionality that may be used to fix this feature. Signed-off-by: Eero Nurkkala Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit a4d7d550a9cfdfbc615383a08e9afa39d5a6d875 Author: Kuninori Morimoto Date: Thu Aug 20 21:01:05 2009 +0900 ASoC: Add SuperH FSI driver support for ALSA This driver is very simple. It support playback only now. This patch is tested by ms7724se board. Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit f61c890ec631884c5b7cd8723cd8ae1917dca544 Author: Shine Liu Date: Thu Aug 20 23:02:23 2009 +0800 ASoC: S3C24XX : Align the peroid size to the buffer size > Then it's a driver bug. If unaligned period size is allowed, it means > that the irq is really generated in that period, not at the buffer > boundary. Otherwise, it must have a proper hw-constraint to align the > period size to the buffer size. This patch will fix the bug metioned in the above mail. Force the peroid size to be aligned with the buffer size. Based and tested on linux-2.6.31-rc6. Signed-off-by: Shine Liu Signed-off-by: Mark Brown commit 39cf0518d89d1f0af79554457c52adb5b12fa43c Merge: af15c1a 6c30c53 Author: Rafael J. Wysocki Date: Thu Aug 20 20:24:33 2009 +0200 Merge branch 'master' into for-linus commit a2c3f6567c9ac327f1ef1272551f3a7595ec885e Author: Lennert Buytenhek Date: Tue Aug 18 05:13:48 2009 +0200 MAINTAINERS: add information for mwl8k wireless driver Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit a145d575833ff47330125364cb49304db7308825 Author: Lennert Buytenhek Date: Tue Aug 18 04:34:26 2009 +0200 mwl8k: update copyright and version number Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ab565790cb5ca3d00db0af9c2a8eb95e16054c29 Author: Lennert Buytenhek Date: Tue Aug 18 04:08:01 2009 +0200 mwl8k: remove mwl8k_queue_work() Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit e6935ea10485f34b82d16f8dff9aa2bdf32ab4bf Author: Lennert Buytenhek Date: Tue Aug 18 04:06:20 2009 +0200 mwl8k: get rid of mwl8k_configure_filter() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 954ef509cc7d795ccd69fa2e01539297e9a003a0 Author: Lennert Buytenhek Date: Fri Jul 17 07:26:27 2009 +0200 mwl8k: get rid of mwl8k_get_stats() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3e4f542cfbf5a60f2295b2de9a31bdd14beb7b4a Author: Lennert Buytenhek Date: Fri Jul 17 07:25:59 2009 +0200 mwl8k: get rid of mwl8k_conf_tx() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 733d3067d3fb168fbbd008cb0ebf5ad2027030f3 Author: Lennert Buytenhek Date: Fri Jul 17 07:24:15 2009 +0200 mwl8k: get rid of mwl8k_set_rts_threshold() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3a980d0a505161b99fc936827cb28ec8eb853284 Author: Lennert Buytenhek Date: Fri Jul 17 07:21:46 2009 +0200 mwl8k: get rid of mwl8k_bss_info_changed() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ee03a93241eb954d669fb795b4e5c0eec92eef22 Author: Lennert Buytenhek Date: Fri Jul 17 07:19:37 2009 +0200 mwl8k: get rid of mwl8k_config() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit d3cea0b85a31a98630c6fcf7373d486db9612a10 Author: Lennert Buytenhek Date: Fri Jul 17 07:15:49 2009 +0200 mwl8k: get rid of mwl8k_stop() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 2ec610cb6d57032cdab89781e37ed3e442c73367 Author: Lennert Buytenhek Date: Fri Jul 17 07:11:37 2009 +0200 mwl8k: get rid of mwl8k_start() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 618952a7b19b796fce98364fb26551cbe3e16a75 Author: Lennert Buytenhek Date: Tue Aug 18 03:18:01 2009 +0200 mwl8k: fix firmware command serialisation The current mwl8k_priv->fw_lock spinlock doesn't actually protect against multiple commands being submitted at once, as it is not kept held over the entire firmware command submission. And since waiting for command completion sleeps, we can't use a spinlock anyway. To fix mwl8k firmware command serialisation properly, we have the following requirements: - Some commands require that the packet transmit path is idle when the command is issued. (For simplicity, we'll just quiesce the transmit path for every command.) - There are certain sequences of commands that need to be issued to the hardware sequentially, with no other intervening commands. This leads to an implementation of a "firmware lock" as a mutex that can be taken recursively, and which is taken by both the low-level command submission function (mwl8k_post_cmd) as well as any users of that function that require issuing of an atomic sequence of commands, and quiesces the transmit path whenever it's taken. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 950d5b0191dc3e71017f336017f75f6189f39f08 Author: Lennert Buytenhek Date: Fri Jul 17 01:48:41 2009 +0200 mwl8k: mwl8k_queue_work() cleanup Delete most of the mwl8k_work_struct fields and options, since most of them are unused or never changed from their defaults: - We always use priv->config_wq, so delete the wqueue argument from mwl8k_queue_work(). - MWL8K_WQ_SPIN and MWL8K_WQ_POST_REQUEST are never used, as all callers sleep for request completion, so sleep unconditionally. - MWL8K_WQ_FREE_WORKSTRUCT is never used. - MWL8K_WQ_TX_WAIT_EMPTY is always set, so assume it unconditionally. - timeout_ms/txwait_attempts/tx_timeout_ms are never changed from their defaults, so just hardcode these in the workqueue worker. - step is never used. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 23b339062f247e0be84eaabb15e17b403c4388b6 Author: Lennert Buytenhek Date: Fri Jul 17 05:21:04 2009 +0200 mwl8k: mwl8k_txq_xmit() rework Various mwl8k_txq_xmit changes: - Extract the QoS field before adding the DMA header. - Only write to tx->status once, and only after all the other descriptor fields have been set. - Do all tx state manipulation under the tx spinlock. - Remove the priv->inconfig check, as all transmit queues will be frozen during config cycles, so we won't ever be asked to transmit if a config cycle is running. - Remove some more dead code. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 7595d67a06466cc00e3aae1b86544278b57481ee Author: Lennert Buytenhek Date: Mon Aug 17 23:59:40 2009 +0200 mwl8k: implement idle mode Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 361c55cfaddaa36f0997c5a96948ba5888bfb992 Author: Lennert Buytenhek Date: Tue Aug 18 04:19:00 2009 +0200 mwl8k: no need to hold ->tx_lock while setting the hardware interrupt mask Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c3f967d301a76b7053d16817c34191964c457566 Author: Lennert Buytenhek Date: Tue Aug 18 04:15:22 2009 +0200 mwl8k: don't hardcode the number of transmit queues Use MWL8K_TX_QUEUES instead of a hardcoded "4" in a couple of places. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit d4b7057052236e81ab0788cc8df306dc02b0e7be Author: Lennert Buytenhek Date: Thu Jul 16 12:44:45 2009 +0200 mwl8k: don't touch 'command done' interrupt during firmware load Since firmware load commands don't generate 'command done' interrupts like normal commands do, polling for command done interrupts just unnecessarily slows down the firmware load process. Removing this bit of code speeds up loading a typical firmware image from 840 msec to 180 msec. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 76266b2ad38c33fb2c1475cfeb35ed070adaba2b Author: Lennert Buytenhek Date: Thu Jul 16 11:07:09 2009 +0200 mwl8k: dma header manipulations can't fail Adding and removing the DMA header that the mwl8k hardware requires on tx and provides on rx can never fail, since we are guaranteed to have enough headroom on the tx path to expand the packet, and we only ever shrink the packet on the rx path. (And on both paths we are guaranteed to be the only user of the skb we are handling.) This allows removing all of the skb clone handling in the tx and tx reclaim paths, and eliminates error checks in both the tx and rx paths, simplifying the code a bit more. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 240e86efd60e6bc232a072273a7f7794bcb035e0 Author: Lennert Buytenhek Date: Thu Jul 16 14:15:44 2009 +0200 mwl8k: ->add_interface() is not called for monitor interfaces There is no need to check for NL80211_IFTYPE_MONITOR in ->add_interface(), as this function is never called for monitor interfaces. Also, there is no need to advertise this bit in our wiphy's ->interface_modes. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit e81cd2d664fe5b75a0db9bb24b43c0dfbde32319 Author: Lennert Buytenhek Date: Tue Aug 18 03:55:42 2009 +0200 mwl8k: fix mwl8k_configure_filter() parameter lifetime issue mwl8k_configure_filter() passes pointers to total_flags and the multicast address list to a workqueue function, while there is no guarantee that those pointers will still be valid by the time the workqueue function runs. Solve this by passing total_flags by value, and by passing an already built multicast address setup command packet to the workqueue function so that we don't have to look at the multicast address list itself outside of mwl8k_configure_filter(). Also, since ->configure_filter() can sleep now, wait synchronously for the worker to finish. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 5539bb51295f2c9300a6e467a29bb62bcfe9f4bc Author: Lennert Buytenhek Date: Thu Jul 16 16:06:53 2009 +0200 mwl8k: remove MWL8K_*_SLOTTIME defines Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 0439b1f55646ea944b0d58337f5065b79a1c1be0 Author: Lennert Buytenhek Date: Thu Jul 16 12:34:02 2009 +0200 mwl8k: remove MWL8K_WMM_* defines Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 68ce38845c23443b15e374fb7362916c1231278e Author: Lennert Buytenhek Date: Thu Jul 16 12:26:57 2009 +0200 mwl8k: remove MWL8K_RADIO_*_PREAMBLE defines Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c46563b714b09d44eec4d1fd8a0f53e79ddaa3aa Author: Lennert Buytenhek Date: Thu Jul 16 12:14:58 2009 +0200 mwl8k: remove MWL8K_RADIO_* defines Instead of passing a flag bitmask to mwl8k_cmd_802_11_radio_control, pass the 'enable' and 'force' arguments as separate parameters, and introduce wrappers for the common cases of enabling and disabling without forcing. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ce9e2e1b8433c8795459a259ee87bc4e424e7c50 Author: Lennert Buytenhek Date: Thu Jul 16 14:00:45 2009 +0200 mwl8k: various coding style cleanups Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ff45fc60ad583f45ecf10a41f7dbecf78519bcc1 Author: Lennert Buytenhek Date: Thu Jul 16 11:50:36 2009 +0200 mwl8k: sort firmware command list by opcode, and trim unused commands Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit d89173f25228b8795af2d4b53e985cc44c729332 Author: Lennert Buytenhek Date: Thu Jul 16 09:54:27 2009 +0200 mwl8k: s/IEEE80211_ADDR_LEN/ETH_ALEN/g Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c23b5a699471ea2ef9d146eae80e64836cfbf001 Author: Lennert Buytenhek Date: Thu Jul 16 13:49:55 2009 +0200 mwl8k: remove various unused struct members and defines Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 22e66a4c15b063aee5d03991c4b9629a3b0c4556 Author: Vasanthakumar Thiagarajan Date: Wed Aug 19 16:23:40 2009 +0530 ath9k: Nuke struct ath9k_node_stats Other than ns_avgbrssi (Average beacon rssi) no data of ath9k_node_stats is being used anywhere. Nuke this structure and move its only useful member to ar5416Anistate. Also cleanup this redundant data in ath_softc. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ff36041652fcb9f5c17bdbeb081414f69521f1af Author: Vasanthakumar Thiagarajan Date: Thu Aug 20 13:41:14 2009 +0530 ath9k: Fix bug in retrieving average beacon rssi Currently the beacon rssi that LPF gives is divided and rounded up by ATH_RSSI_EP_MULTIPLIER twice. This will leave the incorrect rssi in ANI. Having correct rssi in ANI fixes the connection stability at < 30dB rssi range. This patch removes the unncessary computation of average rssi over already valid average rssi. Also removes the redundant macros to find average rssi. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 035d0243ebbdbd5f8f07d6ce378c9a9b36415bc9 Author: gregor kowski Date: Wed Aug 19 22:35:45 2009 +0200 b43: add hardware tkip This add hardware tkip for b43. Signed-off-by: Gregor Kowski Acked-by: Michael Buesch Signed-off-by: John W. Linville commit 11ba964d4f936609a04e8b9f2051f6027ef761ae Author: Johannes Berg Date: Wed Aug 19 19:45:50 2009 +0200 mac80211: fix register_hw error path "cfg80211: fix alignment problem in scan request" introduced a bug into the error path, because now we allocate the entire scan request and not just the channel list (the channel list is allocated together with the scan request) -- on errors we thus also need to free the entire scan request. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5904d2067680e9bb73a4816fa6b9eec49355c9c8 Author: Gábor Stefanik Date: Tue Aug 18 19:18:13 2009 +0200 b43: LP-PHY: Implement spec updates and remove resolved FIXMEs Larry has started re-checking all current routines against a new version of the Broadcom MIPS driver. This patch implements the first round of changes he documented on the specs wiki. Also remove a few FIXMEs regarding missing initial values for variables with dynamic initial values where reading the values has been implemented. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 16a832e785820aa199641c77b2d6f4a443d2ec46 Author: Zhu Yi Date: Wed Aug 19 16:08:22 2009 +0800 cfg80211: allow cfg80211_connect_result with bssid == NULL In case of connection failure, the bssid info is not a must have. Signed-off-by: Zhu Yi Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 30fab9e0aecf15ca79bb194bb603203f5e1fde66 Author: David Kilroy Date: Wed Aug 19 00:44:43 2009 +0100 orinoco: remove spare whitespace Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 415ad1efae1d5fe00d739e612d262eabda90f5e8 Author: David Kilroy Date: Wed Aug 19 00:43:31 2009 +0100 cfg80211: fix leaks of wdev->conn->ie This only occurs in the following error situations: - driver calls connect_result with failure - error scheduling authentication on connect - error initiating scan (to get BSSID and channel) on connect - userspace calls disconnect while in the SCANNING or SCAN_AGAIN states Signed-off-by: David Kilroy Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit eeef41854deae30ea304544f18684df70ae3f87b Author: Christian Lamparter Date: Wed Aug 19 12:43:47 2009 +0200 ar9170: refactor configure_filter Thanks to "mac80211: allow configure_filter callback to sleep", we no longer have to defer the work to the workqueue. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 5791ce18aa660df7d1dafebf6bd89d5aa05bd742 Author: Gábor Stefanik Date: Tue Aug 18 22:08:31 2009 +0200 b43: LP-PHY: Two small spec updates The specs are beginning to support rev3 LP-PHYs - implement one of the changes needed for rev3 support. Also, in the new MIPS driver, the "Japan TX filter" was renamed to "analog TX filter init" - however, calling it "init" is confusing, so name it "set analog filter", with a comment for easier future identification. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit d904dc17495581254442b7fd054e267f2605c8ec Author: Ivo van Doorn Date: Tue Aug 18 20:33:12 2009 +0200 rt2x00: bss_info_changed() callback is allowed to sleep The bss_info_changed() callback function no longer needs to be atomic. Remove the scheduled work structure and call into the driver directly. Additionaly this makes the DRIVER_REQUIRE_SCHEDULED flag redundant so it can be removed. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit afa620429ac6a636246f85d97cf205d6533e7fcb Author: Ivo van Doorn Date: Tue Aug 18 19:54:23 2009 +0200 rt2x00: configure_filter() callback is allowed to sleep The configure_filter() callback function no longer needs to be atomic. Remove the scheduled work structure and call into the driver configure_filter() directly. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ad002395fd230528281083f4be71855ed7e35b04 Author: Johannes Berg Date: Tue Aug 18 19:51:57 2009 +0200 cfg80211: fix dangling scan request checking My patch "cfg80211: fix deadlock" broke the code it was supposed to fix, the scan request checking. But it's not trivial to put it back the way it was, since the original patch had a deadlock. Now do it in a completely new way: queue the check off to a work struct, where we can freely lock. But that has some more complications, like needing to wait for it to be done before the wiphy/rdev can be destroyed, so some code is required to handle that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 21f8a73f829797eb7ebc12202b4c68e10e751ddb Author: Reinette Chatre Date: Tue Aug 18 10:25:05 2009 -0700 ipw2x00: fix sparse warnings This fixes: CHECK drivers/net/wireless/ipw2x00/ipw2100.c drivers/net/wireless/ipw2x00/ipw2100.c:7888:22: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:188:12: originally declared here drivers/net/wireless/ipw2x00/ipw2100.c:7952:18: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:188:12: originally declared here drivers/net/wireless/ipw2x00/ipw2100.c:8000:18: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:188:12: originally declared here drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: originally declared here drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: originally declared here drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: originally declared here CC [M] drivers/net/wireless/ipw2x00/ipw2100.o CHECK drivers/net/wireless/ipw2x00/ipw2200.c drivers/net/wireless/ipw2x00/ipw2200.c:847:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:891:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:935:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:980:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:1016:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:1051:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:1823:13: warning: symbol 'channel' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:86:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:6228:28: warning: symbol 'channel' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:86:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:6369:20: warning: symbol 'channel' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:86:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:6857:12: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:87:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:7964:13: warning: symbol 'channel' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:86:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:8720:12: warning: symbol 'channel' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:86:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:9662:13: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:87:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:9720:13: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:87:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:9826:13: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:87:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:10318:21: warning: symbol 'remaining_bytes' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:10184:13: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:8338:45: warning: cast to restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:4414:21: warning: incorrect type in assignment (different base types) drivers/net/wireless/ipw2x00/ipw2200.c:4414:21: expected restricted __le16 [usertype] size drivers/net/wireless/ipw2x00/ipw2200.c:4414:21: got unsigned short [unsigned] [usertype] drivers/net/wireless/ipw2x00/ipw2200.c:6105:33: warning: incorrect type in initializer (different base types) drivers/net/wireless/ipw2x00/ipw2200.c:6105:33: expected restricted __le16 [usertype] tx_rates drivers/net/wireless/ipw2x00/ipw2200.c:6105:33: got unsigned short [unsigned] [usertype] rates_mask drivers/net/wireless/ipw2x00/ipw2200.c:6124:29: warning: bad assignment (>>=) to restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:6130:31: warning: restricted __le16 degrades to integer drivers/net/wireless/ipw2x00/ipw2200.c:6140:23: warning: restricted __le16 degrades to integer drivers/net/wireless/ipw2x00/ipw2200.c:6149:54: warning: restricted __le16 degrades to integer drivers/net/wireless/ipw2x00/ipw2200.c:6151:37: warning: invalid assignment: &= drivers/net/wireless/ipw2x00/ipw2200.c:6151:37: left side has type restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:6151:37: right side has type int drivers/net/wireless/ipw2x00/ipw2200.c:6154:54: warning: restricted __le16 degrades to integer drivers/net/wireless/ipw2x00/ipw2200.c:6156:37: warning: invalid assignment: &= drivers/net/wireless/ipw2x00/ipw2200.c:6156:37: left side has type restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:6156:37: right side has type int drivers/net/wireless/ipw2x00/ipw2200.c:6159:55: warning: restricted __le16 degrades to integer drivers/net/wireless/ipw2x00/ipw2200.c:6161:37: warning: invalid assignment: &= drivers/net/wireless/ipw2x00/ipw2200.c:6161:37: left side has type restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:6161:37: right side has type int drivers/net/wireless/ipw2x00/ipw2200.c:6164:29: warning: invalid assignment: |= drivers/net/wireless/ipw2x00/ipw2200.c:6164:29: left side has type restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:6164:29: right side has type unsigned short drivers/net/wireless/ipw2x00/ipw2200.c:7853:29: warning: incorrect type in assignment (different base types) drivers/net/wireless/ipw2x00/ipw2200.c:7853:29: expected signed char [signed] [usertype] [explicitly-signed] rt_dbmnoise drivers/net/wireless/ipw2x00/ipw2200.c:7853:29: got restricted __le16 [usertype] noise drivers/net/wireless/ipw2x00/ipw2200.c:7967:25: warning: incorrect type in initializer (different base types) drivers/net/wireless/ipw2x00/ipw2200.c:7967:25: expected signed char [signed] [usertype] [explicitly-signed] noise drivers/net/wireless/ipw2x00/ipw2200.c:7967:25: got restricted __le16 [usertype] noise Signed-off-by: Reinette Chatre Cc: Zhu Yi Acked-by: Zhu Yi Signed-off-by: John W. Linville commit c8a61a7d33350eeec668fc6230ad55f5fa93209b Author: Daniel Walker Date: Tue Aug 18 10:59:00 2009 -0700 mac80211: New stat counters for multicast and unicast forwarded frames This expands on the current fwded_frames stat counter which should be equal to the total of these two new counters. The new counters are called "fwded_mcast" and "fwded_unicast". Signed-off-by: Daniel Walker Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit e5539bcbf64fdb16af73b5c8caff9255307490b5 Author: John W. Linville Date: Tue Aug 18 10:50:34 2009 -0400 wl1271: remove print_mac usage CC [M] drivers/net/wireless/wl12xx/wl1271_main.o drivers/net/wireless/wl12xx/wl1271_main.c: In function ‘wl1271_op_add_interface’: drivers/net/wireless/wl12xx/wl1271_main.c:611: warning: ‘print_mac’ is deprecated (declared at include/linux/if_ether.h:142) Signed-off-by: John W. Linville commit 29508d122a5228c2a68d1e9a39251d3991b3cfef Author: John W. Linville Date: Tue Aug 18 10:46:42 2009 -0400 rc80211_pid_algo.c: remove unused variable declaration CC [M] net/mac80211/rc80211_pid_algo.o net/mac80211/rc80211_pid_algo.c: In function ‘rate_control_pid_rate_init’: net/mac80211/rc80211_pid_algo.c:304: warning: unused variable ‘si’ Signed-off-by: John W. Linville commit 608b88cb34b0e70a538ee1fc334cc833ef691836 Author: Luis R. Rodriguez Date: Mon Aug 17 18:07:23 2009 -0700 ath: move regulatory info into shared common structure This moves the shared regulatory structure into the common structure. We will use this ongoing for common data. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4c48381786159ba3f3d8a33d967aeb049341a220 Author: Sujith Date: Tue Aug 18 10:51:52 2009 +0530 ath9k: Fix TX poll cancelling In ath9k_stop(), tx_complete_work was being cancelled twice. This patch fixes it. Also, locking sc->mutex should be done at the beginning. Signed-off-by: Sujith Signed-off-by: John W. Linville commit bcd64e0c20eafe6a3976c248833d5d8bcccdf0d9 Author: Bob Copeland Date: Mon Aug 17 23:33:56 2009 -0400 wl1251: halt the embedded CPU before loading firmware After initial power-up, the embedded cpu is usually halted. However, if we down the interface and only do a soft reset before bringing the interface back up, it will still be running and the firmware loading code will bail out. This change halts the CPU before loading the firmware, enabling a second call to wl1251_boot() to succeed without a hard reset. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit bfc32e6a9559d3e30925929cd9a9df7498f325db Author: Javier Cardona Date: Mon Aug 17 17:15:55 2009 -0700 mac80211: Decouple fail_avg stats used by mesh from rate control algorithm. Mesh uses the tx failure average to compute the (m)path metric. This used to be done inside the rate control module. This patch breaks the dependency between the mesh stack and the rate control algorithm. Mesh will now work independently of the chosen rate control algorithm. The mesh stack keeps a moving average of the average transmission losses for each mesh peer station. If the fail average exceeds a certain threshold, the peer link is marked as broken. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 92ed48e5230e8f5906dda0cc31715b3b7e3fe303 Author: Benoit PAPILLAULT Date: Mon Aug 17 18:56:10 2009 +0200 rt2x00: Add support for retry rates rt2800pci can handle different retry rates, it will always step 1 rate down after a failed transmission so creating the retry rate list for mac80211 is quite simple. Signed-off-by: Benoit PAPILLAULT Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit cd80b684a08655e7dcc7a1c96d4b7e7ffa753017 Author: Ivo van Doorn Date: Mon Aug 17 18:55:40 2009 +0200 rt2x00: Fix MCS register intialization According to the original Ralink driver, LG_FBK_CFG0_OFDMMCS2FBK should be initialized to 9 rather then 3. Based on a patch for rt2800pci from Benoit Signed-off-by: Benoit PAPILLAULT Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 534aff0288f49a2366b7e6fbb67ff035dea814d3 Author: Ivo van Doorn Date: Mon Aug 17 18:55:15 2009 +0200 rt2x00: wireless CLI ID and packet ID must not be 0 In the TX descriptor the Packet ID must not be 0, so add 1 to the ID. The wireless CLI ID is not allowed to be 0 either, but also must be initialized with the wcid value rather then keyid. Based on a patch for rt2800pci from Benoit Signed-off-by: Benoit PAPILLAULT Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0fefe0fda4376eff97be965a41714da38fe4a36d Author: Ivo van Doorn Date: Mon Aug 17 18:54:50 2009 +0200 rt2x00: Set SKBDESC_L2_PADDED in RX path When the RX descriptor indicates the frame was L2 padded, the SKBDESC_L2_PADDED flag should be set to make sure the L2 padding is removed before it is send to mac80211. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 05a32730f16e7b91e9fd2d11f26db152e5c9a68d Author: Ivo van Doorn Date: Mon Aug 17 18:54:47 2009 +0200 rt2x00: Add new RF chip defines Add new defines for RF chipsets which can be found by the driver. We don't have to check for these chips specifically yet, but it is better to have the defines in now. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1738c9e42a9bb3705a3b03dde854f3db269e7bdd Author: Ivo van Doorn Date: Mon Aug 17 18:53:57 2009 +0200 rt2x00: Fix for rt2800usb for SHARED_KEY_TABLE initializations Fixed comments about SHARED_KEY_TABLE_BASE and SHARED_KEY_MODE_BASE. Fixed initialization loop for SHARED_KEY_MODE_ENTRY. Based on a patch for rt2800pci from Benoit. Signed-off-by: Benoit PAPILLAULT Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 73077c85458739169cdaf893a375b8bb3939d35a Author: Ivo van Doorn Date: Mon Aug 17 18:53:24 2009 +0200 rt2x00: Fix RFKILL polling The rfkill_poll callback function in the drivers check a bit to see if the RFKILL key has been pressed. However when the bit is set it means the radio is active and the device can be used. The wiphy_rfkill_set_hw_state() function expects the inversed, so '1' must be send when the radio must be disabled. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5f1c07d924d3e670044911487aca057bb39b4e7e Author: Gábor Stefanik Date: Fri Aug 14 21:19:58 2009 +0200 b43: LP-PHY: Fix setting TX power control mode during RC calibration Call set_tx_power_control with a LPPHY_TXPCTL rather than an LPPHY_TX_PWR_CTL_CMD_MODE. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 12d4bba0fd7ac50ca20d9ac1247a0de851850bb0 Author: Gábor Stefanik Date: Fri Aug 14 20:29:47 2009 +0200 b43: LP-PHY: Fix reading old mode in the set TX power control routine Check the mode the hardware is in, not the mode we used the last time. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 1de6f73c34fb9a74454a5b519cefd635b5e8ceb6 Author: Bob Copeland Date: Mon Aug 17 11:18:14 2009 -0400 wl1251: correct definitions for 0th bit defines ACX_SLV_SOFT_RESET_BIT and ACX_REG_EEPROM_START_BIT are both defined as "1" in the vendor driver code, but they were defined to be BIT(1) ("2") here. The SOFT_RESET typo ensures that wl1251_boot_soft_reset() doesn't; as a result the device hangs when trying to reprogram the PLL registers while running. Signed-off-by: Bob Copeland Acked-by: Kalle Valo Signed-off-by: John W. Linville commit f424afa17899408cbd267a4c4534ca6fc9d8f71c Author: Johannes Berg Date: Mon Aug 17 16:18:07 2009 +0200 mac80211: remove deprecated API All but two drivers have now stopped using the two deprecated members radio_enabled and beacon_int, so it's about time to remove them for good. Signed-off-by: Johannes Berg Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 3ac64beecd27400d12cc7afb4108eef26c499f6a Author: Johannes Berg Date: Mon Aug 17 16:16:53 2009 +0200 mac80211: allow configure_filter callback to sleep Over time, a whole bunch of drivers have come up with their own scheme to delay the configure_filter operation to a workqueue. To be able to simplify things, allow configure_filter to sleep, and add a new prepare_multicast callback that drivers that need the multicast address list implement. This new callback must be atomic, but most drivers either don't care or just calculate a hash which can be done atomically and then uploaded to the hardware non-atomically. A cursory look suggests that at76c50x-usb, ar9170, mwl8k (which is actually very broken now), rt2x00, wl1251, wl1271 and zd1211 should make use of this new capability. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ea416a793d2b611f22b42ba094fd2e5bd30fff43 Author: Johannes Berg Date: Mon Aug 17 12:22:14 2009 +0200 cfg80211: report userspace SME connected event properly Instead of hacking the event reporting into the __cfg80211_connect_result() function which is also invoked by others, set up things correctly and then invoke that function, so that it can do more sanity checking. Also, it is currently not possible to get a ROAMED event from the userspace SME anyway since we send out a DISCONNECTED event when it disassociates and then a new CONNECTED event on the next association. Thanks to Zhu Yi for pointing out that the code is somewhat convoluted and doesn't warn when it should. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 86b2892a22a433e56e39e33bf353adc6cc4eabb2 Author: Gábor Stefanik Date: Sun Aug 16 20:22:41 2009 +0200 b43: LP-PHY: Remove BROKEN from B43_PHY_LP Larry has reported success getting scan data with an LP-PHY device, so it's probably time to release LP-PHY support for testing. Also disable 802.11a support for now, as 802.11a currently causes the driver to panic on startup (NULL pointer dereference). Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 7e4d8529921004014bef21a2031b6c3478339a2a Author: Gábor Stefanik Date: Sun Aug 16 20:08:13 2009 +0200 b43: LP-PHY: Update B2062 radio init with recent spec changes The spec for initializing the B2062 radio have changed recently, update the code to match the changes. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit ed07c4b3af341bad3fa29558f08b166220014ca7 Author: Gábor Stefanik Date: Sun Aug 16 18:40:09 2009 +0200 b43: LP-PHY: Fix a bug in the B2062 channel tune path I missed the "+16" part of the instruction in the specs. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 5269102ec9c1584ccfab71affd1d7600d59f9096 Author: Gábor Stefanik Date: Sun Aug 16 18:05:09 2009 +0200 b43: LP-PHY: Update code for spec fixes, and fix a few typos A few typos have been discovered in both the specs and the code. This patch fixes them. Also use lpphy_op_switch_channel consistently, and make all users of it print its return value for easier debugging. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 055114a38804947554065194d50ded4bc7d7c4c6 Author: Gábor Stefanik Date: Sun Aug 16 15:32:40 2009 +0200 b43: LP-PHY: Fix a spec error in the B2062 channel switch routine The channel switch routine had a whole instruction missing. Add it. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 0ff6ce7b36199f67f709c750e9a2a66659a4babe Author: Johannes Berg Date: Mon Aug 17 12:25:37 2009 +0200 cfg80211: fix deadlock When removing an interface with nl80211, cfg80211 will deadlock in the netdev notifier because we're already holding rdev->mtx and try to acquire it again to verify the scan has been done. This bug was introduced by my patch "cfg80211: check for and abort dangling scan requests". To fix this, move the dangling scan request check into wiphy_unregister(). This will not be able to catch all cases right away, but if the scan problem happens with a manual ifdown or so it will be possible to remedy it by removing the module/device. Additionally, add comments about the deadlock scenario. Reported-by: Christian Lamparter Signed-off-by: Johannes Berg Tested-by: Christian Lamparter Tested-by: Kalle Valo Signed-off-by: John W. Linville commit 96909e97716de1d86e6e24d6aabce09980372771 Author: Gábor Stefanik Date: Sun Aug 16 01:15:49 2009 +0200 b43: LP-PHY: Update baseband init for recent spec changes The spec had some nasty typos, and a large part of the rev0/1 BB init procedure was also missing. Fix these. Also make the init-time channel switch debuggable. (The change from -EINVAL to -EIO is simply to make it possible to distinguish the PLL charge pump error from a channel-not-found error.) Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 826ee70664c658a022d999f7eb4d3cd9448895dd Author: Gábor Stefanik Date: Sat Aug 15 00:52:02 2009 +0200 b43: Handle B43_PHYTYPE_LP in RX path Don't drop all packets received from an LP-PHY with WARN_ON. Also update a comment with LP-specific information. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 1245684c631844d52079fb3fa1fcb57cc1213e5c Author: Gábor Stefanik Date: Fri Aug 14 23:00:32 2009 +0200 b43: LP-PHY: Fix another TX power control abuse This should fix the remaining WARN_ON. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 16373f652523705aa07bf78b4f388d96feb8f9d3 Author: Gábor Stefanik Date: Fri Aug 14 22:10:34 2009 +0200 b43: LP-PHY: Update TX gain override for a spec typo fix Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 0c61bb9a410de6ef36b4a473ced34f983a87db35 Author: Gábor Stefanik Date: Fri Aug 14 21:11:59 2009 +0200 b43: LP-PHY: Don't adjust gain table for rev2+ when setting channel Rev2+ never needs to have gain tables adjusted according to the spec. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 9d86a2d531c722feb0046e5a0b81809efb10422a Author: Gábor Stefanik Date: Fri Aug 14 14:54:46 2009 +0200 b43: Make LP-PHY testable -Enable rate memory init for LP-PHY (same as G and N-PHY). -Mark rev.2 LP-PHYs with the B2063 radio as supported. -Allow using the 5GHz band on LP-PHYs. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 759b973bb2d24adecaa526957435eabb00f02725 Author: Gábor Stefanik Date: Fri Aug 14 14:39:53 2009 +0200 b43: Add LP-PHY firmware loading support Add support for loading LP-PHY firmware to b43_try_request_fw. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit f0ea6ce14ae2a72a353ddf8ab370c09ba403d897 Author: Gábor Stefanik Date: Fri Aug 14 14:11:53 2009 +0200 ssb: Fix typo in the rev8 SPROM extraction routine No comment. :-) Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c46aaba74f37448f0a1a3e911230834b7ebe514f Author: Christian Lamparter Date: Fri Aug 14 13:23:05 2009 +0200 p54: disable PS by default Johannes kindly pointed out that I completely missed a hunk in his patch: "[PATCH] cfg80211: allow driver to override PS default". The driver must explicitly set ps_default to false, as the setting is pre-filled with the kconfig default. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 326bebbcb51d3ce9761f616b8b9a35827fd9c697 Author: Vivek Natarajan Date: Fri Aug 14 11:33:36 2009 +0530 ath9k: Updates for AR9287_12 version of chipset. Enable AsyncFIFO and AGGWEP for AR9287_12 and later revisions only. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit d4fe5afa006bf308962877c4768c4e60d37a3da2 Author: Vivek Natarajan Date: Fri Aug 14 11:32:04 2009 +0530 ath9k: Fix ref power interpolation logic for AR9287 chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 08fc5c1ba026de0904aeeba9785f95f6603d58f7 Author: Vivek Natarajan Date: Fri Aug 14 11:30:52 2009 +0530 ath9k: Enable LEDs for AR9287 chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit d340b1f0e5e374fc902a020cb6ef9ebd7fb9f368 Author: Vivek Natarajan Date: Fri Aug 14 11:29:27 2009 +0530 ath9k: Set AR_WA for AR9287 as it improves consistency in throughput. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit db91f2e4d410bf3011b3649b9257e5b3c60b25ff Author: Vivek Natarajan Date: Fri Aug 14 11:27:16 2009 +0530 ath9k: Add open loop power control support for AR9287. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 1e711bee566e26f03e51d5a754e7c8a57e489f9f Author: Gábor Stefanik Date: Fri Aug 14 00:15:17 2009 +0200 b43: LP-PHY: Implement channel switching for rev0/1/B2062 radio -Move pdiv from lpphy_2062_init to struct b43_phy_lp. -Add channel table for the B2062 radio. -Add code for tuning the B2062 radio to channel. -Add error handling to op_switch_channel, and use it for both radios. Rev0/1/B2062 will now hopefully show some signs of life, though it won't work at full performance, as calibration is still missing. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 588f8377c5470fab611c14ead768f7f9af87da94 Author: Gábor Stefanik Date: Thu Aug 13 22:46:30 2009 +0200 b43: LP-PHY: Implement channel switching for rev2+/B2063 radio Rev.2+/B2063 will now hopefully show some signs of life, though it won't work at full performance, as calibration is still missing. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 6f632d57f35303118685b88c139f3da73df077e2 Author: Andrey Yurovsky Date: Thu Aug 13 17:34:40 2009 -0700 libertas: don't use dynamic-sized array sparse complains about a bad constant expression due to the use of a dynamic-sized array in get_common_rates(). Allocate and free the array instead. Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit b23da49e6db341f4721476394dd8b95e0be2d179 Author: Johannes Berg Date: Thu Aug 13 13:31:02 2009 -0700 iwlwifi: disable PS by default Unfortunately, PS currently affects RX performance significantly enough to warrant disabling it by default, but give the user the choice to enable it again with iwconfig. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 396887a2b2ad1ef5e5526fec34dec582baf39b81 Author: Daniel C Halperin Date: Thu Aug 13 13:31:01 2009 -0700 iwlwifi: fix erroneous use of iwl_rx_packet.len as a length The field called 'len' in struct iwl_rx_packet is in fact not just a length field but also includes some flags from the flow handler. In several places throughout the driver, this causes incorrect values to be interpreted as lengths when the field is improperly masked. In most situations the improper use is for debugging output, and simply results in an erroneous message, such as: [551933.070224] ieee80211 phy0: I iwl_rx_statistics Statistics notification received (480 vs -1367342620). which should read '(480 vs 484)'. In at least one case this could case bad things to happen: void iwl_rx_pm_debug_statistics_notif(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb) { struct iwl_rx_packet *pkt = (struct iwl_rx_packet *)rxb->skb->data; IWL_DEBUG_RADIO(priv, "Dumping %d bytes of unhandled " "notification for %s:\n", le32_to_cpu(pkt->len), get_cmd_string(pkt->hdr.cmd)); iwl_print_hex_dump(priv, IWL_DL_RADIO, pkt->u.raw, le32_to_cpu(pkt->len) ); } EXPORT_SYMBOL(iwl_rx_pm_debug_statistics_notif); Given the rampant misuse of this field without proper masking throughout the driver (every use but one), this patch renames the field from 'len' to 'len_n_flags' to reduce confusion. It also adds the proper masking when this field is used as a length value. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 15993e08ac027b64b6f3400d32754966b4cac7b0 Author: Wey-Yi Guy Date: Thu Aug 13 13:31:00 2009 -0700 iwlwifi: add thermal throttling support to 5150 Adding legacy thermal throttling management support to 5150 NIC Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b261793da587160d12ce6d63db60493342ddce20 Author: Daniel C Halperin Date: Thu Aug 13 13:30:59 2009 -0700 iwlwifi: use station HT capabilities and BSS operating mode for Green-field Green-field mode should be configured in the HT station table. This patch uses both the per-station GF support flag as well as the current BSS HT operation mode (non-GF stations present flag). Added the "ht_greenfield_support" field to struct iwl_cfg to replace the device-specific check in rs_use_green(). That check has been moved to iwlcore_init_ht_hw_capab(). Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 28e6f48953f44f7eb615383efe6e7f17624a11bb Author: Daniel C Halperin Date: Thu Aug 13 13:30:58 2009 -0700 iwlwifi: check short GI support per-station rather than globally Short guard interval support is a local per-station parameter not a global per-NIC parameter. (mac80211 will correctly remove SGI support from station capabilities if the BSS does not permit it). This patch removes the short GI support bitfield from the global iwl_ht_info struct and properly uses per-station HT capabilities during rate selection. Signed-off-by: Daniel C Halperin Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 28bd723bbaddba4e145d25117649bb6da5fafad7 Author: Daniel C Halperin Date: Thu Aug 13 13:30:57 2009 -0700 iwlwifi: configure HT40 channels in iwl_mac_config As indicated by note in iwl_ht_conf, some HT parameters are set on association (e.g., channel width) and some vary over time (HT protection mode) and per station (e.g., short GI support). The global parameters should be set in iwl_mac_config and the local/varying parameters in iwl_ht_conf. This patch moves the channel width configuration from iwl_ht_conf to iwl_mac_config, and defers further cleanup of the local/global conflation for a later patch. This fixes a bug in using HT40 channels in some modes. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9f30e04e041cf9943940f71fd76094dd5a237018 Author: Daniel C Halperin Date: Thu Aug 13 13:30:56 2009 -0700 iwlwifi: refactor packet reception code This patch fixes a number of issues in iwl_rx_reply_rx and iwl_pass_packet_to_mac80211. These issues stem from the complexities of managing two different types of packet commands for different hardware. - Unify code handling rx_phy_res in SKB or cached to eliminate redundancy and remove potential NULL pointer accesses - Replace magic number with proper constant - Optimize functions by moving early exit conditions before computation - Comment code and improve some variable names - Remove redundant computation in iwl_pass_packet_to_mac80211 by passing in the correct, already-computed arguments. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 367ca28da433ed9639468be851e1f33468e3485e Author: Johannes Berg Date: Thu Aug 13 13:30:55 2009 -0700 iwlwifi: remove unused members of iwl_ht_info Some members of iwl_ht_info are unused, and one of them is write-only, so we can remove these three: max_amsdu_size, ampdu_factor and mpdu_density. Signed-off-by: Johannes Berg Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 415e49936b4b29b34c2fb561eeab867d41fc43a6 Author: Wey-Yi Guy Date: Thu Aug 13 13:30:54 2009 -0700 iwlwifi: traverse linklist to find the valid OTP block For devices using OTP memory, EEPROM image can start from any one of the OTP blocks. If shadow RAM is disabled, we need to traverse link list to find the last valid block, then start the EEPROM image reading. If OTP is not full, the valid block is the block _before_ the last block on the link list; the last block on the link list is the empty block ready for next OTP refresh/update. If OTP is full, then the last block is the valid block to be used for configure the device. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3b24716fc978db9c27c4a069e5201460479340a4 Author: Zhu Yi Date: Thu Aug 13 13:30:53 2009 -0700 iwlwifi: cleanup HT40 extension channels setup The patch cleans up the HT40 extension channels setup for EEPROM band 6 and 7 to make it more readable. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7869b0eaed0447a989d8672eed27a358aa5dde0c Author: Daniel C Halperin Date: Thu Aug 13 13:30:52 2009 -0700 iwlwifi: include HT configuration when adding stations through rs_rate_init Driver's first notification of a new station from mac80211 can be through rate selection API. This patch fixes a bug where, in this code path, the HT capabilities of the new station were ignored. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit be2527654fab254beda8612cbd6bc927dc98fbee Author: Daniel C Halperin Date: Thu Aug 13 13:30:51 2009 -0700 iwlwifi: remove unused HT configuration entry tx_chan_width The tx_chan_width entry is never used, supported_chan_width is used instead. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e6a6cf4c42e0dc3541a63b5f0f88299f982d6704 Author: Reinette Chatre Date: Thu Aug 13 13:30:50 2009 -0700 iwlwifi: prevent read outside array bounds With EDCA and HCCA we have 16 potential tid values. This is accommodated by mac80211, but iwlwifi only supports EDCA. With this implementation it is thus possible for mac80211 to request a tid that will cause iwlwifi to read outside array bounds. A similar problem exists if traffic is received in an unsupported category. We add error checking to catch these situations. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a8b875e7dc80ff442698d8cf4f45ccce400a6a66 Author: Jussi Kivilinna Date: Thu Aug 13 20:39:31 2009 +0300 cfg80211: export cfg80211_wext_siwfreq cfg80211_wext_siwfreq() should be exported with EXPORT_SYMBOL_GPL. Signed-off-by: Jussi Kivilinna Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 7021f62a46d4866fecd7b31cbc359d742876bb61 Author: Gábor Stefanik Date: Thu Aug 13 17:27:31 2009 +0200 b43: LP-PHY: Initialize TX power control The HW TX power control init still needs work. The SW init is complete according to the specs. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 2f19c287fecb958eb68b1c2199b4dd6e00ba4276 Author: Gábor Stefanik Date: Thu Aug 13 16:51:51 2009 +0200 b43: Update dummy transmission to match V4 specs The V4 dummy transmission has two extra bools in its prototype, so update all callers with the 2 bools. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 4cdc115fd38b54642e8536a5c2389483bcb9b2e9 Author: Takashi Iwai Date: Thu Aug 20 16:40:16 2009 +0200 ALSA: pcm - Fix drain behavior in non-blocking mode The current PCM core has the following problems regarding PCM draining in non-blocking mode: - the current f_flags isn't checked in snd_pcm_drain(), thus changing the mode dynamically via snd_pcm_nonblock() after open doesn't work. - calling drain in non-blocking mode just return -EAGAIN error, but doesn't provide any way to sync with draining. This patch fixes these issues. - check file->f_flags in snd_pcm_drain() properly - when O_NONBLOCK is set, PCM core sets the stream(s) to DRAIN state but quits ioctl immediately without waiting the whole drain; the caller can sync the drain manually via poll() Signed-off-by: Takashi Iwai commit cde7e5ca4e329a157108769d1f752d191cbb71c6 Author: Hiroshi Shimamoto Date: Tue Aug 18 13:01:01 2009 +0900 sched: Use for_each_class macro in move_one_task() Replace for loop with the macro for_each_class to cleanup. Signed-off-by: Hiroshi Shimamoto LKML-Reference: <4A8A277D.4090304@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 4539f07701b3f743580d19dc5d655fb8d21b0a3c Author: Li Zefan Date: Thu Aug 20 16:13:35 2009 +0800 tracing/syscalls: Fix the output of syscalls with no arguments Before: # echo 1 > events/syscalls/sys_enter_sync/enable # cat events/syscalls/sys_enter_sync/format ... field:int nr; offset:12; size:4; print fmt: "# sync # cat trace ... sync-8950 [000] 2366.087670: sys_sync( After: # echo 1 > events/syscalls/sys_enter_sync/enable # cat events/syscalls/sys_enter_sync/format ... field:int nr; offset:12; size:4; print fmt: "" # sync # cat trace sync-2134 [001] 136.780735: sys_sync() Reported-by: Masami Hiramatsu Signed-off-by: Li Zefan Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Jason Baron Cc: Masami Hiramatsu LKML-Reference: <4A8D05AF.20103@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit affbb8c6e690be2196258e65f3cc92d55b18d9fa Author: Jiri Kosina Date: Thu Aug 20 12:04:14 2009 +0200 HID: support larger reports than 64 bytes in hiddev hiddev userspace driver uses a rignbuffer to store the parsed usages that should be returned through read(). This buffer is 64 bytes long, which is sufficient for queueing single USB 1.0 low-speed report, which is of maximum size 48 bytes. There are however USB HID devices which are full-speed USB devices, and therefore they are free to produce reports 64 bytes long. This is correctly handled by HID core, but read() on hiddev node gets stuck forever, because the ring buffer loops infinitely (as it is exactly 64 bytes long as well), never advancing the buffer pointer. Plus, the core driver is ready to handle highspeed devices, so we should be able to handle reports from such devices in the hiddev driver as well, which means we need larger ringbuffer. Reported-by: Michael Zeisel Signed-off-by: Jiri Kosina commit bb81b2ddfa194b6d12761a350b5b5985cecae0a9 Author: John Linn Date: Thu Aug 20 02:52:16 2009 -0700 net: add Xilinx emac lite device driver This patch adds support for the Xilinx Ethernet Lite device. The soft logic core from Xilinx is typically used on Virtex and Spartan designs attached to either a PowerPC or a Microblaze processor. Signed-off-by: Sadanand M Signed-off-by: John Linn Signed-off-by: David S. Miller commit 36f87a4a29cb8cd291169483079fde34bad4ef16 Author: Steffen Klassert Date: Thu Aug 20 17:58:04 2009 +1000 crypto: xcbc - Fix alignment calculation of xcbc_tfm_ctx The alignment calculation of xcbc_tfm_ctx uses alg->cra_alignmask and not alg->cra_alignmask + 1 as it should. This led to frequent crashes during the selftest of xcbc(aes-asm) on x86_64 machines. This patch fixes this. Also we use the alignmask of xcbc and not the alignmask of the underlying algorithm for the alignmnent calculation in xcbc_create now. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 4e4ed83be6a64c8c9fe69c77f37a26bb62ed21f7 Author: Neil Horman Date: Thu Aug 20 17:54:16 2009 +1000 crypto: fips - Depend on ansi_cprng What about something like this? It defaults the CPRNG to m and makes FIPS dependent on the CPRNG. That way you get a module build by default, but you can change it to y manually during config and still satisfy the dependency, and if you select N it disables FIPS as well. I rather like that better than making FIPS a tristate. I just tested it out here and it seems to work well. Let me know what you think Signed-off-by: Neil Horman Signed-off-by: Herbert Xu commit fc69f4a6af49ee69475dc4217924d9edf77760e0 Author: Tai-hwa Liang Date: Sun May 10 18:15:39 2009 -0700 Input: add new driver for Sentelic Finger Sensing Pad This is the driver for Sentelic Finger Sensing Pad which can be found on MSI WIND Netbook. Signed-off-by: Tai-hwa Liang Signed-off-by: Dmitry Torokhov commit 3b72094409ab673d096b3852f4636be540780faf Author: Dmitry Torokhov Date: Tue Aug 18 11:45:02 2009 -0700 Input: psmouse - allow defining read-only attributes Signed-off-by: Dmitry Torokhov commit 4f0dbc2781b9dc457159b676289f874ab2dc3560 Merge: 3c15a68 20002de Author: Benjamin Herrenschmidt Date: Thu Aug 20 11:07:56 2009 +1000 Merge commit 'paulus-perf/master' into next commit 3c15a68880023722fc794018768df556f438ae98 Author: Stephen Rothwell Date: Mon Aug 10 17:14:55 2009 +0000 powerpc: use consistent types in mktree gcc v4.4 currently produces this build warning: arch/powerpc/boot/mktree.c: In function 'main': arch/powerpc/boot/mktree.c:104: warning: dereferencing type-punned pointer will break strict-aliasing rules tmpbuf is only used as an array of unsigned ints, so declare it that way. Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 903444e4297264ec0959e886695911659edb425c Author: Michael Ellerman Date: Sun Aug 9 19:06:24 2009 +0000 powerpc/vmlinux.lds: Move _edata down Currently _edata does not include several data sections, this causes the kernel's report of memory usage at boot to not match reality, and also prevents kmemleak from working - because it scan between _sdata and _edata for pointers to allocated memory. This mirrors a similar change made recently to the x86 linker script. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit a15098c90df1ac2b1bfe1d33dd1c47063213aa9a Author: Michael Ellerman Date: Sun Aug 9 19:02:51 2009 +0000 powerpc: Enable GCOV Make it possible to enable GCOV code coverage measurement on powerpc. Lightly tested on 64-bit, seems to work as expected. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 728656506447b3b349d082a7fb99445f9cb0caaa Author: Roel Kluin Date: Thu Aug 6 13:00:37 2009 +0000 powerpc/hvsi: Avoid calculating possibly-invalid address Check whether index is within bounds prior to calculating a possibly-invalid address. Signed-off-by: Roel Kluin Cc: Bernd Petrovitsch Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Benjamin Herrenschmidt commit 6826a57d1abc8ac9f59b24f1a008554c6560a995 Author: Christoph Hellwig Date: Wed Aug 5 12:24:45 2009 +0000 powerpc: Switch to asm-generic/hardirq.h hardirq.h on powerpc defines a __last_jiffy_stamp field, but it's not actually used anywhere. Signed-off-by: Christoph Hellwig Signed-off-by: Benjamin Herrenschmidt commit e8a5f900148d058bce2d7bdce3d6bcbcb40267ec Author: Michel Dänzer Date: Tue Aug 4 11:51:04 2009 +0000 agp/uninorth: Simplify cache flushing. Map the GART table uncached, so we don't always need to flush the CPU caches explicitly after updates. Signed-off-by: Michel Dänzer Signed-off-by: Benjamin Herrenschmidt commit 52f072cb084bbb460d3a4ae09f0b6efc3e7e8a8c Author: Michel Dänzer Date: Tue Aug 4 11:51:03 2009 +0000 agp/uninorth: Allow larger aperture sizes on pre-U3 bridges. Using the radeon KMS test functionality, I verified that the AGP bridge of the Intrepid2 chipset in my PowerBook supports aperture sizes up to 256M. So allow aperture sizes up to 256M on pre-U3 bridges as well, and bump the default size to 256M. It's possible that older revisions only support smaller sizes, but it'll be easy to verify that with the raden KMS test functionality. Also, there's only a problem on an actual attempt to access the aperture beyond the maximum size supported by the hardware, and non-KMS X still defaults to using only 32M. Also use ARRAY_SIZE for the aperture size arrays. Signed-off-by: Michel Dänzer Signed-off-by: Benjamin Herrenschmidt commit fb2881a7134576a6e95a63e3d2f34ea5629db4a1 Author: roel kluin Date: Mon Aug 3 02:41:42 2009 +0000 powerpc/macio: Don't the address of an array element before boundchecking Check whether index is within bounds before grabbing the element. Signed-off-by: Roel Kluin Signed-off-by: Benjamin Herrenschmidt commit 14ea58ad797e4e9b7be755aca0fd3925d0713ede Author: Julia Lawall Date: Sat Aug 1 22:48:27 2009 +0000 powerpc: Use DIV_ROUND_CLOSEST in time init code The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d but is perhaps more readable. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: Benjamin Herrenschmidt commit 9413c8836a16e9d034928a7f9d3ad81bebd71ce9 Author: Geert Uytterhoeven Date: Wed Jul 29 02:06:42 2009 +0000 powerpc/cell: Move CBE_IOPTE_* to As doesn't contain any other hardware specific definitions but only interfaces. Reported-by: Arnd Bergmann Signed-off-by: Geert Uytterhoeven Signed-off-by: Benjamin Herrenschmidt commit 02a606c2c47a2e4714225d0c3513ca03679f01d2 Author: roel kluin Date: Thu Jul 30 06:02:18 2009 +0000 powerpc: Missing tests for NULL after ioremap() Missing tests after ioremap() Signed-off-by: Roel Kluin Signed-off-by: Benjamin Herrenschmidt commit cf68787b68a2011664f1670a827c8f202ddb7c3d Author: Benjamin Krill Date: Mon Jul 27 22:02:39 2009 +0000 powerpc/prom_init: Evaluate mem kernel parameter for early allocation Evaluate mem kernel parameter for early memory allocations. If mem is set no allocation in the region above the given boundary is allowed. The current code doesn't take care about this and allocate memory above the given mem boundary. Signed-off-by: Benjamin Krill Signed-off-by: Benjamin Herrenschmidt commit a888ad451a96881a7e40f40f717d05f1f3b26ad4 Author: Stoyan Gaydarov Date: Tue Jul 21 17:02:31 2009 +0000 powerpc: ARRAY_SIZE changes in pasemi and powermac code These changes were a direct result of using a semantic patch More information can be found at http://www.emn.fr/x-info/coccinelle/ Signed-off-by: Stoyan Gaydarov Signed-off-by: Benjamin Herrenschmidt commit bbdc16f58ed84523e8991f103dceb586e9053e04 Author: Michael Ellerman Date: Wed Jul 15 15:25:22 2009 +0000 kmemleak: Allow kmemleak to be built on powerpc Very lightly tested, doesn't crash the kernel. Signed-off-by: Michael Ellerman Acked-by: Catalin Marinas Signed-off-by: Benjamin Herrenschmidt commit 5b36f1deefa63ef71cd3c3933781318ac61c5469 Author: Julia Lawall Date: Sun Jul 12 10:03:42 2009 +0000 hvc_console: Drop unnecessary NULL test The result of container_of should not be NULL. In particular, in this case the argument to the enclosing function has passed though INIT_WORK, which dereferences it, implying that its container cannot be NULL. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ identifier fn,work,x,fld; type T; expression E1,E2; statement S; @@ static fn(struct work_struct *work) { ... when != work = E1 x = container_of(work,T,fld) ... when != x = E2 - if (x == NULL) S ... } // Signed-off-by: Julia Lawall Signed-off-by: Benjamin Herrenschmidt commit 690a2d074ead1867ca5a1976284ca1c89ebc04c6 Author: Martyn Welch Date: Thu Jul 2 06:12:18 2009 +0000 powerpc/nvram: Allow byte length reads from mmio NVRAM driver Add a byte length read and write interface compatible with the nvram_generic driver interface to the mmio driver. Signed-off-by: Martyn Welch Signed-off-by: Benjamin Herrenschmidt commit ae142e0c52b38e44d28b12f77c6e7faa96f7a069 Author: Christoph Hellwig Date: Fri Jun 12 04:31:52 2009 +0000 powerpc/sputrace: Use the generic event tracer I wrote sputrace before generic tracing infrastrucure was available. Now that we have the generic event tracer we can convert it over and remove a lot of code: 8 files changed, 45 insertions(+), 285 deletions(-) To use it make sure CONFIG_EVENT_TRACING is enabled and then enable the spufs trace channel by echo 1 > /sys/kernel/debug/tracing/events/spufs/spufs_context/enable and then read the trace records using e.g. cat /sys/kernel/debug/tracing/trace Signed-off-by: Christoph Hellwig Acked-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt commit 797a747a82e23530ee45d2927bf84f3571c1acb2 Author: Kumar Gala Date: Tue Aug 18 15:21:40 2009 +0000 powerpc/mm: Fix assert_pte_locked to work properly on uniprocessor Since the pte_lockptr is a spinlock it gets optimized away on uniprocessor builds so using spin_is_locked is not correct. We can use assert_spin_locked instead and get the proper behavior between UP and SMP builds. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 433abcdf321322495d83c8b571bdf7134622c734 Author: Martyn Welch Date: Wed Jul 29 22:13:45 2009 +0000 powerpc/86xx: Update GE Fanuc sbc310 DTS Update GE Fanuc DTS to match the alterations suggested during the merge of the ppc9a DTS in commit 740d36ae6344f38c4da64c2ede765d7d2dd1f132 Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 8798b9df26bbc7f3cee686483a0bac68b666bf8f Author: Martyn Welch Date: Tue Jun 30 15:32:38 2009 +0100 powerpc/86xx: Enable XMC site on GE Fanuc SBC310 This patch enables the XMC (PCIe daughter card) site on the SBC310. STG enter the description for the patch above. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 2eaa50e9670ecab9712317723cb7836a4da1c0dc Author: Martyn Welch Date: Tue Jun 30 15:32:26 2009 +0100 powerpc/86xx: Correct reading of information presented in cpuinfo /proc/cpuinfo should be showing the boards revision and the revision of the FPGA fitted. The functions currently used to access this information as incorrect. Additionally the VME geographical address of the PPC9A and it's status as system contoller are available in the board registers. Show these in cpuinfo. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 89f3729642cf33bfbc742b85e134936b562f9731 Author: Anton Vorontsov Date: Sat Jul 25 01:42:30 2009 +0400 powerpc/83xx: Add eSDHC support for MPC837xE-RDB/WLAN boards Actually, the support is already there, but it requires newer U-Boots (to fill-in clock-frequency, and setup pin multiplexing). Though, it appears that on RDB boards USBB pins aren't multiplexed between USB and eSDHC (unlike MDS boards, where USB and eSDHC share pctl and pwrfault pins). So, for RDB boards we can safely setup pinmux and manually fill-in clock-frequency, thus making eSDHC work even with older u-boots. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit c69328d4b93e6885c897155fbacac69a12c5faef Author: Anton Vorontsov Date: Thu Jul 9 22:36:44 2009 +0400 powerpc/85xx: Add support for I2C EEPROMs on MPC8548CDS boards This patch simply adds four eeprom nodes to MPC8548CDS' device tree. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit fda4bd9bac78efd2f9d566c52956d297bc03e8d9 Author: Anton Vorontsov Date: Sat Jul 25 01:42:17 2009 +0400 powerpc/83xx: Add support for MPC8377E-WLAN boards MPC8377E-WLAN are basically RDB boards except: - RAM extended to 512 MB; - NAND flash removed, NOR flash extended to 64 MB; - Vitesse VSC7385 5-port switch removed, RTL8211B PHY added; - Power management MCU removed; - PCI slot removed, another mini-PCI slot added (IRQ routing changed); - USB3300 PHY's ID pin grounded, thus USB port is host-only. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 3475dd8a68a7c705bee88b143422ba02cb9a796b Author: Julia Lawall Date: Sat Aug 1 10:52:51 2009 +0200 powerpc/qe: introduce missing kfree Error handling code following a kzalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Acked-by: Timur Tabi Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 7a626b66bbd17e775cf2210e560b29383110290e Author: Julia Lawall Date: Sun Aug 2 10:44:53 2009 +0200 powerpc/ipic: introduce missing kfree Error handling code following a kzalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 9239c89bc9c51c412b89eb8040077eaaee361326 Author: Heiko Schocher Date: Mon Aug 3 09:34:50 2009 +0200 powerpc/82xx: mgcoge - updates for 2.6.32 - add I2C support - add FCC1 and FCC2 support - fix bogus gpio numbering in plattform code Signed-off-by: Heiko Schocher Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 8640d3bf71fa0f25adf86527fe69a32372427d4b Author: Sebastian Andrzej Siewior Date: Wed Aug 5 21:41:12 2009 +0200 powerpc/ipic: unmask all interrupt sources in case the interrupt controller was used in an earlier life then it is possible it is that some of its sources were used and are still unmask. If the (unmasked) device is active and is creating interrupts (or one interrupts was pending since the interrupts were disabled) then the boot process "ends" very soon. Once external interrupts are enabled, we land in -> do_IRQ -> call ppc_md.get_irq() -> ipic_read() gets the source number -> irq_linear_revmap(source) -> revmap[source] == NO_IRQ -> irq_find_mapping(source) returns NO_IRQ because no source is registered -> source is NO_IRQ, ppc_spurious_interrupts gets incremented, no further action. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 6c75933c00049bee59562a18843a4f133ec2bfe4 Author: Julia Lawall Date: Fri Aug 7 09:00:34 2009 +0200 powerpc/fsl_rio: Add kmalloc NULL tests Check that the result of kmalloc/kzalloc is not NULL before dereferencing it. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression *x; identifier f; constant char *C; @@ x = \(kmalloc\|kcalloc\|kzalloc\)(...); ... when != x == NULL when != x != NULL when != (x || ...) ( kfree(x) | f(...,C,...,x,...) | *f(...,x,...) | *x->f ) // Signed-off-by: Julia Lawall Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 8dcd038a13b8e322c49fe0d3e31a0deaba4fd5fd Author: Roel Kluin Date: Thu Aug 6 16:00:37 2009 -0700 powerpc/fsl-booke: read buffer overflow cam[tlbcam_index] is checked before tlbcam_index < ARRAY_SIZE(cam) Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit b6c316a1f6447d6dd0fd8d443b66643e328e04fa Author: Kumar Gala Date: Thu Jul 30 17:56:54 2009 -0500 powerpc/85xx: Added 36-bit physical device tree for mpc8536ds board Added a device tree that should be similiar to mpc8536ds.dtb except the physical addresses for all IO are above the 4G boundary. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 189339d47d30ad171aa1c95ffc90a6177b3ce4a8 Author: Kumar Gala Date: Thu Jul 30 17:56:38 2009 -0500 powerpc/85xx: Move mpc8536ds.dts to address-cells/size-cells = <2> Change the top-level #address-cells and #size-cells to <2> so the mpc8536ds.dts is easier to deal with both a true 32-bit physical or 36-bit physical address space. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 6b045a818f1d0b9b68c1d47e745d521dd115991a Author: Stefan Roese Date: Wed Jul 29 01:41:06 2009 +0000 powerpc/40x: Update kilauea defconfig to support NAND, RTC and HWMON This patch adds support for the following devices to the Kilauea defconfig file: - PPC4xx NAND controller (NDFC) - I2C RTC (Dallas DS1338) - I2C HWMON (Dallas DS1775) Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt commit 0e8e844246fcf9c38906b62e5d05891dbbda5754 Author: Stefan Roese Date: Wed Jul 29 07:05:11 2009 +0000 powerpc/44x: Update Canyonlands defconfig to support NOR, NAND and RTC This patch adds support for the following devices to the Canyonlands defconfig file: - NOR FLASH - PPC4xx NAND controller (NDFC) - I2C RTC (M41T80) Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt commit 13ae564f1db967dd4ea244f21f3dad6a28fa351c Author: Stefan Roese Date: Wed Jul 29 01:40:56 2009 +0000 powerpc/40x: Update Kilauea dts to support NAND, RTC and HWMON This patch adds support for the following devices to the Kilauea dts: - PPC4xx NAND controller (NDFC) - I2C RTC (Dallas DS1338) - I2C HWMON (Dallas DS1775) Additionally the partitioning of the NOR FLASH is changed. The dtb partition has been missing. Fixed in this patch. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt commit 88eeb72ec4c1ed7defff0f154c5b56798e038e2a Author: Stefan Roese Date: Wed Jul 29 07:05:01 2009 +0000 powerpc/44x: Add NAND support to Canyonlands dts Also some whitespace cleanup in the USB device nodes. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt commit 20d70345f181be6bdd5b0a76a408d0693683bf3d Author: Stefan Roese Date: Wed Jul 29 07:04:46 2009 +0000 powerpc: Add AMCC 460EX/460GT Rev. B support to cputable.c Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt commit 67050b5c3e9992d98554bd224d5a7898cc4881ff Author: Kumar Gala Date: Tue Aug 4 22:33:32 2009 -0500 powerpc/mm: Fix switch_mmu_context to iterate of the proper list of cpus Introduced a temporary variable into our iterating over the list cpus that are threads on the same core. For some reason Ben forgot how for loops work. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit af984b816530b4725b92e01ecfba7c5e3eab910d Author: Benjamin Herrenschmidt Date: Thu Aug 6 13:50:58 2009 +1000 powerpc/mm: Fix encoding of page table cache numbers The mask used to encode the page table cache number in the batch when freeing page tables was too small for the new possible values of MMU page sizes. This increases it along with a comment explaining the constraints. Signed-off-by: Benjamin Herrenschmidt commit 2d27cfd3286966c04d4192a9db5a6c7ea60eebf1 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:59 2009 +0000 powerpc: Remaining 64-bit Book3E support This contains all the bits that didn't fit in previous patches :-) This includes the actual exception handlers assembly, the changes to the kernel entry, other misc bits and wiring it all up in Kconfig. Signed-off-by: Benjamin Herrenschmidt commit 32a74949b7337726e76d69f51c48715431126c6c Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:58 2009 +0000 powerpc/mm: Add support for SPARSEMEM_VMEMMAP on 64-bit Book3E The base TLB support didn't include support for SPARSEMEM_VMEMMAP, though we did carve out some virtual space for it, the necessary support code wasn't there. This implements it by using 16M pages for now, though the page size could easily be changed at runtime if necessary. Signed-off-by: Benjamin Herrenschmidt commit 25d21ad6e799cccd097b9df2a2fefe19a7e1dfcf Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:47 2009 +0000 powerpc: Add TLB management code for 64-bit Book3E This adds the TLB miss handler assembly, the low level TLB flush routines along with the necessary hook for dealing with our virtual page tables or indirect TLB entries that need to be flushes when PTE pages are freed. There is currently no support for hugetlbfs Signed-off-by: Benjamin Herrenschmidt commit a8f7758c1c52a13e031266483efd5525157e43e9 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:45 2009 +0000 powerpc/mm: Move around mmu_gathers definition on 64-bit The definition for the global structure mmu_gathers, used by generic code, is currently defined in multiple places not including anything used by 64-bit Book3E. This changes it by moving to one place common to all processors. Signed-off-by: Benjamin Herrenschmidt commit dce6670aaa7efece0558010b48d5ef9d421154be Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:42 2009 +0000 powerpc: Add PACA fields specific to 64-bit Book3E processors This adds various fields in the PACA that are for use specifically by Book3E processors, such as exception save areas, current pgd pointer, special exceptions kernel stacks etc... Signed-off-by: Benjamin Herrenschmidt commit 13363ab9b9d040ebeace3a1a3a5ddcb13bf0d644 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:39 2009 +0000 powerpc: Add definitions used by exception handling on 64-bit Book3E This adds various definitions and macros used by the exception and TLB miss handling on 64-bit BookE It also adds the definitions of the SPRGs used for various exception types Signed-off-by: Benjamin Herrenschmidt commit 57e2a99f74b0d3720c97a6aadb57ae6aad3c61ea Author: Benjamin Herrenschmidt Date: Tue Jul 28 11:59:34 2009 +1000 powerpc: Add memory management headers for new 64-bit BookE This adds the PTE and pgtable format definitions, along with changes to the kernel memory map and other definitions related to implementing support for 64-bit Book3E. This also shields some asm-offset bits that are currently only relevant on 32-bit We also move the definition of the "linux" page size constants to the common mmu.h file and add a few sizes that are relevant to embedded processors. Signed-off-by: Benjamin Herrenschmidt commit 0257c99cdfaca53a881339e1cbca638c61569b05 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:34 2009 +0000 powerpc: Add SPR definitions for new 64-bit BookE This adds various SPRs defined on 64-bit BookE, along with changes to the definition of the base MSR values to add the values needed for 64-bit Book3E. Signed-off-by: Benjamin Herrenschmidt commit c7cc58a1ad8dfe3c199d3b6ce50412b86dd3edaf Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:28 2009 +0000 powerpc/mm: Rework & cleanup page table freeing code path That patch used to just add a hook to page table flushing but pulling that string brought out a whole bunch of issues, so it now does that and more: - We now make the RCU batching of page freeing SMP only, as I believe it was intended initially. We make a few more things compile to nothing on !CONFIG_SMP - Some macros are turned into functions, though that forced me to out of line a few stuffs due to unsolvable include depenencies, however it's probably better that way anyway, it's not -that- critical code path. - 32-bit didn't call pte_free_finish() on tlb_flush() which means that it wouldn't push out the batch to RCU for delayed freeing when a bunch of page tables have been freed, they would just stay in there until the batch gets full. 64-bit BookE will use that hook to maintain the virtually linear page tables or the indirect entries in the TLB when using the HW loader. Signed-off-by: Benjamin Herrenschmidt commit cf54dc7cd4f9aab55cd3e1794b0b74c3c88cd1a0 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:28 2009 +0000 powerpc: Move definitions of secondary CPU spinloop to header file Those definitions are currently declared extern in the .c file where they are used, move them to a header file instead. Signed-off-by: Benjamin Herrenschmidt commit 747bea91b764aefd59091ebff80f182282f1d23c Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:27 2009 +0000 powerpc: Clean ifdef usage in copy_thread() Currently, a single ifdef covers SLB related bits and more generic ppc64 related bits, split this in two separate ifdef's since 64-bit BookE will need one but not the other. Signed-off-by: Benjamin Herrenschmidt Acked-by: Benjamin Herrenschmidt commit 6f0ef0f505af1ce6e9756087a9d4cc3778bae8c6 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:26 2009 +0000 powerpc/mm: Call mmu_context_init() from ppc64 Our 64-bit hash context handling has no init function, but 64-bit Book3E will use the common mmu_context_nohash.c code which does, so define an empty inline mmu_context_init() for 64-bit server and call it from our 64-bit setup_arch() Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala commit d4e167da4cb60910f6ac305aee03714937f70b71 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:24 2009 +0000 powerpc/mm: Make low level TLB flush ops on BookE take additional args We need to pass down whether the page is direct or indirect and we'll need to pass the page size to _tlbil_va and _tlbivax_bcast We also add a new low level _tlbil_pid_noind() which does a TLB flush by PID but avoids flushing indirect entries if possible This implements those new prototypes but defines them with inlines or macros so that no additional arguments are actually passed on current processors. Signed-off-by: Benjamin Herrenschmidt commit 44c58ccc8dc25f78a4f641901f17092c93dd0458 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:20 2009 +0000 powerpc: Modify some ppc_asm.h macros to accomodate 64-bits Book3E The way I intend to use tophys/tovirt on 64-bit BookE is different from the "trick" that we currently play for 32-bit BookE so change the condition of definition of these macros to make it so. Also, make sure we only use rfid and mtmsrd instead of rfi and mtmsr for 64-bit server processors, not all 64-bit processors. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala commit a245067e204f69c69abf92d94fc45ec65bf1f07e Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:16 2009 +0000 powerpc/mm: Add support for early ioremap on non-hash 64-bit processors This adds some code to do early ioremap's using page tables instead of bolting entries in the hash table. This will be used by the upcoming 64-bits BookE port. The patch also changes the test for early vs. late ioremap to use slab_is_available() instead of our old hackish mem_init_done. Signed-off-by: Benjamin Herrenschmidt commit 1fe1a21005c14ad772caeb9005580f473c4b6c57 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:12 2009 +0000 powerpc/mm: Add more bit definitions for Book3E MMU registers This adds various additional bit definitions for various MMU related SPRs used on Book3E. Signed-off-by: Benjamin Herrenschmidt commit 29c09e8fbaf65698c51aeffe34acc284a454a38f Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:11 2009 +0000 powerpc/mm: Add opcode definitions for tlbivax and tlbsrx. This adds the opcode definitions to ppc-opcode.h for the two instructions tlbivax and tlbsrx. as defined by Book3E 2.06 Signed-off-by: Benjamin Herrenschmidt commit fcce810986b3f32a8322faf240f8cc5560a4c463 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:10 2009 +0000 powerpc/mm: Add HW threads support to no_hash TLB management The current "no hash" MMU context management code is written with the assumption that one CPU == one TLB. This is not the case on implementations that support HW multithreading, where several linux CPUs can share the same TLB. This adds some basic support for this to our context management and our TLB flushing code. It also cleans up the optional debugging output a bit Signed-off-by: Benjamin Herrenschmidt commit 6c1719942e19936044c4673b18afa26e45a02320 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:07 2009 +0000 powerpc/of: Remove useless register save/restore when calling OF back enter_prom() used to save and restore registers such as CTR, XER etc.. which are volatile, or SRR0,1... which we don't care about. This removes a bunch of useless code and while at it turns an mtmsrd into an MTMSRD macro which will be useful to Book3E. Signed-off-by: Benjamin Herrenschmidt commit 7d60b02cc7e6d67b498eed9ecb58010f61422325 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:04 2009 +0000 powerpc/mm: Fix misplaced #endif in pgtable-ppc64-64k.h A misplaced #endif causes more definitions than intended to be protected by #ifndef __ASSEMBLY__. This breaks upcoming 64-bit BookE support patch when using 64k pages. Signed-off-by: Benjamin Herrenschmidt commit dd90bbd5fb763ab8924135a30956030c7a7b94fc Author: Benjamin Herrenschmidt Date: Tue Jul 28 11:54:32 2009 +1000 powerpc: Add compat_sys_truncate The truncate syscall has a signed long parameter, so when using a 32- bit userspace with a 64-bit kernel the argument is zero-extended instead of sign-extended. Adding the compat_sys_truncate function fixes the issue. This was noticed during an LSB truncate test failure. The test was checking for the correct error number set when truncate is called with a length of -1. The test can be found at: http://bzr.linuxfoundation.org/lsb/devel/runtime-test?cmd=inventory;rev=stewb%40linux-foundation.org-20090626205411-sfb23cc0tjj7jzgm;path=modules/vsx-pcts/tset/POSIX.os/files/truncate/ BenH: Added compat_sys_ftruncate() as well, same issue. Signed-off-by: Chase Douglas Signed-off-by: Benjamin Herrenschmidt commit c79b29735d28d819380b584d6707b4110ee759f3 Author: Lucian Adrian Grijincu Date: Thu Jul 23 00:13:37 2009 +0000 powerpc: Update boot wrapper script with the new location of dtc dtc was moved in 9fffb55f66127b52c937ede5196ebfa0c0d50bce from arch/powerpc/boot/ to scripts/dtc/ This patch updates the wrapper script to point to the new location of dtc. Signed-off-by: Lucian Adrian Grijincu Signed-off-by: Benjamin Herrenschmidt commit f7d4f68d971b8234491b4a0be58aa6f659c1c194 Author: Frans Pop Date: Thu Jul 23 08:57:18 2009 +0000 powerpc: Makefile simplification through use of cc-ifversion Signed-off-by: Frans Pop Acked-by: Sam Ravnborg Signed-off-by: Benjamin Herrenschmidt commit 063517bea114d4cb57bf582353d0a99b82775a63 Author: Benjamin Herrenschmidt Date: Tue Jul 14 20:52:56 2009 +0000 powerpc: Change PACA from SPRG3 to SPRG1 This change the SPRG used to store the PACA on ppc64 from SPRG3 to SPRG1. SPRG3 is user readable on most processors and we want to use it for other things. We change the scratch SPRG used by exception vectors from SRPG1 to SPRG2. Signed-off-by: Benjamin Herrenschmidt commit 527b3639616b21c257518ee7c26fbf05232db0c0 Author: Benjamin Herrenschmidt Date: Tue Jul 14 20:56:58 2009 +0000 powerpc/pmac: Fix PowerSurge SMP IPI allocation The code for setting up the IPIs for SMP PowerSurge marchines bitrot, it needs to properly map the HW interrupt number Signed-off-by: Benjamin Herrenschmidt commit 066c4b87e927985a083481c92b4aebade8fe4ab3 Author: Benjamin Herrenschmidt Date: Tue Jul 21 15:25:53 2009 +0000 powerpc/mm: Fix definitions of FORCE_MAX_ZONEORDER in Kconfig The current definitions set ranges and defaults for 32 and 64-bit only using "PPC_STD_MMU" which means hash based MMU. This uselessly restrict the usefulness for the upcoming 64-bit BookE port, but more than that, it's broken on 32-bit since the only 32-bit platform supporting multiple page sizes currently is 44x which does -not- have PPC_STD_MMU_32 set. This fixes it by using PPC64 and PPC32 instead. Signed-off-by: Benjamin Herrenschmidt commit 2e2ddb24d36106e029f6eeb3df611178a36fb295 Author: roel kluin Date: Tue Jul 21 00:17:17 2009 +0000 powerpc/cell: Replace strncpy by strlcpy Replace strncpy() and explicit null-termination by strlcpy() Signed-off-by: Roel Kluin Signed-off-by: Benjamin Herrenschmidt commit c5a8c0c99f67ae8a784faafbaaea1529825796e2 Author: Benjamin Herrenschmidt Date: Thu Jul 16 19:36:57 2009 +0000 powerpc: Remove use of a second scratch SPRG in STAB code The STAB code used on Power3 and RS/64 uses a second scratch SPRG to save a GPR in order to decide whether to go to do_stab_bolted_* or to handle a normal data access exception. This prevents our scheme of freeing SPRG3 which is user visible for user uses since we cannot use SPRG0 which, on RS/64, seems to be read-only for supervisor mode (like POWER4). This reworks the STAB exception entry to use the PACA as temporary storage instead. Signed-off-by: Benjamin Herrenschmidt commit ee43eb788b3a06425fffb912677e2e1c8b00dd3b Author: Benjamin Herrenschmidt Date: Tue Jul 14 20:52:54 2009 +0000 powerpc: Use names rather than numbers for SPRGs (v2) The kernel uses SPRG registers for various purposes, typically in low level assembly code as scratch registers or to hold per-cpu global infos such as the PACA or the current thread_info pointer. We want to be able to easily shuffle the usage of those registers as some implementations have specific constraints realted to some of them, for example, some have userspace readable aliases, etc.. and the current choice isn't always the best. This patch should not change any code generation, and replaces the usage of SPRN_SPRGn everywhere in the kernel with a named replacement and adds documentation next to the definition of the names as to what those are used for on each processor family. The only parts that still use the original numbers are bits of KVM or suspend/resume code that just blindly needs to save/restore all the SPRGs. Signed-off-by: Benjamin Herrenschmidt commit 8aa34ab8b2dc96ca6c4feecfb87ed13f0d40ef98 Author: Benjamin Herrenschmidt Date: Tue Jul 14 20:52:52 2009 +0000 powerpc: Rename exception.h to exception-64s.h The file include/asm/exception.h contains definitions that are specific to exception handling on 64-bit server type processors. This renames the file to exception-64s.h to reflect that fact and avoid confusion. Signed-off-by: Benjamin Herrenschmidt commit de4376c2846bb5a8fc6fe8dbd0e4ff30905493e6 Author: Anton Blanchard Date: Mon Jul 13 20:53:53 2009 +0000 powerpc: Preload application text segment instead of TASK_UNMAPPED_BASE TASK_UNMAPPED_BASE is not used with the new top down mmap layout. We can reuse this preload slot by loading in the segment at 0x10000000, where almost all PowerPC binaries are linked at. On a microbenchmark that bounces a token between two 64bit processes over pipes and calls gettimeofday each iteration (to access the VDSO), both the 32bit and 64bit context switch rate improves (tested on a 4GHz POWER6): 32bit: 273k/sec -> 283k/sec 64bit: 277k/sec -> 284k/sec Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 5eb9bac0406f2beb84b21aac6feb89d33d9f3f5c Author: Anton Blanchard Date: Mon Jul 13 20:53:52 2009 +0000 powerpc: Rearrange SLB preload code With the new top down layout it is likely that the pc and stack will be in the same segment, because the pc is most likely in a library allocated via a top down mmap. Right now we bail out early if these segments match. Rearrange the SLB preload code to sanity check all SLB preload addresses are not in the kernel, then check all addresses for conflicts. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 30d0b3682887a81f0335b42f20116fd40d743371 Author: Anton Blanchard Date: Mon Jul 13 20:53:51 2009 +0000 powerpc: Move 64bit VDSO to improve context switch performance On 64bit applications the VDSO is the only thing in segment 0. Since the VDSO is position independent we can remove the hint and let get_unmapped_area pick an area. This will mean the vdso will be near other mmaps and will share an SLB entry: 10000000-10001000 r-xp 00000000 08:06 5778459 /root/context_switch_64 10010000-10011000 r--p 00000000 08:06 5778459 /root/context_switch_64 10011000-10012000 rw-p 00001000 08:06 5778459 /root/context_switch_64 fffa92ae000-fffa92b0000 rw-p 00000000 00:00 0 fffa92b0000-fffa9453000 r-xp 00000000 08:06 4334051 /lib64/power6/libc-2.9.so fffa9453000-fffa9462000 ---p 001a3000 08:06 4334051 /lib64/power6/libc-2.9.so fffa9462000-fffa9466000 r--p 001a2000 08:06 4334051 /lib64/power6/libc-2.9.so fffa9466000-fffa947c000 rw-p 001a6000 08:06 4334051 /lib64/power6/libc-2.9.so fffa947c000-fffa9480000 rw-p 00000000 00:00 0 fffa9480000-fffa94a8000 r-xp 00000000 08:06 4333852 /lib64/ld-2.9.so fffa94b3000-fffa94b4000 rw-p 00000000 00:00 0 fffa94b4000-fffa94b7000 r-xp 00000000 00:00 0 [vdso] <----- here I am fffa94b7000-fffa94b8000 r--p 00027000 08:06 4333852 /lib64/ld-2.9.so fffa94b8000-fffa94bb000 rw-p 00028000 08:06 4333852 /lib64/ld-2.9.so fffa94bb000-fffa94bc000 rw-p 00000000 00:00 0 fffe4c10000-fffe4c25000 rw-p 00000000 00:00 0 [stack] On a microbenchmark that bounces a token between two 64bit processes over pipes and calls gettimeofday each iteration (to access the VDSO), our context switch rate goes from 268k to 277k ctx switches/sec (tested on a 4GHz POWER6). Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 0d2d3e38f72e400f602dade3f0ddffe0b3b9d4df Author: Geoff Thorpe Date: Tue Jul 7 15:23:56 2009 +0000 powerpc: expose the multi-bit ops that underlie single-bit ops. The bitops.h functions that operate on a single bit in a bitfield are implemented by operating on the corresponding word location. In all cases the inner logic is valid if the mask being applied has more than one bit set, so this patch exposes those inner operations. Indeed, set_bits() was already available, but it duplicated code from set_bit() (rather than making the latter a wrapper) - it was also missing the PPC405_ERR77() workaround and the "volatile" address qualifier present in other APIs. This corrects that, and exposes the other multi-bit equivalents. One advantage of these multi-bit forms is that they allow word-sized variables to essentially be their own spinlocks, eg. very useful for state machines where an atomic "flags" variable can obviate the need for any additional locking. Signed-off-by: Geoff Thorpe Signed-off-by: Benjamin Herrenschmidt commit 11a6b292c1bc9cb39970e44edd6958250f23d3a8 Author: Michael Ellerman Date: Sun Jul 5 16:08:52 2009 +0000 powerpc/mpic: Fix MPIC_BROKEN_REGREAD on non broken MPICs The workaround enabled by CONFIG_MPIC_BROKEN_REGREAD does not work on non-broken MPICs. The symptom is no interrupts being received. The fix is twofold. Firstly the code was broken for multiple isus, we need to index into the shadow array with the src_no, not the idx. Secondly, we always do the read, but only use the VECPRI_MASK and VECPRI_ACTIVITY bits from the hardware, the rest of "val" comes from the shadow. Signed-off-by: Michael Ellerman Signed-off-by: Olof Johansson Signed-off-by: Benjamin Herrenschmidt commit 66dc3304f3875ea85c630a57a88ecf79032890c4 Author: Gerhard Pircher Date: Fri Jun 19 11:40:57 2009 +0000 powerpc/amigaone: Convert amigaone_init() to a machine_device_initcall() This allows to remove the ppc_md.init() hook in the setup code. Signed-off-by: Gerhard Pircher Signed-off-by: Benjamin Herrenschmidt commit e1af88a1ad8f4dea3a2d6c5637d94a3fc3c62994 Author: Jan Kara Date: Wed Aug 19 18:04:43 2009 +0200 nfs: Remove reference to generic_osync_inode from a comment generic_file_direct_write() no longer calls generic_osync_inode() so remove the comment. CC: linux-nfs@vger.kernel.org CC: Neil Brown CC: "J. Bruce Fields" Signed-off-by: Jan Kara Signed-off-by: Trond Myklebust commit ece13879e74313e62109e0755dd3d4f172df89e2 Merge: b08dc3e 6c30c53 Author: James Morris Date: Thu Aug 20 09:18:42 2009 +1000 Merge branch 'master' into next Conflicts: security/Kconfig Manual fix. Signed-off-by: James Morris commit f7e86ab92f2198d30828a1a327ad2085e4a7ff7d Author: Trond Myklebust Date: Wed Aug 19 18:13:00 2009 -0400 SUNRPC: cache must take a reference to the cache detail's module on open() Otherwise we Oops if the module containing the cache detail is removed before all cache readers have closed the file. Signed-off-by: Trond Myklebust commit 7d7ea882898f23989209d0359691b356f73240dc Author: Trond Myklebust Date: Wed Aug 19 18:12:34 2009 -0400 NFS: Use the DNS resolver in the mount code. In the referral code, use it to look up the new server's ip address if the fs_locations attribute contains a hostname. Signed-off-by: Trond Myklebust commit e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1 Author: Trond Myklebust Date: Wed Aug 19 18:12:27 2009 -0400 NFS: Add a dns resolver for use with NFSv4 referrals and migration The NFSv4 and NFSv4.1 protocols both allow for the redirection of a client from one server to another in order to support filesystem migration and replication. For full protocol support, we need to add the ability to convert a DNS host name into an IP address that we can feed to the RPC client. We'll reuse the sunrpc cache, now that it has been converted to work with rpc_pipefs. Signed-off-by: Trond Myklebust commit 96c61cbd0f30496bfa57ed80f7131a57aea3e4de Author: Trond Myklebust Date: Wed Aug 19 18:12:21 2009 -0400 SUNRPC: Fix a typo in cache_pipefs_files We want the channel to be a regular file, so that we don't need to supply rpc_pipe_ops. Signed-off-by: Trond Myklebust commit 6a396f67d2442e30150ffb5e1142dbb2f2181d3f Merge: f884dca cccddf4 Author: Trond Myklebust Date: Wed Aug 19 18:21:52 2009 -0400 Merge branch 'nfsv4_xdr_cleanups-for-2.6.32' into nfs-for-2.6.32 Conflicts: fs/nfs/nfs4xdr.c commit 886f9fe68310168358f55028a03553ae154dfeb6 Author: David S. Miller Date: Wed Aug 19 13:55:55 2009 -0700 ppp_generic: Help GCC see that 'flen' is always initialized. It's too stupid to see that we always set flen to something before we use it in ppp_mp_explode(): drivers/net/ppp_generic.c: In function 'ppp_push': drivers/net/ppp_generic.c:1314: warning: 'flen' may be used uninitialized in this function drivers/net/ppp_generic.c:1314: note: 'flen' was declared here This started warning after commit a53a8b56827cc429c6d9f861ad558beeb5f6103f ("ppp: fix lost fragments in ppp_mp_explode() (resubmit)") So just put an explicit unconditional initialization there to hush it up. Signed-off-by: David S. Miller commit f8bae4caaaf56c391f3e2380dd7105e765414178 Author: Mark Brown Date: Wed Aug 19 19:31:46 2009 +0100 ALSA: Restore support for DMAless DAIs on PXA Used for applications such as direct bluetooth connections on smartphones which don't go via the CPU. This used to be supported before the refactoring to share code but this check was removed during that move. Signed-off-by: Mark Brown commit 929122cdd5d4c344e59f9b55f870a8fcf7aa0d27 Author: Dmitry Eremin-Solenikov Date: Fri Aug 14 20:00:20 2009 +0400 Drop ARPHRD_IEEE802154_PHY There are not maste devices in mac802154 anymore, so drop ARPHRD_IEEE802154_PHY definition. Signed-off-by: Dmitry Eremin-Solenikov commit 16eea493da563b5a3356a77c6d8776dffc29d3b6 Author: Dmitry Eremin-Solenikov Date: Wed Aug 19 19:32:24 2009 +0400 ieee802154: add support for channel pages from IEEE 802.15.4-2006 IEEE 802.15.4-2006 adds new concept: channel pages, which can contain several channels. Add support for channel pages in the API and in the fakehard driver. Signed-off-by: Dmitry Eremin-Solenikov commit 81f9510381ee43205564063f2e8650672b11d453 Author: Dmitry Eremin-Solenikov Date: Wed Aug 19 18:56:57 2009 +0400 fakehard: add binding to wpan-phy device Make fakehard create and maintain wpan-phy node, thus representing it's phy in the sysfs. Signed-off-by: Dmitry Eremin-Solenikov commit 2bfb1070ba1fdb8cbc2b0b9ff61a3b0701ab40de Author: Dmitry Eremin-Solenikov Date: Fri Aug 14 16:13:12 2009 +0400 ieee802154: add a sysfs representation of WPAN master devices Add a sysfs/in-kernel representation of LR-WPAN master devices. Signed-off-by: Dmitry Eremin-Solenikov commit a0aea57786fe9c6b62b1a4f28409582520fa494f Author: Dmitry Eremin-Solenikov Date: Wed Aug 19 18:53:39 2009 +0400 ieee802154: document the skb->cb usage clearly. Signed-off-by: Dmitry Eremin-Solenikov commit 5086c389cb897c7ad66c1cacd1abb5ffebaa74b2 Author: Amerigo Wang Date: Wed Aug 19 21:44:13 2009 +0300 SLUB: Fix some coding style issues Signed-off-by: WANG Cong Signed-off-by: Pekka Enberg commit 454e134d0e9e38421830f26426c66f37a6d39465 Merge: 1c11ce8 3abf2f3 Author: Takashi Iwai Date: Wed Aug 19 20:10:24 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 474e09ca017bd0f6e9bf41af643364a21bc27f43 Author: Mark Brown Date: Wed Aug 19 14:18:53 2009 +0100 ASoC: Provide default set_bias_level() implementation If the CODEC does not provide a set_bias_level() then update the bias_level variable for it since other parts of the system expect that to be maintained. Signed-off-by: Mark Brown commit 540b7b8d65575c80162f2a0f38e1d313c92a6042 Author: Li Zefan Date: Wed Aug 19 15:54:51 2009 +0800 tracing/syscalls: Add filtering support Add filtering support for syscall events: # echo 'mode == 0666' > events/syscalls/sys_enter_open # echo 'ret == 0' > events/syscalls/sys_exit_open # echo 1 > events/syscalls/sys_enter_open # echo 1 > events/syscalls/sys_exit_open # cat trace ... modprobe-3084 [001] 117.463140: sys_open(filename: 917d3e8, flags: 0, mode: 1b6) modprobe-3084 [001] 117.463176: sys_open -> 0x0 less-3086 [001] 117.510455: sys_open(filename: 9c6bdb8, flags: 8000, mode: 1b6) sendmail-2574 [001] 122.145840: sys_open(filename: b807a365, flags: 0, mode: 1b6) ... Signed-off-by: Li Zefan Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A8BAFCB.1040006@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e647d6b314266adb904d4b84973eda0afa856946 Author: Li Zefan Date: Wed Aug 19 15:54:32 2009 +0800 tracing/events: Add trace_define_common_fields() Extract duplicate code. Also prepare for the later patch. Signed-off-by: Li Zefan Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A8BAFB8.1010304@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 14be96c9716cb8c46dca94bd890defd7856e0734 Author: Li Zefan Date: Wed Aug 19 15:53:52 2009 +0800 tracing/events: Add ftrace_event_call param to define_fields() This parameter is needed by syscall events to add define_fields() handler. Signed-off-by: Li Zefan Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A8BAF90.6060801@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 10a5b66f625904ad5a2867cf7a28073e1236ff32 Author: Li Zefan Date: Wed Aug 19 15:53:05 2009 +0800 tracing/syscalls: Add fields format for exit events Add "format" file for syscall exit events: # cat events/syscalls/sys_exit_open/format name: sys_exit_open ID: 344 format: field:unsigned short common_type; offset:0; size:2; field:unsigned char common_flags; offset:2; size:1; field:unsigned char common_preempt_count; offset:3; size:1; field:int common_pid; offset:4; size:4; field:int common_tgid; offset:8; size:4; field:int nr; offset:12; size:4; field:unsigned long ret; offset:16; size:4; Signed-off-by: Li Zefan Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A8BAF61.3060307@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e6971969c331caa5c3c88cbd1be4f465b3355452 Author: Li Zefan Date: Wed Aug 19 15:52:25 2009 +0800 tracing/syscalls: Fix fields format for enter events The "format" file of a trace event is originally for parsers to parse ftrace binary output. But the "format" file of a syscall event can only be used by perfcounter, because it describes the format of struct syscall_enter_record not struct syscall_trace_enter. To fix this, we remove struct syscall_enter_record, and then struct syscall_trace_enter will be used by both perf profile and ftrace. Signed-off-by: Li Zefan Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A8BAF39.1030404@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 5e9ad7df9fd056f1071af8aa91034a1c3170257d Author: Ingo Molnar Date: Tue Aug 18 10:41:57 2009 +0200 [S390] ftrace: update system call tracer support Commit fb34a08c3 ("tracing: Add trace events for each syscall entry/exit") changed the lowlevel API to ftrace syscall tracing but did not update s390 which started making use of it recently. This broke the s390 build, as reported by Paul Mundt. Update the callbacks with the syscall number and the syscall return code values. This allows per syscall tracepoints, syscall argument enumeration /debug/tracing/events/syscalls/ and perfcounters support and integration on s390 too. Reported-by: Paul Mundt Acked-by: Martin Schwidefsky Cc: Heiko Carstens Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 1423cc033df017c762a9155eec470da77a460141 Author: Paul E. McKenney Date: Tue Aug 18 23:06:14 2009 -0700 rcu: Delay rcu_barrier() wait until beginning of next CPU-hotunplug operation. Ingo Molnar reported this lockup: [ 200.380003] Hangcheck: hangcheck value past margin! [ 248.192003] INFO: task S99local:2974 blocked for more than 120 seconds. [ 248.194532] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 248.202330] S99local D 0000000c 6256 2974 2687 0x00000000 [ 248.208929] 9c7ebe90 00000086 6b67ef8b 0000000c 9f25a610 81a69869 00000001 820b6990 [ 248.216123] 820b6990 820b6990 9c6e4c20 9c6e4eb4 82c78990 00000000 6b993559 0000000c [ 248.220616] 9c7ebe90 8105f22a 9c6e4eb4 9c6e4c20 00000001 9c7ebe98 9c7ebeb4 81a65cb3 [ 248.229990] Call Trace: [ 248.234049] [<81a69869>] ? _spin_unlock_irqrestore+0x22/0x37 [ 248.239769] [<8105f22a>] ? prepare_to_wait+0x48/0x4e [ 248.244796] [<81a65cb3>] rcu_barrier_cpu_hotplug+0xaa/0xc9 [ 248.250343] [<8105f029>] ? autoremove_wake_function+0x0/0x38 [ 248.256063] [<81062cf2>] notifier_call_chain+0x49/0x71 [ 248.261263] [<81062da0>] raw_notifier_call_chain+0x11/0x13 [ 248.266809] [<81a0b475>] _cpu_down+0x272/0x288 [ 248.271316] [<81a0b4d5>] cpu_down+0x4a/0xa2 [ 248.275563] [<81a0c48a>] store_online+0x2a/0x5e [ 248.280156] [<81a0c460>] ? store_online+0x0/0x5e [ 248.284836] [<814ddc35>] sysdev_store+0x20/0x28 [ 248.289429] [<8112e403>] sysfs_write_file+0xb8/0xe3 [ 248.294369] [<8112e34b>] ? sysfs_write_file+0x0/0xe3 [ 248.299396] [<810e4c8f>] vfs_write+0x91/0x120 [ 248.303817] [<810e4dc1>] sys_write+0x40/0x65 [ 248.308150] [<81002d73>] sysenter_do_call+0x12/0x28 This change moves an RCU grace period delay off of the critical path for CPU-hotunplug operations. Since RCU callback migration is only performed on CPU-hotunplug operations, and since the rcu_barrier() race is provoked only by consecutive CPU-hotunplug operations, it is not necessary to delay the end of a given CPU-hotunplug operation. We can instead choose to delay the beginning of the next CPU-hotunplug operation. Reported-by: Ingo Molnar Signed-off-by: Paul E. McKenney Cc: Josh Triplett Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <20090819060614.GA14383@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 1c11ce8118c2055501aa03644a660c7b1e5120c7 Merge: fdbc662 ae70944 Author: Takashi Iwai Date: Wed Aug 19 12:11:06 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 0c3f450b8b345dafa79f1cc69eda702e0293b0cc Author: Stephen Hemminger Date: Tue Aug 18 15:17:11 2009 +0000 sky2: version 1.25 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 724b694225e711f95e6265afdbc304c9e7eb3721 Author: Stephen Hemminger Date: Tue Aug 18 15:17:10 2009 +0000 sky2: no recycling Recycling turns out to be a bad idea! For most use cases, the packet can not be reused: TCP packets are cloned. Even for the ideal case of forwarding, it hurts performance because of CPU ping/pong. On a multi-core system forwarding of 64 byte packets is worse much worse: recycling = 24% forwarded vs no recycling = 42% forwarded Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6b84dacadbdc3dab6a5b313d20d5a93b0d998641 Author: Stephen Hemminger Date: Tue Aug 18 15:17:09 2009 +0000 sky2: optimize transmit completion Don't reference the list element in hardware transmit ring on transmit completion. The list element is updated by hardware, therefore it causes a cache miss. Do book keeping in software structure. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ee5f68fea27b53b16c265b1f9ed8aa3bc9024c96 Author: Stephen Hemminger Date: Tue Aug 18 15:17:08 2009 +0000 sky2: dynamic size transmit ring Allocate and size transmit ring based on parameters. Saves excess space and allows configuring larger rings for testing. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c119731d6606ae25d787740d60706e2732454637 Author: Stephen Hemminger Date: Tue Aug 18 15:17:07 2009 +0000 sky2: simplify list element error The code for list element error (which should only happen on hardware errors) should be cleaner and safer. Gets rid of unused ring_size argument, which makes next patch easier. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5dce95e5687a5a335202b03d133c1b4411ef7ce3 Author: Stephen Hemminger Date: Tue Aug 18 15:17:06 2009 +0000 sky2: transmit ring 64 bit conservation This patch saves elements on transmit ring by only updating the upper 64 bit address when it changes. With many workloads skb's are located in same region, so it saves space. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d6e74b6b7eda3584a403eebae27f9591a1d9c9ff Author: Stephen Hemminger Date: Tue Aug 18 15:17:05 2009 +0000 sky2: use upper/lower 32 bits Use the existing macros to show where DMA address is being broken apart. This is cosmetic only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 23428e6b4649adfbdaa6a0c93fc6d652bf5f9d44 Author: Ben Hutchings Date: Tue Aug 18 20:13:03 2009 -0700 mdio: mdio_if_info::mmds should not be __bitwise I misunderstood the meaning of __bitwise. In practice it makes sparse warn about every use of mmds which is certainly not what we want. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a7c02602a85a0d3f34331ff34d54de7416085985 Author: Steven Rostedt Date: Thu May 7 11:09:55 2009 -0400 kconfig: test if a .config already exists If one were to run localmodconfig or localyesconfig without having a .config already in the file, then the end of the process would give a warning when it tries to move the old .config to .config.old. This patch adds a test to check if .config exists and avoid the moves if it does not. [ Impact: remove warning after make localmodconfig ] Signed-off-by: Steven Rostedt commit a9024838d029ecd9a6d1389bec798b7296278d6b Author: Steven Rostedt Date: Thu May 7 11:01:34 2009 -0400 kconfig: make local .config default for streamline_config As Andi Kleen pointed out, most people would expect that the local .config file to be based for a streamline config. This patch changes the order of searching for a config file to consider the .config in the local directory first. Reported-by: Andi Kleen Signed-off-by: Steven Rostedt commit 810b2be65610af13d60f1e16c0a0f93cbc1f9d06 Author: Steven Rostedt Date: Thu Apr 30 19:30:04 2009 -0400 kconfig: test for /boot/config-uname after /proc/config.gz in localconfig Many distros put their config in /boot/config-`uname -r`, add a check for that right after /proc/config.gz Reported-by: Alan Jenkins Signed-off-by: Steven Rostedt commit d08ca2771e3aabddc7922d800a386f187c51f8a4 Author: Steven Rostedt Date: Thu Apr 30 19:24:00 2009 -0400 kconfig: unset IKCONFIG_PROC and clean up nesting Due to cut and paste error IKCONFIG was both set and cleared. It was suppose to be IKCONFIG_PROC to be cleared. Also cleaned up if nesting. Reported-by: Alan Jenkins Signed-off-by: Steven Rostedt commit cdfc47950a531199a553cebab0ac481aa7062948 Author: Steven Rostedt Date: Thu Apr 30 14:39:48 2009 -0400 kconfig: search for a config to base the local(mod|yes)config on Instead of using the .config in the local directory. This patch changes streamline_config.pl to search various locations for a config. Here's the list and order of search: /proc/config.gz /boot/vmlinuz-`uname -r` vmlinux # local to the directory /lib/modules/`uname -r`/kernel/kernel/configs.ko kernel/configs.ko kernel/configs.o .config Once it finds a file that contains a config (it checks if the binary objects have configs first) it then uses it to create the .config with minimum modules needed. Signed-off-by: Steven Rostedt commit de481560eb0bd9d940b90311eba85711e4b1150b Author: Steven Rostedt Date: Thu Apr 30 12:32:04 2009 -0400 kconfig: keep config.gz around even if CONFIG_IKCONFIG_PROC is not set If CONFIG_IKCONFIG is set but CONFIG_IKCONFIG_PROC is not, then gcc will optimize the config.gz out, because nobody uses it. This patch adds "__used" to the config.gz data to keep it around so that code like extract-ikconfig can still find it. [ Impact: allow extract-ikconfig to find config.gz ] Signed-off-by: Steven Rostedt commit 6be51ffc1791b72d11cef9bb0a578fe8c5d64c6a Author: Steven Rostedt Date: Thu Apr 30 12:22:20 2009 -0400 kconfig: have extract-ikconfig read ELF files It would be nice to use extract-ikconfig to find the congfig.gz in either vmlinux (not vmlinuz) or configs.ko. This patch changes the script to also be able to read ELF files directly. [ Impact: find config.gz in vmlinux and configs.ko ] Signed-off-by: Steven Rostedt commit fd3132d5815bf72aeec7d5ad87161b4831f8e48c Author: Steven Rostedt Date: Thu Apr 30 12:19:56 2009 -0400 kconfig: add check if end exists in extract-ikconfig Both start and end should be tested for existence before continuing to parse the config.gz file. Signed-off-by: Steven Rostedt commit 744ffcbe867b81e9f467503c85bc5e4f9a586294 Author: Steven Rostedt Date: Thu Apr 30 12:15:10 2009 -0400 kconfig: enable CONFIG_IKCONFIG from streamline_config.pl Ingo Molnar suggested that the streamline_config.pl should enable CONFIG_IKCONFIG to keep the current config in the kernel. Then we can use scripts/extract-ikconfig to find the current modules. This patch changes streamline_config.pl to check if CONFIG_IKCONFIG is not set, and if it is not, it enables it to be a module. [ Impact: make current config options easier to find ] Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit ea2c1894b66301bce565471d6914d49ce91ee015 Author: Steven Rostedt Date: Thu Apr 30 10:59:08 2009 -0400 kconfig: do not warn about modules built in The streamline_config.pl finds all the configs that are needed to compile the currently loaded modules. After it creates the .config file, it tests to make sure all the configs that are needed were set. It only looks at the configs that are modules, it does not look at the builtin configs. This causes unnecessary warnings about modules not being covered. Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 74398d3224c0942c479bef76de542e95c202a478 Author: Steven Rostedt Date: Thu Apr 30 10:17:51 2009 -0400 kconfig: streamline_config.pl do not stop with no depends If a config does not have a prompt, it must be selected. streamline_config.pl keeps track of all configs that select other configs. If a config that does not have a prompt needs to be set to enable a current module, it will include all configs that select it. Note, streamline_config.pl does not enable modules that are not already enabled. It only keeps enabled those that were enabled and might be needed to compile the current modules. The code to find the selects of a config is after the code that adds the depends. But if a config needed selects but had no dependencies, it would not be set. Because the code would stop before getting to the select. Signed-off-by: Steven Rostedt commit 281c9dadc31ffd9f3cf637553134fefe75e849da Author: Steven Rostedt Date: Wed Apr 29 22:52:23 2009 -0400 kconfig: add make localyesconfig option This adds the option localyesconfig to make. This is similar to localmodconfig, but after it removes unnecessary modules it runs sed -i s/=m/=y/ on the .config file. It then runs "make silentoldconfig" to fix any wholes that were created by the conversion of modules to core. Signed-off-by: Steven Rostedt commit 03fa25da8335a942161a8070b3298cfd4edf9b6a Author: Steven Rostedt Date: Wed Apr 29 22:52:22 2009 -0400 kconfig: make localmodconfig to run streamline_config.pl Running the streamline_config.pl script manually can still be confusing for some users. This patch adds the localmodconfig option. This will automatically run streamline_config.pl on the current .config and then run "make silentoldconfig" to fix any wholes that might have been created. $ make localmodconfig This will remove any module configurations in .config that are not needed to compile the modules that are loaded. Signed-off-by: Steven Rostedt commit dcc60243e726978576cb02b74c84440629c69c87 Author: Steven Rostedt Date: Wed Apr 29 22:52:21 2009 -0400 kconfig: add streamline_config.pl to scripts streamline_config.pl is a very powerful tool. For those that install a kernel to a new box using the config file from the distribution know that it can take forever to compile the kernel. Making a custom config file that will still boot your box, but bring down the compile time of the kernel can be quit painful, and to ask someone that reported a bug to do this can be a large burdon since that person may not even know how to build a kernel. This script will perform "lsmod" to find all the modules loaded on the current running system. It will read all the Makefiles to map which CONFIG enables a module. It will read the Kconfig files to find the dependencies and selects that may be needed to support a CONFIG. Finally, it reads the .config file and removes any module "=m" that is not needed to enable the currently loaded modules. The output goes to standard out. Here's a way to run the script. From the Linux directory that holds a distribution .config. $ scripts/kconfig/streamline_config.pl arch/x86/Kconfig > config-sl $ mv .config config-save $ mv config-sl .config $ make oldconfig Now you have a .config that will still build all your modules, but also take much less time to build the kernel. Signed-off-by: Steven Rostedt commit fdbc66266c21976027938642f60e0f047149a61a Author: Takashi Iwai Date: Wed Aug 19 00:18:10 2009 +0200 ALSA: hda - Fix invalid capture mixers with some ALC268 models The auto-mic clean-up patches caused regressions on some ALC268 models that have no proper input_mux but with "Input Source" mixer elements. Such a combination results in Oops when accessed. [A reason why set_capture_mixer() isn't used in patch_alc268() is that ALC268 codec have HDA_OUTPUT direction for capture volumes unlike other codecs. Thus it needs own definitions of capture elements.] This patch fixes the issues: - Add a capture mixer definition without input-source - Use the new capture mixer appropriately Signed-off-by: Takashi Iwai commit b08dc3eba0c34027010caeda258f495074ae3a54 Author: Huang Weiyi Date: Tue Aug 18 21:57:13 2009 +0800 Security/SELinux: remove duplicated #include Remove duplicated #include('s) in kernel/sysctl.c Signed-off-by: Huang Weiyi Acked-by: Eric Paris Signed-off-by: James Morris commit af15c1addf920d830b030e3489a482456904ca8c Merge: e6f25a7 dcd94db Author: Rafael J. Wysocki Date: Tue Aug 18 23:37:37 2009 +0200 Merge branch 'master' into for-linus commit 294b0c9619a0469a3b385b6fc47e79f64222a692 Author: Andreas Herrmann Date: Tue Aug 18 13:02:29 2009 +0200 sched: Consolidate definition of variable sd in __build_sched_domains Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818110229.GM29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 0601a88d8fa4508eaa49a6d96c6685e1dece38e3 Author: Andreas Herrmann Date: Tue Aug 18 13:01:11 2009 +0200 sched: Separate out build of NUMA sched groups from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818110111.GL29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit de616e36c700dc312d9021dd75f769c463f85122 Author: Andreas Herrmann Date: Tue Aug 18 13:00:13 2009 +0200 sched: Separate out build of ALLNODES sched groups from __build_sched_domains For the sake of completeness. Now all calls to init_sched_build_groups() are contained in build_sched_groups(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818110013.GK29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 86548096f252bfe2065f1ea2d301e7319a16375d Author: Andreas Herrmann Date: Tue Aug 18 12:59:28 2009 +0200 sched: Separate out build of CPU sched groups from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105928.GJ29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit a2af04cdbb748158043e31799b28c48272081600 Author: Andreas Herrmann Date: Tue Aug 18 12:58:38 2009 +0200 sched: Separate out build of MC sched groups from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105838.GI29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 0e8e85c941d8f1b43bcc2e3b8b7026cdae476c53 Author: Andreas Herrmann Date: Tue Aug 18 12:57:51 2009 +0200 sched: Separate out build of SMT sched groups from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105751.GH29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit d81735355533cd4b2bce9508d86fcad24a38cf47 Author: Andreas Herrmann Date: Tue Aug 18 12:57:03 2009 +0200 sched: Separate out build of SMT sched domain from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105703.GG29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 410c408108bb85f32fe132aaf448388af0b6da64 Author: Andreas Herrmann Date: Tue Aug 18 12:56:14 2009 +0200 sched: Separate out build of MC sched domain from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105614.GF29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 87cce6622c2ab2f0e96ecc2a37133378a7db3177 Author: Andreas Herrmann Date: Tue Aug 18 12:54:55 2009 +0200 sched: Separate out build of CPU sched domain from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105455.GE29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 7f4588f3aa395632fec9ba2e15a1920f0682fda0 Author: Andreas Herrmann Date: Tue Aug 18 12:54:06 2009 +0200 sched: Separate out build of NUMA sched domain from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105406.GD29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 2109b99ee192764b407dc7f52babb74740eea6f9 Author: Andreas Herrmann Date: Tue Aug 18 12:53:00 2009 +0200 sched: Separate out allocation/free/goto-hell from __build_sched_domains Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105300.GC29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 49a02c514d967921a908ac64e9c0ec0f0fc17fd8 Author: Andreas Herrmann Date: Tue Aug 18 12:51:52 2009 +0200 sched: Use structure to store local data in __build_sched_domains Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105152.GB29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit cf5d11317e8f2671d3115622aec76274a40f4fc2 Author: WANG Cong Date: Tue Aug 18 19:11:40 2009 +0300 SLUB: Drop write permission to /proc/slabinfo SLUB does not support writes to /proc/slabinfo so there should not be write permission to do that either. Signed-off-by: WANG Cong Signed-off-by: Pekka Enberg commit 6e086437f35ad9fda448711732c4ce0f82aad569 Author: Frederic Weisbecker Date: Tue Aug 18 17:04:03 2009 +0200 perf tools: Save partial non-overlapping map The librarization of the thread helpers between annotate and report lost some perf report specifics. thread__insert_map() had its most uptodate version in perf report which cared about partial map overlapping. In case of overlap between two maps, perf annotate's version removes the whole old map without considering if it partially or absolutely overlaps the new map. We exported the odd version, change it by using the perf report version. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250607843-7395-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 59ae07a58012a96cfbc9b4c0f3a07ad07d2a2208 Author: Mark Brown Date: Tue Aug 18 16:01:57 2009 +0100 ASoC: WM8993 digital mixing support The WM8993 provides digital sidetone paths and also allows each channel on the audio interface to be routed separtately to the DACs and ADCs. Signed-off-by: Mark Brown commit 010ff262269c6ad84acba98eab2d7843919c7ccf Author: Mark Brown Date: Mon Aug 17 17:39:22 2009 +0100 ASoC: Add input and output AIF widgets Currently DAPM interfaces with the audio streams to and from the processor at the DAC and ADC widgets. As the digital capabilities of parts increases this is becoming a less and less able to meet the needs of parts. To meet the needs of these devices create new widgets interfacing with the TDM bus but not integrated into any other functionality. Audio can then be routed to and from these widgets using existing routing widgets. A slot number is provided in the definition but this is currently not used yet. This is intended to support devices which can use more than one TDM slot on a single interface. Signed-off-by: Mark Brown commit d1a5e44b89b35c88f8908f2b1774201704460f36 Author: Mark Brown Date: Tue Aug 18 15:24:05 2009 +0100 ASoC: Remove duplicate ADC/DAC widgets from wm_hubs.c These need to be in the CODEC since the DAIs supported by the CODECs aren't static. Signed-off-by: Mark Brown commit b2472b1d4cda3968383a9439bf09fe04114faed3 Author: Mark Brown Date: Tue Aug 18 16:02:59 2009 +0100 ASoC: Reenable S3C64xx I2S support Joonyoung Shim reports that S3C64xx I2S is working on the NCP boards so allow it to be selected in Kconfig. Signed-off-by: Mark Brown commit 0914b93f4f36d1a0233bd64da9a35e37e72304ec Author: Joonyoung Shim Date: Tue Aug 18 21:56:19 2009 +0900 ASoC: Fix data format configuration for S3C64XX IISv2 The data format configuration for S3C64xx IISv2 was hardcoded for IISMOD register. This patch changes to the defined values it. And instead of bits 9 and 10 of IISMOD we should clear bits 13 and 14. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit 4273b005875c34beda4a11c9d4a9132d80378036 Author: Frederic Weisbecker Date: Tue Aug 18 16:03:46 2009 +0200 perf tools: Fix comm column adjusting The librarization of the thread helpers between annotate and report lost some perf report specifics. This patch fixes the thread comm column adjusting that has been omitted during this export. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250604226-6852-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 1314562a9ae5f39f6f595656023c1baf970831ef Author: Hiroshi Shimamoto Date: Tue Aug 18 15:06:02 2009 +0900 sched, task_struct: stack_canary is not needed without CC_STACKPROTECTOR The field stack_canary is only used with CC_STACKPROTECTOR. This patch reduces task_struct size without CC_STACKPROTECTOR. Signed-off-by: Hiroshi Shimamoto LKML-Reference: <4A8A44CA.2020701@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 52cfc61bf95262d55bc00063d7597e5e008fa22e Author: H Hartley Sweeten Date: Mon Aug 17 15:37:18 2009 -0700 HID: local function should be static __usbhid_submit_report() is a local function wrapped by the exported symbol usbhid_submit_report(). As such, it should be static. Signed-off-by: H Hartley Sweeten Cc: Jiri Kosina Signed-off-by: Jiri Kosina commit 970343cd49048446da4189986cf960273588d71a Author: Wengang Wang Date: Tue Aug 18 14:25:03 2009 +0800 GFS2: free disk inode which is deleted by remote node -V2 this patch is for the same problem that Benjamin Marzinski fixes at commit b94a170e96dc416828af9d350ae2e34b70ae7347 quotation of the original problem: ---cut here--- When a file is deleted from a gfs2 filesystem on one node, a dcache entry for it may still exist on other nodes in the cluster. If this happens, gfs2 will be unable to free this file on disk. Because of this, it's possible to have a gfs2 filesystem with no files on it and no free space. With this patch, when a node receives a callback notifying it that the file is being deleted on another node, it schedules a new workqueue thread to remove the file's dcache entry. ---end cut--- after applying Benjamin's patch, I think there is still a case in which the disk inode remains even when "no space" is hit. the case is that when running d_prune_aliases() against the inode, there are one or more dentries(aliases) which have reference count number > 0. in this case the dentries won't be pruned. and even later, the reference count becomes to 0, the dentries can still be cached in memory. unfortunately, no callback come again, things come back to the state before the callback runs. thus the on disk inode remains there until in memoryinode is removed for some other reason(shrinking inode cache or unmount the volume..). this patch is to remove those dentries when their reference count becomes to 0 and the inode is deleted by remote node. for implementation, gfs2_dentry_delete() is added as dentry_operations.d_delete. the function returns true when the inode is deleted by remote node. in dput(), gfs2_dentry_delete() is called and since it returns true, the dentry is unhashed from dcache and then removed. when all dentries are removed, the in memory inode get removed so that the on disk inode is freed. Signed-off-by: Wengang Wang Signed-off-by: Steven Whitehouse commit 1f18345bdfd489fde1085bc85839d5d3645cf511 Author: Ingo Molnar Date: Tue Aug 18 10:59:47 2009 +0200 perf tools: Remove obsolete defines The _XOPEN_SOURCE* defines are not really needed on Linux and it's not like we'll port this to AIX ;-) The define also broke the build with gcc 4.4.1: CC util/trace-event-parse.o In file included from util/trace-event-parse.c:32: util/util.h:43:1: error: "_XOPEN_SOURCE" redefined So remove them. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 8178d000506612e426753679eca1f9737d562d49 Merge: 8f28827 20002de Author: Ingo Molnar Date: Tue Aug 18 09:06:25 2009 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/perfcounters into perfcounters/core commit a022fe09700365c51d1f55884bca9754eb96a802 Author: Christoph Hellwig Date: Sun Aug 16 20:36:34 2009 -0400 xfs: fix locking in xfs_iget_cache_hit The locking in xfs_iget_cache_hit currently has numerous problems: - we clear the reclaim tag without i_flags_lock which protects modifications to it - we call inode_init_always which can sleep with pag_ici_lock held (this is oss.sgi.com BZ #819) - we acquire and drop i_flags_lock a lot and thus provide no consistency between the various flags we set/clear under it This patch fixes all that with a major revamp of the locking in the function. The new version acquires i_flags_lock early and only drops it once we need to call into inode_init_always or before calling xfs_ilock. This patch fixes a bug seen in the wild where we race modifying the reclaim tag. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Reviewed-by: Eric Sandeen Signed-off-by: Felix Blyakher commit 20002ded4d937ca87aca6253b874920a96a763c4 Author: Paul Mackerras Date: Tue Aug 18 08:25:32 2009 +1000 perf_counter: powerpc: Add callchain support This adds support for tracing callchains for powerpc, both 32-bit and 64-bit, and both in the kernel and userspace, from PMU interrupt context. The first three entries stored for each callchain are the NIP (next instruction pointer), LR (link register), and the contents of the LR save area in the second stack frame (the first is ignored because the ABI convention on powerpc is that functions save their return address in their caller's stack frame). Because leaf functions don't have to save their return address (LR value) and don't have to establish a stack frame, it's possible for either or both of LR and the second stack frame's LR save area to have valid return addresses in them. This is basically impossible to disambiguate without either reading the code or looking at auxiliary information such as CFI tables. Since we don't want to do either of those things at interrupt time, we store both LR and the second stack frame's LR save area. Once we get past the second stack frame, there is no ambiguity; all return addresses we get are reliable. For kernel traces, we check whether they are valid kernel instruction addresses and store zero instead if they are not (rather than omitting them, which would make it impossible for userspace to know which was which). We also store zero instead of the second stack frame's LR save area value if it is the same as LR. For kernel traces, we check for interrupt frames, and for user traces, we check for signal frames. In each case, since we're starting a new trace, we store a PERF_CONTEXT_KERNEL/USER marker so that userspace knows that the next three entries are NIP, LR and the second stack frame for the interrupted context. We read user memory with __get_user_inatomic. On 64-bit, if this PMU interrupt occurred while interrupts are soft-disabled, and there is no MMU hash table entry for the page, we will get an -EFAULT return from __get_user_inatomic even if there is a valid Linux PTE for the page, since hash_page isn't reentrant. Thus we have code here to read the Linux PTE and access the page via the kernel linear mapping. Since 64-bit doesn't use (or need) highmem there is no need to do kmap_atomic. On 32-bit, we don't do soft interrupt disabling, so this complication doesn't occur and there is no need to fall back to reading the Linux PTE, since hash_page (or the TLB miss handler) will get called automatically if necessary. Note that we cannot get PMU interrupts in the interval during context switch between switch_mm (which switches the user address space) and switch_to (which actually changes current to the new process). On 64-bit this is because interrupts are hard-disabled in switch_mm and stay hard-disabled until they are soft-enabled later, after switch_to has returned. So there is no possibility of trying to do a user stack trace when the user address space is not current's address space. Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 9c1e105238c474d19905af504f2e7f42d4f71f9e Author: Paul Mackerras Date: Mon Aug 17 15:17:54 2009 +1000 powerpc: Allow perf_counters to access user memory at interrupt time This provides a mechanism to allow the perf_counters code to access user memory in a PMU interrupt routine. Such an access can cause various kinds of interrupt: SLB miss, MMU hash table miss, segment table miss, or TLB miss, depending on the processor. This commit only deals with 64-bit classic/server processors, which use an MMU hash table. 32-bit processors are already able to access user memory at interrupt time. Since we don't soft-disable on 32-bit, we avoid the possibility of reentering hash_page or the TLB miss handlers, since they run with interrupts disabled. On 64-bit processors, an SLB miss interrupt on a user address will update the slb_cache and slb_cache_ptr fields in the paca. This is OK except in the case where a PMU interrupt occurs in switch_slb, which also accesses those fields. To prevent this, we hard-disable interrupts in switch_slb. Interrupts are already soft-disabled at this point, and will get hard-enabled when they get soft-enabled later. This also reworks slb_flush_and_rebolt: to avoid hard-disabling twice, and to make sure that it clears the slb_cache_ptr when called from other callers than switch_slb, the existing routine is renamed to __slb_flush_and_rebolt, which is called by switch_slb and the new version of slb_flush_and_rebolt. Similarly, switch_stab (used on POWER3 and RS64 processors) gets a hard_irq_disable() to protect the per-cpu variables used there and in ste_allocate. If a MMU hashtable miss interrupt occurs, normally we would call hash_page to look up the Linux PTE for the address and create a HPTE. However, hash_page is fairly complex and takes some locks, so to avoid the possibility of deadlock, we check the preemption count to see if we are in a (pseudo-)NMI handler, and if so, we don't call hash_page but instead treat it like a bad access that will get reported up through the exception table mechanism. An interrupt whose handler runs even though the interrupt occurred when soft-disabled (such as the PMU interrupt) is considered a pseudo-NMI handler, which should use nmi_enter()/nmi_exit() rather than irq_enter()/irq_exit(). Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1660e9d3d04b6c636b7171bf6c08ac7b82a7de79 Author: Paul Mackerras Date: Mon Aug 17 14:36:32 2009 +1000 powerpc/32: Always order writes to halves of 64-bit PTEs On 32-bit systems with 64-bit PTEs, the PTEs have to be written in two 32-bit halves. On SMP we write the higher-order half and then the lower-order half, with a write barrier between the two halves, but on UP there was no particular ordering of the writes to the two halves. This extends the ordering that we already do on SMP to the UP case as well. The reason is that with the perf_counter subsystem potentially accessing user memory at interrupt time to get stack traces, we have to be careful not to create an incorrect but apparently valid PTE even on UP. Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 75d9e34698540e96b422293e1d76ab02cc7faefb Author: Konrad Eisele Date: Mon Aug 17 00:13:33 2009 +0000 sparc, leon: sparc-leon specific SRMMU initialization and bootup fixes. The sparc-leon caches are virtually tagged so a flush is needed on ctx switch. Signed-off-by: Konrad Eisele Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit e63829de3d03f92cea2b26119e0aa9a7043b9913 Author: Konrad Eisele Date: Mon Aug 17 00:13:32 2009 +0000 sparc,leon: Added support for AMBAPP bus. The device is a AMBA bus if it is a child of prom node "ambapp" (AMBA plug and play). Two functions leon_trans_init() and leon_node_init() (defined in sparc/kernel/leon_kernel.c) are called in the prom_build_tree() path if CONFIG_SPARC_LEON is defined. leon_node_init() will build up the device tree using AMBA plug and play. Also: a extra check was addes to prom_common.c:build_one_prop() in case a rom-node is undefined which can happen for SPARC-LEON because it creates only a minimum nodes to emulate sparc behaviour. Signed-off-by: Konrad Eisele Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit 0fd7ef1fe0e6e70c7851ce65a2eb8a8d3f49147e Author: Konrad Eisele Date: Mon Aug 17 00:13:31 2009 +0000 sparc,leon: Introduce the sparc-leon CPU type. Add sparc_leon enum, M_LEON|M_LEON3_SOC machine. Add compilation of leon.c in mm and kernel if CONFIG_SPARC_LEON is defined. Add sparc_leon dependent initialization to switch statements + head.S. Signed-off-by: Konrad Eisele Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit 97fb58fa9bb509b49090a1c62ed1b660d518c66b Author: Konrad Eisele Date: Mon Aug 17 00:13:30 2009 +0000 sparc,leon: Redefine MMU register access asi if CONFIG_LEON SPARC-LEON has a different ASI for mmu register accesses. Signed-off-by: Konrad Eisele Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit 5213a780295895630530aebacdd19217a5379c9a Author: Konrad Eisele Date: Mon Aug 17 00:13:29 2009 +0000 sparc,leon: CONFIG_SPARC_LEON option and leon specific files. The macro CONFIG_SPARC_LEON will shield, if undefined, the sun-sparc code from LEON specific code. In particular include/asm/leon.h will get empty through #ifdef and leon_kernel.c and leon_mm.c will not be compiled. Signed-off-by: Konrad Eisele Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit 1a8887d81ac4bbee6153b4bc9b9f9e099fb5f07e Author: Sathya Perla Date: Mon Aug 17 00:58:41 2009 +0000 be2net: destroy mcc queue before tx queues As mcc queue uses the tx event queue. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit b628bde2b5390776efc30837798d016ec1aa3ebe Author: Sathya Perla Date: Mon Aug 17 00:58:26 2009 +0000 be2net: refactor be_msix_(un)register() code. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit a65027e4d80ece5a5a3bd4fc4808a83208430929 Author: Sathya Perla Date: Mon Aug 17 00:58:04 2009 +0000 be2net: Set mac addr in hw regardless of netif_running() be_mac_addr_set() currently is broken when netif_running() is false. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit ae6e2aef6c03ccb06c6baaa1b77cc0e0ae226faf Author: Randy Dunlap Date: Mon Aug 17 10:35:49 2009 +0000 phonet: fix build when PROC_FS is disabled Fix phonet build when PROC_FS is not enabled: net/built-in.o: In function `pn_sock_open': socket.c:(.text+0x23c649): undefined reference to `seq_open_net' net/built-in.o:(.rodata+0x21018): undefined reference to `seq_release_net' Signed-off-by: Randy Dunlap Acked-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 3a5209e3b26386fd174820ee6e8e27479b24869a Author: Randy Dunlap Date: Mon Aug 17 16:00:30 2009 -0700 trace_skb: fix build when CONFIG_NET is not enabled Fix trace_skb_sources build when CONFIG_NET is not enabled: kernel/built-in.o: In function `probe_skb_dequeue': trace_skb_sources.c:(.text+0xd9152): undefined reference to `init_net' trace_skb_sources.c:(.text+0xd9188): undefined reference to `dev_get_by_index' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 3f9edc2382d5f7c97c693838abb207a9d6bab1fa Author: Frederic Weisbecker Date: Mon Aug 17 23:07:51 2009 +0200 perf tools: Make trace event format parser aware of cast to pointers The ftrace event format parser handles the usual casts but not the cast to pointers. Such casts have been introduced recently with the module trace events and raise the following parsing error: Fatal: bad op token ) This is because it considers the "*" character as a binary operator. Make it then aware of casts to pointers. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Steven Rostedt LKML-Reference: <1250543271-8383-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 9df37ddd81f54dd41dc4958055c3a3c9b6840aef Author: Frederic Weisbecker Date: Mon Aug 17 23:07:50 2009 +0200 perf tools: Record events info also when :record suffix is used. You can enable a counter's PERF_SAMPLE_RAW attribute in two fashions: - using the -R option (every counters get PERF_SAMPLE_RAW) - using the :record suffix in a trace event counter name Currently we record the events info in a trace.info file from perf record when the former method is used but we omit it with the latter. Check both situations. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Steven Rostedt LKML-Reference: <1250543271-8383-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 4bf2364a951d3c043e132e4451d90c7bc74dee83 Author: Frederic Weisbecker Date: Mon Aug 17 23:07:49 2009 +0200 perf tools: Warn while running perf trace without sample When a user runs perf trace using an input with logged counters without PERF_SAMPLE_RAW attribute, warn by giving a nice tip. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Steven Rostedt LKML-Reference: <1250543271-8383-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 6ede59c412579303a25c11f93d4d262e100fc7e6 Author: Frederic Weisbecker Date: Mon Aug 17 23:07:48 2009 +0200 perf tools: Fix spelling mistake in callchain error While running perf report -g in a perf.data file that hasn't been recorded in callchain mode, the error reported has a spelling issue: ./perf report -g selected -c but no callchain data. Did you call perf record without -g? Fix it. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Steven Rostedt LKML-Reference: <1250543271-8383-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 65cec8e3db606608fd1f8dfc4a1c7c37bfba9173 Author: Russell King Date: Mon Aug 17 20:02:06 2009 +0100 ARM: implement highpte Add the ARM implementation of highpte, which allows PTE tables to be placed in highmem. Unfortunately, we do not offer highpte support when support for L2 cache is enabled. Signed-off-by: Russell King commit e6f25a7b2398581a5f96bf9021d0b22c9647acf4 Merge: 3e2bcad 894ef82 Author: Rafael J. Wysocki Date: Mon Aug 17 20:42:36 2009 +0200 Merge branch 'master' into for-linus commit b7f42ab2e237f08a5bbcefa17473e80eb05e725c Author: Yinghai Lu Date: Mon Aug 17 11:19:40 2009 -0700 x86, apic: Move dmar_table_init() out of enable_IR() On an x2apic system, we got: [ 1.818072] ------------[ cut here ]------------ [ 1.820376] WARNING: at kernel/lockdep.c:2461 lockdep_trace_alloc+0xa5/0xe9() [ 1.835282] Hardware name: ASSY, [ 1.839006] Modules linked in: [ 1.841253] Pid: 1, comm: swapper Not tainted 2.6.31-rc5-tip-03926-g39aaa80-dirty #510 [ 1.858056] Call Trace: [ 1.859913] [] ? lockdep_trace_alloc+0xa5/0xe9 [ 1.876270] [] warn_slowpath_common+0x8d/0xd0 [ 1.879132] [] warn_slowpath_null+0x27/0x3d [ 1.896823] [] lockdep_trace_alloc+0xa5/0xe9 [ 1.900659] [] ? lock_release_holdtime+0x2f/0x199 [ 1.917188] [] kmem_cache_alloc_notrace+0x42/0x111 [ 1.922320] [] ? reserve_memtype+0x152/0x518 [ 1.938137] [] ? pat_pagerange_is_ram+0x4a/0x91 [ 1.941730] [] reserve_memtype+0x152/0x518 [ 1.958115] [] __ioremap_caller+0x1dd/0x30f [ 1.975507] [] ? acpi_os_map_memory+0x2a/0x47 [ 1.978987] [] ioremap_nocache+0x2a/0x40 [ 2.031400] [] ? trace_hardirqs_off+0x20/0x36 [ 2.036096] [] acpi_os_map_memory+0x2a/0x47 [ 2.046263] [] acpi_tb_verify_table+0x3d/0x85 [ 2.050349] [] ? _spin_unlock_irqrestore+0x50/0x76 [ 2.067327] [] acpi_get_table_with_size+0x64/0xd9 [ 2.070860] [] ? _spin_unlock_irqrestore+0x50/0x76 [ 2.088000] [] dmar_table_detect+0x33/0x70 [ 2.092047] [] dmar_table_init+0x43/0x428 [ 2.106854] [] enable_IR+0x1c/0x8d [ 2.110256] [] enable_IR_x2apic+0x7c/0x19e [ 2.127139] [] native_smp_prepare_cpus+0x139/0x3b8 [ 2.145175] [] kernel_init+0x71/0x1da [ 2.148913] [] child_rip+0xa/0x20 [ 2.152349] [] ? restore_args+0x0/0x30 [ 2.167931] [] ? kernel_init+0x0/0x1da [ 2.171671] [] ? child_rip+0x0/0x20 [ 2.187607] ---[ end trace a7919e7f17c0a725 ]--- Venkatesh Pallipadi said: | Looks like the problem started with this commit | | commit ce69a784504222c3ab6f1b3c357d09ec5772127a | Author: Gleb Natapov | Date: Mon Jul 20 15:24:17 2009 +0300 | | x86/apic: Enable x2APIC without interrupt remapping under KVM | | Before this commit, dmar_table_init() was getting called | with interrupts enabled and after this commit, it is getting | called with interrupts disabled. so try to move out dmar_table_init out of that function. Analyzed-by: Venkatesh Pallipadi Signed-off-by: Yinghai Lu Cc: Peter Zijlstra Cc: Gleb Natapov Cc: Suresh Siddha Cc: "Pallipadi, Venkatesh" LKML-Reference: <4A899F3C.2050104@kernel.org> Signed-off-by: Ingo Molnar commit 62a3207b8cf3de35368cdc3822b30b82d59eea95 Author: H. Peter Anvin Date: Mon Aug 17 11:16:16 2009 -0700 x86, intel_txt: Handle ACPI_SLEEP without X86_TRAMPOLINE On 32 bits, we can have CONFIG_ACPI_SLEEP set without implying CONFIG_X86_TRAMPOLINE. In that case, we simply do not need to mark the trampoline as a MAC region. Signed-off-by: H. Peter Anvin Cc: Shane Wang Cc: Joseph Cihula commit d3c9e9a1390f8a34da8b69e09fa1afa90f5067f4 Author: Mark Brown Date: Mon Aug 17 18:52:47 2009 +0100 ASoC: Implement TDM configuration for WM8993 Note that the number of slots used internally is specified in terms of stereo slots while the external API works with mono slots. Signed-off-by: Mark Brown commit 0182dcc52c759d005cc3e65deadee9f166cdd7d0 Author: Mark Brown Date: Mon Aug 17 18:51:44 2009 +0100 ASoC: Fix WM8993 MCLK configuration for high frequency MCLKs When used without the PLL we were accidentally clearing the MCLK/2 divider, resulting in a double rate SYSCLK when the divider should have been used. Signed-off-by: Mark Brown commit 29c08460d472e427cec5e5dcb12ec74c923f8250 Merge: 9b2616c baa28e3 Author: Russell King Date: Mon Aug 17 18:16:28 2009 +0100 Merge branch 'next-s3c' of git://aeryn.fluff.org.uk/bjdooks/linux into devel-stable commit 1ca04065c3569beb42b9376952df8c96f430f753 Author: Mark Brown Date: Mon Aug 17 16:26:59 2009 +0100 ASoC: Power speakers and headphones simultaneously Speaker and headphone outputs do not need to be handled separately since they can't be part of the same path. Signed-off-by: Mark Brown commit 5f9c39dca52d3e639ac899e169f408c6fd8396cc Author: Frederic Weisbecker Date: Mon Aug 17 16:18:08 2009 +0200 perf tools: Add perf trace This adds perf trace into the set of perf tools. It is written to fetch the tracepoint samples from perf events and display them, according to the events information given by the debugfs files through the util/trace* tools. It is a rough first shot and doesn't yet handle the cpu, timestamps fields and some other things. Example: perf record -f -e workqueue:workqueue_execution:record -F 1 -a perf trace kblockd/0-236 [000] 0.000000: workqueue_execution: thread=:236 func=cfq_kick_queue+0x0 kondemand/0-360 [000] 0.000000: workqueue_execution: thread=:360 func=do_dbs_timer+0x0 kondemand/0-360 [000] 0.000000: workqueue_execution: thread=:360 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 Todo: - A lot of things! Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: "Luis Claudio R. Goncalves" Cc: Clark Williams Cc: Jon Masters Cc: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Xiao Guangrong Cc: Zhaolei Cc: Li Zefan Cc: Lai Jiangshan Cc: Masami Hiramatsu Cc: Tom Zanussi Cc: "Frank Ch. Eigler" Cc: Roland McGrath Cc: Jason Baron Cc: Paul Mackerras Cc: Jiaying Zhang Cc: Anton Blanchard LKML-Reference: <1250518688-7207-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ea4010d1363699770a9894493bafe556a59a144c Author: Steven Rostedt Date: Mon Aug 17 16:18:07 2009 +0200 perf tools: Add trace event information parser Add util/trace-event-parse.c which provides the handlers to parse the ftrace events info from the stream and handles the ftrace perf samples event printing. This file is a rename of the parse-events.c file from the trace-cmd tools, written by Steven Rostedt and Josh Triplett, originated from the git tree: git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git This is a perf tools integration. [ fweisbec@gmail.com: various changes for perf tools integration. ] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: "Luis Claudio R. Goncalves" Cc: Clark Williams Cc: Jon Masters Cc: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Xiao Guangrong Cc: Zhaolei Cc: Li Zefan Cc: Lai Jiangshan Cc: Masami Hiramatsu Cc: Tom Zanussi Cc: "Frank Ch. Eigler" Cc: Roland McGrath Cc: Jason Baron Cc: Paul Mackerras Cc: Jiaying Zhang Cc: Anton Blanchard LKML-Reference: <1250518688-7207-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 538bafb5cc92a86d97b427421231f185574fe3db Author: Steven Rostedt Date: Mon Aug 17 16:18:06 2009 +0200 perf tools: Add trace event debugfs stream reader Add util/trace-event-read.c which handles trace events informations reading. This file is a rename of the trace-read.c file from the trace-cmd tools, written by Steven Rostedt and Josh Triplett, originated from the git tree: git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git This is its perf tools integration. [ fweisbec@gmail.com: various changes for perf tools integration. ] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: "Luis Claudio R. Goncalves" Cc: Clark Williams Cc: Jon Masters Cc: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Xiao Guangrong Cc: Zhaolei Cc: Li Zefan Cc: Lai Jiangshan Cc: Masami Hiramatsu Cc: Tom Zanussi Cc: "Frank Ch. Eigler" Cc: Roland McGrath Cc: Jason Baron Cc: Paul Mackerras Cc: Jiaying Zhang Cc: Anton Blanchard LKML-Reference: <1250518688-7207-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 520509436417901f30106e021e037c75dfe5386c Author: Steven Rostedt Date: Mon Aug 17 16:18:05 2009 +0200 perf tools: Add trace event debugfs IO handler Add util/trace-event-info.c which handles ftrace file IO from debugfs and provides general helpers to fetch/save ftrace events informations. This file is a rename of the trace-cmd.c file from the trace-cmd tools, written by Steven Rostedt and Josh Triplett, originated from the git tree: git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git This is a perf tools integration. For now, ftrace events information is saved in a separate file than the standard perf.data [fweisbec@gmail.com: various changes for perf tools integration] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: "Luis Claudio R. Goncalves" Cc: Clark Williams Cc: Jon Masters Cc: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Xiao Guangrong Cc: Zhaolei Cc: Li Zefan Cc: Lai Jiangshan Cc: Masami Hiramatsu Cc: Tom Zanussi Cc: "Frank Ch. Eigler" Cc: Roland McGrath Cc: Jason Baron Cc: Paul Mackerras Cc: Jiaying Zhang Cc: Anton Blanchard LKML-Reference: <1250518688-7207-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit b14b76a56e49946488637ee68926c5180c39fdb1 Author: Mark Brown Date: Mon Aug 17 11:55:38 2009 +0100 ASoC: Fix handling of bias levels for non-DAPM codecs If the system doesn't have any DAPM widgets then we can't use their state to check if the bias level for the codec should be up. Signed-off-by: Mark Brown commit 0c093fb5421a648fae46fce17277bdb358fe017b Author: Shine Liu Date: Mon Aug 17 18:52:01 2009 +0800 ASoC: UDA134X: Fix mistaken mute/unmute code There is a mistake in current uda134x_mute function: mute_reg has been changed in line 162 or line 164, so uda134x_write should write "mute_reg" but not "mute_reg & ~(1<<2)" to UDA134X_DATA010. Signed-off-by: Shine Liu Signed-off-by: Mark Brown commit 18dd0aa5afea7dc33953aa87de696e39074bbf78 Author: Clemens Ladisch Date: Mon Aug 17 12:28:09 2009 +0200 sound: snd_ctl_remove_user_ctl: prevent removal of kernel controls Ensure that userspace can remove only user controls. Controls created by kernel drivers must not be removed because they might be referenced in calls to snd_ctl_notify(). Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit f217ac59b6dd73105abc13da3fe656391fa6d135 Author: Clemens Ladisch Date: Mon Aug 17 12:27:22 2009 +0200 sound: snd_ctl_remove_unlocked_id: simplify user control counting Move the decrementing of the user controls counter from snd_ctl_elem_remove to snd_ctl_remove_unlocked_id; this saves the separate locking of the controls semaphore, and therefore removes a harmless race. Since the purpose of the function is to operate on user controls (the control being unlocked is just a prerequisite), rename it to snd_ctl_remove_user_ctl. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 317b80817fcaeac7ae7e062fcccef0d2aba38a78 Author: Clemens Ladisch Date: Mon Aug 17 12:26:34 2009 +0200 sound: snd_ctl_remove_unlocked_id: simplify error paths Use a common exit path to release the mutex and to return a possible error. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 2a031aedf7f574a01eb725507cb303d4d7b8b23a Author: Clemens Ladisch Date: Mon Aug 17 12:25:52 2009 +0200 sound: snd_ctl_elem_add: fix value count check Make sure that no user element that has no values can be added. The check for count>1024 is not needed because the count is checked later for the individual control types. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 0aa87445842036f88b53db7f377ad8376bd94ab8 Author: Steven Whitehouse Date: Fri Aug 14 15:24:46 2009 +0100 GFS2: Add a document explaining GFS2's uevents This will be essential reading for anybody who wants to understand how GFS2 interacts with the userland gfs_controld, and the details of recovery. Signed-off-by: Steven Whitehouse Signed-off-by: Bob Peterson commit 31e54b01f3f00b595aac02e887960e5dcc575844 Author: Steven Whitehouse Date: Thu Aug 13 12:18:08 2009 +0100 GFS2: Add sysfs link to device This adds a link from the per-gfs2 sb sysfs directory to the block device upon which the filesystem is mounted. The link is called "device", strangely enough :-) Signed-off-by: Steven Whitehouse commit 05164e5b37a8329bfbcf72f526302cb2dd885fbd Author: Steven Whitehouse Date: Mon Aug 17 11:06:43 2009 +0100 GFS2: Replace assertion with proper error handling One fewer assert, one more place we can recover gracefully if there is an error. Signed-off-by: Steven Whitehouse commit 6050b9c74f24513191fc6b5e4b3583e38d146bf5 Author: Steven Whitehouse Date: Fri Jul 31 16:19:40 2009 +0100 GFS2: Improve error handling in inode allocation A little while back, block allocation was given some improved error handling which meant that -EIO was returned in the case of there being a problem in the resource group data. In addition a message is printed explaning what went wrong and how to fix it. This extends that error handling so that it also covers inode allocation too. Signed-off-by: Steven Whitehouse commit 440d6da207e9eef2b576331cfedd5ecae9068663 Author: Steven Whitehouse Date: Fri Jul 31 12:16:25 2009 +0100 GFS2: Add some more info to uevents With each uevent, we now always include the journal ID. We can't call it JID since that is already in use by some of the individual events relating to recovery, so we use JOURNALID instead. We don't send the JOURNALID for spectator mounts, since there isn't one. Also the ADD event now has both RDONLY and SPECTATOR information to match that of the ONLINE event. Signed-off-by: Steven Whitehouse commit 8633ecfaba4ce53c094f8db92dbd7ac474a7aa36 Author: Steven Whitehouse Date: Fri Jul 31 11:07:29 2009 +0100 GFS2: Add online uevent to GFS2 We already have an offline uevent (used when a withdraw occurs) but no online uevent. This adds an online uevent so that userspace will be able to detect a successful mount by means other than not receiving a remove event after the add & recovery (change) uevents. It has also been added to the remount path as well - we can't use a change uevent there as older GFS2 userspace acts on change uevents according to the state that it thinks the fs is in, so we can't easily add any new ones. Signed-off-by: Steven Whitehouse commit 471e3dec3abe2d41e8c742046353fcb01bc2459e Author: Janusz Krzysztofik Date: Tue Aug 11 21:44:29 2009 +0200 ASoC: OMAP: Enhance OMAP1510 DMA progress software counter Enhance period_index accuracy, particularly just before buffer rewind, by making use of DMA interrupt status flags in addition to simply counting up interrupts. Created against linux-2.6.31-rc5. Tested on Amstrad Delta. Signed-off-by: Janusz Krzysztofik Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 64844a6ac8ddd586cb832fea7cf2e93e5e7e03f4 Author: Janusz Krzysztofik Date: Mon Aug 10 10:50:04 2009 +0200 ASoC: OMAP: Make use of DMA channel self linking on OMAP1510 Use newly implemented DMA channel self linking on OMAP1510 like on other OMAP models. Remove unnecessary DMA transfer restart from interrupt handler routine. The interrupt routine used to maintain a period index, originally needed for counting up periods up to a full buffer in order to restart the DMA transfer. For some time, this counter is also used as a replacement for hardware DMA progress counter that has been found unusable on OMAP1510 in case of playback. Thus, the period index calculation cannot be omitted completely. However, the accuracy of this counter can still suffer from missing DMA interrupts. In order to work correctly, it requires patch 1 from this series also applied: [RFC][PATCH 1/3] ARM: OMAP: DMA: Add support for DMA channel self linking on OMAP1510 Created against linux-2.6.31-rc5. Tested on Amstrad Delta. Signed-off-by: Janusz Krzysztofik Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 3be04b471b95b870bd129a138463756629e86f3f Author: Li Zefan Date: Mon Aug 17 16:54:03 2009 +0800 ftrace: Simplify seqfile code Use seq_release_private(). Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Li Zefan LKML-Reference: <4A891AAB.8090701@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 2fc5f0cff4cf1c4cd336d0f61f11bca6eeee1d84 Author: Li Zefan Date: Mon Aug 17 16:53:37 2009 +0800 trace_stack: Simplify seqfile code Extract duplicate code in t_start() and t_next(). Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A891A91.4030602@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 97d53202a5670a08b79c8ef2e4fff1c1ee21317c Author: Li Zefan Date: Mon Aug 17 16:52:53 2009 +0800 trace_stat: Fix missing entry in stat file One entry is missing in the output of a stat file. The cause is, when stat_seq_start() is called the 2nd time, we should start from the (pos-1)th elem in the rbtree but not pos, because pos == 0 is the header. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A891A65.70009@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit ba8b3a40ba7e06d00c27508f090803af90e8dbbf Author: Li Zefan Date: Mon Aug 17 16:55:18 2009 +0800 tracing/syscalls: Fix to print parameter types When syscall tracing was implemented as a tracer, "syscall_arg_type" trace option could be set to enable the display of syscall parameter types. Now this option is gone since it's no longer a tracer, but the code is still there but dead. So we remove dead code and re-enable the printing of paramete types via the verbose option: # echo verbose > trace_options # echo syscalls > set_event # cat trace ... bash-3331 [000] 95.348937: sys_fcntl64 -> 0x1 bash-3331 [000] 95.348942: sys_close(unsigned int fd: a) ... Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Jason Baron LKML-Reference: <4A891AF6.5050102@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 7ead8b8313d92b3a69a1a61b0dcbc4cd66c960dc Author: Li Zefan Date: Mon Aug 17 16:56:28 2009 +0800 tracing/events: Add module tracepoints Add trace points to trace module_load, module_free, module_get, module_put and module_request, and use trace_event facility to get the trace output. Here's the sample output: TASK-PID CPU# TIMESTAMP FUNCTION | | | | | <...>-42 [000] 1.758380: module_request: fb0 wait=1 call_site=fb_open ... <...>-60 [000] 3.269403: module_load: scsi_wait_scan <...>-60 [000] 3.269432: module_put: scsi_wait_scan call_site=sys_init_module refcnt=0 <...>-61 [001] 3.273168: module_free: scsi_wait_scan ... <...>-1021 [000] 13.836081: module_load: sunrpc <...>-1021 [000] 13.840589: module_put: sunrpc call_site=sys_init_module refcnt=-1 <...>-1027 [000] 13.848098: module_get: sunrpc call_site=try_module_get refcnt=0 <...>-1027 [000] 13.848308: module_get: sunrpc call_site=get_filesystem refcnt=1 <...>-1027 [000] 13.848692: module_put: sunrpc call_site=put_filesystem refcnt=0 ... modprobe-2587 [001] 1088.437213: module_load: trace_events_sample F modprobe-2587 [001] 1088.437786: module_put: trace_events_sample call_site=sys_init_module refcnt=0 Note: - the taints flag can be 'F', 'C' and/or 'P' if mod->taints != 0 - the module refcnt is percpu, so it can be negative in a specific cpu Signed-off-by: Li Zefan Acked-by: Rusty Russell Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Rusty Russell LKML-Reference: <4A891B3C.5030608@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 399b5da29b9f851eb7b96e2882097127f003e87c Author: Thomas Gleixner Date: Thu Aug 13 13:21:38 2009 +0200 genirq: Support nested threaded irq handling Interrupt chips which are behind a slow bus (i2c, spi ...) and demultiplex other interrupt sources need to run their interrupt handler in a thread. The demultiplexed interrupt handlers need to run in thread context as well and need to finish before the demux handler thread can reenable the interrupt line. So the easiest way is to run the sub device handlers in the context of the demultiplexing handler thread. To avoid that a separate thread is created for the subdevices the function set_nested_irq_thread() is provided which sets the IRQ_NESTED_THREAD flag in the interrupt descriptor. A driver which calls request_threaded_irq() must not be aware of the fact that the threaded handler is called in the context of the demultiplexing handler thread. The setup code checks the IRQ_NESTED_THREAD flag which was set from the irq chip setup code and does not setup a separate thread for the interrupt. The primary function which is provided by the device driver is replaced by an internal dummy function which warns when it is called. For the demultiplexing handler a helper function handle_nested_irq() is provided which calls the demux interrupt thread function in the context of the caller and does the proper interrupt accounting and takes the interrupt disabled status of the demultiplexed subdevice into account. Signed-off-by: Thomas Gleixner Cc: Mark Brown Cc: Dmitry Torokhov Cc: Trilok Soni Cc: Pavel Machek Cc: Brian Swetland Cc: Joonyoung Shim Cc: m.szyprowski@samsung.com Cc: t.fujak@samsung.com Cc: kyungmin.park@samsung.com, Cc: David Brownell Cc: Daniel Ribeiro Cc: arve@android.com Cc: Barry Song <21cnbao@gmail.com> commit 70aedd24d20e75198f5a0b11750faabbb56924e2 Author: Thomas Gleixner Date: Thu Aug 13 12:17:48 2009 +0200 genirq: Add buslock support Some interrupt chips are connected to a "slow" bus (i2c, spi ...). The bus access needs to sleep and therefor cannot be called in atomic contexts. Some of the generic interrupt management functions like disable_irq(), enable_irq() ... call interrupt chip functions with the irq_desc->lock held and interrupts disabled. This does not work for such devices. Provide a separate synchronization mechanism for such interrupt chips. The irq_chip structure is extended by two optional functions (bus_lock and bus_sync_and_unlock). The idea is to serialize the bus access for those operations in the core code so that drivers which are behind that bus operated interrupt controller do not have to worry about it and just can use the normal interfaces. To achieve this we add two function pointers to the irq_chip: bus_lock and bus_sync_unlock. bus_lock() is called to serialize access to the interrupt controller bus. Now the core code can issue chip->mask/unmask ... commands without changing the fast path code at all. The chip implementation merily stores that information in a chip private data structure and returns. No bus interaction as these functions are called from atomic context. After that bus_sync_unlock() is called outside the atomic context. Now the chip implementation issues the bus commands, waits for completion and unlocks the interrupt controller bus. The irq_chip implementation as pseudo code: struct irq_chip_data { struct mutex mutex; unsigned int irq_offset; unsigned long mask; unsigned long mask_status; } static void bus_lock(unsigned int irq) { struct irq_chip_data *data = get_irq_desc_chip_data(irq); mutex_lock(&data->mutex); } static void mask(unsigned int irq) { struct irq_chip_data *data = get_irq_desc_chip_data(irq); irq -= data->irq_offset; data->mask |= (1 << irq); } static void unmask(unsigned int irq) { struct irq_chip_data *data = get_irq_desc_chip_data(irq); irq -= data->irq_offset; data->mask &= ~(1 << irq); } static void bus_sync_unlock(unsigned int irq) { struct irq_chip_data *data = get_irq_desc_chip_data(irq); if (data->mask != data->mask_status) { do_bus_magic_to_set_mask(data->mask); data->mask_status = data->mask; } mutex_unlock(&data->mutex); } The device drivers can use request_threaded_irq, free_irq, disable_irq and enable_irq as usual with the only restriction that the calls need to come from non atomic context. Signed-off-by: Thomas Gleixner Cc: Mark Brown Cc: Dmitry Torokhov Cc: Trilok Soni Cc: Pavel Machek Cc: Brian Swetland Cc: Joonyoung Shim Cc: m.szyprowski@samsung.com Cc: t.fujak@samsung.com Cc: kyungmin.park@samsung.com, Cc: David Brownell Cc: Daniel Ribeiro Cc: arve@android.com Cc: Barry Song <21cnbao@gmail.com> commit b25c340c195447afb1860da580fe2a85a6b652c5 Author: Thomas Gleixner Date: Thu Aug 13 12:17:22 2009 +0200 genirq: Add oneshot support For threaded interrupt handlers we expect the hard interrupt handler part to mask the interrupt on the originating device. The interrupt line itself is reenabled after the hard interrupt handler has executed. This requires access to the originating device from hard interrupt context which is not always possible. There are devices which can only be accessed via a bus (i2c, spi, ...). The bus access requires thread context. For such devices we need to keep the interrupt line masked until the threaded handler has executed. Add a new flag IRQF_ONESHOT which allows drivers to request that the interrupt is not unmasked after the hard interrupt context handler has been executed and the thread has been woken. The interrupt line is unmasked after the thread handler function has been executed. Note that for now IRQF_ONESHOT cannot be used with IRQF_SHARED to avoid complex accounting mechanisms. For oneshot interrupts the primary handler simply returns IRQ_WAKE_THREAD and does nothing else. A generic implementation irq_default_primary_handler() is provided to avoid useless copies all over the place. It is automatically installed when request_threaded_irq() is called with handler=NULL and thread_fn!=NULL. Signed-off-by: Thomas Gleixner Cc: Mark Brown Cc: Dmitry Torokhov Cc: Trilok Soni Cc: Pavel Machek Cc: Brian Swetland Cc: Joonyoung Shim Cc: m.szyprowski@samsung.com Cc: t.fujak@samsung.com Cc: kyungmin.park@samsung.com, Cc: David Brownell Cc: Daniel Ribeiro Cc: arve@android.com Cc: Barry Song <21cnbao@gmail.com> commit 96004bb2a1e4ccad2b1eeb92e51031d1e8e609e3 Author: Li Zefan Date: Mon Aug 17 13:40:59 2009 +0800 lockdep: Simplify lock_stat seqfile code - make ls_next() call ls_start() - remove redundant code in lock_stat_release() Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A88ED6B.6030602@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 12aac19d4ba41019a1748f49d3c5d259b1bfb26d Author: Li Zefan Date: Mon Aug 17 13:40:39 2009 +0800 lockdep: Simplify lockdep_chains seqfile code - make lc_next() call lc_start() - use lock_chains directly instead of storing it in m->private Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A88ED57.5060609@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 8109e1de8502421f9efff1359f2779b1adcc0724 Author: Li Zefan Date: Mon Aug 17 13:40:17 2009 +0800 lockdep: Simplify lockdep seqfile code Use seq_list_start_head() and seq_list_next(). Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A88ED41.5000000@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e9d65725bdf5954283625ca4d770bfc34f2ae56a Author: Li Zefan Date: Mon Aug 17 13:39:49 2009 +0800 lockdep: Fix missing entries in /proc/lock_chains Two entries are missing in the output of /proc/lock_chains. One is chains[1]. When lc_next() is called the 1st time, chains[0] is returned. And when it's called the 2nd time, chains[2] is returned. The other missing ons is, when lc_start() is called the 2nd time, we should start from chains[@pos-1] but not chains[@pos], because pos == 0 is the header. Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A88ED25.2040306@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 212274347fc4d2a7c56bf6c953b02c809e7e0be1 Author: Li Zefan Date: Mon Aug 17 13:39:33 2009 +0800 lockdep: Fix missing entry in /proc/lock_stat One entry is missing in the output of /proc/lock_stat. The cause is, when ls_start() is called the 2nd time, we should start from stats[@pos-1] but not stats[@pos], because pos == 0 is the header. Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A88ED15.20800@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 8abf9196008a7f06841b10769d1aed3f28c1d314 Author: Alexey Dobriyan Date: Thu Aug 13 10:05:43 2009 +0000 sparc64: cheaper asm/uaccess.h inclusion sched.h inclusion is definitely not needed like in 32-bit version, remove it, fixup compilation. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 3f389635102e0dd2f85ebfe7fd549942b5bbc33b Author: Jaswinder Singh Rajput Date: Wed Aug 12 22:49:47 2009 +0000 SPARC: fix duplicate declaration Only difference for 32 and 64 bit version is dma64_addr_t and rest is same. Also fixed the following 'make includecheck' warning: arch/sparc/include/asm/types.h: asm-generic/int-ll64.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit 48e46b7b311c54525712c28004f0a59f2c931d30 Author: Jurij Smakov Date: Sun Aug 16 18:21:47 2009 -0700 sparc64: build compressed image (zImage) by default Besides creating the uncompressed vmlinux image for sparc64, also create a compressed zImage. This is more consistent with other architectures and required to make the 'deb-pkg' target work. Signed-off-by: Jurij Smakov Signed-off-by: Frans Pop Signed-off-by: David S. Miller commit baa28e3530375e0bef2c53243634a1c78f5c02f3 Author: Ben Dooks Date: Mon Aug 3 15:11:29 2009 +0100 ARM: Show FIQ in /proc/interrupts on CONFIG_FIQ The show_fiq_list() call in arch/arm/kernel/irq.c currently depends on CONFIG_ARCH_ACORN, but this is not the only architecture that supports the usage of FIQ. Change to calling this if CONFIG_FIQ is set (which is what arch/arm/kernel/fiq.c is built by). Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit db616eb67604242c11bfbb331bb143bfe4a2e386 Author: Ben Dooks Date: Sun Aug 16 23:54:58 2009 +0100 ARM: S3C: Add S3C_DEV_NAND Kconfig entry Currently the S5PC100 does not define S3C_PA_NAND, leaving the NAND device definitions in arch/arm/plat-s3c/dev-nand.c unbuildable. Add a KConfig entry to select whether this is built. As backwards compatibility, both the S3C24XX and S3C64XX define the new configuration in their main Kconfig files until better support for basing this selection on a per-machine basis can be sorted out. Signed-off-by: Ben Dooks commit e119766f4e15274e2cd9bb5f25119c8b008d920b Author: Byungho Min Date: Tue Jun 23 21:40:28 2009 +0900 ARM: S5PC100: Board and configuration file SMDKC100 board support. The board can be obtained from meritech (http://www.meritech.co.kr) Signed-off-by: Byungho Min [ben-linux@fluff.org: fixup subject and description] Signed-off-by: Ben Dooks commit 2bf49690325b62480a42f7afed5e9f164173c570 Author: Thomas Liu Date: Tue Jul 14 12:14:09 2009 -0400 SELinux: Convert avc_audit to use lsm_audit.h Convert avc_audit in security/selinux/avc.c to use lsm_audit.h, for better maintainability. - changed selinux to use common_audit_data instead of avc_audit_data - eliminated code in avc.c and used code from lsm_audit.h instead. Had to add a LSM_AUDIT_NO_AUDIT to lsm_audit.h so that avc_audit can call common_lsm_audit and do the pre and post callbacks without doing the actual dump. This makes it so that the patched version behaves the same way as the unpatched version. Also added a denied field to the selinux_audit_data private space, once again to make it so that the patched version behaves like the unpatched. I've tested and confirmed that AVCs look the same before and after this patch. Signed-off-by: Thomas Liu Acked-by: Stephen Smalley Signed-off-by: James Morris commit 5a7652f2032b88106c9ba41edf0fb795397008bd Author: Byungho Min Date: Tue Jun 23 21:39:42 2009 +0900 ARM: S5PC100: Kconfigs and Makefiles S5PC100 is a new SoC with ARM coretex-A8 and numerous peripherals. This SoC is successor of S3C64XX. S5PC100 has peripherals which are still similar to S3C families so some drivers in "arch/arm/plat-s3c" can be shared. S5PC100 specific drivers will be added in "arch/arm/plat-s5pcxx" or "arch/arm/mach-s5pc100" Signed-off-by: Byungho Min [ben-linux@fluff.org: tidy and edit description] Signed-off-by: Ben Dooks commit c1cc3db8e9fcf1c9d2db3f34552c73996d3d8a13 Author: Byungho Min Date: Tue Jun 23 21:39:56 2009 +0900 ARM: S5PC100: Clock and PLL support S5PC100 has 4 PLLs (APLL,MPLL,EPLL,HPLL) and 3 clock domains. Clock scheme is implemented here. Signed-off-by: Byungho Min [ben-linux@fluff.org: edited title] Signed-off-by: Ben Dooks commit c9b870e7e796eea515a261a314917317ebb1cb4a Author: Byungho Min Date: Tue Jun 23 21:40:03 2009 +0900 ARM: S5PC100: IRQ and timer S5PC100 has 3 VICs(Vectored Interrupt Controller). The VICs come from S3C64xx series, so the driver source code can be shared with S3C families. The S5PC100 has 3 VICs while S3C64xx has only 2. Signed-off-by: Byungho Min [ben-linux@fluff.org: subject fixup] Signed-off-by: Ben Dooks commit 0164cbf4390fbcd7125fc8d476a451a3efa14c5d Author: Byungho Min Date: Tue Jun 23 21:40:22 2009 +0900 ARM: S5PC100: GPIO and I2C S5PC100 has more GPIO group then previous one. It has 34 groups of GPIO, while S3C6410 has 17 groups. For now, only header files are written. Signed-off-by: Byungho Min [ben-linux@fluff.org: subject fixup] Signed-off-by: Ben Dooks commit 8acd1ade2ede18408303c968e1449220c427a182 Author: Byungho Min Date: Tue Jun 23 21:40:15 2009 +0900 ARM: S5PC100: CPU initialization Signed-off-by: Byungho Min [ben-linux@fluff.org: subject fixup] Signed-off-by: Ben Dooks commit 433a915fc6456ee3a4b740fe4d92caa78164fdce Author: Byungho Min Date: Tue Jun 23 21:40:09 2009 +0900 ARM: S5PC100: UART and Serial Serial driver of S5PC100 is the same as S3C6400, so S5PC100 shares the serial driver with S3C6400. Uart driver is copied from plat-s3c64xx to plat-s5pc1xx, as I do not use plat-s3c64xx directory. Signed-off-by: Byungho Min [ben-linux@fluff.org: title fixup] Signed-off-by: Ben Dooks commit ff54b4578448d616eb177e216acd599ecf5ee5b1 Author: Byungho Min Date: Tue Jun 23 21:39:49 2009 +0900 ARM: S5PC100: Memory map S5PC100's the physical IO space starts at 0xe000"0000. To maximize space for vmalloc, the virtual IO space starts at 0xf400"0000 as same as other samsung CPUs(s3c24xx and s3c64xx) do. Signed-off-by: Byungho Min [ben-linux@fluff.org: subject and description fixup] Signed-off-by: Ben Dooks commit 8f28827a162fd1e8da4e96bed69b06d2606e8322 Author: Frederic Weisbecker Date: Sun Aug 16 22:05:48 2009 +0200 perf tools: Librarize trace_event() helper Librarize trace_event() helper so that perf trace can use it too. Also clean up the debug.h includes a bit. It's not good to have it included in perf.h because it doesn't make it flexible against other headers it may need (headers that can also depend on perf.h and then create a recursive header dependency). Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250453149-664-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0d3a5c885971de1e3124d85bfadf818abac9ba12 Author: Frederic Weisbecker Date: Sun Aug 16 20:56:37 2009 +0200 perf tools: Librarize sample type and attr finding from headers Librarize the sample type and attr fetching from perf data file headers so that we can also use it from perf trace. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250448997-30715-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0f25bfc8d8b31a4ac8e4ff6cbc3911fb7092a4a7 Author: Frederic Weisbecker Date: Sun Aug 16 19:56:54 2009 +0200 perf tools: Put the show mode into the event headers files Annotate and report share the same flags to filter events considering their context (kernel, user, hypervisor). Both tools have their own definitions of these flags. Factorize them out into the event headers file. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250445414-29237-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 2cec19d9d0716f8d68f1c5a87667d0387d4d252d Author: Frederic Weisbecker Date: Sun Aug 16 19:24:21 2009 +0200 perf tools: Factorize the dprintf definition We have two users of dprintf: report and annotate. Another one is coming with perf trace. Then factorize it into the debug file. While at it, rename dprintf() to dump_printf() so that it doesn't conflicts with its libc homograph. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250443461-28130-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0d31b82dd5c54a0b1e1d789427abdcc180bc4602 Author: Frederic Weisbecker Date: Sun Aug 16 17:52:07 2009 +0200 perf tools: Substract -Wformat-nonliteral from Wformat=2 in extra flags The soon coming perf trace needs to use printf with dynamically built formats. But we are using -Wformat=2 which is a shortcut for the following set: -Wformat -Wformat-security -Wformat-y2k -Wformat-nonliteral -Wformat-nonliteral warns when it can't check formats because they are not builtin constant strings, but we want to feature dynamic formats. What we want instead is Wformat=2 minus -Wformat-nonliteral, which is what this patch does. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250437927-25490-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 3e2bcad89814030ad6a369a97ad1481fd35938d3 Merge: dcbf77c b2add73 Author: Rafael J. Wysocki Date: Sun Aug 16 11:50:10 2009 +0200 Merge branch 'master' into for-linus commit 35ba15b737e2cd1d780943189f2138519f81fd42 Author: Ingo Molnar Date: Sun Aug 16 11:09:21 2009 +0200 perf: Build with stack-protector and with -D_FORTIFY_SOURCE=2 Up our defences a bit. Suggested-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 84bc4af59081ee974dd80210e694ab59ebe51ce8 Author: Darren Hart Date: Thu Aug 13 17:36:53 2009 -0700 futex: Detect mismatched requeue targets There is currently no check to ensure that userspace uses the same futex requeue target (uaddr2) in futex_requeue() that the waiter used in futex_wait_requeue_pi(). A mismatch here could very unexpected results as the waiter assumes it either wakes on uaddr1 or uaddr2. We could detect this on wakeup in the waiter, but the cleanup is more intense after the improper requeue has occured. This patch stores the waiter's expected requeue target in a new requeue_pi_key pointer in the futex_q which futex_requeue() checks prior to attempting to do a proxy lock acquistion or a requeue when requeue_pi=1. If they don't match, return -EINVAL from futex_requeue, aborting the requeue of any remaining waiters. Signed-off-by: Darren Hart Cc: Peter Zijlstra Cc: Eric Dumazet Cc: John Kacur Cc: Dinakar Guniguntala Cc: John Stultz LKML-Reference: <20090814003650.14634.63916.stgit@Aeon> Signed-off-by: Thomas Gleixner commit 83a0944fa919fb2ebcfc1f8933d86e437b597ca6 Author: Ingo Molnar Date: Sat Aug 15 12:26:57 2009 +0200 perf: Enable more compiler warnings Related to a shadowed variable bug fix Valdis Kletnieks noticed that perf does not get built with -Wshadow, which could have helped us avoid the bug. So enable -Wshadow and also enable the following warnings on perf builds, in addition to the already enabled -Wall -Wextra -std=gnu99 warnings: -Wcast-align -Wformat=2 -Wshadow -Winit-self -Wpacked -Wredundant-decls -Wstack-protector -Wstrict-aliasing=3 -Wswitch-default -Wswitch-enum -Wno-system-headers -Wundef -Wvolatile-register-var -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -Wdeclaration-after-statement And change/fix the perf code to build cleanly under GCC 4.3.2. The list of warnings enablement is rather arbitrary: it's based on my (quick) reading of the GCC manpages and trying them on perf. I categorized the warnings based on individually enabling them and looking whether they trigger something in the perf build. If i liked those warnings (i.e. if they trigger for something that arguably could be improved) i enabled the warning. If the warnings seemed to come from language laywers spamming the build with tons of nuisance warnings i generally kept them off. Most of the sign conversion related warnings were in this category. (A second patch enabling some of the sign warnings might be welcome - sign bugs can be nasty.) I also kept warnings that seem to make sense from their manpage description and which produced no actual warnings on our code base. These warnings might still be turned off if they end up being a nuisance. I also left out a few warnings that are not supported in older compilers. [ Note that these changes might break the build on older compilers i did not test, or on non-x86 architectures that produce different warnings, so more testing would be welcome. ] Reported-by: Valdis.Kletnieks@vt.edu Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 76fbebfbb593bd66780db0a808afe1d21c7ff6d6 Author: Sergey Matyukevich Date: Sat Aug 15 00:02:41 2009 +0000 at91_ide: remove headers specific for at91sam9263 This driver requires only static memory controller definitions and macroses contained in generic header at91sam9_smc.h. Those extra headers are misleading since this driver also works fine for at91sam9260 SoC: tests were performed on afeb9260 board. Signed-off-by: Sergey Matyukevich Acked-by: Stanislaw Gruszka Signed-off-by: David S. Miller commit 468b5ef8a8f67a780dd5f51410f8c92761b36f06 Author: Kevin Hilman Date: Mon Jul 6 12:26:16 2009 +0000 IDE: palm_bk3710: convert clock usage after clkdev conversion DaVinci core code has converted to the new clkdev API so clock name strings are not needed. Instead, just the a 'struct device' pointer is needed. Signed-off-by: Kevin Hilman Acked-by: Sergei Shtylyov Signed-off-by: David S. Miller commit 684ca5cc9a772532bc893cdc994bd89bf0773719 Author: Josh Triplett Date: Sat Aug 15 09:53:51 2009 -0700 rcu: Fix typo in rcu_irq_exit() comment header Signed-off-by: Josh Triplett Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <1250355231169-git-send-email-> Signed-off-by: Ingo Molnar commit b612ba804b8a656333013ad2ee96fb2377df5dbb Author: Paul E. McKenney Date: Sat Aug 15 09:53:50 2009 -0700 rcu: Make rcupreempt_trace.c look at offline CPUs Given that offline CPUs can now have non-zero counters, we need to dump counters for offline CPUs as well as for online CPUs. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <12503552313921-git-send-email-> Signed-off-by: Ingo Molnar commit 8064d54929f23613e649dc7e14f7a94454487d58 Author: Paul E. McKenney Date: Sat Aug 15 09:53:49 2009 -0700 rcu: Make preemptable RCU scan all CPUs when summing RCU counters This patch eliminates the counter-moving during CPU-offline notifiers, eliminating potential confusion if counters are scanned during counter-movement process. This confusion could result in premature ending of an RCU grace period. For example, if there are two tasks in RCU read-side critical sections (so that the sum of the counters is two), and the counter for the CPU going offline is -2, then moving the count to another CPU can result in the sum momentarily appearing to be zero. Since there are no memory barriers in either case, many more such scenarios are possible. So just don't move the counts!!! Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <12503552312863-git-send-email-> Signed-off-by: Ingo Molnar commit 2e597558086dec36d5c33521a36e0f6b1bc3f3a7 Author: Paul E. McKenney Date: Sat Aug 15 09:53:48 2009 -0700 rcu: Simplify RCU CPU-hotplug notification Use the new cpu_notifier() API to simplify RCU's CPU-hotplug notifiers, collapsing down to a single such notifier. This makes it trivial to provide the notifier-ordering guarantee that rcu_barrier() depends on. Also remove redundant open_softirq() calls from Hierarchical RCU notifier. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <12503552312510-git-send-email-> Signed-off-by: Ingo Molnar commit 799e64f05f4bfaad2bb3165cab95c8c992a1c296 Author: Paul E. McKenney Date: Sat Aug 15 09:53:47 2009 -0700 cpu hotplug: Introduce cpu_notifier() to handle !HOTPLUG_CPU case This patch introduces a new cpu_notifier() API that is similar to hotcpu_notifier(), but which also notifies of CPUs coming online during boot in the !HOTPLUG_CPU case. Reported-by: Ingo Molnar Reported-by: Hugh Dickins Tested-by: Hugh Dickins Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: benh@kernel.crashing.org LKML-Reference: <12503552312611-git-send-email-> Signed-off-by: Ingo Molnar commit 27569620c748ec13f801b4683b448a2ac2adaae4 Author: Paul E. McKenney Date: Sat Aug 15 09:53:46 2009 -0700 rcu: Split hierarchical RCU initialization into boot-time and CPU-online pieces This patch divides the rcutree initialization into boot-time and hotplug-time components, so that the tree data structures are guaranteed to be fully linked at boot time regardless of what might happen in CPU hotplug operations. This makes RCU more resilient against CPU hotplug misbehavior (and vice versa), but more importantly, does a better job of compartmentalizing the code. Reported-by: Ingo Molnar Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <1250355231152-git-send-email-> Signed-off-by: Ingo Molnar commit fa08661af834875c9bd6f7f0b1b9388dc72a6585 Merge: 240ebbf 64f1607 Author: Ingo Molnar Date: Sat Aug 15 18:55:58 2009 +0200 Merge commit 'v2.6.31-rc6' into core/rcu Merge reason: the branch was on pre-rc1 .30, update to latest. Signed-off-by: Ingo Molnar commit 9b2616c2e8cc98ca98bbb40cad83a8d3d859e840 Merge: 590a94d ac25150 Author: Russell King Date: Sat Aug 15 16:51:48 2009 +0100 Merge branch 'for-rmk-2.6.32' of git://git.pengutronix.de/git/ukl/linux-2.6 into devel-stable commit 590a94d93475fa6cca257f161ae268ed3a2395b5 Merge: 6973ee7 c35d3a4 Author: Russell King Date: Sat Aug 15 16:49:31 2009 +0100 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable commit 57a473f2f97cf3bca78df08aac2f438ddef03bee Author: Leo Chen Date: Wed Aug 12 22:08:48 2009 +0100 ARM: 5671/1: bcmring: add maintainer entry add maintainer entry Signed-off-by: Leo Chen Signed-off-by: Russell King commit 7f33527f547161f5ddc05c252c81617b8de93f21 Author: Leo Chen Date: Wed Aug 12 22:07:26 2009 +0100 ARM: 5670/1: bcmring: add default configuration for bcmring arch add default configuration for bcmring arch Signed-off-by: Leo Chen Signed-off-by: Russell King commit 6288e28dce9bae24068b7341ebd72a7d176a3539 Author: Leo Chen Date: Fri Aug 7 19:46:15 2009 +0100 ARM: 5641/1: bcmring: add Kconfig and Makefile entries in arch/arm add bcmring option in Kconfig and add entry in Makefile in arch/arm directory Signed-off-by: Leo Chen Signed-off-by: Russell King commit 831f1f73a6e1a0a02a5eaa2da5f49cf09c7bb1af Author: Leo Chen Date: Fri Aug 7 19:46:49 2009 +0100 ARM: 5642/1: bcmring: add Makefile/Kconfig/Makefile.boot in mach-bcmring add arch/arm/mach-bcmring directory add Kconfig, Makefile, and Makefile.boot in mach-bcmring Signed-off-by: Leo Chen Signed-off-by: Russell King commit bc5739005f9c0585d21c78f61e9d7965f97b2109 Author: Leo Chen Date: Fri Aug 7 20:04:17 2009 +0100 ARM: 5653/1: bcmring: add Makefile of csp code add Makefile of csp code Signed-off-by: Leo Chen Signed-off-by: Russell King commit a364143127a3155153f3e93d47cfc0f99a6f1858 Author: Leo Chen Date: Fri Aug 7 20:10:24 2009 +0100 ARM: 5661/1: bcmring: add csp security hardware headers add csp security hardware headers Signed-off-by: Leo Chen Signed-off-by: Russell King commit 7ba09020287fa6c181707490ea7143abb3db55b1 Author: Leo Chen Date: Fri Aug 7 20:09:49 2009 +0100 ARM: 5660/1: bcmring: add csp timer block header and source files add csp timer block header and source files Signed-off-by: Leo Chen Signed-off-by: Russell King commit cf2ddacb567e85f40241f67b240fa445db7a424d Author: Leo Chen Date: Fri Aug 7 20:08:00 2009 +0100 ARM: 5659/1: bcmring: add csp dmac source files add csp dmac source files Signed-off-by: Leo Chen Signed-off-by: Russell King commit 1a4a561bdd838b4455d57edf0deaf83e894d795e Author: Leo Chen Date: Fri Aug 7 20:07:22 2009 +0100 ARM: 5658/1: bcmring: add csp dmac header files add csp dmac header files Signed-off-by: Leo Chen Signed-off-by: Russell King commit 638ee2db1916de4da144f0ed6d156181ede20a41 Author: Leo Chen Date: Fri Aug 7 20:06:47 2009 +0100 ARM: 5657/1: bcmring: add csp chipc block source code add csp chipc block source code Signed-off-by: Leo Chen Signed-off-by: Russell King commit 4818a4727d787b2da0dc73c66f04d241626f4c97 Author: Leo Chen Date: Fri Aug 7 20:06:13 2009 +0100 ARM: 5656/1: bcmring: add csp chipc inline functions add csp chipc inline functions Signed-off-by: Leo Chen Signed-off-by: Russell King commit 2c4b57a204669a7b649f3eb891d3d0f0eba75321 Author: Leo Chen Date: Fri Aug 7 20:05:37 2009 +0100 ARM: 5655/1: bcmring: add csp chipc hardware definition file add csp chipc hardware definition file Signed-off-by: Leo Chen Signed-off-by: Russell King commit f1947c7a6717e437d9fe0e27a76bacf77f570d2d Author: Leo Chen Date: Fri Aug 7 20:04:54 2009 +0100 ARM: 5654/1: bcmring: add csp chipc hardware register file add csp chipc hardware register file Signed-off-by: Leo Chen Signed-off-by: Russell King commit 9133760f4b0c0628d45532aad17f59896cd7b57f Author: Leo Chen Date: Fri Aug 7 20:03:40 2009 +0100 ARM: 5652/1: bcmring: add misc headers for csp code add misc wrapper headers for csp code add ddrc register header file Signed-off-by: Leo Chen Signed-off-by: Russell King commit 7bab8bfc7f1060e3ab4bc0a90813a9338e6994b9 Author: Leo Chen Date: Fri Aug 7 20:02:59 2009 +0100 ARM: 5651/1: bcmring: csp capability header files add mach-bcmring csp capability header files Signed-off-by: Leo Chen Signed-off-by: Russell King commit 16f5875034fa9e36a72c4223c8ef42cfe461d766 Author: Leo Chen Date: Fri Aug 7 20:02:21 2009 +0100 ARM: 5650/1: bcmring: add io.h, uncompress. h, and entry-macro.S add remaining header files in include/mach directory add entry-macro.S file Signed-off-by: Leo Chen Signed-off-by: Russell King commit 34559125742645843bc7639900c7b4737ec12b72 Author: Leo Chen Date: Fri Aug 7 20:01:47 2009 +0100 ARM: 5649/1: bcmring: add bcmring timer function bcmring timer helper function, hardware register headers Signed-off-by: Leo Chen Signed-off-by: Russell King commit 859277f7dbf8b48016d55ea2171d04eed074d858 Author: Leo Chen Date: Fri Aug 7 20:01:13 2009 +0100 ARM: 5648/1: bcmring: add bmcring dma.c implement dma support for bcmring Signed-off-by: Leo Chen Signed-off-by: Russell King commit 7c4c2951c0077eecf9a9dfda59a43eedd09a01f4 Author: Leo Chen Date: Fri Aug 7 20:00:39 2009 +0100 ARM: 5647/1: bcmring: add bcmring dma.h and dma_device.c add bcmring dma.h and dma_device.c Signed-off-by: Leo Chen Signed-off-by: Russell King commit 661f78d80969eefb25a0e99c08c0eba81b37861e Author: Leo Chen Date: Fri Aug 7 19:59:57 2009 +0100 ARM: 5646/1: bcmring: add mach-bcmring/mm.c and memory headers memory map addresses memory map description and init functions Signed-off-by: Leo Chen Signed-off-by: Russell King commit b7462d654f623738b4b3e03cff20f68b5b9a77f5 Author: Leo Chen Date: Fri Aug 7 19:59:04 2009 +0100 ARM: 5645/1: bcmring: add bcmring irq.c init irq and handler add irq controller register file and header files Signed-off-by: Leo Chen Signed-off-by: Russell King commit 278a6752e869b0f4a03ce5ac0588b31b50712903 Author: Leo Chen Date: Fri Aug 7 19:58:26 2009 +0100 ARM: 5644/1: add bcmring core.c, clock.c, clock.h add core.c, clock.c, and clock.h in mach-bcmring implement timer init, clocksource init, amba device init implement clock set/get enable/disable API add dummy clkdev.h Signed-off-by: Leo Chen Signed-off-by: Russell King commit 4663712cc745324a216112a72c744bb2b8f6658b Author: Leo Chen Date: Fri Aug 7 19:56:19 2009 +0100 ARM: 5643/1: bcmring: arch.c and header files add arch.c in mach-bcmring add related header files in mach-bcmring Signed-off-by: Leo Chen Signed-off-by: Russell King commit a8bc4eadd936bbad9e99b89fe692679451ad75c9 Author: wanzongshun Date: Fri Aug 14 15:38:29 2009 +0100 ARM: 5676/1: Provide more useful introduction for w90x900 Provide more useful introduction for w90x900 Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit f346becf2fdba4d9dc023d28bc9a28f74dc9e4ac Author: wanzongshun Date: Fri Aug 14 15:37:42 2009 +0100 ARM: 5675/1: The semaphore is used as mutex so make it a mutex The semaphore is used as mutex so make it a mutex. Signed-off-by: Thomas Gleixner Signed-off-by: Uwe Kleine-König Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 58b5369e6eb6c889b540a99aa95562a66b25acf1 Author: wanzongshun Date: Fri Aug 14 15:36:44 2009 +0100 ARM: 5674/1: Add clocksource/clockevent support for w90p910 platform Add clocksource/clockevent support for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 369842658a36bcea28ecb643ba4bdb53919330dd Author: Mikael Pettersson Date: Sat Aug 15 12:58:11 2009 +0100 ARM: 5677/1: ARM support for TIF_RESTORE_SIGMASK/pselect6/ppoll/epoll_pwait This patch adds support for TIF_RESTORE_SIGMASK to ARM's signal handling, which allows to hook up the pselect6, ppoll, and epoll_pwait syscalls on ARM. Tested here with eabi userspace and a test program with a deliberate race between a child's exit and the parent's sigprocmask/select sequence. Using sys_pselect6() instead of sigprocmask/select reliably prevents the race. The other arch's support for TIF_RESTORE_SIGMASK has evolved over time: In 2.6.16: - add TIF_RESTORE_SIGMASK which parallels TIF_SIGPENDING - test both when checking for pending signal [changed later] - reimplement sys_sigsuspend() to use current->saved_sigmask, TIF_RESTORE_SIGMASK [changed later], and -ERESTARTNOHAND; ditto for sys_rt_sigsuspend(), but drop private code and use common code via __ARCH_WANT_SYS_RT_SIGSUSPEND; - there are now no "extra" calls to do_signal() so its oldset parameter is always ¤t->blocked so need not be passed, also its return value is changed to void - change handle_signal() to return 0/-errno - change do_signal() to honor TIF_RESTORE_SIGMASK: + get oldset from current->saved_sigmask if TIF_RESTORE_SIGMASK is set + if handle_signal() was successful then clear TIF_RESTORE_SIGMASK + if no signal was delivered and TIF_RESTORE_SIGMASK is set then clear it and restore the sigmask - hook up sys_pselect6() and sys_ppoll() In 2.6.19: - hook up sys_epoll_pwait() In 2.6.26: - allow archs to override how TIF_RESTORE_SIGMASK is implemented; default set_restore_sigmask() sets both TIF_RESTORE_SIGMASK and TIF_SIGPENDING; archs need now just test TIF_SIGPENDING again when checking for pending signal work; some archs now implement TIF_RESTORE_SIGMASK as a secondary/non-atomic thread flag bit - call set_restore_sigmask() in sys_sigsuspend() instead of setting TIF_RESTORE_SIGMASK In 2.6.29-rc: - kill sys_pselect7() which no arch wanted So for 2.6.31-rc6/ARM this patch does the following: - Add TIF_RESTORE_SIGMASK. Use the generic set_restore_sigmask() which sets both TIF_SIGPENDING and TIF_RESTORE_SIGMASK, so TIF_RESTORE_SIGMASK need not claim one of the scarce low thread flags, and existing TIF_SIGPENDING and _TIF_WORK_MASK tests need not be extended for TIF_RESTORE_SIGMASK. - sys_sigsuspend() is reimplemented to use current->saved_sigmask and set_restore_sigmask(), making it identical to most other archs - The private code for sys_rt_sigsuspend() is removed, instead generic code supplies it via __ARCH_WANT_SYS_RT_SIGSUSPEND. - sys_sigsuspend() and sys_rt_sigsuspend() no longer need a pt_regs parameter, so their assembly code wrappers are removed. - handle_signal() is changed to return 0 on success or -errno. - The oldset parameter to do_signal() is now redundant and removed, and the return value is now also redundant and changed to void. - do_signal() is changed to honor TIF_RESTORE_SIGMASK: + get oldset from current->saved_sigmask if TIF_RESTORE_SIGMASK is set + if handle_signal() was successful then clear TIF_RESTORE_SIGMASK + if no signal was delivered and TIF_RESTORE_SIGMASK is set then clear it and restore the sigmask - Hook up sys_pselect6, sys_ppoll, and sys_epoll_pwait. Signed-off-by: Mikael Pettersson Signed-off-by: Russell King commit 6baa0a5ae0954fb2486c480a20556a9f1aee0965 Author: Frederic Weisbecker Date: Fri Aug 14 12:21:53 2009 +0200 perf tools: Factorize the thread code in a dedicated file Factorize the thread management code used by perf-annotate and perf-report in dedicated source and header files. v2: pass last_match by address so that it can actually be modified. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250245313-6995-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 1e97f50b7023cda00cb720e53b9e59c250cb4ed7 Author: Mark Brown Date: Sat Aug 15 12:15:10 2009 +0100 ASoC: Factor out cache I/O from WM8974 Signed-off-by: Mark Brown commit 37cfa1950e2a24d9fa4a593186645d8e2b5042a8 Merge: 29e02cb 25cbf46 Author: Mark Brown Date: Sat Aug 15 11:52:43 2009 +0100 Merge branch 'wm8974-upstream' into for-2.6.32 commit 29e02cb3ffda6ef48a50fea880f63ac8178308bb Author: Mark Brown Date: Sat Aug 15 11:37:30 2009 +0100 ASoC: Hook i.MX into build Signed-off-by: Mark Brown commit d555a552aeeef45d097f1d3ea2c6dcce6839f1dd Author: Mark Brown Date: Sat Aug 15 11:36:49 2009 +0100 ASoC: Staticise unexported variables Signed-off-by: Mark Brown commit a2d512a978ceda557a456d39d88cfc1eb60194e9 Author: Mark Brown Date: Sat Aug 15 11:36:20 2009 +0100 ASoC: Remove unneeded i.MX dependency on SND Signed-off-by: Mark Brown commit 08229de4b42816079ed5d15f0689fcd0af946d5e Merge: fbb474de 2a70813 Author: Mark Brown Date: Sat Aug 15 11:20:44 2009 +0100 Merge branch 'for-2.6.32' into mxc Conflicts: sound/soc/Makefile commit be750231ce1599b86fbba213e3da8344ece262e2 Merge: 18408dd 39e6dd7 Author: Ingo Molnar Date: Sat Aug 15 12:06:12 2009 +0200 Merge branch 'perfcounters/urgent' into perfcounters/core Conflicts: kernel/perf_counter.c Merge reason: update to latest upstream (-rc6) and resolve the conflict with urgent fixes. Signed-off-by: Ingo Molnar commit 18408ddc01136f505ae357c03f0d8e50b10e0db6 Author: Peter Zijlstra Date: Thu Aug 13 11:47:55 2009 +0200 perf tools: Add some comments to the event definitions Just to make it clear that these are _not_ generic event structures but do rely on the counter configuration. Signed-off-by: Peter Zijlstra Cc: Corey J Ashford Cc: Paul Mackerras Cc: stephane eranian LKML-Reference: <20090813103655.334194326@chello.nl> Signed-off-by: Ingo Molnar commit 7570ef18349d4f3a9336397952b05ec3e95ec4b7 Author: Takashi Iwai Date: Sat Aug 15 11:57:53 2009 +0200 ALSA: hda - Add missing num_adc_nids definition for IDT92HD8xxx The previous fix removed the definition of num_adc_nids wrongly, and this resulted in the missing input-source control. Now readded again. Signed-off-by: Takashi Iwai commit 3c556e4198926b284ff5ff6756111a64e1e98cb0 Author: Arnaldo Carvalho de Melo Date: Wed Aug 12 12:00:40 2009 -0300 x86, intel_txt: Fix typos in Kconfig help Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: H. Peter Anvin commit 1758c0947605211ef953cc91d6bbdf847a21b822 Author: Oliver Hartkopp Date: Thu Aug 13 22:54:25 2009 +0000 can: Use WARN_ONCE() instead of BUG_ON() for sanity check in receive path To ensure a proper handling of CAN frames transported in skbuffs some checks need to be performed at receive time. As stated by Michael Olbrich and Luotao Fu BUG_ON() might be to restrictive. This is right as we can just drop the non conform skbuff and the Kernel can continue working. This patch replaces the BUG_ON() with a WARN_ONCE() so that the system remains healthy but we made the problem visible (once). Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann CC: Michael Olbrich CC: Luotao Fu Signed-off-by: David S. Miller commit 49d4b8ba97034469b941d00d5ca1e3b897394e35 Author: Stephen Hemminger Date: Fri Aug 14 13:33:17 2009 +0000 sky2: remove restarting workaround flag The whole restarting flag was introduced by Mike McCormack and was a temporary duct tape patch around issues with transmits inflight during restart. The problems it was covering are now fixed and the code should have been reverted. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f34c5c828439cedbc222030d7e45af69f947384d Author: Yi Zou Date: Fri Aug 14 12:42:17 2009 +0000 ixgbe: Add support for NETIF_F_FCOE_MTU to 82599 devices Enable netdev feature flag bit NETIF_F_FCOE_MTU for 82599 devices and enable jumbo frame correspondingly when NETIF_F_FCOE_MTU is set. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bb2af4f54ffa8245d5ce278cae9c66198bc14d8b Author: Yi Zou Date: Fri Aug 14 12:41:57 2009 +0000 net: Add NETIF_F_FCOE_MTU to indicate support for a different MTU for FCoE Add NETIF_F_FCOE_MTU to indicate that the NIC can support a secondary MTU for converged traffic of LAN and Fiber Channel over Ethernet (FCoE). The MTU for FCoE is 2158 = 14 (FCoE header) + 24 (FC header) + 2112 (FC max payload) + 4 (FC CRC) + 4 (FCoE trailer). Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 36a82236314b5ebd6e3e1eb8bb7b850c83e53c3a Author: Vasu Dev Date: Fri Aug 14 12:41:28 2009 +0000 ixgbe: updates vlan feature flags to enable FCoE offloads on vlan interface Updates netdev->vlan_features for NETIF_F_FCOE_CRC and NETIF_F_FSO, so that FCoE CRC and GSO offloads will get used for FCoE over ixgbe based vlan interface. Signed-off-by: Vasu Dev Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b85daa5324a3c9e560a4351c17d18f49c647eb5c Author: Vasu Dev Date: Fri Aug 14 12:41:07 2009 +0000 vlan: adds fcoe offload related net_device_ops and updates fcoe_ddp_xid field Adds fcoe offload related net_device_ops functions vlan_dev_fcoe_ddp_setup and vlan_dev_fcoe_ddp_done, their implementation simply calls real eth device net_device_ops for FCoE DDP setup and done operations. Updates VLAN netdev field value for fcoe_ddp_xid from real eth device netdev. Above changes are required for fcoe DDP offload working on a VLAN interface. Signed-off-by: Vasu Dev Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cf9911166113e471e1796eaf273982d8e43b138d Merge: deeb16d 8851293 Author: David S. Miller Date: Fri Aug 14 16:07:21 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit deeb16dc24b68cbdca72dc717ae82178a6644801 Author: Stephen Hemminger Date: Fri Aug 14 05:15:20 2009 +0000 sky2: version 1.24 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0ea065e52eb6a0f029b5fa5ed2f142be1b66a153 Author: Stephen Hemminger Date: Fri Aug 14 15:36:41 2009 -0700 sky2: fix pause negotiation The sky2 driver combines auto speed negotiation with automatic negotiation of pause parameters; but the ethtool interface expects them to be split. This patch allows autonegotiation to be used for speed, but manually disable flow control. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 481cea4a4d72aabe76dbb86b1a64f4e8931eca25 Author: Stephen Hemminger Date: Fri Aug 14 15:33:19 2009 -0700 sky2: lock less transmit completion Transmit completion can safely run lockless against transmit start. In the normal case, completion is done from NAPI and only looks at elements that are at the tail of the ring. When doing shutdown or reset, the transmiter should be completely block by NAPI disable and blocking of transmit queue. Based on earlier work by Mike McCormack. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit af18d8b89930aecc742982634adaf97dfb43ed3b Author: Stephen Hemminger Date: Fri Aug 14 15:31:25 2009 -0700 sky2: cleanup restart operations This unifies the places that bounce the device (suspend/resume and restart). And makes the operations have the same semantics as normal dev_open/dev_stop. This also avoids setting the multicast addresses twice when device is brought up. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 19720737187aaee006afb20e63be5e9eddc505a8 Author: Stephen Hemminger Date: Fri Aug 14 05:15:16 2009 +0000 sky2: hold RTNL when doing suspend/shutdown operations The suspend and shutdown code plays with shared state. Use consistent locking, for extra protection. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0da6d7b331f391d3c0ce52fb5289f7edeb94e280 Author: Stephen Hemminger Date: Fri Aug 14 05:15:15 2009 +0000 sky2: hold spinlock around phy_power_down Avoid any possible problems with accessing PHY registers on shutdown. This is a purely theoretical issue and is not related to any of the outstanding bug reports. Since receiver and transmitter are already shutdown and phy interrupts for this device are already disabled, there should already be enough protection. Suggested by Mike McCormack. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 264bb4fab1a0952b4eef4df5b9e90bc050a2d1e6 Author: Mike McCormack Date: Fri Aug 14 05:15:14 2009 +0000 sky2: Reset tx train after interrupts disabled. Reseting the tx chain too soon results in invalid tx queue positions being delivered in the status queue. This also makes sure there's no overlap between the cleanup done by sky2_tx_clean() and sky2_tx_done(). Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit a510996bea68eec2feb7818e9a440bd840613a25 Author: Mike McCormack Date: Fri Aug 14 05:15:13 2009 +0000 sky2: Move tx reset functionality to sky2_tx_reset() This is pure refactoring. Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9b289c3374d2891aac6c12de58e49a16cfbcb6b1 Author: Mike McCormack Date: Fri Aug 14 05:15:12 2009 +0000 sky2: Avoid rewinding sky2->tx_prod Keep sky2->tx_prod consistent since int might be examined by an softirq poll or restart. Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit a8519de4a030d130e0d18147a2af3112b7951e0b Merge: 5c16807 560ad81 Author: David S. Miller Date: Fri Aug 14 12:29:17 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 58c41d28259c246dbc11358d85d332dc20ccd57b Author: H. Peter Anvin Date: Fri Aug 14 12:14:19 2009 -0700 x86, intel_txt: Factor out the code for S3 setup S3 sleep requires special setup in tboot. However, the data structures needed to do such setup are only available if CONFIG_ACPI_SLEEP is enabled. Abstract them out as much as possible, so we can have a single tboot_setup_sleep() which either is a proper implementation or a stub which simply calls BUG(). Signed-off-by: H. Peter Anvin Acked-by: Shane Wang Cc: Joseph Cihula commit cccddf4f5580131c9b963900e1d3400655e633cc Author: Benny Halevy Date: Fri Aug 14 17:20:19 2009 +0300 nfs: nfs4xdr: optimize low level decoding do not increment decoding ptr if not needed. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit c0eae66ece40bdb8cd88c5106834b71a1c9f421c Author: Benny Halevy Date: Fri Aug 14 17:20:14 2009 +0300 nfs: nfs4xdr: get rid of READ_BUF Use xdr_inline_decode instead. Open code debug printout and error return. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 2460ba57c49c36dfef0b62c929461de09240fe17 Author: Benny Halevy Date: Fri Aug 14 17:20:10 2009 +0300 nfs: nfs4xdr: simplify decode_exchange_id by reusing decode_opaque_inline Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 99398d0655ada44ae464a1c93d13cd438a306ecd Author: Benny Halevy Date: Fri Aug 14 17:20:05 2009 +0300 nfs: nfs4xdr: get rid of COPYMEM Just directly call memcpy. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit e78291e4e07520348b0634095cf19ed3bc868965 Author: Benny Halevy Date: Fri Aug 14 17:20:00 2009 +0300 nfs: nfs4xdr: introduce decode_sessionid helper Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit db942bbd09563e169cc5d9004c32c1de33220fd1 Author: Benny Halevy Date: Fri Aug 14 17:19:56 2009 +0300 nfs: nfs4xdr: introduce decode_verifier helper Signed-off-by: Benny Halevy [Trond: Fixed up an 'uninitialised variable' issue in decode_readdir] Signed-off-by: Trond Myklebust commit 07d30434cfe2f1a1553143c6b20f1fe68d2ef80a Author: Benny Halevy Date: Fri Aug 14 17:19:52 2009 +0300 nfs: nfs4xdr: introduce decode_opaque_fixed and decode_stateid helpers Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 686841b3cc3a71918b45ed148be7a01a4f10e3f8 Author: Benny Halevy Date: Fri Aug 14 17:19:48 2009 +0300 nfs: nfs4xdr: introduce print_overflow_msg Part fo the nfs4xdr cleanup. READ_BUF will go away. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit c816fd3406462702dee2e3859e70132c3aab7c10 Author: Benny Halevy Date: Fri Aug 14 17:19:44 2009 +0300 nfs: nfs4xdr: get rid of READTIME It has no users. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 3ceb4dbb993fdab6a6fafc69db36686278871134 Author: Benny Halevy Date: Fri Aug 14 17:19:41 2009 +0300 nfs: nfs4xdr: get rid of READ64 s/READ64\(\*(.*)\)/p = xdr_decode_hyper(p, \1)/ s/READ64\((.*)\)/p = xdr_decode_hyper(p, &\1)/ Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 6f723f7710024bb151ca8c5277ce8c71beec4db8 Author: Benny Halevy Date: Fri Aug 14 17:19:37 2009 +0300 nfs: nfs4xdr: get rid of READ32 s/READ32\((.*)\)/\1 = be32_to_cpup(p++)/ Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 811652bd6edd66dd35bf9caacdfe96d19f75a47e Author: Benny Halevy Date: Fri Aug 14 17:19:34 2009 +0300 nfs: nfs4xdr: merge xdr_encode_int+xdr_encode_opaque_fixed into xdr_encode_opaque use encode_string where appropriate. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 345585132a204859fbb7d8b662e9b6e5b563c6dc Author: Benny Halevy Date: Fri Aug 14 17:19:30 2009 +0300 nfs: nfs4xdr: optimize low level encoding do not increment encoding ptr if not needed. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 13c65ce90006badccd5663e558e3c85869ae5ce6 Author: Benny Halevy Date: Fri Aug 14 17:19:25 2009 +0300 nfs: nfs4xdr: change RESERVE_SPACE macro into a static helper In order to open code and expose the result pointer assignment. Alternatively, we can open code the call to xdr_reserve_space and do the BUG_ON an the error case at the call site. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 2220f13a8b90d2259f3094cb54cf4de67d8eee2d Author: Benny Halevy Date: Fri Aug 14 17:19:18 2009 +0300 nfs: nfs4xdr: encode_compound_hdr does not have to round up reserved bytes This is already done by xdr_reserve_space and since encode_compound_hdr is adding a byte count to "12" which is already word aligned, the xdr level rounding will work just as well. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 42edd698125b76a38bd9999015202db036dfbc76 Author: Benny Halevy Date: Fri Aug 14 17:19:13 2009 +0300 nfs: nfs4xdr: optimize RESERVE_SPACE in encode_create_session and encode_sequence Coalesce multilpe constant RESERVE_SPACEs into one Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 93f0cf25944695e1229fe90a2897af0211fbd425 Author: Benny Halevy Date: Fri Aug 14 17:19:06 2009 +0300 nfs: nfs4xdr: get rid of WRITEMEM s/WRITEMEM(/p = xdr_encode_opaque_fixed(p, / Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit b95be5a976848febff82edb21d5b4351b3997bf6 Author: Benny Halevy Date: Fri Aug 14 17:19:01 2009 +0300 nfs: nfs4xdr: get rid of WRITE64 s/WRITE64/p = xdr_encode_hyper(p, / Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit e75bc1c89e0c7dda0b140408ddee2ffaef7ba6d4 Author: Benny Halevy Date: Fri Aug 14 17:18:54 2009 +0300 nfs: nfs4xdr: get rid of WRITE32 s/WRITE32/*p++ = cpu_to_be32/ Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 98866b5abe1513cdacc011874ca045d40002eccd Author: Benny Halevy Date: Fri Aug 14 17:18:49 2009 +0300 sunrpc: ntoh -> be*_to_cpu ntohl is already defined as be32_to_cpu. be64_to_cpu has architecture specific optimized implementations. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 9f162d2a810b4db48f7b8d7e734d0932c81ec2a1 Author: Benny Halevy Date: Fri Aug 14 17:18:44 2009 +0300 sunrpc: hton -> cpu_to_be* htonl is already defined as cpu_to_be32. cpu_to_be64 has architecture specific optimized implementations. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 2a708137fd7d3e0928f27157aaed8aba404b11c9 Author: Barry Song <21cnbao@gmail.com> Date: Fri Aug 14 12:06:38 2009 +0800 ASoC: delete -spi suffix in ad1938 and free private data while registers fail Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 9028935d752ede57b086ab1bfe2420d4cba80127 Author: Peter Ujfalusi Date: Fri Aug 14 08:44:00 2009 +0300 ASoC: TWL4030: Fix for capture mixer strings Change the strings related to capture in order to be interpreted correctly by alsamixer and possible other UI based mixer applications. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit b282e29b547937d1610f38d6aa1c485426b62650 Merge: c378aa2 c233d94 Author: Ben Dooks Date: Fri Aug 14 15:24:06 2009 +0100 Merge branch 'next-s3c64xx-moves' into next-s3c commit c378aa275e1476218a6b438056a4cd48eb1eca0f Merge: 215ed32 c7c8f61 Author: Ben Dooks Date: Fri Aug 14 15:24:01 2009 +0100 Merge branch 'next-s3c64xx' into next-s3c commit 215ed3236a17b748cf75a2c23f50028c95302a42 Merge: 0fbdd27 e6d197a Author: Ben Dooks Date: Fri Aug 14 15:23:45 2009 +0100 Merge branch 'next-s3c24xx-cpufreq' into next-s3c commit 0fbdd270078a3e3ce537a2fb6ffc8a9b2427500c Merge: 69e3728 a2c195f Author: Ben Dooks Date: Fri Aug 14 15:23:34 2009 +0100 Merge branch 'next-s3c24xx' into next-s3c commit 69e372896791c2e43949b32d4cbe8a714961d3d7 Merge: 63c949e 2896bda Author: Ben Dooks Date: Fri Aug 14 15:23:22 2009 +0100 Merge branch 'next-s3c-machines' into next-s3c commit 63c949ea1dcf5d46789f13d8e9c21bb8aeb605cb Merge: 9b71de4 bff7865 Author: Ben Dooks Date: Fri Aug 14 15:23:15 2009 +0100 Merge branch 'next-s3c-hwmon' into next-s3c commit 560ad81b6c90e0fddc4d6c280f16ddf18d47eeb1 Author: Gábor Stefanik Date: Thu Aug 13 14:19:02 2009 +0200 b43: Implement RC calibration for rev.0/1 LP-PHYs Also implement get/set BB mult, get/set TX gain, set RX gain, disable/restore CRS, run/stop DDFS, RX IQ est and QDIV roundup in the process. Signed-off-by: Gábor Stefanik Acked-by: Michael Buesch Signed-off-by: John W. Linville commit eff563cf10e2f24e3b025d352c3aa174cf0111b3 Author: Sujith Date: Thu Aug 13 09:34:37 2009 +0530 ath9k: Set HW state properly This patch fixes a bug in ath9k_stop() where the HW was not put into FULL_SLEEP state. Not doing so will cause issues in suspend-resume and the HW will not respond to chip resets. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 523c36fc9cf75ccf605d9acf68ae9eb857de3f58 Author: Sujith Date: Thu Aug 13 09:34:35 2009 +0530 ath9k: Fix bug in PCI resume This patch fixes a bug where the device was enabled before restoring the PCI state. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 1cf6873a191388ff7d06bbd70f68bbffe1d70019 Author: Sujith Date: Thu Aug 13 09:34:32 2009 +0530 ath9k: Remove duplicate variables diversity_control and antenna_switch_swap are already present in ath9k_ops_config. Remove duplicate occurrences in ath_hw. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 1aa8e84736fb1a584c679f2893245826583a0526 Author: Sujith Date: Thu Aug 13 09:34:25 2009 +0530 ath9k: Remove has_hw_phycounters PHY counters are available in all chipsets supported by ath9k. Remove the check. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 2a219eb26793fc4c47b3ad7b84bded7b66f6e2c4 Author: Luis R. Rodriguez Date: Wed Aug 12 14:45:16 2009 -0700 ath9k: update kconfig to indicate support for AR9002 family ath9k supports the AR9002 family of chipsets. This includes the AR9285 and the miniPCI AR9223 and AR9220 (which themselves have AR9280+AR5133). We now refer people to the wiki page as it seems this is not as popular as we would have hoped. Reported-by: JD Cc: Dakota Lee Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 16cb9d42b68b339852e8914f2538ca9a2aec616c Author: Johannes Berg Date: Wed Aug 12 23:33:20 2009 +0200 cfg80211: allow driver to override PS default Sometimes drivers might have a good reason to override the PS default, like iwlwifi right now where it affects RX performance significantly at this point. This will allow them to override the default, if desired, in a way that users can still change it according to their trade-off choices, not the driver's, like would happen if the driver just disabled PS completely then. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 36e6fea84905512ea776707e82b5b435220efc17 Author: Johannes Berg Date: Wed Aug 12 22:21:21 2009 +0200 cfg80211: check for and abort dangling scan requests If you trigger a scan request on an interface and then take it down, or rmmod the module or unplug the device the driver might "forget" to cancel the scan request. That is a bug in the driver, but the current behaviour is that we just hang endlessly waiting for the netdev refcount to become 0 which it never will. To improve robustness, check for this situation in cfg80211, warn about it and clean up behind the driver. I don't just clean up silently because it's likely that the driver also has some internal state it has now leaked. Additionally, this fixes a locking bug, clearing the scan_req pointer should be done under the rdev lock. Finally, we also need to _wait_ for the scan work and not just abort it since it might be pending and wanting to do a cleanup. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 70bdb6b275d789ddf05c3a858e6b57715539394b Author: David Woo Date: Wed Aug 12 11:03:44 2009 -0700 mac80211: Fix invalid length passed to IE parser for PLINK CONFIRM frames The length of the fixed portion of plink confirm frames is 4 bytes longer than the other plink_action frames. This path corrects an error in the length adjustment done for these type of frames. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 57ef5ddb456649667438e023f67dd3a3ff3fbed8 Author: David Woo Date: Wed Aug 12 11:03:43 2009 -0700 mac80211: Mark a destination sequence number as valid when a PREQ is received. If a PREQ frame is received giving us a fresher DSN than what we have, record the new dsn and mark it as valid. This patch fixes a bug in the setting of the MESH_PATH_DSN_VALID flag. Also, minor fix to coding style on that file. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 13311b00117ed1bf903cf8870432504631a7ce77 Author: Luis R. Rodriguez Date: Wed Aug 12 09:57:01 2009 -0700 ath5k: use bit shift operators for cache line size This matches ath9k, providing consistency when reading both drivers. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit aeb63cfd4ccc813c204a0d81ad6c5a90c33d8f61 Author: Luis R. Rodriguez Date: Wed Aug 12 09:57:00 2009 -0700 ath5k: use common ath.ko ath_rxbuf_alloc() Now that its shared we can remove ath5k's own implementation. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d15dd3e5d74186a3b0a4db271b440bbdc0f6da36 Author: Luis R. Rodriguez Date: Wed Aug 12 09:56:59 2009 -0700 ath: add common ath_rxbuf_alloc() and make ath9k use it Turns out ath5k and ath9k can share the same helper to allocates RX skbs. We allocate skbs aligned to the cache line size. This requirement seems to have come from AR5210; when this was not done it seems sometimes we'd get bogus data. I'm also told it may have been a performance enhancement consideration. In the end I can't be sure we can remove this on new hardware so just keep this and start sharing it through ath.ko. Make ath9k start using this, ath5k is next. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5ef5da0ff2fc4f04c856f4ce9a757e318a02ad06 Author: Kalle Valo Date: Wed Aug 12 14:42:59 2009 +0300 wl1251: remove unused definitions from wl1251_reg.h Luis reported that IRQ_MASK conflicts with include/pcmcia/cs.h on compat-wireless. Remove that and a bunch of other unused defines from wl1251_reg.h. Reported-by: Luis R. Rodriguez Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 11aa6e2398f54712b1e1bdeb9d8bf3b452c5a5d5 Author: Kalle Valo Date: Wed Aug 12 14:42:51 2009 +0300 wl1251: remove wl1251_ops.c Commit "wl1251: remove wl1251_ops" originally removed file wl1251_ops.c, but while I rebased the patch the removal got lost. Now remote the file for real. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit aae79e648d93bc9d6b3581ab4eb88e2ac44f5c46 Author: Kalle Valo Date: Wed Aug 12 14:07:27 2009 +0300 iwl3945: fix compilation error in iwl3945_pass_packet_to_mac80211() Commit "iwlwifi: Traffic type and counter for debugFs" broke iwl3945 in a case when CONFIG_IWLWIFI_LEDS is disabled: drivers/net/wireless/iwlwifi/iwl-3945.c:580: error: 'hdr' undeclared (first use in this function) Fix it by removing the ifdef check for hdr variable. Signed-off-by: Kalle Valo Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 47583154767886a97a82452c8aca63bf0336337a Author: Gábor Stefanik Date: Tue Aug 11 22:24:22 2009 +0200 b43: LP-PHY: Refactor TX gain table I/O Make it possible to write individual gain table entries. Allow gain table entries to be written outside gain table init. Add version-agnostic helpers for writing gain tables. Use the new TX gain table helpers during table init. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 7834ddbcc7a097443761b0722e8c9fb8511b95b1 Author: Jussi Kivilinna Date: Tue Aug 11 22:57:16 2009 +0300 usbnet: add rx queue pausing Add rx queue pausing to usbnet. This is needed by rndis_wlan so that it can control rx queue and prevent received packets from being send forward before rndis_wlan receives and handles 'media connect'-indication. Without this establishing WPA connections is hard and fail often. [v2] - removed unneeded use of skb_clone Cc: David Brownell Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit d4de9532fd0b50d486259ace17650a58bbb751c2 Author: Gábor Stefanik Date: Tue Aug 11 21:53:06 2009 +0200 b43: Implement RC calibration for rev.2+ LP PHYs Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 84ec167d327b42414285f22eb037a5bdee486ded Author: Gábor Stefanik Date: Tue Aug 11 21:47:00 2009 +0200 b43: LP-PHY: Implement reading band SPROM Some of the new variables in b43_phy_lp appear to be dead code in the vendor driver; they will be removed if they remain unused when LP-PHY implementation is finished. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c00552c60840c32456ca9e45de758ac03e3d3c4f Author: Daniel Mack Date: Tue Aug 11 16:09:34 2009 +0200 libertas: name the network device wlan%d Devices created by the libertas driver are currently called eth%d. Which is wrong, because the device does not at all have anything to do with Ethernet. And it is also confusing when used on devices with more than one network device. Fix this by calling it wlan%d. Signed-off-by: Daniel Mack Cc: Roel Kluin Acked-by: Dan Williams Signed-off-by: John W. Linville commit cca89496a8afe4ad12ce1e468e60cef1e27e4eee Author: Javier Cardona Date: Mon Aug 10 17:29:29 2009 -0700 mac80211: Fix unresolved mesh frames queued without valid control.vif Mesh frames that could not be immediately resolved were queued with a NULL info->control.vif. This patch moves the call to mesh_nexthop_lookup closer to the point where it is handed over to ieee80211_tx(). This ensures that the unresolved frames are ready to be sent once the path is resolved. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 1fe90b033e04d7402b3deb392420fe2ff57986a5 Author: Thadeu Lima de Souza Cascardo Date: Tue Aug 11 11:18:42 2009 -0300 trivial: remove duplicate "different" from comment Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: John W. Linville commit 73d0a13c8583cd9a84c1333cf9b45d1d894e52b3 Author: Luciano Coelho Date: Tue Aug 11 11:58:27 2009 +0300 wl1271: fix compiler warnings on 64 bit archs There were a few warnings when compiling the wl1271 driver on 64 bit architectures. This was due to size mismatch of integers. This commit fixes the following warnings: drivers/net/wireless/wl12xx/wl1271_main.c: In function 'wl1271_irq_work': drivers/net/wireless/wl12xx/wl1271_main.c:184: warning: large integer implicitly truncated to unsigned type drivers/net/wireless/wl12xx/wl1271_boot.c: In function 'wl1271_boot_upload_firmware_chunk': drivers/net/wireless/wl12xx/wl1271_boot.c:103: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' drivers/net/wireless/wl12xx/wl1271_boot.c:150: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' drivers/net/wireless/wl12xx/wl1271_boot.c: In function 'wl1271_boot_enable_interrupts': drivers/net/wireless/wl12xx/wl1271_boot.c:278: warning: large integer implicitly truncated to unsigned type Reported-by: Stephen Rothwell Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit d44517f235c5baa943fc8cac7e56bd291ffc077e Author: Gábor Stefanik Date: Tue Aug 11 00:54:26 2009 +0200 b43: Fix a typo in the sync_stx routine I completely missed the "one's complement" instruction from the specs. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit f679056b2fdd4e9b7c8eb42ba447cd9646236305 Author: Gábor Stefanik Date: Mon Aug 10 21:23:08 2009 +0200 ssb: Implement the remaining rev.8 SPROM vars needed for LP-PHY Also add a "SPEX32" macro for extracting 32-bit SPROM variables. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 18889231e4527dfe23145efe318e74744794a95d Author: Javier Cardona Date: Mon Aug 10 12:15:52 2009 -0700 mac80211: Move mpath and mpp growth to mesh workqueue. This prevents calling rcu_synchronize from within the tx path by moving the table growth code to the mesh workqueue. Move mesh_table_free and mesh_table_grow from mesh.c to mesh_pathtbl.c and declare them static. Also, re-enable mesh in Kconfig and update the configuration description. Signed-off-by: Javier Cardona Tested-by: Andrey Yurovsky Signed-off-by: John W. Linville commit 5b365834255d7c90fc724b032c814dfa297aacf9 Author: Javier Cardona Date: Mon Aug 10 12:15:51 2009 -0700 mac80211: Assign a default mesh beaconing interval. The mesh stack was enabling beaconing without specifying an interval. This patch defines a default beaconing interval of 1s. Incidentally, this fixes mesh beaconing in mac80211_hwsim devices. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 5815814bfad5b3f88ff58ab90aaf09dd69ab8da2 Author: Javier Cardona Date: Mon Aug 10 12:15:50 2009 -0700 mac80211: Early detection of broken mesh paths when using minstrel. This change triggers a path discovery as soon as the link quality degrades below a certain threshold. This results in a faster path recovery time than by simply relying on the periodic path refresh mechanism to detect broken links. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit d403a1c66ea1fb47ae61921eac278d4154f7ca8a Author: Javier Cardona Date: Mon Aug 10 12:15:49 2009 -0700 mac80211: Update the station failed frames average when minstrel is used. The fail_avg value is used to compute the mesh metric, and was only being set by the pid rate control module. This fixes the mesh path selection mechanism for cards that use mistrel for rate control. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 3c5772a5279de9eadfff7adb5ddea08106495fff Author: Javier Cardona Date: Mon Aug 10 12:15:48 2009 -0700 mac80211: Use 3-address format for mesh broadcast frames. The 11s task group recently changed the frame mesh multicast/broadcast frame format to use 3-address. This was done to avoid interactions with widely deployed lazy-WDS access points. This patch changes the format of group addressed frames, both mesh-originated and proxied, to use the data format defined in draft D2.08 and forward. The address fields used for group addressed frames is: In 802.11 header ToDS:0 FromDS:1 addr1: DA (broadcast/multicast address) addr2: TA addr3: Mesh SA In address extension header: addr4: SA (only present if frame was proxied) Note that this change breaks backward compatibility with earlier mesh stack versions. Signed-off-by: Andrey Yurovsky Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit a9e3091bf08ddea35f172549a8a21d5bd6ee6129 Author: Andrey Yurovsky Date: Mon Aug 10 12:15:47 2009 -0700 mac80211: Use correct sign for mesh active path refresh. On locally originated traffic, we refresh active paths after a timeout. The decision to do this was using the wrong sign and therefore the refresh timer was triggered for every frame. Signed-off-by: Andrey Yurovsky Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit fe58343461def0d376908a80cebd087b746a1483 Author: Javier Cardona Date: Mon Aug 10 12:15:46 2009 -0700 mac80211: Improve dequeing from mpath frame queue. Also, fix typo in comment. Signed-off-by: Javier Cardona Tested-by: Andrey Yurovsky Signed-off-by: John W. Linville commit a3e14f3d2a55fa1268f64ec8a839b6dfa4ff9ea2 Author: Gábor Stefanik Date: Mon Aug 10 20:57:06 2009 +0200 b43: Update LP-PHY rev2+ baseband init to match the specs The rev2+ BB init spec has changed behind us, and thus the code is no longer up to date. Update the code to match the current specs. Also implement save/restore dig filt state, as required by the new specification. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c65d6fbf91517a0a955de7ce029940bc63ea8203 Author: Gábor Stefanik Date: Mon Aug 10 20:39:47 2009 +0200 b43: Implement LP-PHY baseband table initialization Implement LP-PHY baseband table init for all revisions. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 62b1208e146af048e90a32bc4fe5fba85e4fa51e Author: Johannes Berg Date: Mon Aug 10 16:04:15 2009 +0200 mac80211: small tx code cleanup It's really easier to read if it's not indented as much, so invert the condition and rearrange the code so the smaller chunk is indented instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d0b69609dc50b6bf2637cf74e6f97c251adc65ed Author: Johannes Berg Date: Mon Aug 10 16:02:40 2009 +0200 mac80211: sequence number micro-optimisation There's no need to mask the variable with 0xFFF0 since we ever only use it as a u16 and the lowest four bits can't ever be non-zero. The compiler cannot infer the latter, and therefore has to emit code to do the masking. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit feff1f2fea3fc7ee055e46d0fbdb2d25ad2b14c4 Author: Johannes Berg Date: Mon Aug 10 16:01:54 2009 +0200 mac80211: take statistics before encryption When encryption is used, the number of bytes sent to the peer increases by the IV and ICV. This is accounted if software encryption is used, but not if the devices does hardware encryption. To make the numbers comparable, never account for that overhead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5e68ff6563ef79d87296c70f8eb2bee454d3fe75 Author: Luciano Coelho Date: Mon Aug 10 11:15:13 2009 +0300 MAINTAINERS: add information for wl1271 wireless driver Add maintainer information section for the wl1271 wireless driver and fix the information for wl1271. Signed-off-by: Luciano Coelho Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 6e220662bf9a2ba284e88a8c8867340c9f6da27e Author: Nick Kossifidis Date: Mon Aug 10 03:31:31 2009 +0300 ath5k: Use SWI to trigger calibration * Get rid of calibration timer, instead use a software interrupt to schedule the calibration tasklet. a) We don't need a timer for this, there is no need for accuracy even with round_jiffies i think this is a waste of resources. Also we don't need to run calibration if we are idle (no interrupts). b) When we add ANI support we 'll just extend the poll function and calibration tasklet and handle all periodic phy calibration on one place (much cleaner). c) Having calibration on a tasklet is better since during calibration we can't transmit or receive (antennas are detached to measure noise floor), previously calibration could run in parallel with tx/rx and interfere (packet loss). v2: kill tasklet on stop_hw, stop/wake queues v3: use time_is_before_eq_jiffies to compare timestamp with current time Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit b55a5de114dcdc03f2f18c3bd98bbabb13ee53ef Author: Nick Kossifidis Date: Mon Aug 10 03:30:32 2009 +0300 ath5k: Preserve pcicfg bits during attach * During attach preserve pcicfg bits when enabling pci core sw retry fix. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit edd7fc7003f31da48d06e215a93ea966a22c2a03 Author: Nick Kossifidis Date: Mon Aug 10 03:29:02 2009 +0300 ath5k: Wakeup fixes * Don't put chip to full sleep because there are problems during wakeup. Instead hold MAC/Baseband on warm reset state via a new function ath5k_hw_on_hold. * Minor cleanups Signed-off-by: Nick Kossifidis Tested-by: Ben Greear Tested-by: Johannes Stezenbach Signed-off-by: John W. Linville commit d1cb0bdac180a4afdd3c001acb2618d2a62d9abe Author: Nick Kossifidis Date: Mon Aug 10 03:27:59 2009 +0300 ath5k: Linear PCDAC code fixes * Set correct xpd curve indices for high/low gain curves during rfbuffer setup on RF5112B with both calibration curves available. * Don't return zero min power when we have the same pcdac value twice because it breaks interpolation. Instead return the right x barrier as we do when we have equal power levels for 2 different pcdac values. Signed-off-by: Nick Kossifidis Acked-by: Bob Copeland Signed-off-by: John W. Linville commit c38e7a9348f725be0ea2493454db9e6d44fb7e0c Author: Nick Kossifidis Date: Mon Aug 10 03:26:55 2009 +0300 ath5k: Check EEPROM before tweaking SERDES * Read PCI-E infos offset from EEPROM and if it points to serdes section (0x40), enable serdes programming (further tweaking of serdes values during attach). This follows Legacy and Sam's HAL sources. Signed-off-by: Nick Kossifidis Acked-by: Bob Copeland Signed-off-by: John W. Linville commit d6756d0dc220c3d12e2c4c06ca97d1dbcb5edf4e Author: Igor Perminov Date: Mon Aug 10 00:58:54 2009 +0200 rt2x00: Fix beacon de-synchronization while update beacon When beacon is being updated to refresh TIM (AP mode), beacon frames are de-synchronizing (i.e. two neighbor beacon frames - before and after update - are being transmitted with a wrong time interval). That is because xxx_write_beacon should disable beacon generation only while beacon data are being uploaded to the device, but it should not disable the beacon clock. Signed-off-by: Igor Perminov Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3281d95d0535909e28ff16c38a678102e10f0312 Author: Gábor Stefanik Date: Sun Aug 9 20:15:09 2009 +0200 b43: LP-PHY: Implement STX synchronization The v2+ radio init (B2063) is now complete, modulo BCM4325 support. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 3ecee182d68621d1f9a813f15153883ca221dd0b Author: Michael Buesch Date: Sun Aug 9 17:57:30 2009 +0200 rtl818x: Add some documentation to the TX desc flags Add some TX desc flags docs. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit aee83eaff859694642b323553f93b9eb59141144 Author: Johannes Berg Date: Sun Aug 9 11:51:29 2009 +0200 cfg80211: add missing device list locking When calling into the wext code from the NETDEV_UP notifier, we need to hold the devlist_mtx mutex as the wext code ends up calling into channel checks. Reported-by: Kalle Valo Signed-off-by: Johannes Berg Tested-by: Kalle Valo Signed-off-by: John W. Linville commit af6a3fc7e728eb4cd14653c8cfc1ee81432cfd5d Author: Luis R. Rodriguez Date: Sat Aug 8 21:55:16 2009 -0400 ath9k: Fix regression on receiving PS poll frames In the the patch: ath9k: use new FIF_PSPOLL configure filter I forgot to add the new FIF_PSPOLL to the supported mask. Without this we mask out the FIF_PSPOLL flag therefore we'd ignore it from mac80211. Cc: Jouni Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d5b96a6f39a8aaa7534069b3db71048df44f023b Author: Pat Erley Date: Sat Aug 8 17:53:19 2009 -0400 mac80211: remove max_bandwidth This removes the max_bandwidth attribute. It is only ever written to, and is duplicated by max_bandwidth_khz in the regulatory code. Signed-off-by: Pat Erley Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 1afcfd54fdf913017c07fa1ee497141a7958991d Author: Igor Perminov Date: Sat Aug 8 23:55:55 2009 +0200 rt2x00: FIF_PSPOLL filter flag support This patch implements FIF_PSPOLL filter flag support in rt2x00 drivers, which has been introduced in mac80211 (see http://marc.info/?l=linux-wireless&m=124897986330807&w=2). Signed-off-by: Igor Perminov Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 17512dc3b7fc9ff1a60d3748ce87c323df507c3d Author: Igor Perminov Date: Sat Aug 8 23:55:18 2009 +0200 rt2x00: Fix for race condition while update beacon The patch "Implement set_tim callback for all drivers" can cause kernel oops in rt73usb_write_beacon. The oops is caused by one of the following race conditions: * In case of two near calls to set_tim: rt2x00lib_beacondone_iter is cleaning the beacon skb, whereas rt73usb_write_beacon is still using it. * In case of two near updates of beacon: first as the result of set_tim and second as the result of a call from an application (e.g. hostapd). This patch fixes the race condition by rearranging the update logic and guarding rt2x00_intf->beacon->skb with a mutex. Signed-off-by: Igor Perminov Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 66679a65efffffb62dc2650960b3aff758d575f9 Author: Lars Ericsson Date: Sat Aug 8 23:54:51 2009 +0200 rt2x00: Fix rounding errors in RSSI average calculation Small changes in signal level was not detected up by the MOVING_AVERAGE() due to a rounding error, using 'int' type. rt2x00lib_antenna_diversity_eval: rssi: -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 rssi_avg: -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 The signal level reported back could be significantly (5dBm) different from the actual value. A level +3dBm is the same as double the AP output power. Signed-off-by: Lars Ericsson Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 193df183b15cda78f6b2373f576e243327ea0d8f Author: Lars Ericsson Date: Sat Aug 8 23:54:24 2009 +0200 rt2x00: Fix quality houskeeping for software diversity Antanna quality statistics is not handled correctly, which leads to software diversity being shutdown completly. The main problem is that during antenna diversity statistics can be reset resulting in loosing the signal strength just before evaluation. rssi history is not updated correctly leading to incorrect comparison material for basing antenna switching on. Signed-off-by: Lars Ericsson Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 93354cbbcbfca920495377158c0f61c36be79e13 Author: Ivo van Doorn Date: Sat Aug 8 23:53:47 2009 +0200 rt2x00: Align ieee80211 header to 4-byte boundary for PCI devices Some hardware require the ieee80211 header to be aligned to a 4-byte boundary before mapping it to the DMA. Otherwise some frames (like beacons) will not be send out correctly by the device. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 267e898755d7fc6249e26208e7ce97f415fd8c31 Author: Ivo van Doorn Date: Sat Aug 8 23:53:26 2009 +0200 rt2x00: Use IEEE80211_TX_CTL_MORE_FRAMES flag Check the IEEE80211_TX_CTL_MORE_FRAMES flag to help determining if the DMA queue should be kicked. At the moment this is combined with the ieee80211_has_morefrags() but we might remove that later. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit bdfa500b8b8ca87dfe7a311f569fe8b39746c299 Author: Ivo van Doorn Date: Sat Aug 8 23:53:04 2009 +0200 rt2x00: Remove usage of deprecated radio_enabled & IEEE80211_CONF_CHANGE_RADIO_ENABLED In the config() callback function the fields radio_enabled and the change flag IEEE80211_CONF_CHANGE_RADIO_ENABLED have been deprecated. This removes the usage of those fields by improving antenna change detection in the antenna configuration function. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4d30d309a3be84dfb01743ceb4652405204a80a0 Author: Julia Lawall Date: Sat Aug 8 15:22:26 2009 +0200 drivers/net/wireless/ath/ath5k: Change constant name Elsewhere, the tqi_type field is compared to constants having a name beginning with AR5K_TX_QUEUE, rather than AR5K_TX_QUEUE_ID. I have thus converted AR5K_TX_QUEUE_ID_CAB to AR5K_TX_QUEUE_CAB. This does, however, change the value, so perhaps something else was wanted. Signed-off-by: Julia Lawall Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 4b181144e6c1c25aaba9b9fc7cc70c95495ecb92 Author: Johannes Berg Date: Sat Aug 8 11:03:58 2009 +0200 cfg80211: fix locking for SIWFREQ "cfg80211: validate channel settings across interfaces" contained a locking bug -- in the managed-mode SIWFREQ call it would end up running into a lock recursion. This fixes it by not checking that particular interface for a channel that it needs to stay on, which is as it should be as that's the interface we're setting the channel for. Reported-by: Reinette Chatre Reported-by: Kalle Valo Signed-off-by: Johannes Berg Tested-by: Kalle Valo Tested-by: Reinette Chatre Signed-off-by: John W. Linville commit e312c24cf8229f9b6e76dbfd5d99eefe21f4ac0a Author: Johannes Berg Date: Fri Aug 7 15:41:51 2009 -0700 iwlwifi: automatically adjust sleep level Depending on required latency requested by pm_qos (via mac80211) we can automatically adjust the sleep state. Also, mac80211 has a user-visible dynamic sleep feature where we are supposed to stay awake after sending/receiving frames to better receive response frames to our packets, this can be integrated into the sleep command. Currently, and this patch doesn't change that yet, we default to using sleep level 1 if PS is enabled. With a module parameter to iwlcore, automatic adjustment to changing network latency requirements can be enabled -- this isn't yet the default due to requiring more testing. The goal is to enable automatic adjustment and then go into the deepest possible sleep state possible depending on the networking latency requirements. This patch does, however, enable IEEE80211_HW_SUPPORTS_DYNAMIC_PS to avoid the double-timer (one in software and one in the device) when transmitting -- the exact timeout may be ignored but that is not of big concern. Note also that we keep the hard-coded power indices around for thermal throttling -- the specification of that calls for using the specified power levels. Those can also be selected in debugfs to allow easier testing of such parameters. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d91b1ba37744bc7fb7524516be855c9fa81142e2 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:50 2009 -0700 iwlwifi: display correct critical temperature infomation Do not send CT KILL config command twice and correct critical temperature informatiom in dmesg Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 450ccb36b4d8a18c34643335d3305ec1a781e717 Author: Reinette Chatre Date: Fri Aug 7 15:41:49 2009 -0700 iwlwifi: fix missing EXPORT_SYMBOL When compiling without CONFIG_IWLWIFI_DEBUGFS there is a missing iwl_update_stats symbol. This is fixed by making this function an inline in the case when CONFIG_IWLWIFI_DEBUGFS is not set due to the hot path in which it is used. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3ad3b92a5517c043ef30e4b95c4c39a35bbc36be Author: Johannes Berg Date: Fri Aug 7 15:41:48 2009 -0700 iwlwifi: refactor some thermal throttle code Some of the thermal throttle data structures and code are really very intermingled with the sleep (power) control code. They really do belong together in a way since the thermal throttle code uses powersaving to achieve its goal, but it's making it hard to work on the powersave code. Split this up to make that easier. I've also changed the antenna defines to an enum and used the same enum for RX and TX. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3a780d25428a0a391a8ba6c888cf4e89ac3fdbb1 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:47 2009 -0700 iwlwifi: handle the case when set power fail Modify the power update function, when driver fail to set the power, it should not continue move forward and try to change the rx chain configuration. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ee9f29894fc3819c1bd639fc3a886326bb809266 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:46 2009 -0700 iwlwifi: fix legacy thermal throttling power index For legacy thermal throttling, set the new Thermal Throttling state and change power index when thermal throttling manager detects temperature changed. The current implementation sets the state to the previous Thermal Throttling state, which causes system to enter wrong power index. The worse case, it will trying to set the lower power index when device reach critical temperature, it will cuase issue for both system and the device. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a28027cd7f169edc399fe4b76d3a33b0203049a1 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:45 2009 -0700 iwlwifi: fix thermal throttling locking problem Move all the thermal throttling functions to background task to make sure do not change power and rx chain in interrupt handler. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c03ea16285bf142172f9816b8a1f5c43bb4b4405 Author: Reinette Chatre Date: Fri Aug 7 15:41:44 2009 -0700 iwlwifi: revert uCode Alive notification with timeout commit "iwlwifi: uCode Alive notification with timeout" introduced a more reliable mechanism for ucode loading. Unfortunately we hit a problem with it frequently enough to make a 4965 unusable. The problem can be seen in debug log below. What this code attempts is to set runtime ucode up to load, start a timer to wait for the alive response from runtime ucode, and if it times out it tries again. As can be seen below we receive the alive response and wake the waiting task _before_ the tasks starts waiting. The task thus times out as the alive response is not received while it is waiting for it and it restarts the device. This starts the cycle all over again. [29739.000819] ieee80211 phy0: U iwl_mac_start enter [29739.005751] ieee80211 phy0: U iwl_prepare_card_hw iwl_prepare_card_hw enter [29739.012798] ieee80211 phy0: U iwl_set_hw_ready hardware ready [29739.057200] ieee80211 phy0: U iwl4965_load_bsm Begin load bsm [29739.063366] ieee80211 phy0: U iwl4965_verify_bsm Begin verify bsm [29739.072485] ieee80211 phy0: U iwl4965_verify_bsm BSM bootstrap uCode image OK [29739.079671] ieee80211 phy0: U iwl4965_load_bsm BSM write complete, poll 0 iterations [29739.257019] ieee80211 phy0: I iwl_rx_reply_alive Alive ucode status 0x00000001 revision 0x1 0x9 [29739.260964] ieee80211 phy0: I iwl_rx_reply_alive Initialization Alive received. [29739.260964] ieee80211 phy0: U __iwl_up iwlagn is coming up [29739.278571] ieee80211 phy0: U iwl_mac_start Start UP work done. [29739.284509] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 788 [29739.292432] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 10312 [29739.302004] ieee80211 phy0: U iwl_verify_ucode Initialize uCode is good in inst SRAM [29739.309746] ieee80211 phy0: U iwl4965_hw_get_temperature Running temperature calibration [29739.317833] ieee80211 phy0: U iwl4965_hw_get_temperature Calib values R[1-3]: -36 13522 -13496 R4: -2726 [29739.327337] ieee80211 phy0: U iwl4965_hw_get_temperature Calibrated temperature: 310K, 37C [29739.335598] ieee80211 phy0: U iwl4965_init_alive_start Initialization Alive received. [29739.343477] ieee80211 phy0: U iwl4965_set_ucode_ptrs Runtime uCode pointers are set. [29739.351283] ieee80211 phy0: I iwl_rx_reply_alive Alive ucode status 0x00000001 revision 0x1 0x0 [29739.355210] ieee80211 phy0: I iwl_rx_reply_alive Runtime Alive received. [29739.366731] iwlagn 0000:03:00.0: Runtime uCode already alive? Waiting for alive anyway [29743.284110] iwlagn 0000:03:00.0: START_ALIVE timeout after 4000ms. [29743.290337] ieee80211 phy0: U iwl_mac_add_interface enter: type 2 [29744.364089] iwlagn 0000:03:00.0: Runtime timeout after 5000ms [29744.370882] ieee80211 phy0: U iwl_alive_start Runtime Alive received. [29744.377347] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 788 [29744.385287] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 10312 [29744.393397] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 94720 [29744.415835] ieee80211 phy0: U iwl_verify_ucode Runtime uCode is good in inst SRAM Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5225935b53ce1eafb222c644230d03ad6011d357 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:43 2009 -0700 iwlwifi: Display sensitivity and chain noise information Display sensitivity and chain noise data to help understand the current environment and RF condition. The data is feeded by statistics notification and Beacon from uCode; then used by sensitivity calibration and chain noise calibration to determine how DSP should react to the environment changes Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e8fe59aecb9020b06305be4f8c67d73cbf49cbd2 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:42 2009 -0700 iwlwifi: uCode statistics notification counter Display statistics notification information The information break down into uCode_tx_stats uCode_rx_stats uCode_general_stats and can be found in /sys/kernel/debug/ieee80211/phy0/iwlagn/debug directory The statistic information display in debugFs is based on the last statistics notification from uCode; it might not reflect the current uCode activity. Using "watch" command to monitor the uCode activity should give up-to-date statistics provided by uCode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 141b03e07a54af68fc099459bf780a182b240b45 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:41 2009 -0700 iwlwifi: tx/rx queue pointer information Adding debugfs function to show current TxFifo/RxFifo read/write pointer, plus the current tx queue status (wake/stop) for both real and virtual queue. This is part of debug feature set to help debugging driver/uCode. use tx_queue and rx_queue in /sys/kernel/debug/ieee80211/phy0/iwlagn/debug directory to show the current read/write pointer for both TxFifo and RxFifo queue Signed-off-by: Wey-Yi Guy Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 22fdf3c9e19dce6d66bcfdbed547a5aa52b89933 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:40 2009 -0700 iwlwifi: Traffic type and counter for debugFs Break down the traffic type and counter for both Tx and Rx. Enhance the tx_statistics and rx_statistics debugfs function and move to /sys/kernel/debug/ieee80211/phy0/iwlagn/debug directory to help better debugging both driver and uCode related problems. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 20594eb0daa67f7a0cc19d74a1bafceb1bb09f4a Author: Wey-Yi Guy Date: Fri Aug 7 15:41:39 2009 -0700 iwlwifi: new debugging feature for dumping data traffic The traffic buffer will only beallocated and used if either bit 23 (IWL_DX_TX) or bit 24 (IWL_DL_RX) of "debug" is set; example: "debug=0x800000" - log tx data traffic "debug=0x1000000" - log rx data traffic "debug=0x1800000" - log both tx and rx traffic The traffic log will store the beginning portion (64 bytes) of the latest 256 of tx and rx packets in the round-robbin buffer for debugging, user can examine the log through debugfs file. How to display the current logged tx/rx traffic and txfifo and rxfifo read/write point: "cat traffic_log" in /sys/kernel/debug/ieee80211/phy0/iwlagn/debug directory By echo "0" to traffic_log file will empty the traffic log buffer and reset both tx and rx taffic log index to 0. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7aafef1c6e2e24f9a10dc2972bf0ee70624ccc47 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:38 2009 -0700 iwlwifi: name changed from "fat" to "ht40" Rename "fat" to "ht40" The term "fat channel" is deprecated in favor of "HT40" Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3d816c77ecb05d3a3e974a205e53392e5353553e Author: Reinette Chatre Date: Fri Aug 7 15:41:37 2009 -0700 iwlwifi: re-introduce per device debugging Commit "iwlwifi: make debug level more user friendly" cleaned up the debug level handling. In doing so it created a single global debug level for all devices. Some setups do consits of more that one iwlwifi device and in these setups there is a requirement that debug levels should be unique per device. We now re-introduce the per device debugging while maintaining the cleanup effort of the previous patch. The maintain the global debug level and now introduce a per-device debug level that will be used if it (the per-device debug level) is set. The per-device debug level can be controlled via the debug_level sysfs file while the global debug level is controlled by the debug module parameter. Signed-off-by: Reinette Chatre Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 34b921cf6fb4014e0e8d414492959a4725049000 Author: Joe Perches Date: Fri Aug 7 13:16:15 2009 -0700 MAINTAINERS: NETWORKING [WIRELESS] additional patterns Added file patterns drivers/net/wireless and net/mac80211 (and net/rfkill -- JWL) Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 6208f8b22cb24e446f24eb9f4aa9f4c3a9a1d52e Author: Christian Lamparter Date: Fri Aug 7 19:39:05 2009 +0200 p54: implement rfkill This patch implements a basic rfkill support for p54 hardware and removes a rfkill related WARNING: fwio.c: In function ‘p54_setup_mac’: fwio.c:323: warning: ‘radio_enabled’ is deprecated. by abandoning radio_enable in flavour for IEEE80211_CONF_CHANGE_IDLE. Tested-by: Larry Finger Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 718126a75e5fd4c6df6ee0567f00c7345b2370f4 Author: Christian Lamparter Date: Fri Aug 7 19:38:51 2009 +0200 p54: Write outside array bounds This patch fixes a coding error which allowed the to upper-layer to corrupt limited portions of the phy data. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 66d2d089c394c7e31020947d682523f77a93244b Author: Michael Buesch Date: Thu Aug 6 10:36:50 2009 +0200 b43: Fix hardware key index handling This fixes the hardware encryption keys index and array size handling. Thanks to Gregor Kowski for reporting this issue. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 5ba63533bbf653631faab60f6988506160ec6ba4 Author: Johannes Berg Date: Fri Aug 7 17:54:07 2009 +0200 cfg80211: fix alignment problem in scan request The memory layout for scan requests was rather wrong, we put the scan SSIDs before the channels which could lead to the channel pointers being unaligned in memory. It turns out that using a pointer to the channel array isn't necessary anyway since we can embed a zero-length array into the struct. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ad5351db89681515681c5d5659ddf4c69e3cc6f5 Author: Johannes Berg Date: Fri Aug 7 16:42:15 2009 +0200 mac80211: allow DMA optimisation If we have a lot of frames to transmit at once, for instance with fragmentation, it can be an optimisation to only tell the DMA engine about them on the last fragment/frame to avoid banging the IO too much. This patch allows implementation such an optimisation by telling the driver when more frames can be expected. Currently, this is used by mac80211 only on fragmented frames, but could also be used in the future on other frames when the queue was full and there are multiple frames pending. Note that drivers need to be careful when using this flag, they need to kick their DMA engines not just when this flag is clear, but also when the queue gets full so that progress can be made. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ab5b5342fd0ba5b9a2f58a94c5d41dd074b7c48e Author: Johannes Berg Date: Fri Aug 7 16:28:09 2009 +0200 mac80211: document TX powersave filter requirements This documents what's required to implement that TX powersave filter properly wrt. handling hardware queues. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c555b9b3713e05586fabe85f4e46f28859e72930 Author: Johannes Berg Date: Fri Aug 7 16:23:43 2009 +0200 mac80211: explain TX retry and status Add some more documentation including an example so that it's clearer what should be done for TX retries. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f5ea9120be2e5d5c846243416cfdce01d02f5836 Author: Johannes Berg Date: Fri Aug 7 16:17:38 2009 +0200 nl80211: add generation number to all dumps In order for userspace to be able to figure out whether it obtained a consistent snapshot of data or not when using netlink dumps, we need to have a generation number in each dump message that indicates whether the list has changed or not -- its value is arbitrary. This patch adds such a number to all dumps, this needs some mac80211 involvement to keep track of a generation number to start with when adding/removing mesh paths or stations. The wiphy and netdev lists can be fully handled within cfg80211, of course, but generation numbers need to be stored there as well. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f401a6f7ede753e56b84025e7d2db0d5ef560ce6 Author: Johannes Berg Date: Fri Aug 7 14:51:05 2009 +0200 cfg80211: use reassociation when possible With the move of everything related to the SME from mac80211 to cfg80211, we lost the ability to send reassociation frames. This adds them back, but only for wireless extensions. With the userspace SME, it shall control assoc vs. reassoc (it already can do so with the nl80211 interface). I haven't touched the connect() implementation, so it is not possible to reassociate with the nl80211 connect primitive. I think that should be done with the NL80211_CMD_ROAM command, but we'll have to see how that can be handled in the future, especially with fullmac chips. This patch addresses only the immediate regression we had in mac80211, which previously sent reassoc. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 59bbb6f7574bc693ed8313b98eac641116c95b94 Author: Johannes Berg Date: Fri Aug 7 17:22:35 2009 +0200 cfg80211: validate channel settings across interfaces Currently, there's a problem that affects regulatory enforcement and connection stability, in that it is possible to switch the channel while connected to a network or joined to an IBSS. The problem comes from the fact that we only validate the channel against the current interface's type, not against any other interface. Thus, you have any type of interface up, additionally bring up a monitor mode interface and switch the channel on the monitor. This will obviously also switch the channel on the other interface. The problem now is that if you do that while sending beacons for IBSS mode, you can switch to a disabled channel or a channel that doesn't allow beaconing. Combined with a managed mode interface connected to an AP instead of an IBSS interface, you can easily break the connection that way. To fix this, this patch validates any channel change with all available interfaces, and disallows such changes on secondary interfaces if another interface is connected to an AP or joined to an IBSS. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f26b32ed4bd5780855a79bb17fb1a431fa867dad Author: Kalle Valo Date: Fri Aug 7 13:35:33 2009 +0300 wl1251: hack to disable filters for fixing association Commit 9cef8737 "mac80211: fix managed mode BSSID handling" broke association in wl1251, most probably because the driver configured the bssid filter incorrectly. Workaround this by disabling filter altogether. This needs to be fixed properly soon. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 2789da9e58cc8db4e74359491a425712b5fcfdb6 Author: Kalle Valo Date: Fri Aug 7 13:35:26 2009 +0300 wl1251: add hw scan completed debug message The logs currently don't show when hw scan has completed, fix that. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit b1b0a2b8b51fa3f0cd349f947a38ab4c6ab192c6 Author: Kalle Valo Date: Fri Aug 7 13:35:19 2009 +0300 wl1251: remove Luciano as maintainer Luciano is maintaining wl1271 part. Signed-off-by: Kalle Valo Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit 29d904c452d466fbf51b2fde10f405b5c8f14c74 Author: Kalle Valo Date: Fri Aug 7 13:35:11 2009 +0300 wl1251: rename reg.h to wl1251_reg.h Now that wl1271 doesn't use reg.h anymore, it can be renamed to wl1251_reg.h. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit 16e711f9ed16e32126270652d79225836a7062cb Author: Kalle Valo Date: Fri Aug 7 13:35:04 2009 +0300 wl1251: use workqueue provided by mac80211 wl1251 should use workqueue created by mac80211 to not block the events workqueue too long. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 4a8189227fc4718a767ffca74d13a7d552e42189 Author: Kalle Valo Date: Fri Aug 7 13:34:56 2009 +0300 wl1251: move wl1251_acx_wake_up_conditions() to wl1251_ps_set_mode() It should not be hidden inside wl1251_cmd_ps_mode(). Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit fe9a98460b6c8dac47d0e34bcb04850193d41565 Author: Kalle Valo Date: Fri Aug 7 13:34:49 2009 +0300 wl1251: fix channel setting in wl1251_op_config() There is a bug in wl1251_op_config(). It was calling join with previous channel. Fix it by setting assigning wl->channel before calling join command. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit ae46ae17d1d8b953eb5859764737c065e4e3c86b Author: Kalle Valo Date: Fri Aug 7 13:34:42 2009 +0300 wl1251: create wl1251_join() Better to use wl1251_cmd_join() only for sending the command and move the logic to wl1251_join(). Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit c88f87540fa4b90a0b8696dae8bce801ecc142d3 Author: Kalle Valo Date: Fri Aug 7 13:34:34 2009 +0300 wl1251: add channel to wl1251_cmd_join() parameters Because join channel tunes to a channel, better to make it more obvious by adding a parameter for it. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit 9780279c60c32cb5f14531aa34ae991bb714c90c Author: Kalle Valo Date: Fri Aug 7 13:34:27 2009 +0300 wl1251: initialise default channel to zero Because wl->channel was initialised to one, the first join command in wl1251_op_config() always failed. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit 7a33732fd9f2181bfe639691ead3def7a1e87c7d Author: Kalle Valo Date: Fri Aug 7 13:34:19 2009 +0300 wl1251: remove wait parameter from wl1251_cmd_join() We should wait everytime for the join command to finish, not waiting for it might create problems. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit e2fd4611d50a1cd13a370f84b672a5f29472ee09 Author: Kalle Valo Date: Fri Aug 7 13:34:12 2009 +0300 wl1251: use beacon interval and dtim period provided by mac80211 wl1251 was using hardcoded beacon intervals and dtim periods, use the ones provided by mac80211 instead. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit 46e947b9c382f67f84cffec3bf068d6d23695058 Author: Kalle Valo Date: Fri Aug 7 13:34:05 2009 +0300 wl1251: reorder wl1251_cmd_join() arguments It's more common to have beacon interval before dtim period. Also use bool instead of u8. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit 0e71bb084adc4986b9a4be3581897f0ee703cbd5 Author: Kalle Valo Date: Fri Aug 7 13:33:57 2009 +0300 wl1251: remove wl1251_ops Now wl1271 is splitted to separate files, no need to use wl1251_ops anymore. So remove struct wl1251_chip and wl1251_ops.c. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit b5ed9c1b6f8fcb2d2315f12599fd5808f7933f16 Author: Bob Copeland Date: Fri Aug 7 13:33:49 2009 +0300 wl1251: make irq handling interface specific In SDIO, the host driver requests the IRQ and invokes a callback to the card driver. This differs from SPI, so the relevant code needs to be interface-specific. This patch pushes the irq code down into _spi.c and _sdio.c, and adds enable/disable callbacks. This fixes the following warning: [ 566.343887] ------------[ cut here ]------------ [ 566.349105] WARNING: at kernel/irq/manage.c:222 __enable_irq+0x3c/0x6c() [ 566.356735] Unbalanced enable for IRQ 0 [ 566.361099] Modules linked in: msm_wifi wl12xx_sdio wl12xx mac80211 cfg80211 rfkill_backport lib80211_crypt_ccmp lib80211_crypt_wep lib80211_crypt_tkip lib80211 [ 566.381240] [] (dump_stack+0x0/0x14) from [] (warn_slowpath+0x70/0x8c) [ 566.391860] [] (warn_slowpath+0x0/0x8c) from [] (__enable_irq+0x3c/0x6c) [ 566.402572] r3:00000000 r2:c02cad13 [ 566.407516] r7:00001002 r6:00000000 r5:c0310be4 r4:c0310be4 [ 566.415786] [] (__enable_irq+0x0/0x6c) from [] (enable_irq+0x38/0x64) [ 566.425826] r5:c0310be4 r4:a0000013 [ 566.430709] [] (enable_irq+0x0/0x64) from [] (wl12xx_boot_run_firmware+0xfc/0x170 [wl12xx]) [ 566.442947] r7:00001002 r6:c440a9fc r5:00000072 r4:c440a9e0 [ 566.450851] [] (wl12xx_boot_run_firmware+0x0/0x170 [wl12xx]) from [] (wl1251_boot+0xd4/0x108 [wl12xx]) [ 566.464492] r5:00000000 r4:c440a9e0 [ 566.469466] [] (wl1251_boot+0x0/0x108 [wl12xx]) from [] (wl12xx_op_start+0x54/0xb8 [wl12xx]) [ 566.482162] r5:00000000 r4:c440a9e0 [ 566.487472] [] (wl12xx_op_start+0x0/0xb8 [wl12xx]) from [] (ieee80211_open+0x2dc/0x720 [mac80211]) [ 566.500594] r7:00001002 r6:c4950800 r5:c440a220 r4:00000000 [ 566.508865] [] (ieee80211_open+0x0/0x720 [mac80211]) from [] (dev_open+0x9c/0xfc) [ 566.520705] [] (dev_open+0x0/0xfc) from [] (dev_change_flags+0x98/0x170) [ 566.531417] r5:00000041 r4:c4950800 [ 566.536330] [] (dev_change_flags+0x0/0x170) from [] (devinet_ioctl+0x3a8/0x784) [ 566.547683] r7:c128e380 r6:00000001 r5:00008914 r4:00000000 [ 566.555587] [] (devinet_ioctl+0x0/0x784) from [] (inet_ioctl+0xdc/0x114) [ 566.566299] [] (inet_ioctl+0x0/0x114) from [] (sock_ioctl+0x1f0/0x248) [ 566.576827] r5:00008914 r4:c572c1a0 [ 566.581771] [] (sock_ioctl+0x0/0x248) from [] (vfs_ioctl+0x34/0x94) [ 566.592086] r7:c572c1a0 r6:bee497e8 r5:00008914 r4:c572c1a0 [ 566.599990] [] (vfs_ioctl+0x0/0x94) from [] (do_vfs_ioctl+0x52c/0x584) [ 566.610549] r7:c572c1a0 r6:00008914 r5:c572c1a0 r4:c3201228 [ 566.618453] [] (do_vfs_ioctl+0x0/0x584) from [] (sys_ioctl+0x40/0x64) [ 566.628890] [] (sys_ioctl+0x0/0x64) from [] (ret_fast_syscall+0x0/0x2c) [ 566.639541] r7:00000036 r6:00000000 r5:00000004 r4:001a11f3 [ 566.647445] ---[ end trace 15c26ef7dd5e7b03 ]--- Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 3ec410d747fa1da035183c43775a64c0e285e399 Author: Bob Copeland Date: Fri Aug 7 13:33:42 2009 +0300 wl1251: add sdio support This adds the wl1251_sdio module, enabling the SDIO interface for wl1251, as used by the Google G1 phone and others. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit af8c78ebbf2a15ecf9b2b6b7b051b0d4c3ba1163 Author: Bob Copeland Date: Fri Aug 7 13:33:34 2009 +0300 wl1251: split spi interface into separate module This creates a module called wl1251_spi.ko which contains just the SPI-specific code. The core remains in the module wl1251.ko. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 8e639c0673a9b676bb7c6bd4e50f9003bdda423e Author: Bob Copeland Date: Fri Aug 7 13:33:26 2009 +0300 wl1251: move module probe methods into spi.c This change moves all of the spi specific code from main.c into spi.c. The module initialization code also moves, but common code for initializing mac80211 etc. stays in main.c, as this will eventually form a common library module also used by wl1251_sdio. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0d77e141331b25adf190ce30d69fe5744a69c5bd Author: Bob Copeland Date: Fri Aug 7 13:33:18 2009 +0300 wl1251: make wl1251_set_partition bus agnostic The same partition setting code can be used for both SPI and SDIO modes, if we remove the spi-specific commands and use the more generic buffer write routines. Do that and move it to io.c since it deals with register/memory address offsets. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 08d9f57251841e4870cfd286e867ffcbef81d9a4 Author: Bob Copeland Date: Fri Aug 7 13:33:11 2009 +0300 wl1251: introduce wl1251_if_operations struct Introduce an ops struct with read, write, and reset functions to abstract away the details of the wl1251 bus interface. Doing this will allow SDIO to coexist with SPI by supplying its own I/O routines. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 6c766f413c81d5a11588552934fa093eab6ae06e Author: Bob Copeland Date: Fri Aug 7 13:33:04 2009 +0300 wl1251: use wiphy_dev instead of wl->spi->dev Remove a dependency on the bus-specific struct device by using wiphy_dev when requesting firmware. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0764de64c8628f653c7e8493017d6bd8d43f4e3b Author: Bob Copeland Date: Fri Aug 7 13:32:56 2009 +0300 wl1251: separate bus i/o code into io.c In order to eventually support wl1251 spi and sdio interfaces, move the register and memory transfer functions to a common file. Also rename wl1251_spi_mem_{read,write} to indicate its common usage. We still use spi_read internally until SDIO interface is introduced so nothing functional should change here. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit b8010790c480f495520fd458197f86d758f0c83a Author: Kalle Valo Date: Fri Aug 7 13:32:48 2009 +0300 wl1251: remove fixed address support from spi commands The fixed addresses are not used in wl1251, only in wl1271. So it can be safely removed. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 5e32b1ed7e81558b09bf0a6bf9e73c34db3c337c Author: Sujith Date: Fri Aug 7 09:45:36 2009 +0530 ath9k: Update beacon RSSI ANI uses the beacon RSSI for its operation. Update this properly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 180d674bab10ce10747f7bc7214462da185431bd Author: Sujith Date: Fri Aug 7 09:45:33 2009 +0530 ath9k: Remove local chainmask variable The chainmask can be obtained directly from ath_hw. Also, use a helper macro for comparing CTLs - this improves readability. Signed-off-by: Sujith Signed-off-by: John W. Linville commit bf466fb67c8e0559ba1875232b03ee8dee32ae09 Author: Sujith Date: Fri Aug 7 09:45:30 2009 +0530 ath9k: Cleanup TX power calculation for 4K chips Write CCK power-per-rate array always and report correct TX power to regulatory. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7f63845f2a5f54c64968a4221561c619468b8a54 Author: Sujith Date: Fri Aug 7 09:45:23 2009 +0530 ath9k: Clean antenna configuration for 4K EEPROM chips This patch revamps the antenna configuration mechanism for 4K chips. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 066edc80ebd9e429d593dcfe97b3ed01c9823847 Author: Sujith Date: Fri Aug 7 09:45:21 2009 +0530 ath9k: Add macros for Antenna Diversity A subsequent patch would use these for configuring antennae on AR9285. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a37414a220990614de376a155e23dfed471efbdc Author: Sujith Date: Fri Aug 7 09:45:19 2009 +0530 ath9k: Cleanup ath9k_hw_4k_set_gain() interface regChainOffset is always zero, remove it. Signed-off-by: Sujith Signed-off-by: John W. Linville commit b5aec950eeb433d4850c1e5fcf14b666048e647d Author: Sujith Date: Fri Aug 7 09:45:15 2009 +0530 ath9k: Split eeprom.c into manageable pieces Add eeprom_def.c, eeprom_4k.c and eeprom_9287.c This improves maintainability. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 6780ccf5652a04493f72fafd9af0d9964ee977ad Author: Sujith Date: Fri Aug 7 09:45:13 2009 +0530 ath9k: Remove a few DEBUG mesages We have never used these at all. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c16c9d0657268daaf8a03e7895fb5c5f005285db Author: Sujith Date: Fri Aug 7 09:45:11 2009 +0530 ath9k: Try to fix whitespace damage Signed-off-by: Sujith Signed-off-by: John W. Linville commit 54e4cec69e70ba30aec68650fb95b3a7e1e6dc18 Author: Sujith Date: Fri Aug 7 09:45:09 2009 +0530 ath9k: Cleanup function return types Signed-off-by: Sujith Signed-off-by: John W. Linville commit 87b5bee86d281383ac2e5cae20ec47afa8fa374a Author: Sujith Date: Fri Aug 7 09:45:01 2009 +0530 ath9k: Remove unneeded assignment of protocol field Signed-off-by: Sujith Signed-off-by: John W. Linville commit bcba8eae12fce23686b84a56d19f5fc78bf182ae Author: Samuel Ortiz Date: Thu Aug 6 21:04:41 2009 +0200 cfg80211: Set WEP ciphers With iwconfig there is no way to properly set the ciphers when trying to connect to a WEP SSID. Although mac80211 based drivers dont need it, several fullmac drivers do. This patch basically sets the WEP ciphers whenever they're not set at all. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit b6f0b639089fb160b10984ac56e07e7043dabad7 Author: Johannes Berg Date: Thu Aug 6 20:41:34 2009 +0200 cfg80211: fix SME association after disassociation When an AP disassociates us, we currently go into a weird state because the SME doesn't handle authenticated but not associated well unless it's within its own state machine, it can't recover from that. However, it shouldn't need to, since we don't do any decisions in it really -- so when we get disconnected, simply deauthenticate too. Reported-by: Pavel Roskin Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e458b8a22d33eef62765c9f89889efeb4041f073 Author: Johannes Berg Date: Thu Aug 6 20:41:33 2009 +0200 cfg80211: fix nl80211 disconnected events When reporting a disconnection to userspace, we try to report whether it was from the AP or by our own choice. However, we misreported a broadcast deauth or disassoc as being by own choice, which is wrong. Fix this by checking the sender address instead of the destination address. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e21546a2a3953a7d4b9d5c9b1cf12184ffceab96 Author: Johannes Berg Date: Thu Aug 6 20:41:32 2009 +0200 mac80211: stay authenticated after disassoc After being disassociated by the AP, mac80211 currently reports this to cfg80211, and then goes to delete the association. That's fine, but cfg80211 assumes that it's still authenticated, however, mac80211 throws away all state. This fixes mac80211 to keep track of the authentication in that case so that cfg80211 can request a deauth or new association properly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 30d742d5468c954969766bb0e809f218abc73af7 Author: Luciano Coelho Date: Thu Aug 6 16:25:29 2009 +0300 wl1271: add wl1271 to Kconfig and the Makefile This patch adds support for the wl1271 driver in the Kconfig and in the Makefile. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit f5fc0f86b02afef1119b523623b4cde41475bc8c Author: Luciano Coelho Date: Thu Aug 6 16:25:28 2009 +0300 wl1271: add wl1271 driver files This driver supports the wl1271 chipset from Texas Instruments based on the WiLink(tm) 6.0 mobile platform. Support for wl1273 should be relatively easy to add. This chipset is designed for embedded devices, with good powersaving capabilities. The wl1271 chipset is the successor of wl1251 and supports the 802.11b/g/n standards, but currently this driver supports only b/g. More information about this chipset can be found here: http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12762&contentId=29993 Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit b935df01ed4f0848f29b1e39c4f95d87b0206dea Author: Pavel Roskin Date: Thu Aug 6 04:52:42 2009 -0400 cfg80211: fix disassociation warning due to misuse of wdev->current_bss WARN_ON was triggered at mlme.c:213 when dissociating from an AP. wdev->current_bss->pub.bssid should be used in place of wdev->current_bss for BSSID comparison. Signed-off-by: Pavel Roskin Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 4af198fb7a99b07980b1bd52df550ba3f24688df Author: David Kilroy Date: Wed Aug 5 21:23:32 2009 +0100 orinoco: consolidate storage of WEP and TKIP keys When TKIP support was added, we stored the keys separately to avoid issues when both TKIP and WEP keys are sent to the driver. We need to consolidate the storage to convert to cfg80211, so do this first and try iron out the issues. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 2b2603515e26466685895e93cae59bc061389f11 Author: David Kilroy Date: Wed Aug 5 21:23:31 2009 +0100 orinoco: add function to retrieve current bssid We will need this from the cfg80211 disassociate call. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 07542d08ee573b6d8281f38430117b52fccaf50a Author: David Kilroy Date: Wed Aug 5 21:23:30 2009 +0100 orinoco: move disassociation to hw.c This allows the disassociation to be called via cfg80211. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 16e158480d542f3909b5aca8b125af986ae128c1 Author: David Kilroy Date: Wed Aug 5 21:23:29 2009 +0100 orinoco: pass orinoco_set_tkip_key the sequence lengths When we store the keys for cfg80211, the sequence lengths will also be stored. So avoid assuming the sequence lengths at this level. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 5c9f41e285ad60013f0962746192769f899757be Author: David Kilroy Date: Wed Aug 5 21:23:28 2009 +0100 orinoco: use local types for auth alg and sequence length This helps in the refactorring required to convert the driver to cfg80211. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit bb7e43c061ad1e52a4738d5b45595ec9e1638b6a Author: David Kilroy Date: Wed Aug 5 21:23:27 2009 +0100 orinoco: prefer_port3 can be a single bit This is a boolean value set based on firmware capabilities, so move the variable to the capabilities section and reduce the structure size. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit a42dd7efd934888833c01199dbd21b242100ee92 Author: Zhu Yi Date: Wed Aug 5 15:07:13 2009 +0800 wireless: display wext SSID when connected by cfg80211 cfg80211 displays correct link info when connected by wext. But if the connection is setup by cfg80211, wext cannot display the SSID. This patch fixed this issue. Cc: Johannes Berg Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit bedaf80866f5d438b47d05e02fb1852065fe5d8e Author: Gábor Stefanik Date: Wed Aug 5 01:28:20 2009 +0200 b43: Fix fallout from the IEEE80211_IF_TYPE to NL80211_IFTYPE change. Update a comment that still says IEEE80211_IF_TYPE instead of NL80211_IFTYPE. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c45fa8c50c2149eec260a55c84e76339a2a761dd Author: gregor kowski Date: Wed Aug 5 00:44:23 2009 +0200 b43: remove wrong probe_resp_plcp write The tkip hw support uncovered a bug in b43_write_probe_resp_template : it is writing at the wrong shm offset, it is in the B43_SHM_SH_TKIPTSCTTAK zone. Remove b43_write_probe_resp_template, b43_write_probe_resp_plcp and b43_write_probe_resp_plcp because the probe response offload is currently not supported by mac80211. Signed-off-by: Gregor Kowski Signed-off-by: John W. Linville commit 7c81e98a60cc525e21a6d86cb4357a626f530699 Author: Gábor Stefanik Date: Wed Aug 5 00:25:42 2009 +0200 b43: Typo fixes & minor cleanup Make use of HostFlags defines in the LP-PHY code. Fix fallout from the IEEE80211_IF_TYPE to NL80211_IFTYPE change. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c03e20fc9a6ec5741d9df561130ecba38ef50eb6 Author: Luis R. Rodriguez Date: Tue Aug 4 15:06:26 2009 -0700 mac80211: fix compilation of mesh (although its disabled) Mesh is currently disabled on mac80211, its marked as broken. This patch gets it to compile though, to account for the mac80211 workqueue changes. There was a simple typo in the patches for mesh for the workqueue migration, but we never compile tested it as we couldn't even select mesh as its broken. Lets at least let it compile for those interested in getting it fixed. Reported-by: Pat Erley Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c10e47f458653a68b1d3956237b7bf2e1ab1e8da Author: Gábor Stefanik Date: Tue Aug 4 23:57:32 2009 +0200 b43: Add LP 2063 radio init Add B2063 radio init code and tables for LP-PHY. Rename structures common between B2062 and B2063 to B206X. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 14b46c8a87f835f4327afa32fad2a523a8fe584d Author: Luis R. Rodriguez Date: Tue Aug 4 14:04:17 2009 -0700 zd1211rw: make it clear we don't use leds.h LED stuff zd1211rw uses its own LED stuff so let rename its LED stuff as such. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 63b08b8d97a2a5ff23436cd52e8cd70c1de0319c Author: Luis R. Rodriguez Date: Tue Aug 4 10:05:30 2009 -0700 ath9k: use new FIF_PSPOLL configure filter We used to set pspoll filter on ath9k on AP mode but we no longer need this mode specific check as mac80211 now does the check for us and informs us when we should enable pspoll through FIF_PSPOLL. Cc: Igor Perminov Cc: Jouni Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e30eb4ab45211c2f27b6bb9b29124ac431e01ce9 Author: Joerg Albert Date: Wed Aug 5 01:52:07 2009 +0200 ath5k: fix missing output in monitor mode after ifconfig up Let ath5k_chan_set() always call ath5k_reset(). This fixes the bug that we don't get any packets in monitor mode after: ifconfig wlan0 down iwconfig wlan0 mode monitor channel 1 ifconfig wlan0 up but they arrive after iwconfig wlan0 channel 2 Signed-off-by: Joerg Albert Signed-off-by: John W. Linville commit 63b5ac286d5d7f668da537cc53a552578f7674a2 Author: Herbert Xu Date: Fri Aug 14 22:55:35 2009 +1000 crypto: blkcipher - Do not use eseqiv on stream ciphers Recently we switched to using eseqiv on SMP machines in preference over chainiv. However, eseqiv does not support stream ciphers so they should still default to chainiv. This patch applies the same check as done by eseqiv to weed out the stream ciphers. In particular, all algorithms where the IV size is not equal to the block size will now default to chainiv. Signed-off-by: Herbert Xu commit c35d3a418149f145ff0d90833db3e298e88de1ad Author: Sascha Hauer Date: Thu Aug 13 10:04:44 2009 +0200 mx21ads: Fix framebuffer platform data struct imx_fb_platform_data has changed and the mx21ads was forgotten to change. Fix it. Signed-off-by: Sascha Hauer commit f6d2fa7dcbd438da4d150f695ebd219419a325ce Author: Sascha Hauer Date: Thu Aug 13 10:02:30 2009 +0200 MX21: Compilation fix for devices.c The OTG devices are only available on i.MX27, so ifdef them out for i.MX21. Signed-off-by: Sascha Hauer commit 2718c15c5fffa9d05e5076451ab4fc81caac313f Author: Valentin Longchamp Date: Wed Aug 12 11:29:21 2009 +0200 mx31moboard: two GPIOS are used to reset other microcontrolers on the robot Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 8b1a540c245d68a77dbd909359cfc709b6a3a1bf Author: Valentin Longchamp Date: Wed Aug 12 11:29:20 2009 +0200 mx31moboard: initialize 4 input gpios for mx31moboard These gpios are exported to userspace and are here to be used as a selector Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 77aa561db19229a36859018277f41be88684b487 Author: Valentin Longchamp Date: Wed Aug 12 11:29:19 2009 +0200 mx31moboard: support for the 4 leds used on mx31moboard Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 4bd1527a64f847a8aaec4f6055d9498db2646626 Author: Valentin Longchamp Date: Wed Aug 12 11:29:18 2009 +0200 mx31: define various GPIOs used on mx31moboard Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit e0fd4db372896d74e63097ee6463f97736440529 Author: Luotao Fu Date: Thu Jun 18 16:44:18 2009 +0200 pcm037: mux configuration for predefined gpio line Signed-off-by: Luotao Fu commit 8d5c1ed3f639f6ae012332d8ccdff429f3f11823 Author: Luotao Fu Date: Thu Jun 18 14:15:22 2009 +0200 pcm043: mux configuration for predefined gpio line Signed-off-by: Luotao Fu commit 0160651a65d091f9fb3b7955347e04c1125765f8 Author: Luotao Fu Date: Thu Jun 18 12:21:51 2009 +0200 pcm038: mux configuration for predefined gpio line Signed-off-by: Luotao Fu commit 3fd2691a1dc80e42e6524bcbc228b1d35424d013 Author: Sascha Hauer Date: Fri Mar 20 19:25:01 2009 +0100 MX31 Fix spi clock names Fix the SPI clock names to match the device names. Signed-off-by: Sascha Hauer commit 7bc07ebc7d2e9ad57baf205840ce31e9243ed5e8 Author: Sascha Hauer Date: Fri Apr 17 16:52:25 2009 +0200 mx3x: Fixup USB base addresses The i.MX31 and the i.MX35 have different USB base addresses. Adjust the resources accordingly. Signed-off-by: Sascha Hauer commit 337316986f0531e1681c409de9b73af0bc6dc7bb Author: Luotao Fu Date: Thu Aug 6 11:19:39 2009 +0200 mx27: add support for phytec pca100 (phyCARD-s) board Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer commit 547270a3b9f2deb9590b65e8fc351e5399ddf15d Author: Sascha Hauer Date: Tue Mar 17 15:43:54 2009 +0100 i.MX35 clock support: Add USB clocks Signed-off-by: Sascha Hauer commit d37ba97d49703be4e71f786cffcee4dfe73fa93c Author: Sascha Hauer Date: Fri Dec 19 14:32:15 2008 +0100 MX31: add spi controller devices/resources Signed-off-by: Sascha Hauer commit f420db843b7756e5d0d052b00472c94154f50c93 Author: Sascha Hauer Date: Fri Dec 19 14:32:14 2008 +0100 MX2: Add SPI devices/resources Signed-off-by: Sascha Hauer commit 88b05647171460b1d479371690876f8ac5957d42 Author: Valentin Longchamp Date: Mon Aug 10 18:33:12 2009 +0200 mx31moboard: move usb otg support back to moboard common file since all boards finally have this device Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit b23f1534bb0e0dc97e46fc52bf9bde0c2226763c Author: Valentin Longchamp Date: Mon Aug 10 18:33:11 2009 +0200 mx31moboard: added usb xcvr reset for mx31moboard Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 89829d5fe31dc42825f2560c3c2c641709ed594e Author: Valentin Longchamp Date: Mon Aug 10 18:33:10 2009 +0200 mx31: added one more pin definition Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 94da274b4982f5b36b55bde0c76d3ef8233bceda Author: Dmitriy Taychenachev Date: Fri Jul 31 20:29:23 2009 +0900 MXC: add iomux pins configuration support for MXC91231 Signed-off-by: Dmitriy Taychenachev Signed-off-by: Sascha Hauer commit fd6ac7bb9d671d36fd7536c68fde977d197756ab Author: Dmitriy Taychenachev Date: Fri Jul 31 20:29:22 2009 +0900 MXC: add basic MXC91231 support Signed-off-by: Dmitriy Taychenachev Signed-off-by: Sascha Hauer commit 8e5be212cba6675dc363a224ce4a98bb07039b4b Author: Lothar Waßmann Date: Wed Jul 15 15:19:34 2009 +0200 i.MX25 iomux definitions (corrected version) Signed-off-by: Lothar Wassmann Signed-off-by: Sascha Hauer commit cf983c93aea2a6cd6de5b405b7506af7732f91d0 Author: Sascha Hauer Date: Wed Jul 15 09:31:15 2009 +0200 fix mx35 wrong clock Signed-off-by: Sascha Hauer commit 635baf6b40ebaef683abf87d677467cba71a0d50 Author: Sascha Hauer Date: Thu Jun 4 11:32:46 2009 +0200 Freescale i.MX25 PDK (3ds) board support Signed-off-by: Sascha Hauer commit 8c25c36f33157a2e2a1fcd60b6dc00feace80631 Author: Sascha Hauer Date: Thu Jun 4 11:32:12 2009 +0200 Add i.MX25 support Signed-off-by: Sascha Hauer commit a058cbc17901108de9179dccdb29dff0e00c79fe Author: Sascha Hauer Date: Fri Jun 19 11:08:07 2009 +0200 mxc pwm: add mx25 support Signed-off-by: Sascha Hauer commit 6134b2cbb0e24f897fd1063745638397809fca29 Author: Sascha Hauer Date: Thu Jun 4 11:16:22 2009 +0200 iomux-v3: Allow for a runtime base address also, check for a valid pad_ctrl_ofs before changing the pad control register. Signed-off-by: Sascha Hauer commit fc2a9f0bc7f6dd4966dc57fb98b8697c83b6d035 Author: Sascha Hauer Date: Wed May 27 18:09:54 2009 +0200 MXC: i.MX25 timer support Signed-off-by: Sascha Hauer commit 12b8eb865285c95d6e2c02555f066e3f949e090d Author: Sascha Hauer Date: Mon May 25 10:50:52 2009 +0200 MXC: use variable for irq controller base in entry-macro.S This allows us to determine the irq controller base address on runtime. Signed-off-by: Sascha Hauer commit c372a5cf4cde161c7f59bbe7a9ebcfce9cb2c2f8 Author: Daniel Mack Date: Thu Jun 25 12:37:16 2009 +0200 ARM: MX3: add ckil clock The CKIL clock source is used by the upcoming RTC driver, so we need to export it. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit cf87a6e2fe95891575c45ba1a0ecb8cf53c09732 Author: Sascha Hauer Date: Mon Jul 20 08:18:47 2009 +0200 ARM: mxc: Fix i2c_board_info definitions Fix i2c_board_info definitions - we were defining the 'type' field of these structures twice since the first argument of I2C_BOARD_INFO sets this field. Move the second definition into I2C_BOARD_INFO(). Signed-off-by: Sascha Hauer Acked-by: Jean Delvare commit c2a7e818019f20a5cf7fb26a6eb59e212e6c0cd8 Author: Tejun Heo Date: Fri Aug 14 15:00:53 2009 +0900 powerpc64: convert to dynamic percpu allocator Now that percpu allows arbitrary embedding of the first chunk, powerpc64 can easily be converted to dynamic percpu allocator. Convert it. powerpc supports several large page sizes. Cap atom_size at 1M. There isn't much to gain by going above that anyway. Signed-off-by: Tejun Heo Cc: Benjamin Herrenschmidt commit bcb2107fdbecef3de55d597d23453747af81ba88 Author: Tejun Heo Date: Fri Aug 14 15:00:53 2009 +0900 sparc64: use embedding percpu first chunk allocator sparc64 currently allocates a large page for each cpu and partially remap them into vmalloc area much like what lpage first chunk allocator did. As a 4M page is used for each cpu, this results in very large unit size and also adds TLB pressure due to the double mapping of pages in the first chunk. This patch converts sparc64 to use the embedding percpu first chunk allocator which now knows how to handle NUMA configurations. This simplifies the code a lot, doesn't incur any extra TLB pressure and results in better utilization of address space. Signed-off-by: Tejun Heo Acked-by: David S. Miller commit e933a73f48e3b2d40cfa56d81e2646f194b5a66a Author: Tejun Heo Date: Fri Aug 14 15:00:53 2009 +0900 percpu: kill lpage first chunk allocator With x86 converted to embedding allocator, lpage doesn't have any user left. Kill it along with cpa handling code. Signed-off-by: Tejun Heo Cc: Jan Beulich commit 4518e6a0c038b98be4c480e6f4481e8676bd15dd Author: Tejun Heo Date: Fri Aug 14 15:00:52 2009 +0900 x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA Embedding percpu first chunk allocator can now handle very sparse unit mapping. Use embedding allocator instead of lpage for 64bit NUMA. This removes extra TLB pressure and the need to do complex and fragile dancing when changing page attributes. For 32bit, using very sparse unit mapping isn't a good idea because the vmalloc space is very constrained. 32bit NUMA machines aren't exactly the focus of optimization and it isn't very clear whether lpage performs better than page. Use page first chunk allocator for 32bit NUMAs. As this leaves setup_pcpu_*() functions pretty much empty, fold them into setup_per_cpu_areas(). Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Andi Kleen commit c8826dd538602d730ed2c18c6753f1bbfa6c4933 Author: Tejun Heo Date: Fri Aug 14 15:00:52 2009 +0900 percpu: update embedding first chunk allocator to handle sparse units Now that percpu core can handle very sparse units, given that vmalloc space is large enough, embedding first chunk allocator can use any memory to build the first chunk. This patch teaches pcpu_embed_first_chunk() about distances between cpus and to use alloc/free callbacks to allocate node specific areas for each group and use them for the first chunk. This brings the benefits of embedding allocator to NUMA configurations - no extra TLB pressure with the flexibility of unified dynamic allocator and no need to restructure arch code to build memory layout suitable for percpu. With units put into atom_size aligned groups according to cpu distances, using large page for dynamic chunks is also easily possible with falling back to reuglar pages if large allocation fails. Embedding allocator users are converted to specify NULL cpu_distance_fn, so this patch doesn't cause any visible behavior difference. Following patches will convert them. Signed-off-by: Tejun Heo commit 6563297ceafab6bbcc931b52e2a9e660fbb21fb2 Author: Tejun Heo Date: Fri Aug 14 15:00:52 2009 +0900 percpu: use group information to allocate vmap areas sparsely ai->groups[] contains which units need to be put consecutively and at what offset from the chunk base address. Compile this information into pcpu_group_offsets[] and pcpu_group_sizes[] in pcpu_setup_first_chunk() and use them to allocate sparse vm areas using pcpu_get_vm_areas(). This will be used to allow directly using sparse NUMA memories as percpu areas. Signed-off-by: Tejun Heo Cc: Nick Piggin commit ca23e405e06d5fffb005df004c72781f76062f51 Author: Tejun Heo Date: Fri Aug 14 15:00:52 2009 +0900 vmalloc: implement pcpu_get_vm_areas() To directly use spread NUMA memories for percpu units, percpu allocator will be updated to allow sparsely mapping units in a chunk. As the distances between units can be very large, this makes allocating single vmap area for each chunk undesirable. This patch implements pcpu_get_vm_areas() and pcpu_free_vm_areas() which allocates and frees sparse congruent vmap areas. pcpu_get_vm_areas() take @offsets and @sizes array which define distances and sizes of vmap areas. It scans down from the top of vmalloc area looking for the top-most address which can accomodate all the areas. The top-down scan is to avoid interacting with regular vmallocs which can push up these congruent areas up little by little ending up wasting address space and page table. To speed up top-down scan, the highest possible address hint is maintained. Although the scan is linear from the hint, given the usual large holes between memory addresses between NUMA nodes, the scanning is highly likely to finish after finding the first hole for the last unit which is scanned first. Signed-off-by: Tejun Heo Cc: Nick Piggin commit cf88c79006bd6a09ad725ba0b34c0e23db20b19e Author: Tejun Heo Date: Fri Aug 14 15:00:52 2009 +0900 vmalloc: separate out insert_vmalloc_vm() Separate out insert_vmalloc_vm() from __get_vm_area_node(). insert_vmalloc_vm() initializes vm_struct from vmap_area and inserts it into vmlist. insert_vmalloc_vm() only initializes fields which can be determined from @vm, @flags and @caller The rest should be initialized by the caller. For __get_vm_area_node(), all other fields just need to be cleared and this is done by using kzalloc instead of kmalloc. This will be used to implement pcpu_get_vm_areas(). Signed-off-by: Tejun Heo Cc: Nick Piggin commit bba174f5e03a40a4ab1c63a2272ea5530b98a067 Author: Tejun Heo Date: Fri Aug 14 15:00:51 2009 +0900 percpu: add chunk->base_addr The only thing percpu allocator wants to know about a vmalloc area is the base address. Instead of requiring chunk->vm, add chunk->base_addr which contains the necessary value. This simplifies the code a bit and makes the dummy first_vm unnecessary. This change will ease allowing a chunk to be mapped by multiple vms. Signed-off-by: Tejun Heo commit fb435d5233f8b6f9b93c11d6304d8e98fed03234 Author: Tejun Heo Date: Fri Aug 14 15:00:51 2009 +0900 percpu: add pcpu_unit_offsets[] Currently units are mapped sequentially into address space. This patch adds pcpu_unit_offsets[] which allows units to be mapped to arbitrary offsets from the chunk base address. This is necessary to allow sparse embedding which might would need to allocate address ranges and memory areas which aren't aligned to unit size but allocation atom size (page or large page size). This also simplifies things a bit by removing the need to calculate offset from unit number. With this change, there's no need for the arch code to know pcpu_unit_size. Update pcpu_setup_first_chunk() and first chunk allocators to return regular 0 or -errno return code instead of unit size or -errno. Signed-off-by: Tejun Heo Cc: David S. Miller commit fd1e8a1fe2b54df6c185b4fa65f181f50b9c4d4e Author: Tejun Heo Date: Fri Aug 14 15:00:51 2009 +0900 percpu: introduce pcpu_alloc_info and pcpu_group_info Till now, non-linear cpu->unit map was expressed using an integer array which maps each cpu to a unit and used only by lpage allocator. Although how many units have been placed in a single contiguos area (group) is known while building unit_map, the information is lost when the result is recorded into the unit_map array. For lpage allocator, as all allocations are done by lpages and whether two adjacent lpages are in the same group or not is irrelevant, this didn't cause any problem. Non-linear cpu->unit mapping will be used for sparse embedding and this grouping information is necessary for that. This patch introduces pcpu_alloc_info which contains all the information necessary for initializing percpu allocator. pcpu_alloc_info contains array of pcpu_group_info which describes how units are grouped and mapped to cpus. pcpu_group_info also has base_offset field to specify its offset from the chunk's base address. pcpu_build_alloc_info() initializes this field as if all groups are allocated back-to-back as is currently done but this will be used to sparsely place groups. pcpu_alloc_info is a rather complex data structure which contains a flexible array which in turn points to nested cpu_map arrays. * pcpu_alloc_alloc_info() and pcpu_free_alloc_info() are provided to help dealing with pcpu_alloc_info. * pcpu_lpage_build_unit_map() is updated to build pcpu_alloc_info, generalized and renamed to pcpu_build_alloc_info(). @cpu_distance_fn may be NULL indicating that all cpus are of LOCAL_DISTANCE. * pcpul_lpage_dump_cfg() is updated to process pcpu_alloc_info, generalized and renamed to pcpu_dump_alloc_info(). It now also prints which group each alloc unit belongs to. * pcpu_setup_first_chunk() now takes pcpu_alloc_info instead of the separate parameters. All first chunk allocators are updated to use pcpu_build_alloc_info() to build alloc_info and call pcpu_setup_first_chunk() with it. This has the side effect of packing units for sparse possible cpus. ie. if cpus 0, 2 and 4 are possible, they'll be assigned unit 0, 1 and 2 instead of 0, 2 and 4. * x86 setup_pcpu_lpage() is updated to deal with alloc_info. * sparc64 setup_per_cpu_areas() is updated to build alloc_info. Although the changes made by this patch are pretty pervasive, it doesn't cause any behavior difference other than packing of sparse cpus. It mostly changes how information is passed among initialization functions and makes room for more flexibility. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: David Miller commit 033e48fb82958053113178264ddb9d5038d5e38b Author: Tejun Heo Date: Fri Aug 14 15:00:51 2009 +0900 percpu: move pcpu_lpage_build_unit_map() and pcpul_lpage_dump_cfg() upward Unit map handling will be generalized and extended and used for embedding sparse first chunk and other purposes. Relocate two unit_map related functions upward in preparation. This patch just moves the code without any actual change. Signed-off-by: Tejun Heo commit 3cbc85652767c38b252c8de55f9fd180b29e4c0d Author: Tejun Heo Date: Fri Aug 14 15:00:50 2009 +0900 percpu: add @align to pcpu_fc_alloc_fn_t pcpu_fc_alloc_fn_t is about to see more interesting usage, add @align parameter. Signed-off-by: Tejun Heo commit 1d9d32572163b30be81dbe1409dfa7ea9763d0e8 Author: Tejun Heo Date: Fri Aug 14 15:00:50 2009 +0900 percpu: make @dyn_size mandatory for pcpu_setup_first_chunk() Now that all actual first chunk allocation and copying happen in the first chunk allocators and helpers, there's no reason for pcpu_setup_first_chunk() to try to determine @dyn_size automatically. The only left user is page first chunk allocator. Make it determine dyn_size like other allocators and make @dyn_size mandatory for pcpu_setup_first_chunk(). Signed-off-by: Tejun Heo commit 9a7737691e90d3cce0e5248f91826c50e5aa3fcf Author: Tejun Heo Date: Fri Aug 14 15:00:50 2009 +0900 percpu: drop @static_size from first chunk allocators First chunk allocators assume percpu areas have been linked using one of PERCPU_*() macros and depend on __per_cpu_load symbol defined by those macros, so there isn't much point in passing in static area size explicitly when it can be easily calculated from __per_cpu_start and __per_cpu_end. Drop @static_size from all percpu first chunk allocators and helpers. Signed-off-by: Tejun Heo commit f58dc01ba2ca9fe3ab2ba4ca43d9c8a735cf62d8 Author: Tejun Heo Date: Fri Aug 14 15:00:50 2009 +0900 percpu: generalize first chunk allocator selection Now that all first chunk allocators are in mm/percpu.c, it makes sense to make generalize percpu_alloc kernel parameter. Define PCPU_FC_* and set pcpu_chosen_fc using early_param() in mm/percpu.c. Arch code can use the set value to determine which first chunk allocator to use. Signed-off-by: Tejun Heo commit 08fc45806103e59a37418e84719b878f9bb32540 Author: Tejun Heo Date: Fri Aug 14 15:00:49 2009 +0900 percpu: build first chunk allocators selectively There's no need to build unused first chunk allocators in. Define CONFIG_NEED_PER_CPU_*_FIRST_CHUNK and let archs enable them selectively. Signed-off-by: Tejun Heo commit 00ae4064b1445524752575dd84df227c0687c99d Author: Tejun Heo Date: Fri Aug 14 15:00:49 2009 +0900 percpu: rename 4k first chunk allocator to page Page size isn't always 4k depending on arch and configuration. Rename 4k first chunk allocator to page. Signed-off-by: Tejun Heo Cc: David Howells commit 004018e2c06b9c650e88dddd973ae36799ed72b9 Author: Tejun Heo Date: Fri Aug 14 15:00:49 2009 +0900 percpu: improve boot messages Improve percpu boot messages such that they're uniform and contain more information. Signed-off-by: Tejun Heo Reviewed-by: Christoph Lameter commit 971f3918a5a8febbbab355079972fb31ee7c0f33 Author: Tejun Heo Date: Fri Aug 14 15:00:49 2009 +0900 percpu: fix pcpu_reclaim() locking pcpu_reclaim() calls pcpu_depopulate_chunk() which makes use of pages array and bitmap returned by pcpu_get_pages_and_bitmap() and thus should be called under pcpu_alloc_mutex. pcpu_reclaim() released the mutex before calling depopulate leading to double free and other strange problems caused by the unexpected concurrent usages of pages array and bitmap. Fix it. Signed-off-by: Tejun Heo Reviewed-by: Christoph Lameter commit 384be2b18a5f9475eab9ca2bdfa95cc1a04ef59c Merge: a76761b 142d44b Author: Tejun Heo Date: Fri Aug 14 14:41:02 2009 +0900 Merge branch 'percpu-for-linus' into percpu-for-next Conflicts: arch/sparc/kernel/smp_64.c arch/x86/kernel/cpu/perf_counter.c arch/x86/kernel/setup_percpu.c drivers/cpufreq/cpufreq_ondemand.c mm/percpu.c Conflicts in core and arch percpu codes are mostly from commit ed78e1e078dd44249f88b1dd8c76dafb39567161 which substituted many num_possible_cpus() with nr_cpu_ids. As for-next branch has moved all the first chunk allocators into mm/percpu.c, the changes are moved from arch code to mm/percpu.c. Signed-off-by: Tejun Heo commit 5c16807d3d196203d2d3c9fae51ac7e422091904 Merge: e5e2a8f 232e7d6 Author: David S. Miller Date: Thu Aug 13 19:59:44 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/netxen/netxen_nic_main.c commit f322abf83feddc3c37c3a91794e0c5aece4af18e Author: James Morris Date: Fri Aug 14 11:19:29 2009 +1000 security: update documentation for security_request_module Update documentation for security_request_module to indicate return value, as suggested by Serge Hallyn. Signed-off-by: James Morris commit 25354c4fee169710fd9da15f3bb2abaa24dcf933 Author: Eric Paris Date: Thu Aug 13 09:45:03 2009 -0400 SELinux: add selinux_kernel_module_request This patch adds a new selinux hook so SELinux can arbitrate if a given process should be allowed to trigger a request for the kernel to try to load a module. This is a different operation than a process trying to load a module itself, which is already protected by CAP_SYS_MODULE. Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 9188499cdb117d86a1ea6b04374095b098d56936 Author: Eric Paris Date: Thu Aug 13 09:44:57 2009 -0400 security: introducing security_request_module Calling request_module() will trigger a userspace upcall which will load a new module into the kernel. This can be a dangerous event if the process able to trigger request_module() is able to control either the modprobe binary or the module binary. This patch adds a new security hook to request_module() which can be used by an LSM to control a processes ability to call request_module(). Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit a8f80e8ff94ecba629542d9b4b5f5a8ee3eb565c Author: Eric Paris Date: Thu Aug 13 09:44:51 2009 -0400 Networking: use CAP_NET_ADMIN when deciding to call request_module The networking code checks CAP_SYS_MODULE before using request_module() to try to load a kernel module. While this seems reasonable it's actually weakening system security since we have to allow CAP_SYS_MODULE for things like /sbin/ip and bluetoothd which need to be able to trigger module loads. CAP_SYS_MODULE actually grants those binaries the ability to directly load any code into the kernel. We should instead be protecting modprobe and the modules on disk, rather than granting random programs the ability to load code directly into the kernel. Instead we are going to gate those networking checks on CAP_NET_ADMIN which still limits them to root but which does not grant those processes the ability to load arbitrary code into the kernel. Signed-off-by: Eric Paris Acked-by: Serge Hallyn Acked-by: Paul Moore Acked-by: David S. Miller Signed-off-by: James Morris commit a2c195fdde20772a90ee98ce3523dcfbda49eee6 Author: Ben Dooks Date: Mon Aug 3 17:26:50 2009 +0100 ARM: S3C24XX: Add SPI bus 1 on GPD8 through GPD10 Add configuration callback for SPI bus 1 on GPD[8..10] and ensure the correct GPIO configuration register definitions in regs-gpio.h Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit d91e9a7ab93e09e5a0fbed73f3a6a330f14620a4 Author: Mark Brown Date: Wed Aug 5 18:29:57 2009 +0100 ARM: S3C24XX: Add platform device for AC97 controller Move the definition of the "generic" IRQ in the process. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 229fd8ffba57dfaea59078b9144371369ffdb0a3 Author: Ben Dooks Date: Mon Aug 3 17:26:57 2009 +0100 ARM: S3C24XX: Add FIQ IRQ routing support Add support for routing an IRQ from the normal ARM IRQ mechanism to the FIQ input of the processor. Note, also fix a bug where the init_FIQ() function has not been called when CONFIG_FIQ is enabled. Signed-off-by; Ben Dooks Signed-off-by: Ben Dooks commit c233d94931cebc8ec805fb98856f34ad16d49e4f Author: Mark Brown Date: Wed Aug 5 18:21:57 2009 +0100 ARM: S3C: Move S3C64xx audio devices into S3C64xx directory Allowing us to make the Kconfig a little bit saner. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit c7c8f615c8d1b49225ed86406603e7ac24d2a6d9 Author: Mark Brown Date: Wed Aug 5 18:21:59 2009 +0100 ARM: S3C64XX: Add address mapping for AC97 controller Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 25b15da14a789846672e73d19862b5fe5ad14346 Author: Mark Brown Date: Tue Aug 4 16:25:12 2009 +0100 ARM: S3C64XX: Add mapping for IISv4 port Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit bd258e525a40efc2c3798b76a725cd3d5c4e3d93 Author: Matt Hsu Date: Mon Jun 29 19:03:41 2009 +0800 ARM: S3C64XX: Add UART2,UART3 support for SMDK6410 (resend) Add proper uartcfg for UART port 2,3 and tidy it up on SMDK6410. Signed-off-by: Matt Hsu Signed-off-by: Ben Dooks commit 4d4e2bc268e188a8793ce96af20576374098c17b Author: Marek Szyprowski Date: Wed Jun 24 08:05:43 2009 +0200 ARM: NCP: make ncp_iodesc static and move it to initdata section Make ncp_iodesc struct static to clean a public namespace a bit and move it to __initdata section to save memory a bit. Reviewed-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit e5e2a8fd8358d1b3a2c51c3248edee72e4194703 Author: Jiri Pirko Date: Thu Aug 13 04:11:52 2009 +0000 bonding: wipe out printk's I did not introduce new lines over 80 chars. I even eliminated some of them. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 26ced1e4aa181c01379b0b7ef156a29c000d1f8c Author: Gerrit Renker Date: Sun Aug 9 08:12:49 2009 +0000 inet6: Set default traffic class This patch addresses: * assigning -1 to np->tclass as it is currently done is not very meaningful, since it turns into 0xff; * RFC 3542, 6.5 allows -1 for clearing the sticky IPV6_TCLASS option and specifies -1 to mean "use kernel default": - RFC 2460, 7. requires that the default traffic class must be zero for all 8 bits, - this is consistent with RFC 2474, 4.1 which recommends a default PHB of 0, in combination with a value of the ECN field of "non-ECT" (RFC 3168, 5.). This patch changes the meaning of -1 from assigning 255 to mean the RFC 2460 default, which at the same time allows to satisfy clearing the sticky TCLASS option as per RFC 3542, 6.5. (When passing -1 as ancillary data, the fallback remains np->tclass, which has either been set via socket options, or contains the default value.) Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit e651f03afe833326faa0abe55948c1c6cfd0b8ac Author: Gerrit Renker Date: Sun Aug 9 08:12:48 2009 +0000 inet6: Conversion from u8 to int This replaces assignments of the type "int on LHS" = "u8 on RHS" with simpler code. The LHS can express all of the unsigned right hand side values, hence the assigned value can not be negative. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 9ec04da7489d2c9ae01ea6e9b5fa313ccf3d35fb Author: Neil Horman Date: Thu Aug 13 05:23:56 2009 +0000 net: skb ftracer - Add actual ftrace code to kernel (v3) skb allocation / consumption correlator Add ftracer module to kernel to print out a list that correlates a process id, an skb it read, and the numa nodes on wich the process was running when it was read along with the numa node the skbuff was allocated on. Signed-off-by: Neil Horman Makefile | 1 trace.h | 19 ++++++ trace_skb_sources.c | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 174 insertions(+) Signed-off-by: David S. Miller commit 5a165657bef7c47e5ff4cd138f7758ef6278e87b Author: Neil Horman Date: Thu Aug 13 05:20:45 2009 +0000 net: skb ftracer - Add config option to enable new ftracer (v3) skb allocation / consumption corelator - Add config option This patch adds a Kconfig option to enable the addtition of the skb source tracer. Signed-off-by: Neil Horman Kconfig | 10 ++++++++++ 1 file changed, 10 insertions(+) Signed-off-by: David S. Miller commit e9b3cc1b3779fe10a80de4c3e7404bd308d0eae3 Author: Neil Horman Date: Thu Aug 13 05:19:44 2009 +0000 net: skb ftracer - add tracepoint to skb_copy_datagram_iovec (v3) skb allocation / cosumption tracer - Add consumption tracepoint This patch adds a tracepoint to skb_copy_datagram_iovec, which is called each time a userspace process copies a frame from a socket receive queue to a user space buffer. It allows us to hook in and examine each sk_buff that the system receives on a per-socket bases, and can be use to compile a list of which skb's were received by which processes. Signed-off-by: Neil Horman include/trace/events/skb.h | 20 ++++++++++++++++++++ net/core/datagram.c | 3 +++ 2 files changed, 23 insertions(+) Signed-off-by: David S. Miller commit 1e5053b7635c6a985a7cd8108e538883d961de2a Author: Wan ZongShun Date: Sun Aug 9 03:06:19 2009 +0000 Add support for w90p910 mac driver I fixed up my mac driver, which relatives to previous mac driver actually in the tree. Signed-off-by: Wan ZongShun Signed-off-by: David S. Miller commit 7010837a44813711b66d9e82e90f9641464e515d Author: Phil Sutter Date: Wed Aug 12 12:52:32 2009 +0000 korina: add error-handling to korina_alloc_ring This also avoids a potential buffer overflow in case the very first receive descriptor fails to allocate, as an index of -1 would be used afterwards. Kudos to Roel Kluin for pointing this out and providing an initial patch. Signed-off-by: Phil Sutter Signed-off-by: David S. Miller commit f16aea4d201018a124f3c1efd7f247fd3b11e4e1 Author: Phil Sutter Date: Wed Aug 12 12:22:46 2009 +0000 korina: fix printk formatting, add final info line The macro DRV_NAME contains "korina", the field dev->name points to the actual interface name. So messages were formerly prefixed with 'korinaeth2:' (on my system). Signed-off-by: Phil Sutter Signed-off-by: David S. Miller commit 3982d3d28b02bed5312015762fe2112ccbaf9051 Author: Fischer, Anna Date: Thu Aug 13 06:55:16 2009 +0000 net/bridge: Add 'hairpin' port forwarding mode This patch adds a 'hairpin' (also called 'reflective relay') mode port configuration to the Linux Ethernet bridge kernel module. A bridge supporting hairpin forwarding mode can send frames back out through the port the frame was received on. Hairpin mode is required to support basic VEPA (Virtual Ethernet Port Aggregator) capabilities. You can find additional information on VEPA here: http://tech.groups.yahoo.com/group/evb/ http://www.ieee802.org/1/files/public/docs2009/new-hudson-vepa_seminar-20090514d.pdf http://www.internet2.edu/presentations/jt2009jul/20090719-congdon.pdf An additional patch 'bridge-utils: Add 'hairpin' port forwarding mode' is provided to allow configuring hairpin mode from userspace tools. Signed-off-by: Paul Congdon Signed-off-by: Anna Fischer Acked-by: Arnd Bergmann Signed-off-by: David S. Miller commit 8dd07086a1f8048428d33a1917b6209978750cb1 Author: roel kluin Date: Mon Aug 10 01:29:52 2009 +0000 lmc: Read outside array bounds If dev_alloc_skb() fails on the first iteration of the allocation loop, then we end up writing before the start of the array. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit a6fa32866567351503db8a5c3466a676ba08595f Author: Jens Rosenboom Date: Wed Aug 12 22:16:04 2009 +0000 ipv6: Log the explicit address that triggered DAD failure If an interface has multiple addresses, the current message for DAD failure isn't really helpful, so this patch adds the address itself to the printk. Signed-off-by: Jens Rosenboom Signed-off-by: David S. Miller commit 9b0365f1954b0b54a896171b4438ed42ad7ef02f Author: Sarveshwar Bandi Date: Wed Aug 12 21:01:29 2009 +0000 be2net:Creating/destroying queues regardless of netif_running() in suspend/resume path Signed-off-by: sarveshwarb Signed-off-by: David S. Miller commit 60d970c254b95ec7a0fc4c590b510253987b64a0 Author: Ingo Molnar Date: Thu Aug 13 23:37:26 2009 +0200 tracing: Fix syscall tracing on !HAVE_FTRACE_SYSCALLS architectures The new syscall_regfunc()/unregfunc() functions rely on the existence of TIF_SYSCALL_FTRACE - but that TIF flag is only offered by HAVE_FTRACE_SYSCALLS. Cc: Frederic Weisbecker Cc: Jason Baron Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 4ac0478f2afaf8e778b4190d6218459a9dbf2a8f Author: Marek Vasut Date: Thu Jul 30 02:55:01 2009 +0200 ALSA: Allow passing platform_data for pxa2xx-ac97 This patch adds support for passing platform data to ac97 bus devices from PXA2xx-AC97 driver.. Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit 30230f4cd7c002a40c13758d12c1c6d96100461d Author: Chaithrika U S Date: Tue Aug 11 16:59:21 2009 -0400 ASoC: DaVinci: Add audio support fot DA850/OMAP-L138 EVM There is one instance of McASP on DA850/OMAP-L138 SoC. This is connected to TLV320AIC3106 codec for audio playback and capture. This patch adds audio support on this platform. Some of the structure prefix names which are common for DA830/OMAP-L137 EVM and DA850/OMAP-L138 EVM have been renamed to da8xx from da830. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 517ee6cf699967b421bcf8967e7bbeb3c45ded1a Author: Chaithrika U S Date: Tue Aug 11 16:59:12 2009 -0400 ASoC: DaVinci: Add a DAI format to McASP driver The patch adds a DAI format: Codec bit clock master and frame sync slave, to the driver. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 6a99fb5fb85f267d075310fd30c4bf6f0ae63062 Author: Chaithrika U S Date: Tue Aug 11 16:58:52 2009 -0400 ASoC: DaVinci: McASP driver enhacements On DA830/OMAP-L137 and DA850/OMAP-L138 SoCs, the McASP peripheral has FIFO support. This FIFO provides additional data buffering. It also provides tolerance to variation in host/DMA controller response times. The read and write FIFO sizes are 256 bytes each. If FIFO is enabled, the DMA events from McASP are sent to the FIFO which in turn sends DMA requests to the host CPU according to the thresholds programmed. More details of the FIFO operation can be found at http://focus.ti.com/general/docs/lit/getliterature.tsp?literatureNumber= sprufm1&fileType=pdf This patch adds support for FIFO configuration. The platform data has a version field which differentiates the McASP on different SoCs. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit a2342ae325bb1f65d90a9f38baab4c9762018a5e Author: Mark Brown Date: Wed Jul 29 21:21:49 2009 +0100 ASoC: Factor out shared code from WM8993 The WM8993 analogue control is shared with other devices in the same product line. Since this is a very substantial proportion of the driver move the definitions of these controls into a new wm_hubs module which allows them to be shared between the two. Signed-off-by: Mark Brown commit ac25150f2c55ea26447af0fa1d4e2bb07f97384d Author: Uwe Kleine-König Date: Thu Aug 13 21:09:21 2009 +0200 [ARM] let arch/arm/Kconfig source drivers/Kconfig The changes introduced by this change are: - drivers/mtd/Kconfig doesn't depend on ALIGNMENT_TRAP || !CPU_CP15_MMU any more - the following files are sourced additionally: + drivers/macintosh/Kconfig completely depends on PPC || MAC || X86 + drivers/telephony/Kconfig new + drivers/pps/Kconfig new + drivers/infiniband/Kconfig new + drivers/edac/Kconfig depends on X86 || PPC + drivers/vlynq/Kconfig depends on AR7 && EXPERIMENTAL (that is ARCH_MIPS) + drivers/xen/Kconfig everything depends on XEN + drivers/platform/Kconfig depends on X86 - drivers/regulator/Kconfig is sourced later as is drivers/accessibility/Kconfig Signed-off-by: Uwe Kleine-König commit d45a398fca6b03f16d01c9253c3a8c96d804f532 Author: Uwe Kleine-König Date: Thu Aug 13 20:38:17 2009 +0200 Use kernel/Kconfig.preempt for ARM before this patch ARM had it's own definition of CONFIG_PREEMPT. Instead of that use the general definition provided in kernel/Kconfig.preempt. This patch changes the available options in *config. Namely PREEMPT isn't a stand alone bool anymore, but part of a 'choice' the following Kconfig symbols are added: PREEMPT_NONE PREEMPT_VOLUNTARY Selecting PREEMPT_NONE now produces exactly the code as not selecting PREEMPT before (apart from a comment in /sys/kernel/debug/tracing/(per_cpu/cpuX/)?trace). The only difference PREEMPT_VOLUNTARY does is that might_resched might reschedule. Both should't introduce regressions. Signed-off-by: Uwe Kleine-König Cc: Russell King commit 0d928b0b616d1c5c5fe76019a87cba171ca91633 Author: Uwe Kleine-König Date: Thu Aug 13 20:38:17 2009 +0200 Complete irq tracing support for ARM Before this patch enabling and disabling irqs in assembler code and by the hardware wasn't tracked completly. I had to transpose two instructions in arch/arm/lib/bitops.h because restore_irqs doesn't preserve the flags with CONFIG_TRACE_IRQFLAGS=y Signed-off-by: Uwe Kleine-König Cc: Russell King Cc: Peter Zijlstra Cc: Ingo Molnar Signed-off-by: Uwe Kleine-König commit 181f817eaaca4c1f8a9c265d339d2b96de8b245d Author: Uwe Kleine-König Date: Thu Aug 13 20:38:16 2009 +0200 [ARM] support tracing when using newer compilers Since gcc 4.4 the name and calling convention for function profiling on ARM changed. With this patch both types are supported. See http://sourceware.org/ml/libc-ports/2008-04/msg00009.html for some details. Lightly-Tested-by: Anand Gadiyar Tested-by: Kevin Hilman Signed-off-by: Uwe Kleine-König commit b88fb83b138d4a377abea9461b2d58b9bf8ad9fe Author: Uwe Kleine-König Date: Thu Aug 13 20:38:16 2009 +0200 netx: Use get_irqnr_preamble to initialize base register This patch optimizes the irq handling a bit. Now the base register is only computed once per irq exception instead of at least twice. Moreover the mov+add sequence is simplified to an ldr (which might save some cycles depending on memory timing). Signed-off-by: Uwe Kleine-König commit 667067d8980249a71ccf82a55202fff2cd1cd54f Author: Takashi Iwai Date: Thu Aug 13 18:14:42 2009 +0200 ALSA: hda - Fix / clean up IDT92HD83xxx codec parser A few improvements for IDT 92HD83xxx codec pareser: - Remove unused / deprecated mixer-amp controls - Handle d-mics as normal inputs since this codec has no separate MUXes for analog and digital - Don't create duplicated controls for capture volumes with Mux capture volumes Signed-off-by: Takashi Iwai commit a6cd7a71fde47e19738e7791c75584e2aca15187 Merge: 1c4bdf9 5207e10 Author: Takashi Iwai Date: Thu Aug 13 18:14:02 2009 +0200 Merge branch 'topic/hda-dmic-fix' into topic/hda commit e9ade7f933d629698cbe5f09f1e5511269180fea Author: Mark Brown Date: Thu Aug 13 15:19:42 2009 +0100 ASoC: Minor cleanups to AD1938 driver - Build in SND_SOC_ALL_CODECS. - Remove null suspend/resume stuff. Signed-off-by: Mark Brown commit 7eaae41ea54af5516138aef5fd33bc55598cbf48 Author: Barry Song <21cnbao@gmail.com> Date: Thu Aug 13 11:59:32 2009 +0800 new ad1836 codec driver based on asoc There has been an ad1836 driver in sound/blackfin based on traditional alsa. The new driver is based on asoc. The architecture of ad1836 codec driver is very much like ad1938. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 9008adf9a9c3a43ef237f6cd416857569beb0029 Author: Peter Ujfalusi Date: Thu Aug 13 15:59:34 2009 +0300 ASoC: TWL4030: Introduce PGAs for outputs Dynamically control and control only the needed output amplifier muting/un-muting. The original code was muting and un-muting the following output amplifiers: Earpiece PreDrivL/R, CarkitL/R at the same time regardless which pin is actually in use at the given moment. Move these as separate PGA so only the needed amplifier will be touched. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 6973ee7e602b08f624bbf7379b6f68054c71aebb Merge: 13efdbe 54a246f Author: Russell King Date: Thu Aug 13 14:22:39 2009 +0100 Merge branch 'for-rmk' of git://git.marvell.com/orion into devel-stable commit aef27136b8b5e526f2e96ca1caa30a6d07e70f42 Author: Herbert Xu Date: Thu Aug 13 23:10:39 2009 +1000 crypto: ctr - Use chainiv on raw counter mode Raw counter mode only works with chainiv, which is no longer the default IV generator on SMP machines. This broke raw counter mode as it can no longer instantiate as a givcipher. This patch fixes it by always picking chainiv on raw counter mode. This is based on the diagnosis and a patch by Huang Ying. Signed-off-by: Herbert Xu commit 73fec1209433d6b33924c1b06122ee217ce98931 Author: Herbert Xu Date: Thu Aug 13 21:33:06 2009 +1000 Revert crypto: fips - Select CPRNG This reverts commit 215ccd6f55a2144bd553e0a3d12e1386f02309fd. It causes CPRNG and everything selected by it to be built-in whenever FIPS is enabled. The problem is that it is selecting a tristate from a bool, which is usually not what is intended. Signed-off-by: Herbert Xu commit c4ff357ada4fc7a73d899a496b636c698519b958 Author: Barry Song <21cnbao@gmail.com> Date: Wed Aug 12 11:34:25 2009 +0800 ASoC: add output/input widgets in ad1938 to make dac/adc dynamic PM work According to the function dapm_dac_check_power() in sound/soc/soc-dapm.c, dac power can't be on/off stand-alone without any output widget as sink. And according to dapm_adc_check_power(), adc power can't be on/off stand-alone without any input widget as source. So we can't only define some stand-alone SND_SOC_DAPM_DAC/SND_SOC_DAPM_ADC to hope their power can be managed dynamically. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 1c4bdf9be010ae7c2324c0a90dd2296e0d1a775e Author: Takashi Iwai Date: Thu Aug 13 08:23:24 2009 +0200 ALSA: hda - Enable line-out detection only with speakers Enable line-out detection for IDT/STAC codecs only when speaker pins exist. In some cases, the speaker itself is identified as line-out, and this confuses the situation. Only the extra line-outs should do auto-muting. Signed-off-by: Takashi Iwai commit c458bc50e31631f7e9333ea6f1832fc54d4e2c1e Author: Eilon Greenstein Date: Wed Aug 12 08:24:31 2009 +0000 bnx2x: update version to 1.52.1 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ab6ad5a4875e99dffe957a411fe890402a91f67f Author: Eilon Greenstein Date: Wed Aug 12 08:24:29 2009 +0000 bnx2x: Whitespaces and comments Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 9c63de6293775b537614550fd61075a33ada9469 Author: Eilon Greenstein Date: Wed Aug 12 08:24:25 2009 +0000 bnx2x: Removing unused definitions Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 45a4864d80264f6708528dcaa2c5c0b3933a8d7f Author: Eilon Greenstein Date: Wed Aug 12 08:24:18 2009 +0000 bnx2x: Beautify bnx2x_dump.h Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 573f203574581faaf80ca4fc079d33452327fc3b Author: Eilon Greenstein Date: Wed Aug 12 08:24:14 2009 +0000 bnx2x: Re-factor the initialization code Moving the code to a more logical place and beautifying it. No real change in behavior. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e4ed7113372a04df9b7aa985ce3860207dbb1141 Author: Eilon Greenstein Date: Wed Aug 12 08:24:10 2009 +0000 bnx2x: Using PCI_DEVICE macro Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0fc5d0094de11bb005c35f03fb1d3b52b0bd85e3 Author: Eilon Greenstein Date: Wed Aug 12 08:24:05 2009 +0000 bnx2x: Adding explicit casting Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 659bc5c4f2e84e69e1b10b36c16cd52ff7eb317a Author: Eilon Greenstein Date: Wed Aug 12 08:24:02 2009 +0000 bnx2x: Using macro for phy address Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 1ef70b9c12407f0bf332ba775a8aa8f8035d0a24 Author: Eilon Greenstein Date: Wed Aug 12 08:23:59 2009 +0000 bnx2x: Re-arrange the link structures for better alignment Change ieee_fc to u16 instead of u32 and re-arrange the link parameters structures Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8924665a7d77bb79ee895b98864e3201507f6ef2 Author: Eilon Greenstein Date: Wed Aug 12 08:23:56 2009 +0000 bnx2x: Missing smp_wmb for statistics state machine Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 57937203aa077520a7e1665bfb7071b3cbb3f5a9 Author: Eilon Greenstein Date: Wed Aug 12 08:23:53 2009 +0000 bnx2x: Remove SGMII configuration when not required Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6f65497b567ef9a518d930ef30fe6b8f27051688 Author: Eilon Greenstein Date: Wed Aug 12 08:23:51 2009 +0000 bnx2x: Keep only one HW path active Disable bmac access while working with emac and keep the single lane SerDes in reset while working with 4 lanes XGXS Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 54016b260e873d0d4d30cf1fdbd0cdcf0e26251b Author: Eilon Greenstein Date: Wed Aug 12 08:23:48 2009 +0000 bnx2x: Check unzip return code Without this check, when running out of memory, we will see PSOD's in bnx2x_init_fill() when doing a memset(). This is because at that time, bp->gunzip_buf is not pointing to a valid allocated space. Signed-off-by: Benjamin Li Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5ff7b6d4c129a430e355b2f88162a36d9e058f88 Author: Eilon Greenstein Date: Wed Aug 12 08:23:44 2009 +0000 bnx2x: Remove the init_dmae field from bp Moved the dmae_command from the heap to the stack. This will save 56 bytes per bnx2x structure. As a side benefit, we can also reduce the time the dmae_mutex is held. This is because do we not need to hold this mutex when setting up the dmae command. The memory where is dmae command is stored is not a shared resource and doesn not need to be protected. Signed-off-by: Benjamin Li Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0d28e49a2616b927bca5fde0f16dfdfd2a501107 Author: Eilon Greenstein Date: Wed Aug 12 08:23:40 2009 +0000 bnx2x: Updating regdump_len at drvinfo Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 938cf5416d59769ec2e7ce4eb7967cb3b61242a3 Author: Eilon Greenstein Date: Wed Aug 12 08:23:37 2009 +0000 bnx2x: Move printing of version from probe to the init Move printing of version from probe to the init function Rather then checking if this is the first module probe call to print the version of the driver only once, the statement is moved to the init function of the module where init is only called once Signed-off-by: Benjamin Li Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 37f9ce6231cafb2973e09f7f72ad62bc6348d1b3 Author: Eilon Greenstein Date: Wed Aug 12 08:23:34 2009 +0000 bnx2x: Combine get_pcie_width and get_pcie_speed The functions bnx2x_get_pcie_width() and bnx2x_get_pcie_speed() were combined into bnx2x_get_pcie_width_speed() so that there is only 1 PCI read to PCICFG_OFFSET + PCICFG_LINK_CONTROL rather then 2 reads. Signed-off-by: Benjamin Li Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e3553b29c6f395c6692afccc2ed5eff9c3d1daef Author: Eilon Greenstein Date: Wed Aug 12 08:23:31 2009 +0000 bnx2x: Stop loading if error condition detected Signed-off-by: Benjamin Li Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit df4770de03d2eec3f66b0ac4d2248d471a1ccc0b Author: Eilon Greenstein Date: Wed Aug 12 08:23:28 2009 +0000 bnx2x: Calling pci_set_drvdata earlier In case of error, bnx2x_init_dev calls pci_set_drvdata(pdev, NULL) Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a18f5128828cd1af8091602f5233b00422e74c9a Author: Eilon Greenstein Date: Wed Aug 12 08:23:26 2009 +0000 bnx2x: Configurable pause scheme When a given ring is running out of space, the FW can send pause towards the network. When working with multi-queues, when one queue is getting out of space it can block all other queues. The preferred scheme is to send pause frames only when running out of the shared internal chip buffers and if a given queue cannot place a packet on the host, it will drop it. Since some users might want to work in drop-less mode, allowing changing the behavior as a module parameter. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a119a069349b6ad32807ff1b09e417cf23514020 Author: Eilon Greenstein Date: Wed Aug 12 08:23:23 2009 +0000 bnx2x: Adding Likely directive Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 619e7a66b515f5f6b1cbe6f378f6a4ca3a65ac52 Author: Eilon Greenstein Date: Wed Aug 12 08:23:20 2009 +0000 bnx2x: Prefetch the page containing the BD descriptor Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6fe49bb978de3de0ba7ff9d6b2d55a15518db2a3 Author: Eilon Greenstein Date: Wed Aug 12 08:23:17 2009 +0000 bnx2x: Reporting host statistics to management FW This is required for NCSI statistics Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit cdea52128f6099e8f84459823c45790a78264022 Author: Eilon Greenstein Date: Wed Aug 12 08:23:14 2009 +0000 bnx2x: Removing old PHY FW upgrade code This code should not have resided in the driver. Now that we have a new interface, this logic can reside in the application that whishes to upgrade the PHY FW Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f57a60256d02daba1316c98da472f02cd98a58d3 Author: Eilon Greenstein Date: Wed Aug 12 08:23:11 2009 +0000 bnx2x: Supporting PHY FW upgrade There are 3 operations that the driver needs to support to allow applications to access the PHY FW (on top of the MDC/MDIO access). Since those are essentially nvram access commands, adding them to the ethtool -E interface. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 01cd452846c98609dd3efbee0deea050e6706f02 Author: Eilon Greenstein Date: Wed Aug 12 08:23:08 2009 +0000 bnx2x: MDC/MDIO CL45 IOCTLs As suggested by Ben Hutchings , using the MDC/MDIO IOCTL Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 239d686d494f10ecd83a89ddc4e31f9462ca4901 Author: Eilon Greenstein Date: Wed Aug 12 08:23:04 2009 +0000 bnx2x: Adding XAUI CL73 autoneg support Adding CL73 support to the built in PHY in the 5771x device. Also supporting fallbacks to CL73 if the link partner does not respond. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit bc7f0a053021491e292fc00810c4f2a8524453dd Author: Eilon Greenstein Date: Wed Aug 12 08:23:01 2009 +0000 bnx2x: BCM8727 FW load The BCM8727 is a dual port PHY. The FW must be loaded in a given order on all designs - including those which swapped the ports (calling port number zero the second port) Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 97b41dad385bce97d60b8cdd56342f07f93fc5d2 Author: Eilon Greenstein Date: Wed Aug 12 08:22:59 2009 +0000 bnx2x: get_ext_phy_fw_version returns NULL if not applicable To avoid confusion, if the PHY does not have a FW (and so, no FW version) make sure that the string is NULL. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b1607af526fd408b244c7b32a0c256c1ef163a17 Author: Eilon Greenstein Date: Wed Aug 12 08:22:54 2009 +0000 bnx2x: Reading the FW version of the BCM8481 PHY Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2f9044603c8b9ead9eb4d88e360093b44d362b58 Author: Eilon Greenstein Date: Wed Aug 12 08:22:16 2009 +0000 bnx2x: BCM8481 LED4 instead of LASI The BCM8481 does not generate LASI interrupt for 10M, 100M and 1G link, so we are using LED4 output as the interrupt input to the 57711. This requires some adaptation in the link interrupt routines Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0c593270432035b7b9ba27ee7dd4f32f6feea2e0 Author: Eilon Greenstein Date: Wed Aug 12 08:22:13 2009 +0000 bnx2x: Advertize flow control normally in MF mode Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2691d51d7243560aa0870dadbf5c6b98f647f751 Author: Eilon Greenstein Date: Wed Aug 12 08:22:08 2009 +0000 bnx2x: Supporting Device Control Channel In multi-function mode, the FW can receive special management control commands to set the Min/Max BW and the the function link state Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a1d58179d1337ff8f8530c9fac8b9e98b2f7761f Author: Eilon Greenstein Date: Wed Aug 12 22:53:55 2009 -0700 bnx2x: Removing old FW files Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ca00392cb8f5227c67ff52c656d91a764d022ab9 Author: Eilon Greenstein Date: Wed Aug 12 22:53:28 2009 -0700 bnx2x: Using the new FW The new FW improves the packets per second rate. It required a lot of change in the FW which implies many changes in the driver to support it. It is now also possible for the driver to use a separate MSI-X vector for Rx and Tx - this also add some to the complicity of this change. All things said - after this patch, practically all performance matrixes show improvement. Though Vladislav Zolotarov is not signed on this patch, he did most of the job and deserves credit for that. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6200f09036ee6f12822a9133dba7ed011b179c69 Author: Eilon Greenstein Date: Wed Aug 12 22:52:50 2009 -0700 bnx2x: New FW files Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 85910a8e9f425656bb7202d0fc62800000ffa262 Author: françois romieu Date: Mon Aug 10 19:45:48 2009 +0000 r8169: phy init for the 8102e Synced with Realtek's 1.013.00 r8101 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 0b9b571d246d1c2621a5e4e5a0fa5cb95e18365d Author: françois romieu Date: Mon Aug 10 19:44:56 2009 +0000 r8169: phy init for the 8169s Synced with Realtek's 6.011.00 r8169 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 2e955856ff1212bd63dbbf403940c72eca5b4a8f Author: françois romieu Date: Mon Aug 10 19:44:19 2009 +0000 r8169: phy init for the 8169scd Synced with Realtek's 6.011.00 r8169 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 8c7006aa94bea415cd7f8c5fa8df9d3f261bd314 Author: françois romieu Date: Mon Aug 10 19:43:29 2009 +0000 r8169: phy init for the 8169sce Synced with Realtek's 6.011.00 r8169 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 21d57363201857bd8c5c0ad0ebc795134d632195 Author: françois romieu Date: Mon Aug 10 19:42:37 2009 +0000 r8169: differentiate close chipsets in the startup identification message The driver displays the same 0x18000000 xid for RTL_GIGA_MAC_VER_06 and RTL_GIGA_MAC_VER_05 whereas the former ought to be identified as 0x98000000. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 5edcc537af1a9810726d1b68ba6c59e5d8d36113 Author: françois romieu Date: Mon Aug 10 19:41:52 2009 +0000 r8169: fix r8101 quirk dupe Noticed by Vincent Pelletier . Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit cb7d9e7f9bedee2928fe5ce95e1d5f1f22c1f2d7 Author: Rémi Denis-Courmont Date: Tue Aug 11 03:12:07 2009 +0000 Phonet: fix /proc/net/phonet with network namespaces seq_open_net() and seq_release() are needed for seq_file_net(). Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 859b1e4ec86840b0d0980f82b626d687be682eb9 Author: Sathya Perla Date: Mon Aug 10 03:43:51 2009 +0000 be2net: clear & notify residual events before destroying event queues Any events rcvd after interrupts are disabled (in the driver unload path), must be cleared and notified before the event queues are destroyed Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit cdab23b7017693c00dd69fa28bcdf5b0434b3838 Author: Sathya Perla Date: Mon Aug 10 03:43:23 2009 +0000 be2net: fix bad queue traversal in be_rx_q_clean() Using "for(tail != head)" to traverse a queue from tail to head fails in the case of a fully filled queue. Use "for(used != 0)" instead. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit a8e9179a7de196d37410fd3e9528081f22c70a4e Author: Sathya Perla Date: Mon Aug 10 03:42:43 2009 +0000 be2net: Clear pending tx completions before destroying tx queue Clear pending tx completions in be_close() (ndo.stop method) so that after unregister_netdev() calls be_close(), all tx skbs are freed and there are no more tx completions when txq is destroyed. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit f2341641766af3de18502abb6ac9b98e0e4c6bdb Author: Jaswinder Singh Rajput Date: Sun Aug 9 03:12:38 2009 +0000 net: smc911x: includecheck fix for smc911x.h fix the following 'make includecheck' warning: drivers/net/smc911x.h: mach/dma.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit aed7df86983ead0af8364fd26d8a9609ef2ed584 Author: Jaswinder Singh Rajput Date: Sun Aug 9 03:27:18 2009 +0000 net: include/linux/icmpv6: includecheck fix for icmpv6.h fix the following 'make includecheck' warning: include/linux/icmpv6.h: linux/skbuff.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit d02342151c51344034fbdeceff8effcb0a77c573 Author: Brice Goglin Date: Fri Aug 7 10:44:22 2009 +0000 myri10ge: improve parity error detection and recovery Improve myri10ge parity error detection and recovery: 1) Don't restore PCI config space to a rebooted NIC until AFTER the host is quiescent. 2) Let myri10ge_close() know the NIC is dead, so it won't waste time waiting for a dead nic to respond to MXGEFW_CMD_ETHERNET_DOWN 3) When the NIC is quiet (link down, or otherwise idle link) use a pci config space read to detect a rebooted NIC. Otherwise we might never notice that a NIC rebooted Signed-off-by: Andrew Gallatin Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit c9145a2df072f75d97592ddac1624baeb7bad195 Author: Julia Lawall Date: Sat Aug 8 21:43:42 2009 +0000 drivers/net: Correct use of request_region/request_mem_region request_mem_region should be used with release_mem_region, not request_region. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // @r2@ expression start; @@ request_mem_region(start,...) @b2@ expression r2.start; @@ request_region(start,...) @depends on !b2@ expression r2.start; expression E; @@ - release_region + release_mem_region (start,E) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit bdf50d7346588b22fd66367ae2890e2cbf574172 Author: Jaswinder Singh Rajput Date: Sun Aug 9 03:05:25 2009 +0000 net: pcmcia/axnet_cs: includecheck fix axnet_cs.c fix the following 'make includecheck' warning: drivers/net/pcmcia/axnet_cs.c: linux/etherdevice.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit ab4c0c77b566bbac25e28c7ae487dc02bdd8f343 Author: Jaswinder Singh Rajput Date: Sun Aug 9 02:59:56 2009 +0000 net: cs89x0: includecheck fix for cs89x0.c fix the following 'make includecheck' warning: drivers/net/cs89x0.c: asm/irq.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit 582b95c2709cd58913ec2a31b0266ba0aa67b03d Author: Julia Lawall Date: Fri Aug 7 20:47:33 2009 +0000 drivers/net/tokenring: Use status field rather than state field In general in this file, it is the status field, not the state field, that contains values like OPEN and CLOSED. Indeed, in the first error case, it is the field status that is initialized. I have thus assumed that all of the error handling code should be the same, and moved it to the end of the function to emphasize its commonality. Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 176edd52366d59350717b0bf6865b1d7ece156cc Author: Julia Lawall Date: Fri Aug 7 21:53:41 2009 +0000 drivres/net: Change constant name In this series of tests the constants have the form XRXMAC_STATUS, except in this one case. The values of XRXMAC_STAT_MSK_RXOCTET_CNT_EXP and XRXMAC_STATUS_RXOCTET_CNT_EXP are furthermore the same. Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 798c752b815bd80653dc48b6ffb8eb68ede15a66 Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:45 2009 +0000 fakehard: use START-CONFIRM primitive to report START failure Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit acb8aacda3f0bc3aeb652f4365c078a2b0adb0bf Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:44 2009 +0000 nl802154: support START-CONFIRM primitive Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 99eb8558642b988055d2b8b16a334475550f78d3 Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:43 2009 +0000 af_ieee802154: add support for WANT_ACK socket option Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 74eda55db4335383ccdd1fb51a7b014202f89366 Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:42 2009 +0000 af_ieee802154: minor cleanup in dgram_bind 1) fix ro->bound protection by socket lock 2) make ro->bound bit instead of int Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 8e753dd0a82bd266256c20a20b98dfa48f98d21e Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:40 2009 +0000 nl802154: add support for dumping WPAN interface information Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 48a2f112db5349efb2efadbd94b8cc31a9db84e1 Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:39 2009 +0000 documentation: fix wrt. headers rename Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 78090a58c49f2f6213d0bb1b3b4c4df73e26865f Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:38 2009 +0000 nl802154: make ieee802154_policy constant Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 8505091d2a067ad27d4a82df9cff8eae6ee52fca Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:36 2009 +0000 af_ieee802154: drop IEEE802154_SIOC_ADD_SLAVE declaration IEEE802154_SIOC_ADD_SLAVE was used to allocate 802.15.4 interfaces on the top of radio. It's not used anymore, drop it. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 6885ffb3a1b4abf731fd0891a2c1544a83c2651d Author: Mark Smith Date: Thu Aug 6 23:21:22 2009 +0000 Use correct NET_RX_* returns for atalk_rcv() In all rx'd SKB cases, atalk_rcv() either eventually jumps to or falls through to the label out:, which returns numeric 0. Numeric 0 corresponds to NET_RX_SUCCESS, which is incorrect in failed SKB cases. This patch makes atalk_rcv() provide the correct returns by: o explicitly returning NET_RX_SUCCESS in the two success cases o having the out: label return NET_RX_DROP, instead of numeric 0 o making the failed SKB labels and processing more consistent with other _rcv() routines in the kernel, simplifying validation and removing a backwards goto Signed-off-by: Mark Smith Signed-off-by: David S. Miller commit b91cd1440870f7a0649e570498b7b93caf9f781c Author: Rémi Denis-Courmont Date: Thu Aug 6 21:56:44 2009 +0000 f_phonet: use page-sized rather than MTU-sized RX buffers Instead of a large (physically) linear buffer, we generate a set of paged sk_buff, so no extra memory copy is involved. This removes high-order allocations and saves quite a bit of memory. Phonet MTU is 65541 bytes, so the two buffers were padded to 128 kilo-bytes each. Now, we create 17 page buffers, almost a 75% memory use reduction. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 5da63cc4b2258e1c06ee41637492717481025143 Author: Rémi Denis-Courmont Date: Thu Aug 6 21:56:43 2009 +0000 f_phonet: lock-less MTU change With the current driver, the MTU is purely indicative, so there is no need to synchronize with the receive path. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit a8ccc393ddcdff2e0288dc459f03d561ae27b51d Author: Christian Kujau Date: Thu Aug 13 11:53:56 2009 +1000 crypto: rng - Fix typo Correct a typo in crypto/rng.c Signed-off-by: Christian Kujau Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 81eb024c7e63f53b871797f6e2defccfd008dcd4 Author: Kim Phillips Date: Thu Aug 13 11:51:51 2009 +1000 crypto: talitos - add support for 36 bit addressing Enabling extended addressing in the h/w requires we always assign the extended address component (eptr) of the talitos h/w pointer. This is for e500 based platforms with large memories. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 4b992628812137e30cda3510510cf3c052345b30 Author: Kim Phillips Date: Thu Aug 13 11:50:38 2009 +1000 crypto: talitos - align locks on cache lines align channel access locks onto separate cache lines (for performance reasons). This is done by placing per-channel variables into their own private struct, and using the cacheline_aligned attribute within that struct. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit e41256f139b9148cfa12d2d057fec39e3d181ff0 Author: Kim Phillips Date: Thu Aug 13 11:49:06 2009 +1000 crypto: talitos - simplify hmac data size calculation don't do request->src vs. assoc pointer math - it's the same as adding assoclen and ivsize (just with more effort). Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit aa11d958d1a6572eda08214d7c6a735804fe48a5 Merge: 07f6642 9799218 Author: David S. Miller Date: Wed Aug 12 17:44:53 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: arch/microblaze/include/asm/socket.h commit 07f6642ee9418e962e54cbc07471cfe2e559c568 Author: Cyrill Gorcunov Date: Wed Aug 12 16:39:16 2009 -0700 net,pppoe: fixup module init/exit subsequent calls pernet data should allocated first and freed last on module init/exit routines otherwise it's possible to have unserialized calls to packet handling routines. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit c18bc9b927c98d7324ebd7fce0bbb924696ce7fe Author: Tim Blechmann Date: Wed Aug 12 18:21:30 2009 +0200 ALSA: hdsp - allow proc reporting with disconnected io box the hdsp driver refuses to report any information via the proc interface, if the io box is not connected. with this patch, the content of the control and status registers is printed before the iobox check. Signed-off-by: Tim Blechmann Signed-off-by: Takashi Iwai commit d2a382143b35a486b8089861790d6b3ec4e46932 Author: Mark Brown Date: Wed Aug 12 14:30:33 2009 +0100 ASoC: Update AD1938 for new TDM slot API It's only actually paying attention to the slot count anyway. Signed-off-by: Mark Brown commit 81e2d7b30d718824434725a4a24d5864a71b1d30 Author: H. Peter Anvin Date: Wed Aug 12 05:45:34 2009 -0700 x86, intel_txt: tboot.c needs arch/x86/kernel/tboot.c needs . In most configurations that ends up getting implicitly included, but not in all, causing build failures in some configurations. Reported-by: Ingo Molnar Signed-off-by: H. Peter Anvin Cc: Joseph Cihula Cc: Shane Wang commit 66e274f3b8d7fc89d38997e85b900e188f8d5cc0 Author: Frederic Weisbecker Date: Wed Aug 12 11:07:25 2009 +0200 perf tools: Factorize the map helpers Factorize the dso mapping helpers into a single purpose common file "util/map.c" Signed-off-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Brice Goglin commit 1fe2c1066ce6a30bda7b27785ee3d9b8e62ffbbd Author: Frederic Weisbecker Date: Wed Aug 12 10:19:53 2009 +0200 perf tools: Factorize the event structure definitions in a single file Factorize the multiple definition of the events structures into a single util/event.h file. Signed-off-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Brice Goglin commit cd84c2ac6d6425dd4d1b80a2231e534b9b03df18 Author: Frederic Weisbecker Date: Wed Aug 12 10:03:49 2009 +0200 perf tools: Factorize high level dso helpers Factorize multiple definitions of high level dso helpers into the symbol source file. The side effect is a general export of the verbose and eprintf debugging helpers into a new file dedicated to debugging purposes. Signed-off-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Brice Goglin commit 25a70e38cd57952b09a013bf070e03705ee4f2ff Author: Daniel Mack Date: Wed Aug 12 00:50:09 2009 -0700 Input: eeti_ts - allow active high irq lines This adds a struct eeti_ts_platform_data which currently holds only one value to specify the interrupt polarity. The driver has a fallback if no platform data is passed in via the i2c_board_info, so no regression is caused. Signed-off-by: Daniel Mack Signed-off-by: Dmitry Torokhov commit 5908589f318835f515bf94829650d36dcb2d9024 Author: Herton Ronaldo Krzesinski Date: Tue Aug 11 22:33:09 2009 -0300 ALSA: hda - fix noise issue when recording from digital mic with alc268 With auto config model of alc268 realtek codec, it allows to select any of possible available digital microphone inputs when only one is available. For example, when only digital mic in nid 0x12 is available, on second input source it will allow you to select unavailable digital mic in nid 0x13. The problem is that selecting unavailable digital mic creates a source of noise when recording (I'm not sure if this happens on all machines with alc268 and only one digital mic input, but testing on a quanta uw1 netbook a lot of noise is introduced in recording from digital mic 0x12/first input source, when you select the unavailable digital mic 0x13 for capture source 0x24 in the second input source in mixer). Then to avoid noise when recording from digital mic with auto model in this case, prevent a digital mic input source to be selected if microphone is not available. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 54a246ff21b543bf3d8d5d064708dc7782403e32 Author: Nicolas Pitre Date: Tue Aug 11 23:28:51 2009 -0400 [ARM] add MAINTAINERS entry for Orion/Kirkwood/etc. Signed-off-by: Nicolas Pitre commit 79dd43bb85d64ba14a781f940c858d7bbe8c9a6d Author: Christoph Hellwig Date: Mon Aug 10 11:32:44 2009 -0300 xfs: fix spin_is_locked assert on uni-processor builds Without SMP or preemption spin_is_locked always returns false, so we can't do an assert with it. Instead use assert_spin_locked, which does the right thing on all builds. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reported-by: Johannes Engel Tested-by: Johannes Engel Signed-off-by: Felix Blyakher commit 16715dbe64ccac265010ab8b60848d212d002521 Author: Christoph Hellwig Date: Mon Aug 10 11:32:18 2009 -0300 xfs: check for dinode realtime flag corruption Ramon tested XFS with a modified version of fsfuzzer and hit a NULL pointer dereference in __xfs_get_blocks due to the RT device target pointer being NULL. To fix this reject inode with the realtime bit set on a a filesystem without an RT subvolume during inode read. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Reported-by: Ramon de Carvalho Valle Tested-by: Ramon de Carvalho Valle Signed-off-by: Felix Blyakher commit 583e0e41ee29478e2147aeffeb772657f8db767a Author: Eric Sandeen Date: Mon Jul 20 10:52:15 2009 -0500 use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock In Red Hat Bug 512552 - Can't write to XFS mount during raid5 resync a user ran into corruption while resyncing a raid, and we failed a consistency test, but didn't get much more info; it'd be nice to call XFS_CORRUPTION_ERROR here so we can see the buffer contents. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit 19007a67a64f9b3cbbd7024f972654ebf14daade Author: Frederic Weisbecker Date: Tue Aug 11 20:22:53 2009 +0200 tracing: Support for syscall events raw records in perfcounters This bring the support for raw syscall events in perfcounters. The arguments or exit value are saved as a raw sample using the PERF_SAMPLE_RAW attribute in a perf counter. Example (for now you must explicitly set the PERF_SAMPLE_RAW flag in perf record): perf record -e syscalls:sys_enter_open -f -F 1 -a perf report -D 0x2cbb8 [0x50]: event: 9 . . ... raw event: size 80 bytes . 0000: 09 00 00 00 02 00 50 00 20 e9 39 ab 0a 7f 00 00 ......P. .9.... . 0010: bc 14 00 00 bc 14 00 00 01 00 00 00 00 00 00 00 ............... . 0020: 2c 00 00 00 15 01 01 00 bc 14 00 00 bc 14 00 00 ,.............. ^ ^ ^ ^ ^ ^ ^ .......................... Event Size struct trace_entry . 0030: 00 00 00 00 46 98 43 02 00 00 00 00 80 08 00 00 ....F.C........ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ptr to file name open flags . 0040: 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 ............... ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ . open mode padding 0x2cbb8 [0x50]: PERF_EVENT_SAMPLE (IP, 2): 5308: 0x7f0aab39e920 period: 1 Signed-off-by: Frederic Weisbecker Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Jason Baron Cc: Masami Hiramatsu commit dc4ddb4c0b7348f1c9759ae8a9e7d734dc1cda82 Author: Frederic Weisbecker Date: Tue Aug 11 19:03:54 2009 +0200 tracing: Add fields format definition for syscall events Define the format of the syscall trace fields to parse the binary values from a raw trace using the syscall events "format" file. This is defined dynamically using the syscalls metadata. It prepares the export of syscall event raw records to perf counters. Example: $ cat /debug/tracing/events/syscalls/sys_enter_sched_getparam/format name: sys_enter_sched_getparam ID: 39 format: field:unsigned short common_type; offset:0; size:2; field:unsigned char common_flags; offset:2; size:1; field:unsigned char common_preempt_count; offset:3; size:1; field:int common_pid; offset:4; size:4; field:int common_tgid; offset:8; size:4; field:pid_t pid; offset:12; size:8; field:struct sched_param * param; offset:20; size:8; print fmt: "pid: 0x%08lx, param: 0x%08lx", ((unsigned long)(REC->pid)), ((unsigned long)(REC->param)) Signed-off-by: Frederic Weisbecker Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Cc: Jason Baron commit e8f9f4d79a677f55c8ec3acbe87b33a87e2df0de Author: Frederic Weisbecker Date: Tue Aug 11 17:42:52 2009 +0200 tracing: Add ftrace event call parameter to its field descriptor handler Add the struct ftrace_event_call as a parameter of its show_format() callback. This way we can use it from the syscall trace events to retrieve the syscall name from the ftrace event call parameter and describe its fields using the syscalls metadata. Signed-off-by: Frederic Weisbecker Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Cc: Jason Baron commit 0ac676fb50f5f8a22e5e80afc40bf38e31b77c00 Author: Jason Baron Date: Mon Aug 10 16:53:11 2009 -0400 tracing: Convert x86_64 mmap and uname to use DEFINE_SYSCALL A number of syscalls are not using 'DEFINE_SYSCALL'. I'm not sure why. Convert x86_64 uname and mmap to use DEFINE_SYSCALL. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 48c2e17f1f668fe6691bad965beb2b0b25239c5f Author: Jason Baron Date: Mon Aug 10 16:53:06 2009 -0400 tracing: Add more namespace area to 'perf list' output The new syscall tracepoints names can be too long for the 'perf list' output. Add a few more characters. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit f4b5ffccc83c82947f5d9f15d6f1b6edb1b71cd7 Author: Jason Baron Date: Mon Aug 10 16:53:02 2009 -0400 tracing: Add perf counter support for syscalls tracing The perf counter support is automated for usual trace events. But we have to define specific callbacks for this to handle syscalls trace events Make 'perf stat -e syscalls:sys_enter_blah' work with syscall style tracepoints. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 64c12e0444fcc6b75eb49144ba46d43dbdc6bc8f Author: Jason Baron Date: Mon Aug 10 16:52:53 2009 -0400 tracing: Add individual syscalls tracepoint id support The current state of syscalls tracepoints generates only one event id for every syscall events. This patch associates an id with each syscall trace event, so that we can identify each syscall trace event using the 'perf' tool. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit fb34a08c3469b2be9eae626ccb96476b4687b810 Author: Jason Baron Date: Mon Aug 10 16:52:47 2009 -0400 tracing: Add trace events for each syscall entry/exit Layer Frederic's syscall tracer on tracepoints. We create trace events via hooking into the SYSCALL_DEFINE macros. This allows us to individually toggle syscall entry and exit points on/off. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 69fd4f0eb2ececbf8ade55e31a933e174965745e Author: Jason Baron Date: Mon Aug 10 16:52:44 2009 -0400 tracing: Add ftrace_event_call void * 'data' field add an optional void * pointer to 'ftrace_event_call' that is passed in for regfunc and unregfunc. This prepares for syscall tracepoints creation by passing the name of the syscall we want to trace and then retrieve its number through our arch syscall table. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit f744bd576a827c5b02e756b81fc2578edf8179b8 Author: Jason Baron Date: Mon Aug 10 16:52:39 2009 -0400 tracing: Raw_init() bailout in trace event register fail case Allow the return value of raw_init() trace event callback to bail us out of creating a trace event file, in case we fail to register our event. Also, we plan to return -ENOSYS for syscall events that don't match any syscalls listed in our arch tracing syscall table, we don't want to warn in that case, we just want this event to be invisible in debugfs and ignored. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 9daa77e2e9a6b8b859660d5e24d0f8cd77c2af39 Author: Jason Baron Date: Mon Aug 10 16:52:35 2009 -0400 tracing: Update FTRACE_SYSCALL_MAX update FTRACE_SYSCALL_MAX to the current number of syscalls FTRACE_SYSCALL_MAX is a temporary solution to get the number of syscalls supported by the arch until we find a more dynamic way to get this number. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit a871bd33a6c0bc86fb47cd02ea2650dd43d3d95f Author: Jason Baron Date: Mon Aug 10 16:52:31 2009 -0400 tracing: Add syscall tracepoints add two tracepoints in syscall exit and entry path, conditioned on TIF_SYSCALL_FTRACE. Supports the syscall trace event code. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 63fbdab3157b72467013fe4dcf88c85e45280ef7 Author: Jason Baron Date: Mon Aug 10 16:52:27 2009 -0400 tracing: Add DECLARE_TRACE_WITH_CALLBACK() macro Introduce a new 'DECLARE_TRACE_WITH_CALLBACK()' macro, so that tracepoints can associate an external register/unregister function. This prepares for the syscalls tracer conversion to trace events. We will need to perform arch level operations once a syscall event is turned on/off, such as TIF flags setting, hence the need of such specific callbacks. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 066e0378c23f0a3db730893f6a041e4a3922a385 Author: Jason Baron Date: Mon Aug 10 16:52:23 2009 -0400 tracing: Call arch_init_ftrace_syscalls at boot Call arch_init_ftrace_syscalls at boot, so we can determine early the set of syscalls for the syscall trace events. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit eeac19a7efa150231e4a6bb110d6f27500bcc8ce Author: Jason Baron Date: Mon Aug 10 16:52:13 2009 -0400 tracing: Map syscall name to number Add a new function to support translating a syscall name to number at runtime. This allows the syscall event tracer to map syscall names to number. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 7770841e63730d62928b0879498064e9614b2ce0 Author: Zhaolei Date: Fri Aug 7 18:53:21 2009 +0800 tracing: Rename set_tracer_flags()'s local variable trace_flags set_tracer_flags() have a local variable named trace_flags which has the same name than a global one in the same scope. This leads to confusion, using tracer_flags should be better by its meaning. Changelog: v1->v2: Simplified another patch in this patchset, no change in this patch. Signed-off-by: Zhao Lei Cc: Steven Rostedt Cc: Li Zefan Signed-off-by: Frederic Weisbecker commit 4f5d17062085ee1c74ff44a37ffb09f94ab4db1c Author: Takashi Iwai Date: Tue Aug 11 18:17:46 2009 +0200 ALSA: hda - Clean up init and setup hooks for Realtek codecs Move static codes to setup from init_hook for each model. Also, use the common auto-mic selection helper for devices that support auto-mic selection. They just need to set up ext_mic, int_mic and auto_mic flag in the setup section. Signed-off-by: Takashi Iwai commit 7509ee34a365c041718d0b676e5ee255b58b5dda Author: Christoph Hellwig Date: Sat Jul 18 18:15:01 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get xfs_attr_rmtval_get is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 5a25f1abb26f5ab7c6c72fe0b3807c137ee484bb Author: Christoph Hellwig Date: Sat Jul 18 18:15:00 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap xfs_readlink_bmap is called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit f56ebd66df411446030e2cc820554c6ce4ba0836 Author: Christoph Hellwig Date: Sat Jul 18 18:14:59 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set xfs_attr_rmtval_set is always called with i_lock held, and i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 837273b8a150a3761467573c5eb477791cf19268 Author: Christoph Hellwig Date: Sat Jul 18 18:14:58 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory xfs_buf_associate_memory is used for setting up the spare buffer for the log wrap case in xlog_sync which can happen under i_lock when called from xfs_fsync. The i_lock mutex is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. There are a couple more uses of xfs_buf_associate_memory in the log recovery code that are also affected by this, but I'd rather keep the code simple than passing on a gfp_mask argument. Longer term we should just stop requiring the memoery allocation in xlog_sync by some smaller rework of the buffer layer. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit ea78cd5e6b6ebe123641382d5040252d19829332 Author: Christoph Hellwig Date: Sat Jul 18 18:14:57 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result xfs_dir_cilookup_result is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit eeb6f67ba1176a141b6802b2ec8505835482f631 Author: Christoph Hellwig Date: Sat Jul 18 18:14:56 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make i_lock is taken in the reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 0043dd88af762d3a9154317d351400b5b941ec8d Author: Christoph Hellwig Date: Sat Jul 18 18:14:55 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc xfs_da_state_alloc is always called with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit e0026beac0f1a6253488478b3f022ff243b012b9 Author: Mark Brown Date: Tue Aug 11 16:28:39 2009 +0100 ASoC: Update WM9081 for tdm_slot() API change Store the TDM slot width then if it's set use that rather than the sample size to calculate BCLK. Leave imposing constraints to the core (which should do this but doesn't yet) or machine driver. Also allow 0 TDM slots to be configure (for use when disabling TDM). Signed-off-by: Mark Brown commit 1ec2b8a777d6ac5464a836b3c5520b1a5190194c Author: Christoph Hellwig Date: Sat Jul 18 18:14:54 2009 -0400 xfs: switch to NOFS allocation under i_lock in xfs_getbmap xfs_getbmap allocates memory with i_lock held, but i_lock is taken in reclaim context so all allocations under it must avoid recursions into the filesystem. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit efe1f30e8f05a3836dfcf6302774707b3b47193f Author: Christoph Hellwig Date: Sat Jul 18 18:14:53 2009 -0400 xfs: avoid memory allocation under m_peraglock in growfs code Allocate the memory for the larger m_perag array before taking the per-AG lock as the per-AG lock can be taken under the i_lock which can be taken from reclaim context. Reported by the new reclaim context tracing in lockdep. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit e9c364c04f59f7fb250f9689198eaa59872cf8af Author: Takashi Iwai Date: Tue Aug 11 17:16:13 2009 +0200 ALSA: hda - Add setup hook to ALC preset struct Added setup hook to ALC preset struct to be called at in the parser but not at each init callback. This can be used for setting up the static pins, etc, while the init hook should be used for updating the status again. Signed-off-by: Takashi Iwai commit 4d8e22e0f6aacb365db2cb9bf69e38310b37f418 Author: Takashi Iwai Date: Tue Aug 11 14:21:26 2009 +0200 ALSA: hda - Add a white-list for MSI option Created a white-list to enable MSI since some devices require MSI explicitly due to BIOS/ACPI problems. Simply using a quirk list. As the first case, take HP Compaq CQ40. Reference: Novell bnc#529971 https://bugzilla.novell.com/show_bug.cgi?id=529971 Signed-off-by: Takashi Iwai commit 89034bc2c7b839702c00a704e79d112737f98be0 Merge: fb82ad7 85dfd81 Author: Ingo Molnar Date: Tue Aug 11 14:19:09 2009 +0200 Merge branch 'linus' into tracing/core Conflicts: kernel/trace/trace_events_filter.c We use the tracing/core version. Signed-off-by: Ingo Molnar commit 1921bab217c2c21e4b8dc78332f6ae11515fc014 Merge: 17244c2 a5479e3 Author: Mark Brown Date: Tue Aug 11 13:09:27 2009 +0100 Merge commit 'a5479e389e989acfeca9c32eeb0083d086202280' into for-2.6.32 commit 17244c24f95ba61a12b6afeab5780a1e3f1a4c57 Author: Randy Dunlap Date: Mon Aug 10 16:04:39 2009 -0700 ASoC: fix I2C build errors Fix soc build errors when I2C is built as a loadable module: (.text+0x5d26b): undefined reference to `i2c_master_send' soc-cache.c:(.text+0x5d32d): undefined reference to `i2c_transfer' Signed-off-by: Randy Dunlap Signed-off-by: Mark Brown commit b59bdf3b0ca11bfc6a539012431d751deaa65b32 Author: Takashi Iwai Date: Tue Aug 11 09:47:30 2009 +0200 ALSA: hda - Check connectivity for auto-mic of Realtek codecs Some Realtek codecs don't provide the full connections for certain pins from each ADC; e.g. ACL662/ALC272 gives only one of two digital-mic pins for each ADC. Thus, depending on the digital mic pin, the ADC/MUX to be used has to be chosen properly. This patch adds the check of the connectivity of pins at auto-mic mode. If no proper connectivity is found, auto_mic flag is turned off to be sure. Also the mux_idx is determined during this check so it won't be checked in the unsol event any more. Signed-off-by: Takashi Iwai commit 52b5deefbbd7493092b1cbc35da09e0e2ad46cca Merge: 2a22d3f dd70469 Author: Takashi Iwai Date: Tue Aug 11 08:47:38 2009 +0200 Merge branch 'fix/hda' into topic/hda commit f1e6d3c5cf86675e54a17a89668aa6685d2ef59d Author: Takashi Iwai Date: Tue Aug 11 08:15:04 2009 +0200 ALSA: usb-audio - Fix types taken in min() Fix the compile warning due to different integer types used in min(): sound/usb/usbaudio.c: In function 'init_substream_urbs': sound/usb/usbaudio.c:1087: warning: comparison of distinct pointer types lacks a cast Signed-off-by: Takashi Iwai commit 8b4bfc7feb005d84e2bd0831d8331a304e9d6483 Merge: 896a6de 85dfd81 Author: James Morris Date: Tue Aug 11 08:33:01 2009 +1000 Merge branch 'master' into next commit decf77079511fc5ef832ead074bb45e4e0b099c0 Author: Ron Lee Date: Mon Aug 10 18:23:48 2009 +0530 [ARM] Kirkwood: Initialise SATA for OpenRD-Base Signed-off-by: Ron Lee Signed-off-by: Dhaval Vasa Signed-off-by: Nicolas Pitre commit 7eeae54c68e91c46ec170e764d1cceac81f35969 Author: Dhaval Vasa Date: Mon Aug 10 17:37:34 2009 +0530 [ARM] Kirkwood: Marvell OpenRD-Base board support reference: http://open-rd.org http://code.google.com/p/openrd This patch is tested for: 1. Boot from DRAM/NAND flash 2. NAND read/write/erase 3. GbE0 4. USB read/write FIXME: 1. SD/UART1 selection 2. MPP configuration (currently, default) 3. PEX Signed-off-by: Dhaval Vasa Signed-off-by: Nicolas Pitre commit 7153c360ebe5bcfb1e6b7980b90584c75c8c8e4d Author: Lennert Buytenhek Date: Mon Aug 3 16:25:12 2009 +0200 ¶ARM] Orion5x: fix cpu window mapping for 88f6183 On the 88f6183, orion5x's setup_cpu_win() fails to ever program any mbus bridge remap registers, which causes transactions for PCI/PCIe IO/MEM space to get sent to random mbus targets. Adding a check for the 6183 in orion5x_cpu_win_can_remap() is necessary and sufficient to make PCIe wlan cards work on the 6183 reference design. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit aec1bad326a99a8b0860fa9d518985ee388c9391 Author: Siddarth Gore Date: Tue Jun 9 14:41:02 2009 +0530 [ARM] Kirkwood: Add support for 6281-A1 Signed-off-by: Siddarth Gore Signed-off-by: Nicolas Pitre commit 8f2208601f81b505710b0d13dbd80b687ccbca60 Author: Simon Guinot Date: Mon Jun 22 21:45:01 2009 +0200 [ARM] orion5x: Add LaCie NAS d2Network support This patch add support for the d2 Network and the Big Disk Network LaCie boards. Signed-off-by: Simon Guinot Acked-by: Christopher Moore Signed-off-by: Nicolas Pitre commit f884dcaead5f17bf586ac5fe6a3ad07b5203616a Merge: 976a6f9 8854e82 Author: Trond Myklebust Date: Mon Aug 10 17:45:58 2009 -0400 Merge branch 'sunrpc_cache-for-2.6.32' into nfs-for-2.6.32 commit 976a6f921cad26651d25e73826c05c7a023f5fa4 Merge: e576e05 c05988c Author: Trond Myklebust Date: Mon Aug 10 17:45:50 2009 -0400 Merge branch 'patches_cel-for-2.6.32' into nfs-for-2.6.32 commit dcbf77cac640af0ab944d5cbb07934bf6708b4d9 Merge: c00aafc 85dfd81 Author: Rafael J. Wysocki Date: Mon Aug 10 23:40:50 2009 +0200 Merge branch 'master' into for-linus commit bf783f9f7d33576815bc89f9f1856a7309ea2f17 Author: Huang Ying Date: Fri Jul 31 09:41:43 2009 +0800 x86, mce: Fake panic support for MCE testing If "fake panic" mode is turned on, just log panic message instead of go real panic. This is used for testing only, so that the test suite can check for the correct panic message and do regression testing for MCE would go panic. This patch is based on x86-tip.git/mce. ChangeLog: v5: - Rebased on x86-tip.git/mce v4: - Move config file from sysfs to debugfs Signed-off-by: Huang Ying Signed-off-by: H. Peter Anvin commit 5be9ed251f58881dfc3dd6742a81ff9ad1a7bb04 Author: Huang Ying Date: Fri Jul 31 09:41:42 2009 +0800 x86, mce: Move debugfs mce dir creating to mce.c Because more debugfs files under mce dir will be create in mce.c. ChangeLog: v5: - Rebased on x86-tip.git/mce Signed-off-by: Huang Ying Signed-off-by: H. Peter Anvin commit 0dcc66851f1091af421416c28a9458836885f522 Author: Huang Ying Date: Fri Jul 31 09:41:41 2009 +0800 x86, mce: Support specifying raise mode for software MCE injection Raise mode include raising as exception or raising as poll, it is specified via the mce.inject_flags field. This can be used to specify raise mode of UCNA, which is UC error but raised not as exception. And this can be used to test the filter code of poll handler or exception handler too. For example, enforce a poll raise mode for a fatal MCE. ChangeLog: v2: - Re-base on latest x86-tip.git/mce3 Signed-off-by: Huang Ying Signed-off-by: H. Peter Anvin commit 5b7e88edc6193f36941bccbfd5ed9ed5fe27d2e1 Author: Huang Ying Date: Fri Jul 31 09:41:40 2009 +0800 x86, mce: Support specifying context for software mce injection The cpu context is specified via the new mce.inject_flags fields. This allows more realistic machine check testing in different situations. "RANDOM" context is implemented via NMI broadcasting to add randomization to testing. AK: Fix NMI broadcasting check. Fix 32-bit building. Some race fixes. Move to module. Various changes ChangeLog: v3: - Re-based on latest x86-tip.git/mce4 - Fix 32-bit building v2: - Re-base on latest x86-tip.git/mce3 Signed-off-by: Huang Ying Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 2a22d3f81283253ab9dae9244f3ca58a5ac66b36 Author: Takashi Iwai Date: Mon Aug 10 18:54:38 2009 +0200 ALSA: hda - Use only one capture stream for auto-mic When the auto-mic feature is enabled, we should support only one capture stream. Signed-off-by: Takashi Iwai commit 6c8194922739138f046a4d0924519dd43b48e1f3 Author: Takashi Iwai Date: Mon Aug 10 18:47:44 2009 +0200 ALSA: hda - Add auto-mic support for Realtek codecs Added the support for automatic mic selection via plugging for Realtek codecs (in auto-probing mode). The auto-mic mode is enabled only when one internal mic and one external mic are present. Signed-off-by: Takashi Iwai commit dc05a564ab1b3a1957927da50912964b61f7da69 Merge: be39ee1 e2fe35c Author: Patrick McHardy Date: Mon Aug 10 17:14:59 2009 +0200 Merge branch 'master' of git://dev.medozas.de/linux commit 9f8666971185b86615a074bcac67c90fdf8af8bc Author: Brice Goglin Date: Mon Aug 10 15:26:32 2009 +0200 perf report: Add raw displaying of per-thread counters If --pretty=raw is given to perf report -T, it now displays one line per-thread per-counter with the raw event id added. We get: # PID TID Name Raw Count 18608 18609 cache-misses 28e 416744 18608 18609 cache-references 28f 6456792 18608 18608 cache-misses 28e 448219 18608 18608 cache-references 28f 7270244 instead of: # PID TID cache-misses cache-references 18608 18609 416744 6456792 18608 18608 448219 7270244 Signed-off-by: Brice Goglin Acked-by: Peter Zijlstra LKML-Reference: <4A802008.5050409@inria.fr> Signed-off-by: Ingo Molnar commit e576e05a73bc1a00cdf56630942dbada1bf280a1 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 10 08:54:16 2009 -0400 nfs: remove superfluous BUG_ON()s Subject: [PATCH] nfs: remove superfluous BUG_ON()s Remove duplicated BUG_ON()s from nfs[4]_create_server() (we make the same checks earlier in both functions). This takes care of the following entries from Dan's list: fs/nfs/client.c +1078 nfs_create_server(47) warning: variable derefenced before check 'server->nfs_client' fs/nfs/client.c +1079 nfs_create_server(48) warning: variable derefenced before check 'server->nfs_client->rpc_ops' fs/nfs/client.c +1363 nfs4_create_server(43) warning: variable derefenced before check 'server->nfs_client' fs/nfs/client.c +1364 nfs4_create_server(44) warning: variable derefenced before check 'server->nfs_ Reported-by: Dan Carpenter Cc: corbet@lwn.net Cc: eteo@redhat.com Cc: Julia Lawall Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Trond Myklebust commit 38c73044f5f4da2ef4339319b170e5e19f8dec87 Author: Peter Staubach Date: Mon Aug 10 08:54:16 2009 -0400 NFS: read-modify-write page updating Hi. I have a proposal for possibly resolving this issue. I believe that this situation occurs due to the way that the Linux NFS client handles writes which modify partial pages. The Linux NFS client handles partial page modifications by allocating a page from the page cache, copying the data from the user level into the page, and then keeping track of the offset and length of the modified portions of the page. The page is not marked as up to date because there are portions of the page which do not contain valid file contents. When a read call comes in for a portion of the page, the contents of the page must be read in the from the server. However, since the page may already contain some modified data, that modified data must be written to the server before the file contents can be read back in the from server. And, since the writing and reading can not be done atomically, the data must be written and committed to stable storage on the server for safety purposes. This means either a FILE_SYNC WRITE or a UNSTABLE WRITE followed by a COMMIT. This has been discussed at length previously. This algorithm could be described as modify-write-read. It is most efficient when the application only updates pages and does not read them. My proposed solution is to add a heuristic to decide whether to do this modify-write-read algorithm or switch to a read- modify-write algorithm when initially allocating the page in the write system call path. The heuristic uses the modes that the file was opened with, the offset in the page to read from, and the size of the region to read. If the file was opened for reading in addition to writing and the page would not be filled completely with data from the user level, then read in the old contents of the page and mark it as Uptodate before copying in the new data. If the page would be completely filled with data from the user level, then there would be no reason to read in the old contents because they would just be copied over. This would optimize for applications which randomly access and update portions of files. The linkage editor for the C compiler is an example of such a thing. I tested the attached patch by using rpmbuild to build the current Fedora rawhide kernel. The kernel without the patch generated about 269,500 WRITE requests. The modified kernel containing the patch generated about 261,000 WRITE requests. Thus, about 8,500 fewer WRITE requests were generated. I suspect that many of these additional WRITE requests were probably FILE_SYNC requests to WRITE a single page, but I didn't test this theory. The difference between this patch and the previous one was to remove the unneeded PageDirty() test. I then retested to ensure that the resulting system continued to behave as desired. Thanx... ps Signed-off-by: Peter Staubach Signed-off-by: Trond Myklebust commit 074cc1deec5dee63fcd5d966b36fa4f3765b50fc Author: Trond Myklebust Date: Mon Aug 10 08:54:13 2009 -0400 NFS: Add a ->migratepage() aop for NFS Make NFS a bit more friendly to NUMA and memory hot removal... Signed-off-by: Trond Myklebust commit 93fe4483e6fd3e71d17cd919de14b3b1f9eb3795 Author: Tejun Heo Date: Thu Aug 6 18:14:26 2009 +0900 sound: make OSS device number claiming optional and schedule its removal If any OSS support is enabled, regardless of built-in or module, sound_core claims full OSS major number (that is, the old 0-255 region) to trap open attempts and request sound modules using custom module aliases. This feature is redundant as chrdev already has such mechanism. This preemptive claiming prevents alternative OSS implementation. The custom module aliases are scheduled to be removed and the previous patch made soundcore emit the standard chrdev aliases too to help transition. This patch schedule the feature for removal in a year and makes it optional so that developers and distros can try new things in the meantime without rebuilding the kernel. The pre-claiming can be turned off by using SOUND_OSS_CORE_PRECLAIM and/or kernel parameter soundcore.preclaim_oss. As this allows sound minors to be individually grabbed by other users, this patch updates sound_insert_unit() such that if registering individual device region fails, it tries the next available slot. For details on removal plan, please read the entry added by this patch in feature-removal-schedule.txt . Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Takashi Iwai commit e0c48a18f76415d3ec1ac28e5f7a0df10e2f3d8c Author: Mark Brown Date: Mon Aug 10 12:59:29 2009 +0100 ASoC: Drop unneeded declaration of removed wm8731 SPI write function Signed-off-by: Mark Brown commit 0a848680a82e47854347cdfecbe9adf8842719e6 Author: Tejun Heo Date: Thu Aug 6 18:13:58 2009 +0900 sound: request char-major-* module aliases for missing OSS devices Till now missing OSS devices emitted sound-slot/service-* module alises instead of the standard char-major-* if a missing device number is opened if soundcore is loaded. The custom module aliases don't have any inherent benefit than backward compatibility. sound-slot/service-* module aliases is scheduled to be removed and to help the transition this patch makes soundcore emit the standard module alises along with the custom ones. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Takashi Iwai commit 1905b1bfc0de6f69a61dc03cac0d86a04b3216bd Author: Tejun Heo Date: Thu Aug 6 18:13:23 2009 +0900 chrdev: implement __[un]register_chrdev() [un]register_chrdev() assume minor range 0-255. This patch adds __ prefixed versions which take @minorbase and @count explicitly. Signed-off-by: Tejun Heo Cc: Al Viro Cc: Greg Kroah-Hartman Signed-off-by: Takashi Iwai commit e2fe35c17fed62d4ab5038fa9bc489e967ff8416 Author: Jan Engelhardt Date: Sat Jul 18 15:22:30 2009 +0200 netfilter: xtables: check for standard verdicts in policies This adds the second check that Rusty wanted to have a long time ago. :-) Base chain policies must have absolute verdicts that cease processing in the table, otherwise rule execution may continue in an unexpected spurious fashion (e.g. next chain that follows in memory). Signed-off-by: Jan Engelhardt commit 90e7d4ab5c8b0c4c2e00e4893977f6aeec0f18f1 Author: Jan Engelhardt Date: Thu Jul 9 22:54:53 2009 +0200 netfilter: xtables: check for unconditionality of policies This adds a check that iptables's original author Rusty set forth in a FIXME comment. Underflows in iptables are better known as chain policies, and are required to be unconditional or there would be a stochastical chance for the policy rule to be skipped if it does not match. If that were to happen, rule execution would continue in an unexpected spurious fashion. Signed-off-by: Jan Engelhardt commit a7d51738e757c1ab94595e7d05594c61f0fb32ce Author: Jan Engelhardt Date: Sat Jul 18 14:52:58 2009 +0200 netfilter: xtables: ignore unassigned hooks in check_entry_size_and_hooks The "hook_entry" and "underflow" array contains values even for hooks not provided, such as PREROUTING in conjunction with the "filter" table. Usually, the values point to whatever the next rule is. For the upcoming unconditionality and underflow checking patches however, we must not inspect that arbitrary rule. Skipping unassigned hooks seems like a good idea, also because newinfo->hook_entry and newinfo->underflow will then continue to have the poison value for detecting abnormalities. Signed-off-by: Jan Engelhardt commit 47901dc2c4a3f1f9af453486a005d31fe9b393f0 Author: Jan Engelhardt Date: Thu Jul 9 23:00:19 2009 +0200 netfilter: xtables: use memcmp in unconditional check Instead of inspecting each u32/char open-coded, clean up and make use of memcmp. On some arches, memcmp is implemented as assembly or GCC's __builtin_memcmp which can possibly take advantages of known alignment. Signed-off-by: Jan Engelhardt commit e5afbba1869a5d9509c61f8962be9bdebf95f7d3 Author: Jan Engelhardt Date: Wed Jul 8 12:33:10 2009 +0200 netfilter: iptables: remove unused datalen variable Signed-off-by: Jan Engelhardt commit 98d89b4198cf7273968e9217a62ec7ccfd760171 Author: Jan Engelhardt Date: Sun Jul 5 15:55:06 2009 +0200 netfilter: xtables: realign struct xt_target_param This commit gets rid of a padding hole as reported by pahole(1). Saves 8 bytes on x86_64. Signed-off-by: Jan Engelhardt commit f88e6a8a50a603f8347343e75d035889784a507c Author: Jan Engelhardt Date: Sat Jun 13 06:25:44 2009 +0200 netfilter: xtables: switch table AFs to nfproto Signed-off-by: Jan Engelhardt commit 24c232d8e911ef6189e02da411dc2b72cb03bfcf Author: Jan Engelhardt Date: Sat Jun 13 06:20:29 2009 +0200 netfilter: xtables: switch hook PFs to nfproto Signed-off-by: Jan Engelhardt commit 57750a22ed022ed6fcdcc5bc58d16011ccfe575f Author: Jan Engelhardt Date: Sat Jun 13 06:22:18 2009 +0200 netfilter: conntrack: switch hook PFs to nfproto Simple substitution to indicate that the fields indeed use the NFPROTO_ space. Signed-off-by: Jan Engelhardt commit 93bb1e9d117bfc60306b2b8bd9e0fa7ba3c88636 Author: Jan Engelhardt Date: Fri Jun 12 19:47:21 2009 +0200 netfilter: xtables: remove redirecting header files When IPv4 and IPv6 matches were unified approx. 3.5 years ago, they received new header filenames (e.g. xt_CLASSIFY.h). Let's remove the old ones now. Signed-off-by: Jan Engelhardt commit 6461caed83412ae3e9a16785ffa64396fb66c6a6 Author: Jan Engelhardt Date: Fri Jun 12 19:46:26 2009 +0200 netfilter: xtables: remove xt_owner v0 Superseded by xt_owner v1 (v2.6.24-2388-g0265ab4). Signed-off-by: Jan Engelhardt commit 5e8e7c38533a8f86626e9410fa38f5854a6959df Author: Clemens Ladisch Date: Mon Aug 10 10:05:23 2009 +0200 sound: fix OSS MIDI output data loss In the 2.1.6 kernel, the output loop in midi_poll() was changed to enable interrupts during the outputc() call. Unfortunately, the check whether the device has accepted the current byte ("ok") was moved behind the code that removes the byte from the output queue, so one byte would be lost every time the hardware FIFO is full. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 6e2efaacb3579fd9643d0dc59963b58b801c03a1 Author: Clemens Ladisch Date: Mon Aug 10 10:06:53 2009 +0200 sound: ymfpci: increase timer resolution to 96 kHz Allow the interval timer to be programmed with its full 96 kHz precision. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 765e8db078e63fdc076fcf6024c15d3b7b955746 Author: Clemens Ladisch Date: Mon Aug 10 10:07:35 2009 +0200 sound: usb-audio: do not make URBs longer than sync packet interval Using more packets in one URB do avoid interrupts does not make sense when we have a sync pipe whose packets generate interrupts more often. Therefore, limit the URB size to the synchronization packet interval. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 4725c7287ef2c4340cb433f59e40d143c1f43c22 Author: Jan Engelhardt Date: Fri Jun 12 19:02:27 2009 +0200 netfilter: xtables: remove xt_mark v0 Superseded by xt_mark v1 (v2.6.24-2922-g17b0d7e). Signed-off-by: Jan Engelhardt commit 36d4084dc8eb7a9a3655a2041097a46aff3061e9 Author: Jan Engelhardt Date: Fri Jun 12 18:58:19 2009 +0200 netfilter: xtables: remove xt_iprange v0 Superseded by xt_iprange v1 (v2.6.24-2928-g1a50c5a1). Signed-off-by: Jan Engelhardt commit 9e05ec4b1804a1ba51f61fe169aef9b86edcd3f7 Author: Jan Engelhardt Date: Fri Jun 12 18:56:14 2009 +0200 netfilter: xtables: remove xt_conntrack v0 Superseded by xt_conntrack v1 (v2.6.24-2921-g64eb12f). Signed-off-by: Jan Engelhardt commit 84899a2b9adaf6c2e20d198d7c24562ce6b391d8 Author: Jan Engelhardt Date: Fri Jun 12 18:50:33 2009 +0200 netfilter: xtables: remove xt_connmark v0 Superseded by xt_connmark v1 (v2.6.24-2919-g96e3227). Signed-off-by: Jan Engelhardt commit c8001f7fd5a4684280fddceed9fae9ea2e4fb521 Author: Jan Engelhardt Date: Fri Jun 12 18:47:32 2009 +0200 netfilter: xtables: remove xt_MARK v0, v1 Superseded by xt_MARK v2 (v2.6.24-2918-ge0a812a). Signed-off-by: Jan Engelhardt commit e973a70ca033bfcd4d8b59d1f66bfc1e782e1276 Author: Jan Engelhardt Date: Fri Jun 12 18:42:12 2009 +0200 netfilter: xtables: remove xt_CONNMARK v0 Superseded by xt_CONNMARK v1 (v2.6.24-2917-g0dc8c76). Signed-off-by: Jan Engelhardt commit 7cd1837b5d24417eca667d674a97bea936849785 Author: Jan Engelhardt Date: Fri Jun 12 18:36:33 2009 +0200 netfilter: xtables: remove xt_TOS v0 Superseded by xt_TOS v1 (v2.6.24-2396-g5c350e5). Signed-off-by: Jan Engelhardt commit d5c9c8912a25550f2b6a0974667eb968fe6a316e Merge: da2a2aa 100d5eb Author: Takashi Iwai Date: Mon Aug 10 11:58:09 2009 +0200 Merge branch 'fix/hda' into topic/hda commit c7425314c755d5f94da7c978205c85a7c6201212 Author: Akinobu Mita Date: Sun Aug 9 17:03:52 2009 +0900 x86: Introduce GDT_ENTRY_INIT(), initialize bad_bios_desc statically Fully initialize bad_bios_desc statically instead of doing some fields statically and some dynamically. Suggested-by: "H. Peter Anvin" Signed-off-by: Akinobu Mita LKML-Reference: <20090809080350.GA4765@localhost.localdomain> Signed-off-by: Ingo Molnar commit be39ee11cd1f67b51ac8e71d177a981eb34f2ab2 Author: Tobias Klauser Date: Mon Aug 10 10:10:55 2009 +0200 netfilter: ebtables: Use %pM conversion specifier ebt_log uses its own implementation of print_mac to print MAC addresses. This patch converts it to use the %pM conversion specifier for printk. Signed-off-by: Tobias Klauser Signed-off-by: Patrick McHardy commit 549812799c8495451e71ebd9f6a862b33120a35a Author: Rafael Laufer Date: Mon Aug 10 10:08:27 2009 +0200 netfilter: nf_conntrack: add SCTP support for SO_ORIGINAL_DST Signed-off-by: Patrick McHardy commit 451d7400a34cb679369e337d67f0238ed410f484 Author: FUJITA Tomonori Date: Mon Aug 10 11:53:17 2009 +0900 sparc: Add CONFIG_DMA_API_DEBUG support All we need to do for CONFIG_DMA_API_DEBUG support is call dma_debug_init() in DMA code common for SPARC32 and SPARC64. Now SPARC32 uses two dma_map_ops structures for pci and sbus so there is not much dma stuff for SPARC32 in kernel/dma.c. kernel/ioport.c also includes dma stuff for SPARC32. So let's put all the dma stuff for SPARC32 in kernel/ioport.c and make kernel/dma.c common for SPARC32 and SPARC64. Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-9-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit ee664a9252d24ef10317d1bba8fc8f4c6495b36c Author: FUJITA Tomonori Date: Mon Aug 10 11:53:16 2009 +0900 sparc: Use asm-generic/pci-dma-compat This converts SPARC to use asm-generic/pci-dma-compat instead of the homegrown mechnism. SPARC32 has two dma_map_ops structures for pci and sbus (removing arch/sparc/kernel/dma.c, PCI and SBUS DMA accessor). The global 'dma_ops' is set to sbus_dma_ops and get_dma_ops() returns pci32_dma_ops for pci devices so we can use the appropriate dma mapping operations. Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-8-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit c2c07dbd8742a26ab3f1ee8b82237a060a0d9f61 Author: FUJITA Tomonori Date: Mon Aug 10 11:53:15 2009 +0900 sparc: Replace sbus_map_single and sbus_unmap_single with sbus_map_page and sbus_unmap_page This is a preparation for using asm-generic/pci-dma-compat.h; SPARC32 has two dma_map_ops structures for pci and sbus (removing arch/sparc/kernel/dma.c, PCI and SBUS DMA accessor). Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-7-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 595cc8560783ea31ed1208dc1f97282a2a5606b7 Author: FUJITA Tomonori Date: Mon Aug 10 11:53:14 2009 +0900 sparc: Remove no-op dma_4v_sync_single_for_cpu and dma_4v_sync_sg_for_cpu Now sparc uses include/asm-generic/dma-mapping-common.h. pci_sun4v.c doesn't need to have no-op dma_4v_sync_single_for_cpu and dma_4v_sync_sg_for_cpu (dma-mapping-common.h does nothing if sync_{single|sg}_for_cpu hook is not defined). So we can remove them safely. Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-6-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 02f7a18935eef0e56d9180fc3c35da6aad1ff3bb Author: FUJITA Tomonori Date: Mon Aug 10 11:53:13 2009 +0900 sparc: Use asm-generic/dma-mapping-common.h Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-5-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit bc0a14f154069cc4e42ea903c2c2b9984a94e4b7 Author: FUJITA Tomonori Date: Mon Aug 10 11:53:12 2009 +0900 sparc: Use dma_map_ops struct Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-4-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit be02ff9940c0106dea1470462401a07c5d52e086 Author: FUJITA Tomonori Date: Mon Aug 10 11:53:11 2009 +0900 IA64: Remove NULL flush_write_buffers flush_write_buffers() in dma-mapping-common.h was removed so we can remove NULL flush_write_buffers() in IA64. Signed-off-by: FUJITA Tomonori Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com Cc: davem@davemloft.net LKML-Reference: <1249872797-1314-3-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit a8ad568dd8ca122aa8048ea067d3599820d1c1b4 Author: Arnd Bergmann Date: Mon Aug 10 11:53:10 2009 +0900 dma-ops: Remove flush_write_buffers() in dma-mapping-common.h This moves flush_write_buffers() in asm-generic/dma-mapping-common.h to arch/x86/kernel/pci-nommu.c. The purpose of this patch is that, we can avoid defining NULL flush_write_buffers() on IA64 and SPARC. dma-mapping-common.h is used by X86 and IA64 (and SPARC soon) but only X86 with CONFIG_X86_OOSTORE or CONFIG_X86_PPRO_FENCE actually uses flush_write_buffers(). CONFIG_X86_OOSTORE or CONFIG_X86_PPRO_FENCE is usable with only kernel/pci-nommu.c (that is, not usable with other X86 IOMMU implementations such as SWIOTLB, VT-d, etc) so we can safely move flush_write_buffers() in asm-generic/dma-mapping-common.h to arch/x86/kernel/pci-nommu.c. The further discussion is: http://lkml.org/lkml/2009/6/28/104 Signed-off-by: Arnd Bergmann Acked-by: FUJITA Tomonori Cc: davem@davemloft.net Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit da2a2aaa8e3dddb41678af7e5295d9e3e6c030a4 Author: Takashi Iwai Date: Mon Aug 10 07:44:09 2009 +0200 ALSA: hda - Fix Oops due to STAC/IDT auto-mic changes The previous auto-mic patch for STAC/IDT codecs causes the Oops on machines without digital mic pins. This patch fixes the problem. Signed-off-by: Takashi Iwai commit 09113aea553cfaf074fd669cd0465daac4cea6e8 Author: Dmitry Torokhov Date: Sun Aug 9 21:22:22 2009 -0700 Input: w90p910_keypad - adjust to use definitions from matrix_keypad.h Also have the driver send MSC_SCAN events as most keyboards do to aid in updating keymap from userspace. Tested-by: Wan ZongShun Signed-off-by: Dmitry Torokhov commit 4a15235e79f5160a34100b362af2c674d191d0a5 Author: Wan ZongShun Date: Sun Aug 9 21:22:22 2009 -0700 Input: add keypad driver for w90p910 Add keypad driver for the 4x4 keypad on an evaluation board based on w90p910. Signed-off-by: Wan ZongShun Reviewed-by: Trilok Soni Signed-off-by: Dmitry Torokhov commit 85a7f0ac5370901916a21935e1fafbe397b70f80 Author: Sebastian Andrzej Siewior Date: Mon Aug 10 12:50:03 2009 +1000 crypto: mv_cesa - Add support for Orion5X crypto engine This adds support for Marvell's Cryptographic Engines and Security Accelerator (CESA) which can be found on a few SoC. Tested with dm-crypt. Acked-by: Nicolas Pitre Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Herbert Xu commit 896a6de40ef3814525632609799af909338f50c3 Author: Oleg Nesterov Date: Fri Jul 10 03:27:40 2009 +0200 mm_for_maps: take ->cred_guard_mutex to fix the race with exec The problem is minor, but without ->cred_guard_mutex held we can race with exec() and get the new ->mm but check old creds. Now we do not need to re-check task->mm after ptrace_may_access(), it can't be changed to the new mm under us. Strictly speaking, this also fixes another very minor problem. Unless security check fails or the task exits mm_for_maps() should never return NULL, the caller should get either old or new ->mm. Signed-off-by: Oleg Nesterov Acked-by: Serge Hallyn Signed-off-by: James Morris commit d3c8660233d3f2801e14eaf722937ff4ed49bfb7 Author: Oleg Nesterov Date: Fri Jul 10 03:27:38 2009 +0200 mm_for_maps: shift down_read(mmap_sem) to the caller mm_for_maps() takes ->mmap_sem after security checks, this looks strange and obfuscates the locking rules. Move this lock to its single caller, m_start(). Signed-off-by: Oleg Nesterov Acked-by: Serge Hallyn Signed-off-by: James Morris commit 47d439e9fb8a81a90022cfa785bf1c36c4e2aff6 Author: Eric Paris Date: Fri Aug 7 14:53:57 2009 -0400 security: define round_hint_to_min in !CONFIG_SECURITY Fix the header files to define round_hint_to_min() and to define mmap_min_addr_handler() in the !CONFIG_SECURITY case. Built and tested with !CONFIG_SECURITY Signed-off-by: Eric Paris Signed-off-by: James Morris commit 9f51e24ee8b5a1595b6a5ac0c2be278a16488e75 Author: Marcin Slusarz Date: Sun Aug 9 21:54:00 2009 +0200 x86: Use printk_once() Signed-off-by: Marcin Slusarz Cc: "H. Peter Anvin" LKML-Reference: <1249847649-11631-6-git-send-email-marcin.slusarz@gmail.com> Signed-off-by: Ingo Molnar commit fa71c605c2bb4d816514c2611ad53f48007f1fd3 Author: Dmitry Torokhov Date: Fri Aug 7 23:17:47 2009 -0700 Input: combine hil_kbd and hil_ptr drivers hil_kbd and hil_ptr look like twins so it makes sense to combine them into a single driver. [deller@gmx.de: add MODULE_ALIAS() entry for mouse] Tested-by: Helge Deller Signed-off-by: Dmitry Torokhov commit 1437dc3089911d42180be11c50a0b960250a1d87 Author: Dmitry Torokhov Date: Fri Aug 7 23:17:47 2009 -0700 Input: hil_kbd - prepare for merging with hil_ptr Rename functions and variables from [hil_]kbd to [hil_]dev in preparation of merging hil_kbd and hil_ptr. Tested-by: Helge Deller Signed-off-by: Dmitry Torokhov commit 6777f01728d5fc40e02cc0ae43639bf51cc247dd Author: Dmitry Torokhov Date: Fri Aug 7 23:17:46 2009 -0700 Input: hil_kbd - switch to use completion instead of semaphore Stop abusing semaphore for waiting, use completion instead. Also handle errors from input_register_device. Tested-by: Helge Deller Signed-off-by: Dmitry Torokhov commit 8854e82d9accc80f43c0bc3ff06b5979ac858185 Author: Trond Myklebust Date: Sun Aug 9 15:14:30 2009 -0400 SUNRPC: Add an rpc_pipefs front end for the sunrpc cache code Signed-off-by: Trond Myklebust commit 173912a6add00f4715774dcecf9ee53274c5924c Author: Trond Myklebust Date: Sun Aug 9 15:14:29 2009 -0400 SUNRPC: Move procfs-specific stuff out of the generic sunrpc cache code Signed-off-by: Trond Myklebust commit bc74b4f5e63a09fb78e245794a0de1e5a2716bbe Author: Trond Myklebust Date: Sun Aug 9 15:14:29 2009 -0400 SUNRPC: Allow the cache_detail to specify alternative upcall mechanisms For events that are rare, such as referral DNS lookups, it makes limited sense to have a daemon constantly listening for upcalls on a channel. An alternative in those cases might simply be to run the app that fills the cache using call_usermodehelper_exec() and friends. The following patch allows the cache_detail to specify alternative upcall mechanisms for these particular cases. Signed-off-by: Trond Myklebust commit da77005f0d64486cd760f43d9b7cc2379262a363 Author: Trond Myklebust Date: Sun Aug 9 15:14:28 2009 -0400 SUNRPC: Remove the global temporary write buffer in net/sunrpc/cache.c While we do want to protect against multiple concurrent readers and writers on each upcall/downcall pipe, we don't want to limit concurrent reading and writing to separate caches. This patch therefore replaces the static buffer 'write_buf', which can only be used by one writer at a time, with use of the page cache as the temporary buffer for downcalls. We still fall back to using the the old global buffer if the downcall is larger than PAGE_CACHE_SIZE, since this is apparently needed by the SPKM security context initialisation. It then replaces the use of the global 'queue_io_mutex' with the inode->i_mutex in cache_read() and cache_write(). Signed-off-by: Trond Myklebust commit 5b7a1b9f9214cb89dd164b43ca3fab7af4058e06 Author: Trond Myklebust Date: Sun Aug 9 15:14:27 2009 -0400 SUNRPC: Ensure we initialise the cache_detail before creating procfs files Also ensure that we destroy those files before we destroy the cache_detail. Otherwise, user processes might attempt to write into uninitialised caches. Signed-off-by: Trond Myklebust commit 2da8ca26c6bfad685bfddf39728eac1c83906aa9 Author: Trond Myklebust Date: Sun Aug 9 15:14:26 2009 -0400 NFSD: Clean up the idmapper warning... What part of 'internal use' is so hard to understand? Signed-off-by: Trond Myklebust commit e57aed77ad48d28ac617ba157ad2f665f5301b30 Author: Trond Myklebust Date: Sun Aug 9 15:14:26 2009 -0400 SUNRPC: One more clean up for rpc_create_client_dir() In order to allow rpc_pipefs to create directories with different types of subtrees, it is useful to allow the caller to customise the subtree filling process. In order to do so, we separate out the parts which are specific to making an RPC client directory, and put them in a separate helper, then we convert the process of filling the directory contents into a callback. Signed-off-by: Trond Myklebust commit 23ac6581702ac6d029643328a7e6ea3baf834c5e Author: Trond Myklebust Date: Sun Aug 9 15:14:25 2009 -0400 SUNRPC: clean up rpc_setup_pipedir() There is still a little wart or two there: Since we've already got a vfsmount, we might as well pass that in to rpc_create_client_dir. Another point is that if we open code __rpc_lookup_path() here, then we can avoid looking up the entire parent directory path over and over again: it doesn't change. Also get rid of rpc_clnt->cl_pathname, since it has no users... Signed-off-by: Trond Myklebust commit 7d217caca5d704e48aa5e59aba0b3ad4c7af4fd2 Author: Trond Myklebust Date: Sun Aug 9 15:14:24 2009 -0400 SUNRPC: Replace rpc_client->cl_dentry and cl_mnt, with a cl_path Signed-off-by: Trond Myklebust commit 7d59d1e86531a53d7648726ab8a6a670ecbd8f06 Author: Trond Myklebust Date: Sun Aug 9 15:14:23 2009 -0400 SUNRPC: Clean up rpc_create_client_dir() Factor out the code that does lookups from the code that actually creates the directory. Signed-off-by: Trond Myklebust commit 458adb8ba9b26bfc66593866013adbb62a1a3d2e Author: Trond Myklebust Date: Sun Aug 9 15:14:22 2009 -0400 SUNRPC: Rename rpc_mkdir to rpc_create_client_dir() This reflects the fact that rpc_mkdir() as it stands today, can only create a RPC client type directory. Signed-off-by: Trond Myklebust commit bb1567491e43df4113ec8b088ff0ebc22f568bc5 Author: Trond Myklebust Date: Sun Aug 9 15:14:21 2009 -0400 SUNRPC: rpc_pipefs cleanup Move the files[] array closer to rpc_fill_super() Signed-off-by: Trond Myklebust commit ac6fecee3121a6825a01c8fda2f5cbf1ad6a3ebd Author: Trond Myklebust Date: Sun Aug 9 15:14:20 2009 -0400 SUNRPC: Clean up rpc_populate/depopulate Signed-off-by: Trond Myklebust commit cfeaa4a3caaf590c1fdb7a83fcd5326e7cdc70c3 Author: Trond Myklebust Date: Sun Aug 9 15:14:20 2009 -0400 SUNRPC: Clean up rpc_lookup_create Signed-off-by: Trond Myklebust commit 810d90bc2a76ff54295cfb3aa9b165160faa47ef Author: Trond Myklebust Date: Sun Aug 9 15:14:18 2009 -0400 SUNRPC: Clean up rpc_unlink() Signed-off-by: Trond Myklebust commit 7589806e961a16449003b636b369edec537c2726 Author: Trond Myklebust Date: Sun Aug 9 15:14:17 2009 -0400 SUNRPC: Clean up file creation code in rpc_pipefs Signed-off-by: Trond Myklebust commit b5bb61da2efe7519eedd6a8f3830ab33ab774b83 Author: Trond Myklebust Date: Sun Aug 9 15:14:17 2009 -0400 SUNRPC: Clean up rpc_pipefs lookup code... Signed-off-by: Trond Myklebust commit 7364af6a2d5e708b5c6fee3cce08d1bd7b27c9f1 Author: Trond Myklebust Date: Sun Aug 9 15:14:16 2009 -0400 SUNRPC: Allow rpc_pipefs_ops to have null values for upcall and downcall Also ensure that we use the umode_t type when appropriate... Signed-off-by: Trond Myklebust commit b693ba4a338da15db1db4b5ebaa36e4ab9781c82 Author: Trond Myklebust Date: Sun Aug 9 15:14:15 2009 -0400 SUNRPC: Constify rpc_pipe_ops... Signed-off-by: Trond Myklebust commit c05988cdb06237738d361ef82fbf4df1020aa3db Author: Chuck Lever Date: Sun Aug 9 15:09:47 2009 -0400 SUNRPC: Add documenting comments in net/sunrpc/timer.c Clean up: provide documenting comments for the functions in net/sunrpc/timer.c. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 9dc3b095b78347bfb02c324b5ee2e558f7267396 Author: Chuck Lever Date: Sun Aug 9 15:09:46 2009 -0400 SUNRPC: Update xprt address strings after an rpcbind completes After a bind completes, update the transport instance's address strings so debugging messages display the current port the transport is connected to. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c740eff84bcfd63c0497ef880e80171931cb8222 Author: Chuck Lever Date: Sun Aug 9 15:09:46 2009 -0400 SUNRPC: Kill RPC_DISPLAY_ALL At some point, I recall that rpc_pipe_fs used RPC_DISPLAY_ALL. Currently there are no uses of RPC_DISPLAY_ALL outside the transport modules themselves, so we can safely get rid of it. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fbfffbd5e74c5fa8c9165e110cb5899ec21e6364 Author: Chuck Lever Date: Sun Aug 9 15:09:46 2009 -0400 SUNRPC: Rename sock_xprt.addr as sock_xprt.srcaddr Clean up: Give the "addr" and "port" field less ambiguous names. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f8b761eff1e49fde43dd940ac32b38cf7cee2a95 Author: Chuck Lever Date: Sun Aug 9 15:09:44 2009 -0400 SUNRPC: Eliminate PROC macro from rpcb_clnt Clean up: Replace PROC macro with open coded C99 structure initializers to improve readability. The rpcbind v4 GETVERSADDR procedure is never sent by the current implementation, so it is not copied to the new structures. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0e47f0d665efcf1b45f293422d21d8383f07d122 Author: Chuck Lever Date: Sun Aug 9 15:09:43 2009 -0400 SUNRPC: Clean up: Remove unused XDR decoder functions from rpcb_clnt.c Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c0c077df009f2f329875051ac5283df235288689 Author: Chuck Lever Date: Sun Aug 9 15:09:43 2009 -0400 SUNRPC: Introduce new xdr_stream-based decoders to rpcb_clnt.c Replace the open-coded decode logic for PMAP_GETPORT/RPCB_GETADDR with an xdr_stream-based implementation, similar to what NFSv4 uses, to protect against buffer overflows. The new implementation also checks that the incoming port number is reasonable. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7ed0ff983c8ad30bf4e2b9fdbb299a3e3ec08d08 Author: Chuck Lever Date: Sun Aug 9 15:09:42 2009 -0400 SUNRPC: Introduce xdr_stream-based decoders for RPCB_UNSET Replace the open-coded decode logic for rpcbind UNSET results with an xdr_stream-based implementation, similar to what NFSv4 uses, to protect against buffer overflows. The new function is unused for the moment. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0d36c4f7574d5a33bedd8f0e3c793490d45d83c6 Author: Chuck Lever Date: Sun Aug 9 15:09:41 2009 -0400 SUNRPC: Clean up: Remove unused XDR encoder functions from rpcb_clnt.c Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 6f2c2db7a46243bd86e3d7ff5f9ff982f26a9fe8 Author: Chuck Lever Date: Sun Aug 9 15:09:40 2009 -0400 SUNRPC: Introduce new xdr_stream-based encoders to rpcb_clnt.c Replace the open-coded encode logic for rpcbind arguments with an xdr_stream-based implementation, similar to what NFSv4 uses, to better protect against buffer overflows. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 4116092b92f859e5e9a90c99d740933e651ee8c0 Author: Chuck Lever Date: Sun Aug 9 15:09:40 2009 -0400 NFSD: Support IPv6 addresses in write_failover_ip() In write_failover_ip(), replace the sscanf() with a call to the common sunrpc.ko presentation address parser. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c15128c5e428af1e8ada1476484a74c970665edd Author: Chuck Lever Date: Sun Aug 9 15:09:39 2009 -0400 lockd: Replace nsm_display_address() with rpc_ntop() Clean up. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit b97a56747ea3f6c1a27dd0719bf1424959f1ebae Author: Chuck Lever Date: Sun Aug 9 15:09:38 2009 -0400 lockd: Replace nlm_clear_port() Clean up: Use shared rpc_set_port() function instead of nlm_clear_port(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ec6ee61250acfccbc5578dd4014735fb2cbe53b5 Author: Chuck Lever Date: Sun Aug 9 15:09:37 2009 -0400 NFS: Replace nfs_set_port() with rpc_set_port() Clean up. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 53a0b9c4c99ab0085a06421f71592722e5b3fd5f Author: Chuck Lever Date: Sun Aug 9 15:09:36 2009 -0400 NFS: Replace nfs_parse_ip_address() with rpc_pton() Clean up: Use the common routine now provided in sunrpc.ko for parsing mount addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c877b849d302d1275452af80b7221a2555dc02e1 Author: Chuck Lever Date: Sun Aug 9 15:09:36 2009 -0400 SUNRPC: Use rpc_ntop() for constructing transport address strings Clean up: In addition to using the new generic rpc_ntop() and rpc_get_port() functions, have the RPC client compute the presentation address buffer sizes dynamically using kstrdup(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ba809130bc260fce04141aca01ef9e068d32af2a Author: Chuck Lever Date: Sun Aug 9 15:09:35 2009 -0400 SUNRPC: Remove duplicate universal address generation RPC universal address generation is currently done in several places: rpcb_clnt.c, nfs4proc.c xprtsock.c, and xprtrdma.c. Remove the redundant cases that convert a socket address to a universal address. The nfs4proc.c case takes a pre-formatted presentation address string, not a socket address, so we'll leave that one. Because the new uaddr constructor uses the recently introduced rpc_ntop(), it now supports proper "::" shorthanding for IPv6 addresses. This allows the kernel to register properly formed universal addresses with the local rpcbind service, in _all_ cases. The kernel can now also send properly formed universal addresses in RPCB_GETADDR requests, and support link-local properly when encoding and decoding IPv6 addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit a02d692611348f11ee1bc37431a883c3ff2de23e Author: Chuck Lever Date: Sun Aug 9 15:09:34 2009 -0400 SUNRPC: Provide functions for managing universal addresses Introduce a set of functions in the kernel's RPC implementation for converting between a socket address and either a standard presentation address string or an RPC universal address. The universal address functions will be used to encode and decode RPCB_FOO and NFSv4 SETCLIENTID arguments. The other functions are part of a previous promise to deliver shared functions that can be used by upper-layer protocols to display and manipulate IP addresses. The kernel's current address printf formatters were designed specifically for kernel to user-space APIs that require a particular string format for socket addresses, thus are somewhat limited for the purposes of sunrpc.ko. The formatter for IPv6 addresses, %pI6, does not support short-handing or scope IDs. Also, these printf formatters are unique per address family, so a separate formatter string is required for printing AF_INET and AF_INET6 addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0b10bf5e14d856d1d27a2117d07af2bebee81b75 Author: Chuck Lever Date: Sun Aug 9 15:09:33 2009 -0400 SUNRPC: Move XDR data type size macros Clean up: To make subsequent patches cleaner, move the XDR data type size macros to the top of the file (similar to nfs4xdr.c) first. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 169026a61e6f436dfc12c9d10d95455c4e9f945b Author: Chuck Lever Date: Sun Aug 9 15:09:32 2009 -0400 SUNRPC: Clean up RPCBIND_MAXUADDRLEN definitions Clean up: Replace the single-integer definition of RPCBIND_MAXUADDRLEN with a definition that is based on previously defined address string sizes, and document the way this maximum is calculated. Also provide a separate macro for the size of the port number extension. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ec88f28d1eb77346f19ca324ceec76e645cdd9da Author: Chuck Lever Date: Sun Aug 9 15:09:32 2009 -0400 NFS: Use the authentication flavor list returned by mountd Commit a14017db added support in the kernel's NFS mount client to decode the authentication flavor list returned by mountd. The NFS client can now use this list to determine whether the authentication flavor requested by the user is actually supported by the server. Note we don't actually negotiate the security flavor if none was specified by the user. Instead, we try to use AUTH_SYS, and fail if the server does not support it. This prevents us from negotiating an inappropriate security flavor (some servers list AUTH_NULL first). If the server does not support AUTH_SYS, the user must provide an appropriate security flavor by specifying the "sec=" mount option. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 059f90b323c0f5d34656ab7e0548d7d033c2a51a Author: Chuck Lever Date: Sun Aug 9 15:09:31 2009 -0400 NFS: Fix auth flavor len accounting Previous logic in the NFS mount parsing code path assumed auth_flavor_len was set to zero for simple authentication flavors (like AUTH_UNIX), and 1 for compound flavors (like AUTH_GSS). At some earlier point (maybe even before the option parsers were merged?) specific checks for auth_flavor_len being zero were removed from the functions that validate the mount option that sets the mount point's authentication flavor. Since we are populating an array for authentication flavors, the auth_flavor_len should always be set to the number of flavors. Let's eliminate some cleverness here, and prepare for new logic that needs to know the number of flavors in the auth_flavors[] array. (auth_flavors[] is an array because at some point we want to allow a list of acceptable authentication flavors to be specified via the sec= mount option. For now it remains a single element array). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0b524123c93893391ec9e6c9b04998a45235f9c8 Author: Chuck Lever Date: Sun Aug 9 15:09:30 2009 -0400 NFS: Add ability to send MOUNTPROC_UMNT to the kernel's mountd client After certain failure modes of an NFS mount, an NFS client should send a MOUNTPROC_UMNT request to remove the just-added mount entry from the server's mount table. While no-one should rely on the accuracy of the server's mount table, sending a UMNT is simply being a good internet neighbor. Since NFS mount processing is handled in the kernel now, we will need a function in the kernel's mountd client that can post a MOUNTRPC_UMNT request, in order to handle these failure modes. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f3f4f4ed26b116f621596f74d42d2b736171e968 Author: Chuck Lever Date: Sun Aug 9 15:09:29 2009 -0400 NFS: Fix up new minorversion= option The new minorversion= mount option (commit 3fd5be9e) was merged at the same time as the recent sloppy parser fixes (commit a5a16bae), so minorversion= still uses the old value parsing logic. If the minorversion= option specifies a bogus value, it should fail with "bad value" not "bad option." Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 8f738d58425625faf0c1a6dbfdd4458545338551 Author: Mark Brown Date: Sun Aug 9 20:08:31 2009 +0100 ASoC: Define more formats for the AC97 CODECs Signed-off-by: Mark Brown commit c140aa91357c415c91269884518fa1d6fdebc20d Author: Trond Myklebust Date: Sun Aug 9 15:06:19 2009 -0400 NFSv4: Clean up the nfs.callback_tcpport option Tighten up the validity checking in param_set_port: check for NULL pointers. Ensure that the option shows up on 'modinfo' output. Signed-off-by: Trond Myklebust commit cbf1107126af2950623fafdaa5c9df43ab00f046 Author: Trond Myklebust Date: Sun Aug 9 15:06:19 2009 -0400 SUNRPC: convert some sysctls into module parameters Parameters like the minimum reserved port, and the number of slot entries should really be module parameters rather than sysctls. Signed-off-by: Trond Myklebust commit 80e52aced138bb41b045a8595a87510f27d8d8c5 Author: Trond Myklebust Date: Sun Aug 9 15:06:19 2009 -0400 NFSv4: Don't do idmapper upcalls for asynchronous RPC calls We don't want to cause rpciod to hang... Signed-off-by: Trond Myklebust commit 62ab460cf5e450e1d207a98a9c6cf2e4a6a78fd1 Author: Trond Myklebust Date: Sun Aug 9 15:06:19 2009 -0400 NFSv4: Add 'server capability' flags for NFSv4 recommended attributes If the NFSv4 server doesn't support a POSIX attribute, the generic NFS code needs to know that, so that it don't keep trying to poll for it. However, by the same count, if the NFSv4 server does support that attribute, then we should ensure that the inode metadata is appropriately labelled as being untrusted. For instance, if we don't know the correct value of the file's uid, we should certainly not be caching ACLs or ACCESS results. Signed-off-by: Trond Myklebust commit a78cb57a106fceeba26da2907db9d8886700e1dc Author: Trond Myklebust Date: Sun Aug 9 15:06:19 2009 -0400 NFSv4: Don't loop forever on state recovery failure... If the server is broken, then retrying forever won't fix it. We should just give up after a while, and return an error to the user. We set the number of retries to 10 for now... Signed-off-by: Trond Myklebust commit dd8ac1da4190139de70da18823ff8f5992a649ae Author: Roel Kluin Date: Sun Aug 9 15:06:19 2009 -0400 nfs: Keep index within mnt_errtbl[] Ensure that index i remains within array mnt_errtbl[] and mnt3_errtbl[]. Signed-off-by: Roel Kluin Signed-off-by: Trond Myklebust commit 8e5b59a2d728e6963b35dba8bb36e0b70267462e Author: Arnd Bergmann Date: Thu Aug 6 16:02:50 2009 -0700 sched: Add default defines for PREEMPT_ACTIVE The PREEMPT_ACTIVE setting doesn't actually need to be arch-specific, so set up a sane default for all arches to (hopefully) migrate to. > if we look at linux/hardirq.h, it makes this claim: > * - bit 28 is the PREEMPT_ACTIVE flag > if that's true, then why are we letting any arch set this define ? a > quick survey shows that half the arches (11) are using 0x10000000 (bit > 28) while the other half (10) are using 0x4000000 (bit 26). and then > there is the ia64 oddity which uses bit 30. the exact value here > shouldnt really matter across arches though should it ? actually alpha, arm and avr32 also use bit 30 (0x40000000), there are only five (or eight, depending on how you count) architectures (blackfin, h8300, m68k, s390 and sparc) using bit 26. Signed-off-by: Arnd Bergmann Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 8d51327090ac025d7f4ce6c059786b5e93513321 Author: Brice Goglin Date: Fri Aug 7 13:55:24 2009 +0200 perf report: Fix and improve the displaying of per-thread event counters Improve and fix the handling of per-thread counter stats recorded via perf record -s. Previously we only displayed it in debug printouts (-D) and even that output was hard to disambiguate. I moved everything to utils/values.[ch] so that we may reuse it in perf stat. We get something like this now: # PID TID cache-misses cache-references 4658 4659 495581 3238779 4658 4662 498246 3236823 4658 4663 499531 3243162 Then it'll be easy to add --pretty=raw to display a single line per thread/event. By the way, -S was also used for --symbol... So I used -T/--thread here. perf report: Add -T/--threads to display per-thread counter values We get something like this now: # PID TID cache-misses cache-references 4658 4659 495581 3238779 4658 4662 498246 3236823 4658 4663 499531 3243162 Per-thread arrays of counter values are managed in utils/values.[ch] Signed-off-by: Brice Goglin Cc: Peter Zijlstra Cc: paulus@samba.org Signed-off-by: Ingo Molnar commit 30dd568c912602b7dbd609a45d053e01b13422bb Author: Markus Metzger Date: Tue Jul 21 15:56:48 2009 +0200 x86, perf_counter, bts: Add BTS support to perfcounters Implement a performance counter with: attr.type = PERF_TYPE_HARDWARE attr.config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS attr.sample_period = 1 Using branch trace store (BTS) on x86 hardware, if available. The from and to address for each branch can be sampled using: PERF_SAMPLE_IP for the from address PERF_SAMPLE_ADDR for the to address [ v2: address review feedback, fix bugs ] Signed-off-by: Markus Metzger Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c36ba80ea01d0aecb652c26799a912e760ce8981 Author: Bartlomiej Zolnierkiewicz Date: Thu Aug 6 21:46:03 2009 +0200 irq: Remove superfluous NULL pointer check in check_irq_resend() This takes care of the following entry from Dan's list: kernel/irq/resend.c +73 check_irq_resend(17) warning: variable derefenced before check 'desc->chip' Reported-by: Dan Carpenter Signed-off-by: Bartlomiej Zolnierkiewicz Cc: Jonathan Corbet Cc: Eugene Teo Cc: Julia Lawall LKML-Reference: <200908062146.03638.bzolnier@gmail.com> Signed-off-by: Ingo Molnar commit 67dbe83adca4415e210e436bf961e8a833030d1e Author: Dmitry Torokhov Date: Fri Aug 7 23:17:39 2009 -0700 Input: wistron_btns - switch to using dev_pm_ops Also start using 'bool' where it makes sense. Tested-by: Giuseppe Mazzotta Signed-off-by: Dmitry Torokhov commit 42c2c8c854a716b05882a122632ddcd6dbe108f1 Author: Sonic Zhang Date: Thu Aug 6 15:58:11 2009 -0700 printk: Fix "printk: Enable the use of more than one CON_BOOT (early console)" Don't return when we find the first bootconsole - it can leave other bootconsoles still installed, and they can be used and cause problems later (if they are in the init section, and eventually released), and cause problems. Make sure we remove all of them. Signed-off-by: Sonic Zhang Signed-off-by: Robin Getz Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 4c711576b90cc36c13b94816a953a8de6a53d03c Author: Amerigo Wang Date: Thu Aug 6 15:58:12 2009 -0700 x86, 32-bit: Use generic sys_pipe() As suggested by Al, it's better to use the generic sys_pipe() for ia32. Signed-off-by: WANG Cong Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit fb82ad719831db58e9baa4c67015aae3fe27e7e3 Author: Tom Zanussi Date: Sat Aug 8 10:49:36 2009 -0500 tracing/filters: Don't use pred on alloc failure Dan Carpenter sent me a fix to prevent pred from being used if it couldn't be allocated. This updates his patch for the same problem in the tracing tree (which has changed this code quite substantially). Reported-by: Dan Carpenter Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Li Zefan LKML-Reference: <1249746576.6453.30.camel@tropicana> Signed-off-by: Ingo Molnar The original report: create_logical_pred() could sometimes return NULL. It's a static checker complaining rather than problems at runtime... commit 72c4d8530244264317a662de9a55cc47e6c8e9df Author: Ingo Molnar Date: Mon Aug 3 08:47:07 2009 +0200 x86: Introduce GDT_ENTRY_INIT(), fix APM This crash: [ 0.891983] calling cache_sysfs_init+0x0/0x1ee @ 1 [ 0.897251] initcall cache_sysfs_init+0x0/0x1ee returned 0 after 405 usecs [ 0.904019] calling mce_init_device+0x0/0x242 @ 1 [ 0.909124] initcall mce_init_device+0x0/0x242 returned 0 after 347 usecs [ 0.915815] calling apm_init+0x0/0x38d @ 1 [ 0.919967] apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac) [ 0.926813] general protection fault: 0000 [#1] [ 0.927269] last sysfs file: [ 0.927269] Modules linked in: [ 0.927269] [ 0.927269] Pid: 271, comm: kapmd Not tainted (2.6.31-rc3-00100-gd520da1-dirty #311) System Product Name [ 0.927269] EIP: 00c0:[<000082b2>] EFLAGS: 00010002 CPU: 0 [ 0.927269] EIP is at 0x82b2 [ 0.927269] EAX: 0000530e EBX: 00000000 ECX: 00000102 EDX: 00000000 [ 0.927269] ESI: 00000000 EDI: f6a4bf44 EBP: 67890000 ESP: f6a4beec [ 0.927269] DS: 00c8 ES: 0000 FS: 0000 GS: 0000 SS: 0068 [ 0.927269] Process kapmd (pid: 271, ti=f6a4a000 task=f7142280 task.ti=f6a4a000) [ 0.927269] Stack: [ 0.927269] 0000828d 02160000 00b88092 f6a4bf3c c102a63d 00000060 f6a4bf3c f6a4bf44 [ 0.927269] <0> 0000007b 0000007b 00000000 00000000 00000000 00000000 560aae9e 00000000 [ 0.927269] <0> 00000200 f705fd74 00000000 c102af70 f6a4bf60 c102a6ec 0000530e 00000000 [ 0.927269] Call Trace: [ 0.927269] [] ? __apm_bios_call_simple+0x7d/0x110 [ 0.927269] [] ? apm+0x0/0x6a0 [ 0.927269] [] ? apm_bios_call_simple+0x1c/0x50 [ 0.927269] [] ? apm+0x485/0x6a0 [ 0.927269] [] ? finish_task_switch+0x2a/0xb0 [ 0.927269] [] ? schedule+0x31e/0x480 [ 0.927269] [] ? apm+0x0/0x6a0 [ 0.927269] [] ? apm+0x0/0x6a0 [ 0.927269] [] ? kthread+0x74/0x80 [ 0.927269] [] ? kthread+0x0/0x80 [ 0.927269] [] ? kernel_thread_helper+0x7/0x10 [ 0.927269] Code: Bad EIP value. [ 0.927269] EIP: [<000082b2>] 0x82b2 SS:ESP 0068:f6a4beec [ 0.927269] ---[ end trace a7919e7f17c0a725 ]--- [ 0.927269] Kernel panic - not syncing: Fatal exception [ 0.927269] Pid: 271, comm: kapmd Tainted: G D 2.6.31-rc3-00100-gd520da1-dirty #311 Is caused by an incorrect GDT_ENTRY_INIT() conversion in the apm code, as noticed by hpa. Reported-by: Ingo Molnar Noticed-by: "H. Peter Anvin" Signed-off-by: Akinobu Mita LKML-Reference: <20090808094905.GA2954@localhost.localdomain> Signed-off-by: Ingo Molnar commit 1e5de18278e6862f4198412b5059a03770fa816a Author: Akinobu Mita Date: Sun Jul 19 00:12:20 2009 +0900 x86: Introduce GDT_ENTRY_INIT() GDT_ENTRY_INIT is static initializer of desc_struct. We already have similar macro GDT_ENTRY() but it's static initializer for u64 and it cannot be used for desc_struct. Signed-off-by: Akinobu Mita LKML-Reference: <20090718151219.GD11294@localhost.localdomain> Signed-off-by: Ingo Molnar commit f3d1915a8623b9248572d3ee44e19a80b7a3520b Author: Cyrill Gorcunov Date: Thu Aug 6 00:09:31 2009 +0400 x86, ioapic: Panic on irq-pin binding only if needed Though the most time we are to panic on irq-pin allocation fails, for PCI interrupts it's not the case and we could continue operate even if irq-pin allocation failed. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090805200931.GB5319@lenovo> Signed-off-by: Ingo Molnar commit 4cfae3e80431fd113f0f4a8e1d4fff84aafe045c Author: Henning Glawe Date: Sun Aug 2 22:18:12 2009 +0200 HID: ignore Philips IEEE802.15.4 RF Dongle This usb device claims to be of HID class, but is in fact a 802.15.4 lowpan transceiver, therefore the generic HID driver cannot operate this device. A separate driver for this device will be written for this using the new 802.15.4 stack. Signed-off-by: Henning Glawe Signed-off-by: Jiri Kosina commit 31f7fd795d17b264c3c05e4a976f963012c17c68 Author: Jarod Wilson Date: Fri Jul 31 10:56:36 2009 -0400 HID: ignore all recent SoundGraph iMON devices After some inspection of the Windows iMON driver, several additional device IDs were added to the lirc_imon driver. At least a few of these have been seen in the wild, and require manual quirking to keep the usbhid driver from binding to them. Rather than list out every single device, ignore the entire device ID range, 0x0034 - 0x0046. Some of these may not advertise themselves as HID devices, but no harm done to such devices anyway. Does the right thing in brief testing w/my 0x0045 device. Signed-off-by: Jarod Wilson Acked-by: Anssi Hannula Signed-off-by: Jiri Kosina commit 35b1207b34975d7ff2ea014171229c02bdb066f1 Author: Mark Brown Date: Sat Aug 8 10:37:33 2009 +0100 ASoC: Convert WM8776 to use factored out register cache code Signed-off-by: Mark Brown commit 7ae5945f0cacdfa30ed3257892dbea75bc959a28 Author: Chaithrika U S Date: Fri Aug 7 10:07:51 2009 -0400 ASoC: DaVinci: Support Audio on DA830 EVM Add support for audio on DA830 EVM- here McASP1 is interfaced to TLV320AIC3106 codec. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit dbe9ea6e79d38cd5f2069405864ff06606cf9ff1 Author: Uwe Kleine-König Date: Fri Aug 7 22:42:37 2009 +0200 ASoC: s3c2443-ac97: convert semaphore to mutex This fixes a build failure for 2.6.31-rc4-rt1 (ARCH=arm, s3c2410_defconfig): CC [M] sound/soc/s3c24xx/s3c2443-ac97.o sound/soc/s3c24xx/s3c2443-ac97.c:50: warning: type defaults to 'int' in declaration of 'DECLARE_MUTEX' sound/soc/s3c24xx/s3c2443-ac97.c:50: warning: parameter names (without types) in function declaration sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_read': sound/soc/s3c24xx/s3c2443-ac97.c:59: error: 'ac97_mutex' undeclared (first use in this function) sound/soc/s3c24xx/s3c2443-ac97.c:59: error: (Each undeclared identifier is reported only once sound/soc/s3c24xx/s3c2443-ac97.c:59: error: for each function it appears in.) sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_write': sound/soc/s3c24xx/s3c2443-ac97.c:93: error: 'ac97_mutex' undeclared (first use in this function) Signed-off-by: Uwe Kleine-König Signed-off-by: Mark Brown commit a809dda0369ae6157f7bcd3e704b857d43704cbd Author: Julia Lawall Date: Sat Aug 8 02:26:10 2009 +0200 HID: fix memory leak on error patch in debug code Error handling code following a kzalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // Signed-off-by: Julia Lawall Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit 44cb2db10d05fc263c9fa44347d350d4f7f5890c Author: Roel Kluin Date: Sat Aug 8 02:17:32 2009 +0200 HID: fix overrun in quirks initialization Check whether index is within bounds before testing the element. declared in drivers/hid/usbhid/hid-core.c:62: static char *quirks_param[MAX_USBHID_BOOT_QUIRKS] = ... Signed-off-by: Roel Kluin Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit 665d66e8fad60a5a162c4615f27f916ad1a6d567 Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 23 11:35:51 2009 +0000 ide: fix races in handling of user-space SET XFER commands * Make cmd->tf_flags field 'u16' and add IDE_TFLAG_SET_XFER taskfile flag. * Update ide_finish_cmd() to set xfer / re-read id if the new flag is set. * Convert set_xfer_rate() (write handler for /proc/ide/hd?/current_speed) and ide_cmd_ioctl() (HDIO_DRIVE_CMD ioctl handler) to use the new flag. * Remove no longer needed disable_irq_nosync() + enable_irq() from ide_config_drive_speed(). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit fa56d4cb4022c8b313c3b99236e1b87effc3655b Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 23 11:29:11 2009 +0000 ide: allow ide_dev_read_id() to be called from the IRQ context * Un-static __ide_wait_stat(). * Allow ide_dev_read_id() helper to be called from the IRQ context by adding irq_ctx flag and using mdelay()/__ide_wait_stat() when needed. * Switch ide_driveid_update() to set irq_ctx flag. This change is needed for the consecutive patch which fixes races in handling of user-space SET XFER commands but for improved bisectability and clarity it is better to do it in a separate patch. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit 2d5abcedeb41f4af9582c60cef70749c3ab90a3b Author: Jaswinder Singh Rajput Date: Sun Aug 2 20:17:34 2009 -0700 ide: ide-taskfile.c fix style problems Fix trivial style problems: WARNING: Use #include instead of WARNING: space prohibited between function name and open parenthesis '(' WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable ERROR: do not use C99 // comments X 2 ERROR: trailing statements should be on next line ERROR: trailing whitespace ERROR: switch and case should be at the same indent WARNING: line over 80 characters total: 5 errors, 4 warnings Also removed dead code Also used pr_err() to avoid line breaks Signed-off-by: Jaswinder Singh Rajput Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit 72db37b2c9c5b71e49068f5fac6433a6c36498a5 Author: Julia Lawall Date: Sun Aug 2 13:19:05 2009 -0700 drivers/ide/ide-cd.c: Use DIV_ROUND_CLOSEST The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d but is perhaps more readable. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Acked-by: Borislav Petkov Signed-off-by: David S. Miller commit 6f3848ac2399faac0be3f26648bf1d7a644a8242 Author: Borislav Petkov Date: Tue Jul 21 23:08:23 2009 -0700 ide-tape: fix handling of postponed rqs ide-tape used to hit [ 58.614854] ide-tape: ht0: BUG: Two DSC requests queued! due to the fact that another rq was being issued while the driver was waiting for DSC to get set for the device executing ATAPI commands which set the DSC to 1 to indicate completion. Here's a sample output of that case: issue REZERO_UNIT [ 143.088505] ide-tape: ide_tape_issue_pc: retry #0, cmd: 0x01 [ 143.095122] ide: Enter ide_pc_intr - interrupt handler [ 143.096118] ide: Packet command completed, 0 bytes transferred [ 143.106319] ide-tape: ide_tape_callback: cmd: 0x1, dsc: 1, err: 0 [ 143.112601] ide-tape: idetape_postpone_request: cmd: 0x1, dsc_poll_freq: 2000 we stall the ide-tape queue here waiting for DSC [ 143.119936] ide-tape: ide_tape_read_position: enter [ 145.119019] ide-tape: idetape_do_request: sector: 4294967295, nr_sectors: 0 and issue the new READ_POSITION rq and hit the check. [ 145.126247] ide-tape: ht0: BUG: Two DSC requests queued! [ 145.131748] ide-tape: ide_tape_read_position: BOP - No [ 145.137059] ide-tape: ide_tape_read_position: EOP - No Also, ->postponed_rq used to point to that postponed request. To make things worse, in certain circumstances the rq it was pointing to got replaced unterneath it by swiftly reusing the same rq from the mempool of the block layer practically confusing stuff even more. However, we don't need to keep a pointer to that rq but simply wait for DSC to be set first before issuing the follow-up request in the drive's queue. In order to do that, we make idetape_do_request() first check the DSC and if not set, we stall the drive queue giving the other device on that IDE channel a chance. Signed-off-by: Borislav Petkov Signed-off-by: David S. Miller commit e972d7027c0fb7055f5f2fe02d662c9528063bef Author: Borislav Petkov Date: Fri Jul 17 23:55:16 2009 +0000 ide-tape: convert to ide_debug_log macro Remove tape->debug_mask and use drive->debug_mask instead. There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: David S. Miller commit 37bbe084d1152cb580d2cc88b4eda2004506a141 Author: Mark de Wever Date: Fri Jul 17 23:55:15 2009 +0000 ide-tape: fix debug call This error only occurs when IDETAPE_DEBUG_LOG is enabled. Signed-off-by: Mark de Wever Signed-off-by: David S. Miller commit 7fa350b4754cd69c8352ef3f5d23082fbdcab0bd Author: David S. Miller Date: Tue Jun 23 04:16:04 2009 -0700 ide: Fix annoying warning in ide_pio_bytes(). GCC can't see that flags is only set and used when PageHighmem() is true. Inspired by a patch from Jean Delvare. Signed-off-by: David S. Miller commit a907905219dc83f501274d5d8c6d2aa2161ff8c3 Author: Jean Delvare Date: Tue Jun 23 04:12:24 2009 -0700 IDE: Save a call to PageHighMem() PageHighMem() isn't cheap so avoid calling it twice on the same page. Signed-off-by: Jean Delvare Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit b7b8f9bf0cd73b90561e8123fd5ec28f4539c419 Author: Janusz Krzysztofik Date: Thu Aug 6 13:07:32 2009 +0200 TTY/ASoC: Rename N_AMSDELTA line discipline to N_V253 The patch changes the line discipline name registered in include/linux/tty.h and updates the ams-delta machine driver to use it. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 06cddefc1f25b847dafe392f3d5781482b3395b5 Merge: b9b5cc2 27ded04 Author: Mark Brown Date: Fri Aug 7 11:43:58 2009 +0100 Merge branch 'reg-cache' into for-2.6.32 commit b9b5cc26d0b3a9b361cc56c3a3b0d6f819b9195f Merge: 6a90d53 c12abc0 Author: Mark Brown Date: Fri Aug 7 11:42:01 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit 6a90d536feeccb2c84a2831252b1ed4642684da3 Author: Troy Kisky Date: Thu Aug 6 16:55:32 2009 -0700 ASoC: DaVinci: pcm, constrain buffer size to multiple of period The dma setup code assumes that the buffer size is a multiple of the period size. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 9bb74150561bb337b49192a8f8e8f812057b88ea Author: Troy Kisky Date: Thu Aug 6 16:55:31 2009 -0700 ASoC: DaVinci: i2s: don't bounce through rtd to get dai dai is a parameter to the functions, so use it instead of looking it up. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit a961bf380b93741c2191f8efc8f5f1c65224b216 Author: Eric Benard Date: Thu Jul 16 16:26:34 2009 +0200 Add support for Eukrea's MBIMX27 MBIMX27 is the evaluation board for CPUIMX27 and integrates : a QVGA TFT, a SPI touchscreen controler, a SDCard connector wired to SDHC1. Signed-off-by: Eric Benard Signed-off-by: Sascha Hauer commit af5b1df7136570dae9ac4c1cd193053c61b0ed8f Author: Eric Benard Date: Thu Jul 16 16:26:33 2009 +0200 Add support for Eukrea's CPUIMX27 CPUIMX27 is built around Freescale's i.MX27 and has up to 64MB of NOR Flash, up to 512MB of NAND Flash and up to 256MB of mDDR, it includes an ethernet PHY in MII mode, an I2C RTC and a ST16554 QuadUART on nCS3. Signed-off-by: Eric Benard Signed-off-by: Sascha Hauer commit 627fb3b9d260cb413d0ea2d179e319a20e2bd82b Author: javier Martin Date: Wed Jul 15 15:26:21 2009 +0200 MX27: Add USB platform devices and resources This adds clocks and resources for usb in i.mx27 SoC. Signed-off-by: Javier Martin Signed-off-by: Sascha Hauer commit 88e29a8d21fb9687ad6972a44571b295acaf0d74 Author: Daniel Mack Date: Thu Jun 25 14:11:52 2009 +0200 MX3: add additional USB pins to iomux Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 6558f985a1ff7ab2b413f49ee8766c919495e0ac Author: Sascha Hauer Date: Thu Jun 25 14:11:51 2009 +0200 ehci mxc: Fix clocks Signed-off-by: Sascha Hauer commit c13a482c43a148c2b8060b405fc39a4b214d56d2 Author: Daniel Mack Date: Thu Jun 25 14:11:50 2009 +0200 MX3: Add USB platform devices and resources Signed-off-by: Sascha Hauer Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 5e63ff9a973a19b78bb0eef22df8946b36e09f0f Author: Sascha Hauer Date: Sat Feb 7 13:37:29 2009 +0100 [ARM] MXC: remove the now unused #ifndef CONFIG_COMMON_CLKDEV Signed-off-by: Sascha Hauer commit 7dae1134cd4117c1a579f8ae58ce13c1c1ff7164 Author: Sascha Hauer Date: Sat Feb 7 13:34:01 2009 +0100 [ARM] MXC: Switch MX1 to clkdev support Signed-off-by: Sascha Hauer commit 6d73665f052a8dadf6f33dfd2546e15199ad7c5f Author: Sascha Hauer Date: Wed Jun 3 11:22:32 2009 +0200 MXC PLL decoding: calculate mfn value with less magic Also, use cpu_is_* macros rather than CONFIG_ARCH_* Signed-off-by: Sascha Hauer commit 5ef881bbecc72862fa379cb286a50f2781db4cec Author: Sascha Hauer Date: Fri Jun 19 11:35:08 2009 +0200 MXC: pwm driver fixes - fix off-by-one error in divider calculation - disable pwm in pwm_disable Signed-off-by: Sascha Hauer commit 494f22dddc6308b9c35984118ff4cb1681ad8e48 Author: Sascha Hauer Date: Wed May 27 18:26:51 2009 +0200 MXC gpio interrupt support: move register definitions to .c file Signed-off-by: Sascha Hauer commit 8afaada2dc9247ffcd2982be824cd290ace18f55 Author: Sascha Hauer Date: Mon Jun 15 12:36:25 2009 +0200 mxc gpio: CONFIG_ARCH_* -> cpu_is_*() Signed-off-by: Sascha Hauer commit 61b032ef263c17bb733cfb3f87a811be52adbe22 Author: Sascha Hauer Date: Tue Jun 23 13:21:42 2009 +0200 pcm038: Add support for SJA1000 on baseboard Signed-off-by: Sascha Hauer commit 91bf9a2566a6f507f45ad2fb59802e528f5a9c3f Author: Sascha Hauer Date: Tue Jun 23 13:21:28 2009 +0200 pcm037: Add support for SJA1000 on baseboard Signed-off-by: Sascha Hauer commit 343684ffb793a3c371579b7bbc16724713ee5ac7 Author: Sascha Hauer Date: Thu Mar 19 08:25:41 2009 +0100 imxfb: Add support for multiple displays Signed-off-by: Sascha Hauer commit d6b515028863a912d051d371b6d71e09f2a9ff19 Author: Sascha Hauer Date: Mon Jun 29 11:41:09 2009 +0200 imxfb: use resource_size() macro This fixes an off-by-one error. Also, use dev_err instead of printk in probe() function. Signed-off-by: Sascha Hauer commit f497d0153a6b53b4cfd004de5f10b14bf630d852 Author: Sascha Hauer Date: Wed Mar 18 11:29:31 2009 +0100 imxfb: calculate bpix value from bits_per_pixel Signed-off-by: Sascha Hauer commit 9b0e6db0da1ea433f38b8d952108746f3fc67304 Author: Sascha Hauer Date: Tue Jun 23 12:14:39 2009 +0200 mx1: Codingstyle: Let the compiler count arrays Signed-off-by: Sascha Hauer commit 3f4f54b4f0052e9838f6bb98535746464d0c01c3 Author: Sascha Hauer Date: Tue Jun 23 12:12:00 2009 +0200 mx3: Codingstyle: Let the compiler count arrays Signed-off-by: Sascha Hauer commit bf50bcc242db7f8d2fb6bc099c1693149d9fb5d5 Author: Sascha Hauer Date: Tue Jun 23 12:04:36 2009 +0200 mx2: Codingstyle: Let the compiler count arrays Signed-off-by: Sascha Hauer commit aa68c02777702f05ea5f075e3001288c30ffcb1c Author: Sascha Hauer Date: Tue Jun 23 11:52:26 2009 +0200 mx2: remove mxc_irda platform device Irda support is handled by the normal ims serial driver, so we do not need this device. Signed-off-by: Sascha Hauer commit 997d74b18ae1d0d8f4c4469a5d1ce8d73ca8402c Author: Sascha Hauer Date: Thu Jun 4 10:32:08 2009 +0200 MXC iomux-v3: Fix defines for PAD_CTL registers The old defines leaked in from an old version of the patch. Change the defines to match the register layout of the iomuxer. Signed-off-by: Sascha Hauer commit c5aa0ad0c557c63dcaf8c8d75a3dd4c5e90724b3 Author: Sascha Hauer Date: Mon May 25 17:36:19 2009 +0200 mxc: turn to soc specific init_irq functions Signed-off-by: Sascha Hauer commit 12308dfe3776ff5741fc675f2a352165e1628098 Author: Sascha Hauer Date: Wed May 27 18:33:58 2009 +0200 mxc: remove do not include directly Everyone should be free to include the files he actually needs. Signed-off-by: Sascha Hauer commit 37d6fb629eb272a91a3c43033f495a66da2392b5 Author: Sascha Hauer Date: Wed May 27 18:23:48 2009 +0200 i.MX serial: do not use #ifdef CONFIG_ARCH_* Signed-off-by: Sascha Hauer commit ccc1a6f8eebf0eb8a5bee16293d1dc9b5eab1be3 Author: Sascha Hauer Date: Thu Jun 4 13:45:37 2009 +0200 MXC: remove board specific setup of MXC_LL_UART_[PV]ADDR Signed-off-by: Sascha Hauer commit d30c74a02f7652e784c32a10736a3c88db98820c Author: Sascha Hauer Date: Thu Jun 4 13:29:57 2009 +0200 MXC uncompress macros: determine uart base by machine type Signed-off-by: Sascha Hauer commit abae61305684fffb0f1d779a1a678855ec5e8cfc Author: Sascha Hauer Date: Mon May 25 17:22:18 2009 +0200 mxc: remove ARCH_NR_GPIOS Use the default value of 256 which is enough for all i.MX SoCs. Signed-off-by: Sascha Hauer commit be124c94279edf4306798100f120c386947d8724 Author: Sascha Hauer Date: Thu Jun 4 12:19:02 2009 +0200 system.c: runtime base address Signed-off-by: Sascha Hauer commit 8db5d1a64d36d0750b88c6c13feeaf0e00be2eb4 Author: Sascha Hauer Date: Mon May 25 12:21:38 2009 +0200 MXC: pass base/irq to mxc_timer_init Signed-off-by: Sascha Hauer commit c12abc012e18b362204345c323536f228d65c4db Author: Jarkko Nikula Date: Fri Aug 7 09:59:47 2009 +0300 ARM: OMAP: McBSP: Fix ASoC on OMAP1510 by fixing API of omap_mcbsp_start/stop Simultaneous audio playback and capture on OMAP1510 can cause that second stream is stalled if there is enough delay between startup of the audio streams. Current implementation of the omap_mcbsp_start is starting both transmitter and receiver at the same time and it is called only for firstly started audio stream from the OMAP McBSP based ASoC DAI driver. Since DMA request lines on OMAP1510 are edge sensitive, the DMA request is missed if there is no DMA transfer set up at that time when the first word after McBSP startup is transmitted. The problem hasn't noted before since later OMAPs are using level sensitive DMA request lines. Fix the problem by changing API of omap_mcbsp_start and omap_mcbsp_stop by allowing to start and stop individually McBSP transmitter and receiver logics. Then call those functions individually for both audio playback and capture streams. This ensures that DMA transfer is setup before transmitter or receiver is started. Thanks to Janusz Krzysztofik for detailed problem analysis and Peter Ujfalusi for info about DMA request line behavior differences between the OMAP generations. Reported-and-tested-by: Janusz Krzysztofik Signed-off-by: Jarkko Nikula Acked-by: Tony Lindgren Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit bbd8a0d3a3b65d341437f8b99c828fa5cc29c739 Author: Krishna Kumar Date: Thu Aug 6 01:44:21 2009 +0000 net: Avoid enqueuing skb for default qdiscs dev_queue_xmit enqueue's a skb and calls qdisc_run which dequeue's the skb and xmits it. In most cases, the skb that is enqueue'd is the same one that is dequeue'd (unless the queue gets stopped or multiple cpu's write to the same queue and ends in a race with qdisc_run). For default qdiscs, we can remove the redundant enqueue/dequeue and simply xmit the skb since the default qdisc is work-conserving. The patch uses a new flag - TCQ_F_CAN_BYPASS to identify the default fast queue. The controversial part of the patch is incrementing qlen when a skb is requeued - this is to avoid checks like the second line below: + } else if ((q->flags & TCQ_F_CAN_BYPASS) && !qdisc_qlen(q) && >> !q->gso_skb && + !test_and_set_bit(__QDISC_STATE_RUNNING, &q->state)) { Results of a 2 hour testing for multiple netperf sessions (1, 2, 4, 8, 12 sessions on a 4 cpu system-X). The BW numbers are aggregate Mb/s across iterations tested with this version on System-X boxes with Chelsio 10gbps cards: ---------------------------------- Size | ORG BW NEW BW | ---------------------------------- 128K | 156964 159381 | 256K | 158650 162042 | ---------------------------------- Changes from ver1: 1. Move sch_direct_xmit declaration from sch_generic.h to pkt_sched.h 2. Update qdisc basic statistics for direct xmit path. 3. Set qlen to zero in qdisc_reset. 4. Changed some function names to more meaningful ones. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 9f519f68cfffba022978634f724944a0b971fec1 Author: Yevgeny Petrilin Date: Thu Aug 6 19:28:18 2009 -0700 mlx4_en: Not using Shared Receive Queues We use 1:1 mapping between QPs and SRQs on receive side, so additional indirection level not required. Allocated the receive buffers for the RSS QPs. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit b6b912e0804dc1b3e856da3cc82fbe78b50e968c Author: Yevgeny Petrilin Date: Thu Aug 6 19:27:51 2009 -0700 mlx4_en: Using real number of rings as RSS map size There is no point in using more QPs then actual number of receive rings. If the RSS function for two streams gives the same result modulo number of rings, they will arrive to the same RX ring anyway. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit a35ee541a66d11d26da30d3f6046dbddd073334e Author: Yevgeny Petrilin Date: Thu Aug 6 19:27:28 2009 -0700 mlx4_en: Adaptive moderation policy change If the net device is identified as "sender" (number of sent packets is higher then the number of received packets and the incoming packets are small), set the moderation time to its low limit. We do it because the incoming packets are acks, and we don't want to delay them Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 6cb87823627699b0267234a210d8199b681c70e3 Author: Daniel Mack Date: Wed Aug 5 08:29:31 2009 +0000 net: smsc911x: switch to new dev_pm_ops Hibernation is unsupported for now, which meets the actual implementation in the driver. For free/thaw, the chip's D2 state should be entered. Signed-off-by: Daniel Mack Acked-by: Signed-off-by: David S. Miller commit a48ec346fcb095f6a0e74a57165f9a9a3b23b95a Author: Atsushi Nemoto Date: Thu Aug 6 04:41:49 2009 +0000 tc35815: Use 0 RxFragSize.MinFrag value for non-packing mode The datasheet say "When not enabling packing, the MinFrag value must remain at 0". Do not set value to RxFragSize register if TC35815_USE_PACKEDBUFFER disabled. This is not a bugfix. No real problem reported on this. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit 7bb82e834cc9cc95512287a9bf637719557674a0 Author: Atsushi Nemoto Date: Thu Aug 6 04:41:48 2009 +0000 tc35815: Fix rx_missed_errors count The Miss_Cnt register is cleared by reading. Accumulate its value to rx_missed_errors count. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit c60a5cf7af0a94cf8b09ca22796affa5f5f0669a Author: Atsushi Nemoto Date: Thu Aug 6 04:41:47 2009 +0000 tc35815: Increase timeout for mdio The current timeout value is too short for very high-load condition which jiffies might jump up in busy-loop. Also add minimum delay before checking completion of MDIO. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit db30f5ef6e4471fd55671382b8870fdd61e35814 Author: Atsushi Nemoto Date: Thu Aug 6 04:41:46 2009 +0000 tc35815: Improve BLEx / FDAEx handling Clear Int_BLEx / Int_FDAEx after (not before) processing Rx interrupt. This will reduce number of unnecessary interrupts. Also print rx error messages only if netif_msg_rx_err() enabled. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit 297713decac17527d3583fcd4d18564568cac759 Author: Atsushi Nemoto Date: Thu Aug 6 04:41:45 2009 +0000 tc35815: Disable StripCRC It seems Rx_StripCRC cause trouble on recovering from the BLEx (Buffer List Exhaust) or FDAEx (Free Descriptor Area Exhaust) condition. Do not use it. Also bump version number up. Reported-by: Ralf Roesch Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit bfe34ebbaa125f00da309f59cc9d30febe1e3115 Merge: 3d7ddd5 6b4f645 Author: David S. Miller Date: Thu Aug 6 12:57:18 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit a5479e389e989acfeca9c32eeb0083d086202280 Author: Daniel Ribeiro Date: Mon Jun 15 21:44:31 2009 -0300 ASoC: change set_tdm_slot api to allow slot_width override. Extend set_tdm_slot to allow the user to arbitrarily set the frame width and active TX/RX slots. Updates magician.c and wm9081.c for the new set_tdm_slot(). wm9081.c still doesn't handle the slot_width override. While being there, correct an incorrect use of SlotsPerFrm(7) use in bitmask on pxa-ssp.c (SSCR0_SlotsPerFrm(x) is (((x) - 1) << 24)) ). (this series is meant for Mark's for-2.6.32 branch) Signed-off-by: Daniel Ribeiro Signed-off-by: Mark Brown commit 9029bb316bb99ccc7f0518c4d3e0d6adc0729c4f Author: Janusz Krzysztofik Date: Thu Aug 6 12:25:00 2009 +0200 ASoC: CX20442: simplify codec controller usage This patch is a workaround for the problem of several subsequent control statements not being applied correctly to the codec controller (modem). In order to follow the hook switch state change from handset to handsfree while in full duplex mode, two consecutive +VLS control commands were sent to the modem. The first one was M1 (microphone only), the seconds one was M1S1 (both microphone and speaker). As there was no real modem handshaking procedure implemented, neither in the codec nor in the machine driver part of the line discipline, the modem was having the second command missed. Since a possibility to switch to microphone only mode (and speaker only mode as well) seams of no value, I have modified the code to issue single M1S1 command only for any of those cases. Tested on my Amstrad Delta. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 4977b03e3dc3b76182903cda2df9dc2ef8f566a0 Author: Janusz Krzysztofik Date: Thu Aug 6 12:24:54 2009 +0200 ASoC: CX20442: add some debugging This patch adds debugging statement that can help in tracing how the driver is trying to control the codec device. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 924914ee953f2ccf3a2d49bda08c9ce1046a0c58 Author: Mark Brown Date: Tue Aug 4 23:50:16 2009 +0100 ASoC: Add WM8776 CODEC driver The WM8776 is a high performance, stereo audio CODEC with five channel input selector. The WM8776 is ideal for surround sound processing applications for home hi-fi, DVD-RW and other audio visual equipment. This driver implements support for most WM8776 features - currently the ADC automatic level control/limiter functionality is omitted. Signed-off-by: Mark Brown commit 5e8d6b8bf94f1ffcb7e3c31b73284c20f297f191 Author: David Woodhouse Date: Thu Aug 6 20:20:43 2009 +1000 agp: fix uninorth build Signed-off-by: Dave Airlie commit bbff2e433e80fae72c8d00d482927d52ec19ba33 Author: Wu Fengguang Date: Thu Aug 6 11:36:25 2009 +0300 slab: remove duplicate kmem_cache_init_late() declarations kmem_cache_init_late() has been declared in slab.h CC: Nick Piggin CC: Matt Mackall CC: Christoph Lameter Signed-off-by: Wu Fengguang Signed-off-by: Pekka Enberg commit 1972d02504b142a6f1442bd987a8831146031d3d Author: Takashi Iwai Date: Thu Aug 6 08:44:43 2009 +0200 ALSA: hda - Add quirks for some HP laptops The new HP laptops have PCI SSID 103c:701x and requires model=hp-dv5. Signed-off-by: Takashi Iwai commit ace1366369841c9c3a9788f79baa4d73f1c53107 Author: Huang Ying Date: Thu Aug 6 15:35:20 2009 +1000 crypto: cryptd - Add support to access underlaying shash cryptd_alloc_ahash() will allocate a cryptd-ed ahash for specified algorithm name. The new allocated one is guaranteed to be cryptd-ed ahash, so the shash underlying can be gotten via cryptd_ahash_child(). Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 9382d97af586a47dad312765e35c61aa7ad7fcdd Author: Huang Ying Date: Thu Aug 6 15:34:26 2009 +1000 crypto: gcm - Use GHASH digest algorithm Remove the dedicated GHASH implementation in GCM, and uses the GHASH digest algorithm instead. This will make GCM uses hardware accelerated GHASH implementation automatically if available. ahash instead of shash interface is used, because some hardware accelerated GHASH implementation needs asynchronous interface. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 2cdc6899a88e2b9c6cb82ebd547bf58932d534df Author: Huang Ying Date: Thu Aug 6 15:32:38 2009 +1000 crypto: ghash - Add GHASH digest algorithm for GCM GHASH is implemented as a shash algorithm. The actual implementation is copied from gcm.c. This makes it possible to add architecture/hardware accelerated GHASH implementation. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit a2ca5e03b6a5a1d401062f0a7f78888cf9e5e3b0 Author: Frederic Weisbecker Date: Thu Aug 6 07:32:21 2009 +0200 tracing/events: Only define remove_subsystem_dir() if CONFIG_MODULES If we disable modules, we get the following warning in ftrace events file: kernel/trace/trace_events.c:912: attention : ‘remove_subsystem_dir’ defined but not used remove_subystem_dir() is useless if !CONFIG_MODULES, then move it to the appropriate #ifdef section of trace_events.c Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 1a0799a8fef5acc6503f9c5e79b2cd003317826c Author: Frederic Weisbecker Date: Wed Jul 29 18:59:58 2009 +0200 tracing/function-graph-tracer: Move graph event insertion helpers in the graph tracer file The function graph events helpers which insert the function entry and return events into the ring buffer currently reside in trace.c But this file is quite overloaded and the right place for these helpers is in the function graph tracer file. Then move them to trace_functions_graph.c Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 82e04af498a85ba425efe77580b7ba08234411df Author: Frederic Weisbecker Date: Wed Jul 29 18:00:29 2009 +0200 tracing: Move sched event insertion helpers in the sched switch tracer file The sched events helpers which insert the sched switch and wakeup events into the ring buffer currently reside in trace.c But this file is quite overloaded and the right place for these helpers is in the sched switch tracer file. Then move them to trace_functions.c Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit c0a0d0d3f65284c71115a9bb1ed801ee33eeb552 Author: Frederic Weisbecker Date: Wed Jul 29 17:51:13 2009 +0200 tracing/core: Make the stack entry helpers global Make the stacktrace event insertion helpers globals. This has two effects: - Prepare for moving the sched events insertion helpers to the sched switch tracer file. - Move some ifdef outside function definitions Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 5e5bf483986ad86ad25f25eec5299c86eb2d1c57 Author: Frederic Weisbecker Date: Wed Jul 29 17:11:12 2009 +0200 tracing/core: Turn ftrace_cpu_disabled into a global var In order to prepare the moving of the function graph tracer insertion helpers from trace.c to trace_functions_graph.c, we need to export the ftrace_cpu_disabled variable. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 07868b086cca784f4b532fc2ab574ec3a73b468a Author: Frederic Weisbecker Date: Wed Jul 29 03:33:51 2009 +0200 tracing/function-graph-tracer: Drop the useless nmi protection The function graph tracer used to have a protection against NMI while entering a function entry tracing. But this is useless now, this tracer is reentrant and the ring buffer supports the NMI tracing. We can then drop this protection. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 0c9e6f639aed490202bbc79214f4495cf4bfde58 Author: Lai Jiangshan Date: Tue Jul 28 20:26:06 2009 +0800 tracing: Simplify print_graph_cpu() print_graph_cpu() is little over-designed. And "log10_all" may be wrong when there are holes in cpu_online_mask: the max online cpu id > cpumask_weight(cpu_online_mask) So change it by using a static column length for the cpu matching nr_cpu_ids number of decimal characters. Signed-off-by: Lai Jiangshan Cc: Steven Rostedt LKML-Reference: <4A6EEE5E.2000001@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit 3d7ddd540b4c2d24c6a3e7a52c083a0c31e6151c Author: Julia Lawall Date: Wed Aug 5 20:30:13 2009 -0700 net/rds: Use AF_INET for sin_family field Elsewhere the sin_family field holds a value with a name of the form AF_..., so it seems reasonable to do so here as well. Also the values of PF_INET and AF_INET are the same. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ struct sockaddr_in sip; @@ ( sip.sin_family == - PF_INET + AF_INET | sip.sin_family != - PF_INET + AF_INET | sip.sin_family = - PF_INET + AF_INET ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 9073e3a32bb249293edc01ecff575bb87380c068 Author: Divy Le Ray Date: Wed Aug 5 20:28:27 2009 -0700 cxgb3: fix 2 ports 1G regression commit 88045b3cf0f8981129cb489c7b6bc36c21dd33a7 cxgb3: fix mac index mapping Override the mac index computation for the gen2 adapter, as each port is expected to use index 0. introduces a regression on 2 port 1G adapter as its xauicfg vpd value is null. Add a check on the device id. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit a2551df7ec568d87793d2eea4ca744e86318f205 Author: Eric Paris Date: Fri Jul 31 12:54:11 2009 -0400 Security/SELinux: seperate lsm specific mmap_min_addr Currently SELinux enforcement of controls on the ability to map low memory is determined by the mmap_min_addr tunable. This patch causes SELinux to ignore the tunable and instead use a seperate Kconfig option specific to how much space the LSM should protect. The tunable will now only control the need for CAP_SYS_RAWIO and SELinux permissions will always protect the amount of low memory designated by CONFIG_LSM_MMAP_MIN_ADDR. This allows users who need to disable the mmap_min_addr controls (usual reason being they run WINE as a non-root user) to do so and still have SELinux controls preventing confined domains (like a web server) from being able to map some area of low memory. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 84336d1a77ccd2c06a730ddd38e695c2324a7386 Author: Eric Paris Date: Fri Jul 31 12:54:05 2009 -0400 SELinux: call cap_file_mmap in selinux_file_mmap Currently SELinux does not check CAP_SYS_RAWIO in the file_mmap hook. This means there is no DAC check on the ability to mmap low addresses in the memory space. This function adds the DAC check for CAP_SYS_RAWIO while maintaining the selinux check on mmap_zero. This means that processes which need to mmap low memory will need CAP_SYS_RAWIO and mmap_zero but will NOT need the SELinux sys_rawio capability. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 7c73875e7dda627040b12c19b01db634fa7f0fd1 Author: Eric Paris Date: Fri Jul 31 12:53:58 2009 -0400 Capabilities: move cap_file_mmap to commoncap.c Currently we duplicate the mmap_min_addr test in cap_file_mmap and in security_file_mmap if !CONFIG_SECURITY. This patch moves cap_file_mmap into commoncap.c and then calls that function directly from security_file_mmap ifndef CONFIG_SECURITY like all of the other capability checks are done. Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 012a5299a29672039f42944a37984558393ef769 Merge: da34d42 90bc1a6 Author: James Morris Date: Thu Aug 6 08:55:03 2009 +1000 Merge branch 'master' into next commit da34d4248bd2013ee64ce51e63ec0ebd1f32b46c Author: Julia Lawall Date: Wed Aug 5 14:34:55 2009 +0200 security/smack: Use AF_INET for sin_family field Elsewhere the sin_family field holds a value with a name of the form AF_..., so it seems reasonable to do so here as well. Also the values of PF_INET and AF_INET are the same. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ struct sockaddr_in sip; @@ ( sip.sin_family == - PF_INET + AF_INET | sip.sin_family != - PF_INET + AF_INET | sip.sin_family = - PF_INET + AF_INET ) // Signed-off-by: Julia Lawall Acked-by: Casey Schaufler Signed-off-by: James Morris commit c00aafcd4977769e8728292302ddbbb8b1082fab Merge: 2e6713c 90bc1a6 Author: Rafael J. Wysocki Date: Wed Aug 5 23:56:54 2009 +0200 Merge branch 'master' into for-linus commit fbb474dedab871c7382858c374acd287dad4ab38 Author: javier Martin Date: Wed Aug 5 22:29:39 2009 +0100 ASoC: Fix review issues in i.MX2x PCM driver Signed-off-by: javier Martin Signed-off-by: Mark Brown commit 2ccafed43a75b836a15bd36ef0acf466ba36604d Author: javier Martin Date: Tue Aug 4 17:18:02 2009 +0200 ASoC: add machine driver for i.mx27_visstrim_m10 board This adds support for i.mx27_visstrim_sm10 board machine driver which uses an i.mx27 processor plus a wm8974 codec. It has been tested on a visstrim_sm10 board. Signed-off-by: Javier Martin Signed-off-by: Mark Brown commit 9d8bc2968cb0b50ffa76ed806591974e34fc296a Author: javier Martin Date: Wed Aug 5 08:47:48 2009 +0200 ASoC: add DAI platform ssi driver for MXC This adds support for DAI platform for the SSI present in MXC platforms. It currently does not support i.MX3, the only thing necessary to do this is to export DMA data for i.MX3 interface which I haven't done because I don't have a i.MX3 based board available. It has been tested on i.MX27 board. Signed-off-by: Mark Brown commit fd6a6394d7d6142afb3d4c87beb3c2c1d25c69bd Author: javier Martin Date: Tue Aug 4 17:17:52 2009 +0200 ASoC: add DMA platform driver for MX1x and MX2x This adds support for DMA platform valid for i.MX1 and i.MX2 platforms. This is not valid for i.MX3 since it doesn't share the same DMA interface than i.MX1 and i.MX2. It has been tested on i.MX27 board. Signed-off-by: Javier Martin Signed-off-by: Mark Brown commit 15b5bdaeeb15e0c18cca3ce7449188ca46516721 Author: Daniel Mack Date: Wed Aug 5 20:50:43 2009 +0200 ALSA: ASoC: cs4270: move power management hooks to snd_soc_codec_device Power management for the cs4270 codec is currently implemented as part of the i2c_driver struct. The disadvantage of doing it this way is that the callbacks registered in the snd_soc_card struct are called _before_ the codec's callbacks. That doesn't work, because the snd_soc_card callbacks will most likely switch down the codec's power domains or pull the reset GPIOs, and hence make the i2c communication bail out. Fix this by binding the suspend and resume code to the snd_soc_codec_device driver model and let the I2C functions only call the SoC core function for resume and suspend, which do nothing currently but will do later. Signed-off-by: Daniel Mack Cc: Timur Tabi Signed-off-by: Mark Brown commit 13efdbecc65ef6ec4028551fb223dea5c5e3143c Merge: 61f4a10 6fd210a Author: Russell King Date: Wed Aug 5 22:10:52 2009 +0100 Merge branch 'pm-upstream/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into devel-stable commit b0a2712ffdde139f95d3e78c359877b23709509a Author: John Bonesio Date: Wed Jul 29 08:38:55 2009 -0700 ASoC: MPC5200: Support for buffer wrap around The code in psc_dma_bcom_enqueue_tx() didn't account for the fact that s->runtime->control->appl_ptr can wrap around to the beginning of the buffer. This change fixes this problem. Signed-off-by: John Bonesio Acked-by: Grant Likely Signed-off-by: Mark Brown commit cc104e52b4f61dbfe1a815f775ffb2fbbb4b785d Author: Benjamin LaHaise Date: Tue Aug 4 10:22:19 2009 +0000 vxge: Version update Update the driver version number for any bug reports from end users. Signed-off-by: Benjamin LaHaise Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit ea11bbe0c94b045fdefc05476b69a2eef999a9c4 Author: Benjamin LaHaise Date: Tue Aug 4 10:21:57 2009 +0000 vxge: prefetch skb->data This patch implements prefetching of skb->data from a copy of the pointer in the descriptor (which is already in the L1 cache at this point). This improves netperf rx performance (netperf -L 0,0 -c -H 192.168.254.2 -- -M 131072 -m 131072) by 4.9% on a P4 Xeon host. Signed-off-by: Benjamin LaHaise Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 3f23e436d241ac1cf50a659228a5a0e1e6572c1a Author: Benjamin LaHaise Date: Tue Aug 4 10:21:39 2009 +0000 vxge: prefetch RxD descriptors This patch prefetches RxD descriptors which helps to lower the latency of a cache miss in vxge_hw_ring_rxd_next_completed. This lowers the % of CPU time used by vxge_hw_ring_rxd_next_completed() where the descriptor is accessed in profiling netperf on a P4 Xeon from 1.5% to 1.0%. Signed-off-by: Benjamin LaHaise Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit ff1b974cf30b282f90993ab658e59b73c152c0b8 Author: Benjamin LaHaise Date: Tue Aug 4 10:21:21 2009 +0000 vxge: improve tx performance by using mmiowb() instead of wmb() wmb() is extremely heavy on x86. The semantics required in the driver are provided by mmiowb(), so use that and improve tx performance on P4 Xeons by 5-10%. Signed-off-by: Benjamin LaHaise Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit ff67df55f6bde9de5e508bf1f09509c843accd54 Author: Benjamin LaHaise Date: Tue Aug 4 10:21:03 2009 +0000 vxge: fix pktgen hangs (don't abuse skb->cb[]) This patch fixes a case in the transmit completion code which was resulting in pktgen hanging at the end of a run. The cause is due to the fact that the ->cb[] area of an skb cannot be used in a network driver's transmit path, as that area belongs to the network protocol. Pktgen hangs, as it sends out the same packet multiple times, and vxge's use of this area of the skb for a temporary list can only add the packet to the temporary list once (while it may be on the queue many times). The fix is to remove this abuse of skb->cb[]. Instead, skb pointers are placed into a temporary stack array, and then free outside of the tx lock. This retains the smp optimization of doing dev_kfree_skb() outside of the tx lock. Signed-off-by: Benjamin LaHaise Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 4403b371888d5947ed08200ee6351441a188a5c7 Author: Benjamin LaHaise Date: Tue Aug 4 10:20:44 2009 +0000 vxge: don't drop frame on tx queue full The vxge driver will drop a packet in its transmit function if the number of TxDs available hits 0. Instead of doing that, simply stop the transmit queue when transmitting a packet with the last available TxD. Signed-off-by: Benjamin LaHaise Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 36e89d73e54c8db79d0fd1636cab9236eea7aae9 Author: Lucy Liu Date: Wed Aug 5 13:06:34 2009 -0700 ixgbe: allow vlan egress priority mapping in DCB mode The skb priority to vlan-qos egress mapping that can be configured using set_egress_map with vconfig is overriden by the DCB code in the driver. This patch allows this existing mechanism to work and will increase the configuration flexibility of DCB mode on Linux. A hierarchy of configuration is: 1. Modifies the ixgbe_select_queue() routine for DCB mode to return the priority value from the VLAN tag. It will normally be zero, unless the egress priority map has modified it. This will get packets into the correct queue and result in the queue_mapping field being set correctly. 2. Any tc filter which modifies queue_mapping will be honored, as the filters are handled after the vlan egress map is handled. Signed-off-by: Lucy Liu Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 14074eab8dcaa7f66d8f52612b2dcec51222bb5f Author: sarveshwarb Date: Wed Aug 5 13:05:24 2009 -0700 be2net: Patch to perform function reset at initialization This patch is a bug fix to avoid system going into a bad state when driver is loaded in context of kdump kernel. The patch fixes the issue by performing a soft reset of pci function at probe time. Signed-off-by: sarveshwarb Signed-off-by: David S. Miller commit 0d6038ee76f2e06b79d0465807f67e86bf4025de Author: Jan Engelhardt Date: Tue Aug 4 07:28:29 2009 +0000 net: implement a SO_DOMAIN getsockoption This sockopt goes in line with SO_TYPE and SO_PROTOCOL. It makes it possible for userspace programs to pass around file descriptors — I am referring to arguments-to-functions, but it may even work for the fd passing over UNIX sockets — without needing to also pass the auxiliary information (PF_INET6/IPPROTO_TCP). Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 49c794e94649020248e37b78db16cd25bad38b4f Author: Jan Engelhardt Date: Tue Aug 4 07:28:28 2009 +0000 net: implement a SO_PROTOCOL getsockoption Similar to SO_TYPE returning the socket type, SO_PROTOCOL allows to retrieve the protocol used with a given socket. I am not quite sure why we have that-many copies of socket.h, and why the values are not the same on all arches either, but for where hex numbers dominate, I use 0x1029 for SO_PROTOCOL as that seems to be the next free unused number across a bunch of operating systems, or so Google results make me want to believe. SO_PROTOCOL for others just uses the next free Linux number, 38. Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit c1c00ab8626298ac784ea344bf10e94b5bd9bcb5 Author: Dhananjay Phadke Date: Wed Aug 5 07:34:09 2009 +0000 netxen: add hardware LRO support Add support to handle aggregate packets from firmware. Local TCP flows are automatically identified by firmware based on the dest IP hash added by driver for local IP addresses. The packets are sent down on the jumbo rx ring. Signed-off-by: Narender Kumar Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 06db58c0cd92e157a4ccf2b6836c9f4b931c7cda Author: Dhananjay Phadke Date: Wed Aug 5 07:34:08 2009 +0000 netxen: remove unnecessary structures Remove unnecessary offsetof calulations on these structures: netxen_board_info, netxen_user_old_info, netxen_new_user_info. The offsets into the flash are fixed, don't need to be calculated. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 545eb370087494dcf267e6285fe3aa20e5617c33 Author: Dhananjay Phadke Date: Wed Aug 5 07:34:07 2009 +0000 netxen: fix vlan tso case Fix the calculation of remaining header length in TSO over vlan device case. This was inadvertently missed out in patch 028afe719855a157e32450c ("netxen: add vlan tx acceleration support"). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 839b04c4aba91dd175f60f45712680126fdc88f7 Author: Florian Fainelli Date: Tue Aug 4 11:17:49 2009 +0000 cpmac: unmark as broken Starting with version 0.5.1, cpmac is no longer broken. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 4e43af323a669a977fcb35f1127c57480ebf7265 Author: Florian Fainelli Date: Tue Aug 4 10:53:00 2009 +0000 cpmac: bump version to 0.5.1 Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit e4540aa94f9b3e75528d9091524e7d82a0650f10 Author: Florian Fainelli Date: Tue Aug 4 10:52:57 2009 +0000 cpmac: wait longer after MDIO reset This patch slows down the MDIO_ALIVE busy waiting to let switches and PHY come up after reset. Previous loop was too quick for IC+175C and ADM6996C/L switches to come up. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 76e61eaa55e33ea51205fad633393d1ae10311c5 Author: Florian Fainelli Date: Tue Aug 4 10:52:52 2009 +0000 cpmac: add support for fixed PHY This patch adds support for fixed PHY connected in MII mode to cpmac. We allow external and dumb_switch module parameters to override the PHY detection process since they are always connected with MDIO bus identifier 0. This lets fixed PHYs to be detected correctly and be connected to the their corresponding MDIO bus identifier. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 1e2c8d830a74c24ccb25601bd89dcd0dbcb4e9f5 Author: Florian Fainelli Date: Tue Aug 4 10:52:47 2009 +0000 ar7: add fixed PHY support for the two on-board cpmac This patch adds fixed PHY support for the two on-chip cpmac Ethernet adapters. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit d76c626b922e279c7764ec46fb1b9bbd41538f35 Author: Florian Fainelli Date: Tue Aug 4 10:52:41 2009 +0000 cpmac: fix wrong MDIO bus identifier This patch fixes the wrong MDIO bus identifier which was set to 0 unconditionaly, suitable for external switches while it is actually 1 for PHYs different than external switches which are autodetected. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 36cbd3dcc10384f813ec0814255f576c84f2bcd4 Author: Jan Engelhardt Date: Wed Aug 5 10:42:58 2009 -0700 net: mark read-only arrays as const String literals are constant, and usually, we can also tag the array of pointers const too, moving it to the .rodata section. Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 4bc4c9a5f5206d795e9ee1af8b0b074d126354af Author: Mark Brown Date: Tue Aug 4 11:38:42 2009 +0100 ASoC: Existing S3C24xx AC97 drivers should depend on S3C24xx Signed-off-by: Mark Brown commit ce69a784504222c3ab6f1b3c357d09ec5772127a Author: Gleb Natapov Date: Mon Jul 20 15:24:17 2009 +0300 x86/apic: Enable x2APIC without interrupt remapping under KVM KVM would like to provide x2APIC interface to a guest without emulating interrupt remapping device. The reason KVM prefers guest to use x2APIC is that x2APIC interface is better virtualizable and provides better performance than mmio xAPIC interface: - msr exits are faster than mmio (no page table walk, emulation) - no need to read back ICR to look at the busy bit - one 64 bit ICR write instead of two 32 bit writes - shared code with the Hyper-V paravirt interface Included patch changes x2APIC enabling logic to enable it even if IR initialization failed, but kernel runs under KVM and no apic id is greater than 255 (if there is one spec requires BIOS to move to x2apic mode before starting an OS). -v2: fix build -v3: fix bug causing compiler warning Signed-off-by: Gleb Natapov Acked-by: Suresh Siddha Cc: Sheng Yang Cc: "avi@redhat.com" LKML-Reference: <20090720122417.GR5638@redhat.com> Signed-off-by: Ingo Molnar commit cbdcf80d8b9486ddb699a044c6f87f25821708cb Author: Steffen Klassert Date: Wed Aug 5 19:35:34 2009 +1000 crypto: authenc - Convert to ahash This patch converts authenc to the new ahash interface. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 9910887af84e33ba98fd6792029470ae80166208 Author: Cyrill Gorcunov Date: Thu Jul 23 00:52:59 2009 +0400 x86, apic: Drop redundant bit assignment cpu_has_apic has already investigated boot_cpu_data X86_FEATURE_APIC bit for being clear if condition is triggered. So there is no need to clear this bit second time. Signed-off-by: Cyrill Gorcuno v Cc: "Maciej W. Rozycki" LKML-Reference: <20090722205259.GE15805@lenovo> Signed-off-by: Ingo Molnar commit a7428cd2ef77734465e36bceb43290e37e2a97c6 Author: Cyrill Gorcunov Date: Sat Aug 1 11:48:00 2009 +0400 x86, ioapic: Throw BUG instead of NULL dereference Instead of plain NULL deref we better throw error message with a backtrace. Actually we need more gracious error handling here. Meanwhile leave it as is. Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org LKML-Reference: <20090801075435.769301745@openvz.org> Signed-off-by: Ingo Molnar commit 2977fb3ffc8493a2f4f0a362e8660a6cde9f1bb9 Author: Cyrill Gorcunov Date: Sat Aug 1 11:47:59 2009 +0400 x86, ioapic: Introduce for_each_irq_pin() helper This allow us to save a few lines of code. Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org LKML-Reference: <20090801075435.597863129@openvz.org> Signed-off-by: Ingo Molnar commit dd0d5443da02b091636e967407805f0b7712fd44 Author: Dmitry Torokhov Date: Wed Aug 5 00:30:26 2009 -0700 Input: serio - don't use serio->write() directly We have a nice wrapper for that. Signed-off-by: Dmitry Torokhov commit c46dd1eb9a4f1b8c1bb597a75199e3d34fb7b43b Author: Paul Fox Date: Wed Aug 5 00:30:31 2009 -0700 Input: hgpk - forced recalibration for the OLPC touchpad The OLPC XO laptop incorporates a combination touchpad/tablet device which unfortunately requires frequent recalibration. The driver will force this automatically when various suspicious behaviors are observed, and the user can recalibrate manually (with a special keyboard sequence). There's currently no way, however, for an external program to cause recalibration. We can not use the reconnect capability which is already available in /sys because full reset of the touchpad takes 1.1 - 1.2 secons which is too long. This patch creates a new node in /sys which, when written with '1', will force a touchpad recalibration; no other writes (or reads) of this node are supported. Signed-off-by: Paul Fox Acked-by: Andres Salomon Signed-off-by: Dmitry Torokhov commit 94aa9b9ab09922cfd3bf52806f3ede9cde1ce300 Merge: b7f3158 ba3139f Author: Dave Airlie Date: Wed Aug 5 17:28:35 2009 +1000 Merge git://git.infradead.org/~dwmw2/iommu-agp into agp-next commit ba3139f2577eee24479db73b8dfc7d78eaf4c486 Author: David Woodhouse Date: Wed Aug 5 08:12:40 2009 +0100 intel-agp: Set dma mask for i915 If DMAR is configured in but absent, we really do want to make sure that the dma mask is set appropriately. Otherwise we get mapping failures on highmem. Spotted by Zhenyu Wang. Signed-off-by: David Woodhouse commit cf5f439b48f82c230dcd81d0061e00664cbb6d39 Author: Richard Röjfors Date: Tue Aug 4 22:34:10 2009 -0700 Input: tsc2007 - check if I2C communication works during probe Check the result when sending the power down command to the controller. Signed-off-by: Richard Röjfors Signed-off-by: Dmitry Torokhov commit d570e9ef84e559b09e729f27f5381b6868f6cc5f Author: Dmitry Torokhov Date: Tue Aug 4 22:07:26 2009 -0700 Input: tsc2007 - make get_pendown_state platform callback optional In cases when get_pendown_state callback is not available have the driver to fallback on pressure calculation to determine if the pen is up. Signed-off-by: Dmitry Torokhov commit db71789c01ae7b641f83c5aa64e7df25122f4b28 Author: David S. Miller Date: Tue Aug 4 20:32:16 2009 -0700 xfrm6: Fix xfrm6_policy.c build when SYSCTL disabled. Same as how Randy Dunlap fixed the ipv4 side of things. Signed-off-by: David S. Miller commit f816700aa9ef1b1e2f984f638cb211e79dcab495 Author: Randy Dunlap Date: Tue Aug 4 20:18:33 2009 -0700 xfrm4: fix build when SYSCTLs are disabled Fix build errors when SYSCTLs are not enabled: (.init.text+0x5154): undefined reference to `net_ipv4_ctl_path' (.init.text+0x5176): undefined reference to `register_net_sysctl_table' xfrm4_policy.c:(.exit.text+0x573): undefined reference to `unregister_net_sysctl_table Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit b7f315842830d67081642248a3757c713b6b6684 Merge: 90bc1a6 6a12235 Author: Dave Airlie Date: Wed Aug 5 10:16:57 2009 +1000 Merge git://git.infradead.org/~dwmw2/iommu-agp into agp-next commit 6b4f645a491ac29c7dced415d034eea7736155a6 Author: Luis R. Rodriguez Date: Mon Aug 3 13:51:49 2009 -0700 ath9k: fix compile warning on ath9k_hw_AR9287_check_eeprom() CC [M] drivers/net/wireless/ath/ath9k/eeprom.o drivers/net/wireless/ath/ath9k/eeprom.c: In function ‘ath9k_hw_AR9287_check_eeprom’: drivers/net/wireless/ath/ath9k/eeprom.c:2866: warning: comparison of distinct pointer types lacks a cast Cc: Vivek Natarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e3b90ca28412fb9dcc8c5ca38e179e78fec07eee Author: Igor Perminov Date: Tue Aug 4 16:48:51 2009 +0400 mac80211: FIF_PSPOLL filter flag When an interface is configured in the AP mode, the mac80211 implementation doesn't inform the driver to receive PS Poll frames. It leads to inability to communicate with power-saving stations reliably. The FIF_CONTROL flag isn't passed by mac80211 to ieee80211_ops.configure_filter when an interface is in the AP mode. And it's ok, because we don't want to receive ACK frames and other control ones, but only PS Poll ones. This patch introduces the FIF_PSPOLL filter flag in addition to FIF_CONTROL, which means for the driver "pass PS Poll frames". This flag is passed to the driver: A) When an interface is configured in the AP mode. B) In all cases, when the FIF_CONTROL flag was passed earlier (in addition to it). Signed-off-by: Igor Perminov Signed-off-by: John W. Linville commit e48e3a2f17f189deb086ff221e489e7fd8ec4302 Author: Luis R. Rodriguez Date: Fri Jul 24 20:47:33 2009 -0400 ath9k: cancel xmit poll work at stop() callback We forgot to cancel this work at the stop() callback. ------------[ cut here ]------------ WARNING: at net/mac80211/util.c:511 ieee80211_queue_delayed_work+0x3a/0x40 [mac80211]() Hardware name: 6460DWU queueing ieee80211 work while going to suspend Modules linked in: <-- snip --> Pid: 5124, comm: phy0 Tainted: G W 2.6.31-rc3-wl #4 Call Trace: [] ? ieee80211_queue_delayed_work+0x3a/0x40 [mac80211] [] warn_slowpath_common+0x78/0xd0 [] warn_slowpath_fmt+0x64/0x70 [] ? thread_return+0x3e/0x635 [] ieee80211_queue_delayed_work+0x3a/0x40 [mac80211] [] ath_tx_complete_poll_work+0xc0/0x100 [ath9k] [] ? ath_tx_complete_poll_work+0x0/0x100 [ath9k] [] worker_thread+0x178/0x260 [] ? autoremove_wake_function+0x0/0x40 [] ? worker_thread+0x0/0x260 [] kthread+0x9e/0xb0 [] child_rip+0xa/0x20 [] ? kthread+0x0/0xb0 [] ? child_rip+0x0/0x20 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d7e7d229c7d1395283e1e1fda8727af60ca6f4ad Author: Luis R. Rodriguez Date: Mon Aug 3 23:14:12 2009 -0400 ath9k: add initial hardware support for ar9271 We will finalize this after some driver core changes, for now we leave this unsupported. Cc: Stephen Chen Cc: Zhifeng Cai Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 670388c5f56383e1d5b9f4f7fc835a280487754e Author: Luis R. Rodriguez Date: Mon Aug 3 23:14:11 2009 -0400 ath9k: add initvals and registry definitions for AR9271 Cc: Stephen Chen Cc: Zhifeng Cai Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit edb1f9152f1f346381336554674f5d443fc5f473 Author: Luis R. Rodriguez Date: Mon Aug 3 23:14:10 2009 -0400 ath9k: add ar9271 revision and subrevision ID helpers These will be used later to add support for ar9271. Cc: Stephen Chen Cc: Zhifeng Cai Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 475f5989d4dc359046521cdfe9869cabf8c9fce9 Author: Luis R. Rodriguez Date: Mon Aug 3 17:31:25 2009 -0400 ath9k: Remove _t postfix for ar9287_eeprom structure We don't use typdefs on ath9k, remove that _t. Cc: Vivek Natarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 39068d1c2810077377fc2ffcfbe380bfbed696cb Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:56 2009 -0700 ath9k: remove spurious check for channel on keycache reset ath9k_hw_keyreset() has a spurious check for ah->curchan.. remove it. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2f69ffacb303bba274b126eabd3a3ed011b2d35d Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:55 2009 -0700 ath9k: remove dangling error check on keycache reset on hw init The keycache reset will not fail as right above we ensure to set the sc->keymax to be <= ah->caps.keycache_size. Just remove this dangling check. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 95fafca26dc317b7ea0667c57576b0b5389f5bef Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:54 2009 -0700 ath9k: call ath9k_hw_detach() once upon hw init failure If hw initialization fails (ath9k_hw_init()) on ath_init_softc() we bail out and call ath9k_hw_detach(). The call ath9k_hw_detach() is conditional though as ath9k_hw_init() could itself have called ath9k_hw_detach(). Just describing this is itself a brain twister. Avoid this nonsense by removing ath9k_hw_detach() from ath9k_hw_init(). Upon hw initialization failure we expect the callers to take care of the cleanup. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3ce1b1a949ae849fb73556867e60977a65ca3141 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:53 2009 -0700 ath9k: set sc->sc_ah to NULL after freeing it Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9db6b6a25fd829a0d29480785ac0770a1e76f9a4 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:52 2009 -0700 ath9k: set ah to null after freeing Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e70c0cfdbf98384d9ce0b7a7332b6e60ec22ad54 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:51 2009 -0700 ath9k: rename ath9k_hw_ani_detach() to ath9k_hw_ani_disable() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 081b35ab2e98a2f76d0378219e91cd1c90aed55f Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:50 2009 -0700 ath9k: rename ath9k_hw_rfdetach() to ath9k_hw_rf_free() This makes it clear what this does. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6b827529058d6d479f31b281a9ec630f7b6841e1 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:49 2009 -0700 ath9k: use helper macro to kfree and nullify on ath9k_hw_rfdetach() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 39a21951efc99e040a7d66449f63910e439b97e9 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:48 2009 -0700 ath9k: remove !NULL check before kfree() kfree(NULL) works so remove all those branches which check for it before kfree()'ing on ath9k_hw_rfdetach(). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1e40bcfa91429edb665af9ffefb2658350913d35 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:47 2009 -0700 ath9k: distinguish between device initialization and ath_softc init We re-label the device driver initialization routines from the ath_softc, the "Software Carrier" fillers. This should make it clearer what each of these do. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f637cfd6bbacbaeab329f9dfc56e9855cc15849d Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:46 2009 -0700 ath9k: describe hw initialization better During initialization ath9k tends to use "attach" to when we initialize hardware due to the fact we used to attach a "HAL". The notion of a HAL is long gone, so lets just be clear on what we are doing. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit aa4058aea24efe7aef736cbfb2d9b07de920ca27 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:45 2009 -0700 ath9k: break up hw initialization into a few more helpers This makes reading the hardware initialization process easier to understand. The new helpers added are: ath9k_hw_init_cal_settings() ath9k_hw_init_mode_regs() ath9k_hw_init_mode_gain_regs() ath9k_hw_init_11a_eeprom_fix() This patch has no functional changes. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 08e0403a1472d9fa3662369a36ccaf24c796a33e Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:44 2009 -0700 ath9k: remove debug message for no memoery on ath_init() We're now propagating the -ENOMEM error so there is no need to keep a debug message there now. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b8b0f377c762558b3773e27f73c7bbcd0fa40171 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:43 2009 -0700 ath9k: rename ath9k_hw_set_defaults() to ath9k_hw_init_config() This reflects better what we are actually doing there. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 50aca25b5824f29fa94417abadf82ee7f0c7f816 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:42 2009 -0700 ath9k: rename ath9k_hw_newstate() to ath9k_hw_init_defaults() This reflects better what we are actually doing there. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f9d4a668035b0bf65d1c8d5eba680201112f7c3d Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:41 2009 -0700 ath9k: move hw macrevision checker to helper Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 07c10c6177bdd199fead127c2a4c43acb415a5be Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:40 2009 -0700 ath9k: pass only one argument to hw attach The softc is cached and set within the ath_hw struct. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ee2bb460e28b757f097efb9e5947a6e47e2477e1 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:39 2009 -0700 ath9k: call hw initializer directly ath9k_hw_attach() was going first through some device id verifier, and then calling some other helper which was doing the real hardware initialization. Lets just do the devid checks within the real worker by calling a helper ath9k_hw_devid_supported(). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e1e2f93ffacab692823209e00a124e802039aa9a Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:38 2009 -0700 ath9k: move cache setting of softc ah prior to attach We do this in case attach and friends try to get back to ah from the softc somehow. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8df5d1b77395271dd9b75ed2b9aa9235f7589a0d Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:37 2009 -0700 ath9k: move devid cache setting to ath_init() This lets us trim one argument off of hw initializer routines. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4f3acf81f2a47244f7403353784f528c92e98a6c Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:36 2009 -0700 ath9k: move memory allocation of ath_hw to ath_init() This lets us simplify attach code and arguments passed. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7819ac84b689b61340f29af6233fa1d15b76a6ef Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:35 2009 -0700 ath9k: propagate hw initialization errors We were never propagating hw initialization errors, lets do that now and also use -EOPNOTSUPP when device revision is not supported yet. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit fbf54660d1b48fba8527aae5c628ba72feee8f83 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:34 2009 -0700 ath9k: use a switch for revising supported hw mac revisions This makes adding new hw revisions a one line change here. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ed459c18517881890193b3414a25dbfe83d2ae7f Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:33 2009 -0700 ath9k: remove usage of AR_SREV_*() wrapper to detect supported hw We will clean this up next to just use a switch. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8dadadb7e977a91b46ed3549f9d2f22a629e5043 Author: Johannes Berg Date: Tue Aug 4 09:32:23 2009 +0200 cfg80211: clear SSID on disconnect/no connection The SME state machine in cfg80211 uses the SSID stored in struct wireless_dev internally, but fails to clear it in multiple places (when giving up on a connection attempt and when disconnecting). This doesn't matter to the SME state machine, but does matter for IBSS. Thus, in those cases, clear the SSID to avoid messing up the IBSS state machine. Reported-by: Joerg Albert Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 847c1e130092240c225a7be08607a7bf4e296fbd Author: Zhu Yi Date: Mon Aug 3 14:37:03 2009 +0800 iwmc3200wifi: avoid setting default key for 802.1X and RSNA UMAC only allows us to set default key for WEP and auth type is not 802.1X or RSNA. This patch fixes iwmc3200wifi for 802.1X with WEP104. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit beda278d987cf7091302cf730c5b226d88e01c5b Author: Zhu Yi Date: Mon Aug 3 14:37:02 2009 +0800 iwmc3200wifi: set WEP key static flag correctly We should only set the static_key flag for open and legacy authentication types. It should not be set for 802.1X and TKIP. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 554503f8c9e11cbea92b7cf1e31f7e4d93ad4492 Author: Zhu Yi Date: Mon Aug 3 14:37:01 2009 +0800 iwmc3200wifi: fix set_wpa_version and set_auth_type order iwm->umac_profile->sec.flags is set by iwm_set_wpa_version and checked by iwm_set_auth_type. The patch changes the order to make the flag used correctly. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 738f0f4301587ad09b58651390b122205086b484 Author: Gábor Stefanik Date: Mon Aug 3 01:28:12 2009 +0200 b43: implement baseband init for LP-PHY <= rev1 Implement baseband init for rev.0 and rev.1 LP PHYs. Convert boardflags_hi values to defines. Implement b43_phy_copy for easier copying between registers, as needed by LP-PHY init. Signed-off-by: Gábor Stefanik Cc: Michael Buesch Cc: Larry Finger Signed-off-by: John W. Linville commit d8cc8926e9b4dc2ce513ee3325bf16b4ea6d94e8 Author: Pavel Roskin Date: Sun Aug 2 14:30:15 2009 -0400 rt2x00: cancel all work on disconnect Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 117839bd1251dc654938c529c95c7611ac260351 Author: Pavel Roskin Date: Sun Aug 2 14:30:02 2009 -0400 rt61pci: fix module reloading Unloading rt61pci can leave the device in such state that reloading rt61pci would fail to reinitialize it. Bogus data would be read from the EEPROM and the RF version won't be recognized. It appears that unloading rt61pci with power saving enabled would have such effect. To initialize the device properly, SOFT_RESET_CSR should be set to the same value as rt61pci_config_ps() uses to wake up the device. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit c1be5152860218dffea6a47cff5ea31a56c6cff5 Author: Larry Finger Date: Sat Aug 1 22:32:48 2009 -0500 b43legacy: Work around mac80211 race condition As shown in http://thread.gmane.org/gmane.linux.kernel.wireless.general/36497, mac80211 has a bug that allows a call to the TX routine after the queues have been stopped. This situation will only occur under extreme stress. Although b43legacy does not crash when this condition occurs, it does generate a WARN_ON and also logs a queue overrun message. This patch recognizes b43legacy is not at fault and logs a message only when the most verbose debugging mode is enabled. In the unlikely event that the queue is not stopped when the DMA queue becomes full, then a warning is issued. This patch is based on the one used by b43. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3ad201496badddd8e1cda87ee6d29e8b3b8e1279 Author: Tomas Winkler Date: Sun Aug 2 02:36:49 2009 +0300 rfkill: add the GPS radio type Althoug GPS is a technology w/o transmitting radio and thus not a primary candidate for rfkill switch, rfkill gives unified interface point for devices with wireless technology. The input key is not supplied as it is too be deprecated. Cc: johannes@sipsolutions.net Signed-off-by: Tomas Winkler Acked-by: Marcel Holtmann Signed-off-by: John W. Linville commit 87cdb9894b9367237f25e5a4c381eb8e594e782b Author: Julia Lawall Date: Sat Aug 1 21:50:31 2009 +0200 drivers/net/wireless: Use DIV_ROUND_CLOSEST The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d but is perhaps more readable. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 2c8d51048f6a54aabe2e15278210cb07288e17bb Author: Maithili Hinge Date: Fri Jul 31 20:02:19 2009 -0700 libertas: Fix WEP association failure with open source wpa_supplicant 0.5.10 Add code to handle IW_AUTH_PRIVACY_INVOKED and IW_AUTH_RX_UNENCRYPTED_EAPOL cases in lbs_set_auth() function in libertas code. Signed-off-by: Maithili Hinge Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit abdc2d62be335b85091e8f74081336563277a163 Author: Jay Sternberg Date: Fri Jul 31 14:28:09 2009 -0700 iwlwifi: remove duplicated version info from sysfs version info in sysfs had been determined to be unnecessary as it is already provided in syslog info. nvm version is added to syslog version info as a debug level message to provide all info that was in the version sysfs data. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a11c4d000b84f7f49ebefc018c24bbfa3c9c0f3b Author: Wey-Yi Guy Date: Fri Jul 31 14:28:08 2009 -0700 iwlwifi: remove deprecated 6000 series adapters Remove the support for deprecated devices. These devices are engineering samples and no longer supported by the uCode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 65b7998a9be418482493e9448bb83ff2914ed050 Author: Wey-Yi Guy Date: Fri Jul 31 14:28:07 2009 -0700 iwlwifi: Distinguish power amplifier for 6000 series For 6x00 2x2 NIC, two types of Power Amplifier are available. In order for uCode to apply correct tx power, driver needs to program the CSR_GP_DRIVER_REG register and let uCode know the type of PA. If driver do not program CSR_GP_DRIVER_REG register (default to 0), then it is uCode's decision for tx power 2x2 Hybrid card: use both internal and external PA 2x2 IPA(Internal Power Amplifier) card: internal PA only Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8ce73f3abd064081706cc337c771378fc4431ef3 Author: Daniel C Halperin Date: Fri Jul 31 14:28:06 2009 -0700 iwlwifi: clear iwl_cmd_meta structure before use Resolve an issue in which out-dated fields in iwl_cmd_meta could be used for later hardware commands. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 92ca8d437fdbb482752534885d86af264897da85 Author: gregor kowski Date: Fri Jul 31 22:35:49 2009 +0200 b43: remove wrong probe_resp_plcp write The tkip hw support uncovered a bug in b43_write_probe_resp_template : it is writing at the wrong shm offset, it is in the B43_SHM_SH_TKIPTSCTTAK zone. This patch comments these writes. Signed-off-by: Gregor Kowski Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit f62ae6cd887a184d6923037d588b5b2466aa2a97 Author: Michael Buesch Date: Fri Jul 31 20:51:41 2009 +0200 b43: Fix unaligned 32bit SHM-shared access This fixes unaligned 32bit SHM-shared read/write access. The low and high 16 bits were swapped. It also adds a testcase for this to the chipaccess validation. (Thanks to Albert Herranz for tracking down this bug.) Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 88d89526a671ba008f59456161b0c513cdfb5d5a Author: Andrey Yurovsky Date: Fri Jul 31 11:35:19 2009 -0700 libertas: check valid bits in SPI bus mode reg The SPI driver writes to the bus mode register and performs a sanity check by reading back what we wrote, however only the lower four bits of that register are defined. In some cases, the device side seems to set the higher bits, causing us to fail the sanity check unnecessarily. Check only the lower four bits instead. Thanks to John Goyette from Schick Technologies for pointing out the problem. Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit d1c5091f23fed5195271e2849f89017d3a126521 Author: Maxim Levitsky Date: Fri Jul 31 18:54:23 2009 +0300 mac80211: Increase timeouts for station polling Do a probe request every 30 seconds, and wait for probe response, half a second This should lower the traffic that card sends, thus save power Wainting longer for response makes probe more robust against 'slow' access points Signed-off-by: Maxim Levitsky Acked-by: Johannes Berg Tested-by: Marcel Holtmann Signed-off-by: John W. Linville commit a43abf293965230c93a4b74e5d10b9d60b153ab4 Author: Maxim Levitsky Date: Fri Jul 31 18:54:12 2009 +0300 mac80211: Retry probe request few times Retry 5 times (chosen arbitary ), before assuming that station is out of range. Fixes frequent disassociations while connected to weak, and sometimes even strong access points. Signed-off-by: Maxim Levitky Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 75e6c3b72b3ab01c47629f3fbd0fed4e6550bf3a Author: Johannes Berg Date: Fri Jul 31 11:18:13 2009 +0200 cfg80211: lower dynamic PS timeout to 100ms The default of 500ms is pretty high, and leads to the device being awake at least 50% of the time under such light traffic conditions as a simple 1 second interval ping. Reduce to just 100ms -- it should have a similar effect while providing a better sleep time. Signed-off-by: Johannes Berg Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 97cad51e191919b43aabdc85b83241b66c3fcf2c Author: Luis R. Rodriguez Date: Thu Jul 30 21:37:27 2009 -0400 iwlwifi: remove usage of orig_flags This is a private flag, internal to cfg80211. cfg80211 will set orig_* stuff internally upon wiphy registration, drivers do not need to muck with it. Signed-off-by: Luis R. Rodriguez Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 8b19e6ca3bac7e04e93fb73f561d670e77c5fae6 Author: Luis R. Rodriguez Date: Thu Jul 30 17:38:09 2009 -0700 cfg80211: enable country IE support to all cfg80211 drivers Since the bss is always set now once we are connected, if the bss has its own information element we refer to it and pass that instead of relying on mac80211's parsing. Now all cfg80211 drivers get country IE support, automatically and we reduce the call overhead that we had on mac80211 which called this upon every beacon and instead now call this only upon a successfull connection by a STA on cfg80211. Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit abc7381bcca6ce9dc101f112a13e14957bfbda7e Author: Luis R. Rodriguez Date: Thu Jul 30 17:38:08 2009 -0700 cfg80211: decouple regulatory variables from cfg80211_mutex We change regulatory code to be protected by its own regulatory mutex and alleviate cfg80211_mutex to only be used to protect cfg80211_rdev_list, the registered device list. By doing this we will be able to work on regulatory core components without having to have hog up the cfg80211_mutex. An example here is we no longer need to use the cfg80211_mutex during driver specific wiphy_apply_custom_regulatory(). We also no longer need it for the the country IE regulatory hint; by doing so we end up curing this new lockdep warning: ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.31-rc4-wl #12 ------------------------------------------------------- phy1/1709 is trying to acquire lock: (cfg80211_mutex){+.+.+.}, at: [] regulatory_hint_11d+0x32/0x3f0 [cfg80211] but task is already holding lock: (&ifmgd->mtx){+.+.+.}, at: [] ieee80211_sta_work+0x108/0x10f0 [mac80211] which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #3 (&ifmgd->mtx){+.+.+.}: [] __lock_acquire+0xd76/0x12b0 [] lock_acquire+0xe3/0x120 [] mutex_lock_nested+0x44/0x350 [] ieee80211_mgd_auth+0x108/0x1f0 [mac80211] [] ieee80211_auth+0x13/0x20 [mac80211] [] __cfg80211_mlme_auth+0x1b1/0x2a0 [cfg80211] [] cfg80211_mlme_auth+0x86/0xc0 [cfg80211] [] nl80211_authenticate+0x21d/0x230 [cfg80211] [] genl_rcv_msg+0x1b6/0x1f0 [] netlink_rcv_skb+0x89/0xb0 [] genl_rcv+0x29/0x40 [] netlink_unicast+0x29d/0x2b0 [] netlink_sendmsg+0x214/0x300 [] sock_sendmsg+0x107/0x130 [] sys_sendmsg+0x189/0x320 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff -> #2 (&wdev->mtx){+.+.+.}: [] __lock_acquire+0xd76/0x12b0 [] lock_acquire+0xe3/0x120 [] mutex_lock_nested+0x44/0x350 [] cfg80211_netdev_notifier_call+0x1a4/0x390 [cfg80211] [] notifier_call_chain+0x3f/0x80 [] raw_notifier_call_chain+0x11/0x20 [] dev_open+0x10a/0x120 [] dev_change_flags+0x9d/0x1e0 [] devinet_ioctl+0x6fe/0x760 [] inet_ioctl+0x94/0xc0 [] sock_ioctl+0x6a/0x290 [] vfs_ioctl+0x31/0xa0 [] do_vfs_ioctl+0x8a/0x5c0 [] sys_ioctl+0x99/0xa0 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff -> #1 (&rdev->mtx){+.+.+.}: [] __lock_acquire+0xd76/0x12b0 [] lock_acquire+0xe3/0x120 [] mutex_lock_nested+0x44/0x350 [] cfg80211_get_dev_from_ifindex+0x60/0x90 [cfg80211] [] get_rdev_dev_by_info_ifindex+0x6f/0xa0 [cfg80211] [] nl80211_set_interface+0x3b/0x260 [cfg80211] [] genl_rcv_msg+0x1b6/0x1f0 [] netlink_rcv_skb+0x89/0xb0 [] genl_rcv+0x29/0x40 [] netlink_unicast+0x29d/0x2b0 [] netlink_sendmsg+0x214/0x300 [] sock_sendmsg+0x107/0x130 [] sys_sendmsg+0x189/0x320 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff other info that might help us debug this: 3 locks held by phy1/1709: #0: ((wiphy_name(local->hw.wiphy))){+.+.+.}, at: [] worker_thread+0x19d/0x340 #1: (&ifmgd->work){+.+.+.}, at: [] worker_thread+0x19d/0x340 #2: (&ifmgd->mtx){+.+.+.}, at: [] ieee80211_sta_work+0x108/0x10f0 [mac80211] Reported-by: Reinette Chatre Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4b44c8bc4d077f1a7a9e5e946a1400c3cbcadee7 Author: Luis R. Rodriguez Date: Thu Jul 30 17:38:07 2009 -0700 cfg80211: do not iterate over rdev list on country IE hint Simplify the country IE hint code by just bailing out if a previous country IE has been issued. We currently just trust the first AP we connect to on any card. The idea was to perform conflict resolution within this routine but since we can no longer iterate over the registered device list here we leave conflict resolution to be dealt with at a later time on the workqueue. This code has no functional changes other than saving us an interation over the registered device list when a second card is connected, or you unplug and connect the same one, and a country IE is received. This would have been done upon every beacon received. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9828b0170eef541c3fa583caa0134dadbb1d3ea6 Author: Luis R. Rodriguez Date: Thu Jul 30 17:38:06 2009 -0700 cfg80211: use goto out on country IE reg hint failure This has no functional changes. Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 056508dcb6890586745aa937e779f00fde05531b Author: Johannes Berg Date: Thu Jul 30 21:43:55 2009 +0200 mac80211: fix powersave Some of the recent MLME rework I did broke powersave because the ps_sdata isn't assigned at the right time, and the work item wasn't removed from the list before calling ieee80211_recalc_ps(). To be more specific, this broke the case where you'd enabled PS before associating, either automatically or with iwconfig. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b7cfc5b35eed2fe8a5c45793e6e52ef0edddc824 Author: Jussi Kivilinna Date: Thu Jul 30 19:42:08 2009 +0300 rndis_wlan: rework key handling Organize key data in private structure better and store WPA keys, so they can be restored as WEP keys. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 9d40934e5e28314731d4b32acd2fdf5fb805a3ed Author: Jussi Kivilinna Date: Thu Jul 30 19:42:03 2009 +0300 rndis_wlan: add missing padding to struct rndis_80211_remove_key OID_802_11_REMOVE_KEY failed with invalid length error, add missing padding to structure fix this. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 030645aceb3d9f10b1c3d2231c50f5a8bb3a9667 Author: Jussi Kivilinna Date: Thu Jul 30 19:41:58 2009 +0300 rndis_wlan: handle 802.11 indications from device Add handling for 802.11 specific rndis indications. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 2a4901bcbe9c122bd56e1f6c337fcb4ad75fafb7 Author: Jussi Kivilinna Date: Thu Jul 30 19:41:52 2009 +0300 rndis_host: allow rndis_wlan to see all indications Allow rndis_wlan to see all indications. Currently rndis_host lets rndis_wlan to know about link state changes only, but there is whole set of other 802.11-specific indications that rndis_wlan should handle properly. So rename link_change() to indication() and convert rndis_wlan to use it. Signed-off-by: Jussi Kivilinna Cc: David Brownell Signed-off-by: John W. Linville commit 27b7b5c131a1df6701a96e10d1056de8e3b15aa9 Author: Jussi Kivilinna Date: Thu Jul 30 19:41:47 2009 +0300 rndis_wlan: add rndis_set/query_oid debugging Add better debugging for failed OID queries. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit e5a11a822e1758b05b987e3a5041ef1029aa6cec Author: Jussi Kivilinna Date: Thu Jul 30 19:41:42 2009 +0300 rndis_wlan: set current packet filter to zero on stop Set current packet filter to zero to block receiving data packets from device. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 7eaab7086c3a313d76c217f98bc610c523d9bc2c Author: Jussi Kivilinna Date: Thu Jul 30 19:41:37 2009 +0300 rndis_wlan: reset device and restore multicast list on rndis_wlan_reset() Reset device properly with RNDIS_MSG_RESET in rndis_wlan_reset() and restore multicast list afterwards. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 005ba2f17e68b4da6a2c2c01c826294beac50415 Author: Jussi Kivilinna Date: Thu Jul 30 19:41:31 2009 +0300 rndis_wlan: clear cfg80211 scan on rndis_wlan_stop() Scanning gets stuck if device is stopped when scan is active. Fix by clearing/aborting cfg80211 scan on rndis_wlan_stop(). Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 110736de938b5bfdd63c86166e355d3f16115f6a Author: Jussi Kivilinna Date: Thu Jul 30 19:41:26 2009 +0300 rndis_wlan: stop workers on rndis_wlan_stop() and restore on rndis_wlan_reset() Driver doesn't need to poll statistics/link status when stopped. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 1487cd5e76337555737cbc55d7d83f41460d198f Author: Jussi Kivilinna Date: Thu Jul 30 19:41:20 2009 +0300 usbnet: allow "minidriver" to prevent urb unlinking on usbnet_stop rndis_wlan devices freeze after running usbnet_stop several times. It appears that firmware freezes in state where it does not respond to any RNDIS commands and device have to be physically unplugged/replugged. This patch lets minidrivers to disable unlink_urbs on usbnet_stop through new info flag. Signed-off-by: Jussi Kivilinna Cc: David Brownell Signed-off-by: John W. Linville commit e40cbdac0629402a4cb0c3bca0cc19ab7a00e00d Author: Johannes Berg Date: Thu Jul 30 14:04:01 2009 +0200 cfg80211: fix NETDEV_UNREGISTER notifier It's possible to get the NETDEV_UNREGISTER callback multiple times (see net/core/dev.c:netdev_wait_allrefs) and this will completely mess up our cleanup code. To avoid that, clean up only when the interface is still on the wiphy interface list from which it's removed on the first NETDEV_UNREGISTER call. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e46ab7f0886143846d8da2ca06c2b0e245f34dc6 Author: Johannes Berg Date: Thu Jul 30 11:58:16 2009 +0200 iwlwifi: don't export symbols not needed in other modules Even with the split into iwlcore/agn/3945 not all symbols that cross file boundaries are needed in other modules, a few are only used within iwlcore, for example. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 42935ecaf4e784d0815afa9a7e5fe7e141157ca3 Author: Luis R. Rodriguez Date: Wed Jul 29 20:08:07 2009 -0400 mac80211: redefine usage of the mac80211 workqueue The mac80211 workqueue exists to enable mac80211 and drivers to queue their own work on a single threaded workqueue. mac80211 takes care to flush the workqueue during suspend but we never really had requirements on drivers for how they should use the workqueue in consideration for suspend. We extend mac80211 to document how the mac80211 workqueue should be used, how it should not be used and finally move raw access to the workqueue to mac80211 only. Drivers and mac80211 use helpers to queue work onto the mac80211 workqueue: * ieee80211_queue_work() * ieee80211_queue_delayed_work() These helpers will now warn if mac80211 already completed its suspend cycle and someone is trying to queue work. mac80211 flushes the mac80211 workqueue prior to suspend a few times, but we haven't taken the care to ensure drivers won't add more work after suspend. To help with this we add a warning when someone tries to add work and mac80211 already completed the suspend cycle. Drivers should ensure they cancel any work or delayed work in the mac80211 stop() callback. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 64344d78228f6346a0462ba2d5fc03494aef4e6b Author: Luis R. Rodriguez Date: Wed Jul 29 14:20:41 2009 -0700 at76c50x-usb: remove unneeded flush_workqueue() at usb disconnect This driver only uses the mac80211 workqueue and mac80211 requires us to cancel all work at driver stop. Since we now have the cancels in the right places at stop() we really don't need to flush the mac80211 workqueue so remove it. Signed-off-by: Luis R. Rodriguez Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 8784d2ee92fc835bf18dd5096f00ec9a48dc0590 Author: Bob Copeland Date: Wed Jul 29 17:32:28 2009 -0400 ath5k: fix CAB queue operation We need to process tx descriptors for all queues (currently main tx queue and cabq) which may have triggered the TX completion interrupt. Otherwise, the queues can get stuck after sending a few frames. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 7e2ce646fc0acc99837f73d39528493e146d1dcc Author: Holger Schurig Date: Tue Jul 28 16:34:26 2009 +0200 orinoco: enable cfg80211 "set_channel" operation Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 91b092d73435489d7336f94e927d96224b26c9a8 Author: Luis R. Rodriguez Date: Mon Jul 27 16:52:10 2009 -0700 ar9170: remove EXPERIMENTAL marker Cc: Christian Lamparter Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 18c6951091eca7645005a71b556106cc99a6f4b1 Author: Larry Finger Date: Wed Jul 29 10:54:06 2009 -0500 b43: Work around mac80211 race condition As shown in http://thread.gmane.org/gmane.linux.kernel.wireless.general/36497, mac80211 has a bug that allows a call to the TX routine after the queues have been stopped. This situation will only occur under extreme stress. Although b43 does not crash when this condition occurs, it does generate a WARN_ON and also logs a queue overrun message. This patch recognizes b43 is not at fault and logs a message only when the most verbose debugging mode is enabled. In the unlikely event that the queue is not stopped when the DMA queue becomes full, then a warning is issued. During testing of this patch with one output stream running repeated tcpperf writes and a second running a flood ping, this routine was entered with the DMA ring stopped about once per hour. The condition where the DMA queue is full but the ring has not been stopped has never been seen by me. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit ae6f53f25f9803212d1985b5eb5a03111f439c24 Author: Bob Copeland Date: Wed Jul 29 10:29:03 2009 -0400 ath5k: update PCU opmode whenever a new interface is added Previously, we would store the operating mode at interface up time, but only update the PCU registers when the next reset happened. The result is that if beacon configuration (ops->bss_info_changed) happens before ops->config, we will program the wrong things into the timer registers. Consequently, beacons won't work in AP mode until after a reset (channel change, scan etc.). This is fragile anyway so just program the opmode as soon as mac80211 gives it to us. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 57c9fff3d0c5d77bc7910717faeca4e8a018b1ee Author: Johannes Berg Date: Wed Jul 29 15:46:21 2009 +0200 mac80211: fix sparse warnings/errors sparse complains about a shadowed variable, which we can just rename, and lots of stuff if the API tracer is enabled, so kick out the tracer code in a sparse run -- the macros just confuse it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0b3acfa71a50a1fa1fcee528aa15404ea4ea0877 Author: Vasanthakumar Thiagarajan Date: Wed Jul 29 15:05:23 2009 +0530 ath9k: Remove unused ath9k_hw_intrget() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 3fc0fbf407967fa8def04d019316553c9ca133e2 Author: Vasanthakumar Thiagarajan Date: Wed Jul 29 15:05:22 2009 +0530 ath9k: Maintain monotonicity of PER while going across different phy Monotonicity of packet error rate should be kept when moving from one phy to another (legacy to ht, ht single stream to dual, etc). Current code skips updating per for other phys. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 42e8856092be1db40bd4ae01406d2aaddf4e66fc Author: Vasanthakumar Thiagarajan Date: Wed Jul 29 15:05:21 2009 +0530 ath9k: Update rate control for 11NA HT40 mode Now the lowest rate in 11na ht40 mode is 13.5Mbps this shortens the range when compared to 11na ht20 mode where the lowest rate is 6.5Mbps. To improve the range, make 6.5Mbps as the lowest rate in 11na ht40 mode, this improves the range by approximately 2dB. 11ng ht40 does not have this issue as it also has basic rates (1, 2, 5.5 and 11). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit df7fc0f9735085bb617fff774bfd71465edb448c Author: Johannes Berg Date: Wed Jul 29 11:23:49 2009 +0200 cfg80211: keep track of current_bss for userspace SME When a userspace SME is active, we're currently not keeping track of the BSS properly for reporting the current link and for internal use. Additionally, it looks like there is a possible BSS leak in that the BSS never gets removed from auth_bsses[]. To fix it, pass the BSS struct to __cfg80211_connect_result in this case. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 97af743207466ff8b477e14bfb7af0ba2c93375b Author: Bob Copeland Date: Wed Jul 29 10:13:03 2009 +0200 mac80211: disable beacons before removing the associated interface When downing interfaces, it's a good idea to tell the driver to stop sending beacons; that way the driver doesn't need special code in ops->remove_interface() when it should already handle the case in bss_info_changed(). This fixes a potential crash with at least ath5k since the vif pointer will be nullified while beacon interrupts are still active. Signed-off-by: Bob Copeland Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ad2f34b41fd6e2b84c896ccf321d5de0a7c7cd52 Author: Ivo van Doorn Date: Tue Jul 28 18:58:54 2009 +0200 rt2x00: Fix build error when crypto support is disabled When only rt2400pci or rt2500pci is compiled without any of the other rt2x00 modules, then CONFIG_RT2X00_LIB_CRYPTO will not be enabled. However rt2x00mac_set_tim() implemented within #ifdef CONFIG_RT2X00_LIB_CRYPTO statements while the declaration is placed outside the definition. This results in linking errors as reporte by Ken. rt2x00_set_tim() has nothing to do with crypto, and thus should be moved outside of the #ifdef statements. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 33172899a9d922b04081e12dced3ae474d46d620 Author: Luis R. Rodriguez Date: Tue Jul 28 08:03:42 2009 -0700 rt2x00: move experimental on kconfig only to rt2800usb These drivers have been around for a while, if there are issues they should be reported. rt2800usb is still a bit flaky though. Signed-off-by: Luis R. Rodriguez Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3e6404528c95e3439f478e1d28353e77f6d9c188 Author: Luis R. Rodriguez Date: Mon Jul 27 16:56:15 2009 -0700 wireless: use menuconfig for WLAN_PRE80211 and WLAN_80211 This should make it very clear which are pre-802.11 or not Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 75323fa3dec54abb0bcba8ce6b4994020af210ca Author: Luis R. Rodriguez Date: Mon Jul 27 16:52:09 2009 -0700 ath5k: remove EXPERIMENTAL marker Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 44b7dd6dde1b80a94e5c0d01ecbc8097f52aa2dc Author: Luis R. Rodriguez Date: Mon Jul 27 16:52:08 2009 -0700 ath: use menuconfig to put ath stuff in its own page Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b820b3bcb02a97091b969faf2b5f19f1218953f9 Author: Luis R. Rodriguez Date: Mon Jul 27 16:52:07 2009 -0700 ath: simplify kconfig dependency and add documentation Make atheros wireless drivers visible when you select "Atheros wirless drivers". Adds links to ath.ko page, and Atheros drivers page on the wiki. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d17734aee6383ff5e1720b3f01c014c0a9db40d5 Author: Luis R. Rodriguez Date: Mon Jul 27 16:52:06 2009 -0700 ath: depend on cfg80211 The ath.ko module itself depends on cfg80211 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dd21dcdc65a182222666199ec4cea188a11cb5d2 Author: Luis R. Rodriguez Date: Mon Jul 27 16:10:22 2009 -0700 wext: remove extra return on wireless_nlevent_init() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e351cfbf4e6ccd8bf32555748a49dba5bc93fcb0 Author: Luis R. Rodriguez Date: Mon Jul 27 12:51:37 2009 -0700 ar9170: remove unneeded flush_workqueue() cancel_delayed_work_sync() and cancel_work_sync() are already being used therefore already waiting for all pending work by the driver to have been completed, no need to flush the mac80211 workqueue. Cc: Christian Lamparter Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9ed21d390166ceb89e011d3dbd277475ff2f33c4 Author: Luis R. Rodriguez Date: Mon Jul 27 11:56:24 2009 -0700 at76c50x-usb: cancel scan work at stop callback This should fix suspend as mac80211 expects all work queued to the mac80211 workqueue to be canceled at driver stop(). Signed-off-by: Luis R. Rodriguez Acked-by: Kalle Valo Signed-off-by: John W. Linville commit ebc8ab17d69cbaec6bb345a48a2cb87047643f63 Author: Luis R. Rodriguez Date: Mon Jul 27 11:56:23 2009 -0700 ar76c50x-usb: cancel promisc work during mac80211 stop We weren't ever cancelling this. Signed-off-by: Luis R. Rodriguez Acked-by: Kalle Valo Signed-off-by: John W. Linville commit c94dbff7996b861fb0ff730bdf6eac4e2b288402 Author: Luis R. Rodriguez Date: Mon Jul 27 11:53:04 2009 -0700 ath9k: move workqueue cancels to stop callback We should be cancelling our work at the stop callback since we are borrowing the mac80211 workqueue for our work. As it stands mac80211 expects this for suspend purposes. The ath9k specific virtual wiphy stuff need only be cancelled only when the we have no secondary virtual wiphys. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 35c95ab9b5ea3a2bf69d049d5437bb831e9bddf3 Author: Luis R. Rodriguez Date: Mon Jul 27 11:53:03 2009 -0700 ath9k: move cancel_delayed_work_sync() out of ath_deinit_leds() We do this as we'll be moving the cancel elsewhere later. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9851bad7a3ab601b8b5b156119a7d0fd15b47fa3 Author: Luis R. Rodriguez Date: Mon Jul 27 11:53:02 2009 -0700 ath9k: re-order cancelling of work on mac80211 workqueue ath9k uses the mac80211 workqueue for 4 different types of work: * Led blink work * TX hang monitoring work * internal wiphy schedular work * channel change work done for internal wiphy schedular Since the internal wiphy schedular can end up kicking off some channel channel change work we should first cancel the wiphy schedular work and then the channel change work. The TX hang work can be cancelled second since we're going down anyway. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4da163ab0a224590f3cae67c1d54ae8c428f6223 Author: Johannes Berg Date: Mon Jul 27 20:28:40 2009 +0200 mac80211: disable software retry for now Pavel Roskin reported a problem that seems to be due to software retry of already transmitted frames. It turns out that we've never done that correctly, but due to some recent changes it now crashes in the TX code. I've added a comment in the patch that explains the problem better and also points to possible solutions -- which I can't implement right now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 990a55eb25d9698d61352264cc43f3a9c04cce90 Author: Jiri Slaby Date: Fri Jul 31 00:02:06 2009 +0200 irq: Clean up by removing irqfixup MODULE_PARM_DESC() It's wrong (the parm takes no arguments) and compile-time wiped away anyway (due to !MODULE). Signed-off-by: Jiri Slaby LKML-Reference: <1248991326-26267-1-git-send-email-jirislaby@gmail.com> Signed-off-by: Ingo Molnar commit 4680e64a88c4ce2c4e736dade99233e3def13fa7 Author: Andrew Morton Date: Tue Jun 23 12:36:08 2009 -0700 arch/x86/oprofile/op_model_amd.c: fix op_amd_handle_ibs() return type arch/x86/oprofile/op_model_amd.c: In function 'op_amd_handle_ibs': arch/x86/oprofile/op_model_amd.c:217: warning: no return statement in function returning non-void Fix this by making op_amd_handle_ibs() return void. Cc: Robert Richter Signed-off-by: Andrew Morton Signed-off-by: Robert Richter commit cc6db4e60116c1f76577b6850a35ae7de69a95b6 Author: Darren Hart Date: Fri Jul 31 16:20:10 2009 -0700 futex: Correct futex_wait_requeue_pi() commentary The state machine described in the comments wasn't updated with a follow-on fix. Address that and cleanup the corresponding commentary in the function. Signed-off-by: Darren Hart Cc: Peter Zijlstra Cc: Steven Rostedt Cc: Thomas Gleixner LKML-Reference: <4A737C2A.9090001@us.ibm.com> Signed-off-by: Ingo Molnar commit 54a0bf3c2cad3fd118ea725f26a493aece6ea01d Author: Robert Richter Date: Tue Aug 4 15:52:38 2009 +0200 Revert "x86: oprofile/op_model_amd.c set return values for op_amd_handle_ibs()" This reverts commit 21e70878215f620fe99ea7d7c74bc641aeec932f. Instead Andrew's patch will be applied he posted at the same time. Signed-off-by: Robert Richter commit 5b0f437df0a3e374d26ad533eb78fe64744f55a8 Author: Bart Van Assche Date: Thu Jul 30 19:00:53 2009 +0200 workqueues: Improve schedule_work() documentation Two important aspects of the schedule_work() function are not yet documented: - that it is allowed to pass a struct work_struct * to this function that is already on the kernel-global workqueue; - the meaning of its return value. The patch below documents both aspects. Signed-off-by: Bart Van Assche Cc: "Greg Kroah-Hartman" Cc: Andrew Morton LKML-Reference: <200907301900.54202.bart.vanassche@gmail.com> Signed-off-by: Ingo Molnar commit c7bd0414d681706a32105895cae20fb9090db52e Author: Frans Pop Date: Thu Jul 23 20:56:27 2009 +0200 x86: Simplify the Makefile in a minor way through use of cc-ifversion Signed-off-by: Frans Pop Acked-by: Sam Ravnborg Reviewed-by: WANG Cong LKML-Reference: <200907232056.28635.elendil@planet.nl> Signed-off-by: Ingo Molnar commit 16ffe32c773dab387cfc5e6bdf181367ff944376 Author: Takashi Iwai Date: Tue Aug 4 13:40:54 2009 +0200 ALSA: hda - Fix line-out jack handling with STAC/IDT codec When the line-out jack is plugged/unplugged, the driver needs to check the headphone plug, not only the line-out jack itself. Otherwise the headphone or the speaker may be wrongly muted/unmuted. As a result, both STAC_HP_EVENT and STAC_LO_EVENT need to call the same function, stac92xx_hp_detect(). Signed-off-by: Takashi Iwai commit bdf977b37418cdf8a2252504779a7e12a09b7575 Author: Tejun Heo Date: Mon Aug 3 14:12:19 2009 +0900 x86, percpu: Collect hot percpu variables into one cacheline On x86_64, percpu variables current_task and kernel_stack are used for get_current() and current_thread_info() respectively and thus are often used close to each other. Move definition of current_task to kernel/cpu/common.c right above kernel_stack definition and align it to cacheline so that they always fall into the same cacheline. Two percpu variables defined there together - irq_stack_ptr and irq_count - are also pretty hot and will benefit from sharing the cacheline. For consistency, current_task definition for x86_32 is also moved to kernel/cpu/common.c. Putting current_task and kernel_stack into the same cacheline was suggested by Linus Torvalds. Signed-off-by: Tejun Heo Cc: Linus Torvalds Cc: Ingo Molnar Signed-off-by: H. Peter Anvin commit 3e352aa8ee2bd48f1a19c7742810b3a4a7ba605e Author: Tejun Heo Date: Mon Aug 3 14:10:11 2009 +0900 x86, percpu: Fix DECLARE/DEFINE_PER_CPU_PAGE_ALIGNED() DECLARE/DEFINE_PER_CPU_PAGE_ALIGNED() put percpu variables in .page_aligned section without adding any alignment restrictions. Currently, this doesn't cause any problem because all users of the macros have explicit page alignment and page-sized but it's much safer to enforce page alignment from the macros. After all, it's what they claim to do. Add __aligned(PAGE_SIZE) to DECLARE/DEFINE_PER_CPU_PAGE_ALIGNED() and drop explicit alignment from it users. Signed-off-by: Tejun Heo Cc: Ingo Molnar Signed-off-by: H. Peter Anvin commit ed8d9adf357ec331603fa1049510399812cea7e5 Author: Linus Torvalds Date: Mon Aug 3 14:08:48 2009 +0900 x86, percpu: Add 'percpu_read_stable()' interface for cacheable accesses This is very useful for some common things like 'get_current()' and 'get_thread_info()', which can be used multiple times in a function, and where the result is cacheable. tj: Added the magical undocumented "P" modifier to UP __percpu_arg() to force gcc to dereference the pointer value passed in via the "p" input constraint. Without this, percpu_read_stable() returns the address of the percpu variable. Also added comment explaining the difference between percpu_read() and percpu_read_stable(). Signed-off-by: Linus Torvalds Signed-off-by: Tejun Heo Signed-off-by: H. Peter Anvin commit 27ded041f03026e8c6be9efc626e11ddfb4620c1 Author: Mark Brown Date: Fri Jul 10 23:28:16 2009 +0100 ASoC: Factor out 7 bit register 9 bit data SPI write This converts all the Wolfson drivers using this format (the only devices that do) except WM8753 to use it. Signed-off-by: Mark Brown commit 8d50e447d19fec64adebeef55f2b60d695435412 Author: Mark Brown Date: Fri Jul 10 23:12:01 2009 +0100 ASoC: Factor out I/O for Wolfson 8 bit data 16 bit register CODECs Signed-off-by: Mark Brown commit afa2f1066e7288a9e4f8e3fda277da245219dffc Author: Mark Brown Date: Fri Jul 10 23:11:24 2009 +0100 ASoC: Factor out I2C 8 bit address 16 bit data I/O As part of this refactoring the type of the CODEC hw_read operation is changed to match the regular read operation. Signed-off-by: Mark Brown commit 7084a42b965d972079201414d19a399e65b26099 Author: Mark Brown Date: Fri Jul 10 22:24:27 2009 +0100 ASoC: Add I/O control bus information to factored out cache setup While writes tend to be able to use a fairly bus independant format to do the writes reads are all bus specific. To allow us to factor out this code include the bus type as a parameter when setting up the cache. Initially just use this to factor out hw_write_t for I2C. Signed-off-by: Mark Brown commit 61f4a10cb4e9447a85245c63b3e7f46e09299fed Merge: 412bb0a 78a1a6d Author: Russell King Date: Mon Aug 3 16:41:55 2009 +0100 Merge branch 'omap4_upstream' of git://dev.omapzoom.org/pub/scm/santosh/kernel-omap4-base into devel-stable commit 15cfa2b3db8b64d4e66d36fb88d21bae9ea3dfba Author: Takashi Iwai Date: Mon Aug 3 14:23:33 2009 +0200 ALSA: hda - Fix line-out jack detection The commit fefd67f31ee7f5259344e36a237d59b47e8715cf ALSA: hda - Add line-out jack detection on IDT/STAC codecs enabled wrong pins for jack detections. Fixed to the correct ones. Signed-off-by: Takashi Iwai commit af1057abd7d5f97e17ab96e34d1920746188ddcb Author: Julia Lawall Date: Mon Aug 3 11:57:20 2009 +0100 ARM: 5635/1: Use DIV_ROUND_CLOSEST The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d but is perhaps more readable. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 6a12235c7d2d75c7d94b9afcaaecd422ff845ce0 Author: David Woodhouse Date: Wed Jul 29 10:25:58 2009 +0100 agp: kill phys_to_gart() and gart_to_phys() There seems to be no reason for these -- they're a 1:1 mapping on all platforms. Signed-off-by: David Woodhouse commit f692775d7e0a22477143cd884e45c955448ac7d2 Author: David Woodhouse Date: Wed Jul 29 09:28:45 2009 +0100 intel-agp: fix sglist allocation to avoid vmalloc() Signed-off-by: David Woodhouse commit 91b8e3056bf9107b688eb076c9b804171364db71 Author: David Woodhouse Date: Wed Jul 29 08:49:12 2009 +0100 intel-agp: Move repeated sglist free into separate function Signed-off-by: David Woodhouse commit c2980d8c2961113f24863f70d8ad016f55224c81 Author: David Woodhouse Date: Wed Jul 29 08:39:26 2009 +0100 agp: Switch agp_{un,}map_page() to take struct page * argument Signed-off-by: David Woodhouse commit 56ec4c1e72865c6d99f643b6574e6e074c3e8823 Author: David Woodhouse Date: Mon Jul 27 16:44:32 2009 +0100 agp: tidy up handling of scratch pages w.r.t. DMA API Signed-off-by: David Woodhouse commit 176616814d700f19914d8509d9f65dec51a6ebf7 Author: Zhenyu Wang Date: Mon Jul 27 12:59:57 2009 +0100 intel_agp: Use PCI DMA API correctly on chipsets new enough to have IOMMU When graphics dma remapping engine is active, we must fill gart table with dma address from dmar engine, as now graphics device access to graphics memory must go through dma remapping table to get real physical address. Add this support to all drivers which use intel_i915_insert_entries() Signed-off-by: Zhenyu Wang Signed-off-by: David Woodhouse commit ff663cf8705bea101d5f73cf471855c85242575e Author: Zhenyu Wang Date: Thu Jul 23 17:25:49 2009 +0100 agp: Add generic support for graphics dma remapping New driver hooks for support graphics memory dma remapping are introduced in this patch. It makes generic code can tell if current device needs dma remapping, then call driver provided interfaces for mapping and unmapping. Change has also been made to handle scratch_page in remapping case. Signed-off-by: Zhenyu Wang Signed-off-by: David Woodhouse commit 2a4ceb6d3e6a566cb4a9dc8f974177f031d27cd7 Author: David Woodhouse Date: Mon Jul 27 10:27:29 2009 +0100 agp: Switch mask_memory() method to take address argument again, not page In commit 07613ba2 ("agp: switch AGP to use page array instead of unsigned long array") we switched the mask_memory() method to take a 'struct page *' instead of an address. This is painful, because in some cases it has to be an IOMMU-mapped virtual bus address (in fact, shouldn't it _always_ be a dma_addr_t returned from pci_map_xxx(), and we just happen to get lucky most of the time?) Signed-off-by: David Woodhouse commit 47cab6a722d44c71c4f8224017ef548522243cf4 Author: Ingo Molnar Date: Mon Aug 3 09:31:54 2009 +0200 debug lockups: Improve lockup detection, fix generic arch fallback As Andrew noted, my previous patch ("debug lockups: Improve lockup detection") broke/removed SysRq-L support from architecture that do not provide a __trigger_all_cpu_backtrace implementation. Restore a fallback path and clean up the SysRq-L machinery a bit: - Rename the arch method to arch_trigger_all_cpu_backtrace() - Simplify the define - Document the method a bit - in the hope of more architectures adding support for it. [ The patch touches Sparc code for the rename. ] Cc: Paul E. McKenney Cc: Peter Zijlstra Cc: Andrew Morton Cc: Linus Torvalds Cc: "David S. Miller" LKML-Reference: <20090802140809.7ec4bb6b.akpm@linux-foundation.org> Signed-off-by: Ingo Molnar commit 51840409b6c928eead140157d4e9fc267f50caf9 Author: Lubomir Rintel Date: Sun Aug 2 18:14:44 2009 +0200 ALSA: pcm - Tell user that stream to be rewound is suspended Return STRPIPE instead of EBADF when userspace attempts to rewind of forward a stream that was suspended in meanwhile, so that it can be recovered by snd_pcm_recover(). This was causing Pulseaudio to unload the ALSA sink module under a race condition when it attempted to rewind the stream right after resume from suspend, before writing to the stream which would cause it to revive the stream otherwise. Tested to work with Pulseaudio patched to attempt to snd_pcm_recover() upon receiving an error from snd_pcm_rewind(). Signed-off-by: Lubomir Rintel Signed-off-by: Takashi Iwai commit e44d4e4cee1ece7b6e6bf4db899b1a7766015306 Merge: 559059b 4b35d2c Author: Takashi Iwai Date: Mon Aug 3 08:37:17 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 559059b27f1768e89adc204f3ba2cb82882c15ca Author: Wu Fengguang Date: Sun Aug 2 16:48:55 2009 +0800 ALSA: hda: add IbexPeak/Clarkdale HDMI model with static cvt/pin number The new IbexPeak HDMI codec has 3 pin nodes and 2 converter nodes. Here we assume only the first ones will be used. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit e4c4e448cf557921ffbbbd6d6ddac81fdceacb4f Author: Eric Dumazet Date: Thu Jul 30 03:15:07 2009 +0000 neigh: Convert garbage collection from softirq to workqueue Current neigh_periodic_timer() function is fired by timer IRQ, and scans one hash bucket each round (very litle work in fact) As we are supposed to scan whole hash table in 15 seconds, this means neigh_periodic_timer() can be fired very often. (depending on the number of concurrent hash entries we stored in this table) Converting this to a workqueue permits scanning whole table, minimizing icache pollution, and firing this work every 15 seconds, independantly of hash table size. This 15 seconds delay is not a hard number, as work is a deferrable one. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1e3e238e9c4bf9987b19185235cd0cdc21ea038c Author: Hannes Eder Date: Sun Aug 2 11:05:41 2009 +0000 IPVS: use pr_err and friends instead of IP_VS_ERR and friends Since pr_err and friends are used instead of printk there is no point in keeping IP_VS_ERR and friends. Furthermore make use of '__func__' instead of hard coded function names. Signed-off-by: Hannes Eder Acked-by: Simon Horman Signed-off-by: David S. Miller commit bcd218be5aebed94951a750b1d477aea86fb68ea Author: Steve Glendinning Date: Tue Jul 28 02:37:58 2009 +0000 smsc95xx: remove EEPROM loaded check The eeprom read & write commands currently check the E2P_CMD_LOADED_ bit is set before allowing any operations. This prevents any reading or writing unless a correctly programmed EEPROM is installed. This patch removes the check, so it is possible to program blank EEPROMS via ethtool. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 81e43213882e62374c1a87f9d97d4287ed9f7257 Author: Gerrit Renker Date: Tue Jul 28 09:48:07 2009 +0000 inet6: functions shadow global variable This renames away a variable clash: * ipv6_table[] is declared as a static global table; * ipv6_sysctl_net_init() uses ipv6_table to refer/destroy dynamic memory; * ipv6_sysctl_net_exit() also uses ipv6_table for the same purpose; * both the two last functions call kfree() on ipv6_table. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 8b97c7c283c5ba8f9f4dabd418fd7dcfcc8a387e Author: Julia Lawall Date: Sat Aug 1 22:48:45 2009 +0000 drivers/atm: Use DIV_ROUND_CLOSEST The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d but is perhaps more readable. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 39506a552b4b302540e1f9c6c93a122df353e57d Author: Julia Lawall Date: Sat Aug 1 09:51:06 2009 +0000 drivers/net: Use DIV_ROUND_CLOSEST The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d but is perhaps more readable. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 25f6e89bedd29cc49bfa0d55497e91a671b9ae6e Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 30 23:21:18 2009 +0200 x86: Remove superfluous NULL pointer check in destroy_irq() This takes care of the following entry from Dan's list: arch/x86/kernel/apic/io_apic.c +3241 destroy_irq(11) warning: variable derefenced before check 'desc' Reported-by: Dan Carpenter Signed-off-by: Bartlomiej Zolnierkiewicz Cc: Jonathan Corbet Cc: Eugene Teo Cc: Julia Lawall LKML-Reference: <200907302321.19086.bzolnier@gmail.com> Signed-off-by: Ingo Molnar commit 88e7b76ef7cf939a0cf23a1902030211b20837fe Author: Divy Le Ray Date: Thu Jul 30 21:23:39 2009 +0000 cxgb3: fix Gen2 pci default settings Modify control register settings to accommodate the bridge's max read requset size. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 9450526ac7bd74edf1ee030841d8078c6db6ca0b Author: Divy Le Ray Date: Thu Jul 30 21:23:34 2009 +0000 cxgb3: fix EDC filename string Fix a cut'n paste error in the AEL2020 twinax EDC file name Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 90629209a020859b67423a6326f3765f220c7f5c Author: Ming Lei Date: Sun Aug 2 21:43:36 2009 +0800 lockdep: Fix memory usage info of BFS The unit is KB, so sizeof(struct circular_queue) should be divided by 1024. Signed-off-by: Ming Lei Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Cc: davem@davemloft.net Cc: Ming Lei Cc: a.p.zijlstra@chello.nl LKML-Reference: <1249220616-7190-1-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit e351b660fddd4df76cc4635f896d311ed0ff3752 Author: Ming Lei Date: Wed Jul 22 22:48:09 2009 +0800 lockdep: Reintroduce generation count to make BFS faster We still can apply DaveM's generation count optimization to BFS, based on the following idea: - before doing each BFS, increase the global generation id by 1 - if one node in the graph has been visited, mark it as visited by storing the current global generation id into the node's dep_gen_id field - so we can decide if one node has been visited already, by comparing the node's dep_gen_id with the global generation id. By applying DaveM's generation count optimization to current implementation of BFS, we gain the following advantages: - we save MAX_LOCKDEP_ENTRIES/8 bytes memory; - we remove the bitmap_zero(bfs_accessed, MAX_LOCKDEP_ENTRIES); in each BFS, which is very time-consuming since MAX_LOCKDEP_ENTRIES may be very large.(16384UL) Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra Cc: "David S. Miller" LKML-Reference: <1248274089-6358-1-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit bb97a91e2549a7f2df9c21d32542582f549ab3ec Author: Peter Zijlstra Date: Mon Jul 20 19:15:35 2009 +0200 lockdep: Deal with many similar locks spin_lock_nest_lock() allows to take many instances of the same class, this can easily lead to overflow of MAX_LOCK_DEPTH. To avoid this overflow, we'll stop accounting instances but start reference counting the class in the held_lock structure. [ We could maintain a list of instances, if we'd move the hlock stuff into __lock_acquired(), but that would require significant modifications to the current code. ] We restrict this mode to spin_lock_nest_lock() only, because it degrades the lockdep quality due to lost of instance. For lockstat this means we don't track lock statistics for any but the first lock in the series. Currently nesting is limited to 11 bits because that was the spare space available in held_lock. This yields a 2048 instances maximium. Signed-off-by: Peter Zijlstra Cc: Marcelo Tosatti Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit f607c6685774811b8112e124f10a053d77015485 Author: Peter Zijlstra Date: Mon Jul 20 19:16:29 2009 +0200 lockdep: Introduce lockdep_assert_held() Add a lockdep helper to validate that we indeed are the owner of a lock. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 98c33eddaf41d225d99b40f9eedbd0fac4c08c05 Author: Peter Zijlstra Date: Tue Jul 21 13:19:07 2009 +0200 lockdep: Fix style nits fixes a few comments and whitespaces that annoyed me. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4f84f4330a11b9eb828bf5af557f4c79c64614a3 Author: Peter Zijlstra Date: Mon Jul 20 15:27:04 2009 +0200 lockdep: Fix backtraces Truncate stupid -1 entries in backtraces. Signed-off-by: Peter Zijlstra LKML-Reference: <1248096665.15751.8816.camel@twins> Signed-off-by: Ingo Molnar commit bcf08df3b23b3d13bf8c4ad6bd744a6ad30015fb Author: Ingo Molnar Date: Sat Apr 19 12:11:10 2008 +0200 sched: Fix cpupri build on !CONFIG_SMP This build bug: In file included from kernel/sched.c:1765: kernel/sched_rt.c: In function ‘has_pushable_tasks’: kernel/sched_rt.c:1069: error: ‘struct rt_rq’ has no member named ‘pushable_tasks’ kernel/sched_rt.c: In function ‘pick_next_task_rt’: kernel/sched_rt.c:1084: error: ‘struct rq’ has no member named ‘post_schedule’ Triggers because both pushable_tasks and post_schedule are SMP-only fields. Move pushable_tasks() to the SMP section and #ifdef the post_schedule use. Cc: Gregory Haskins Cc: Peter Zijlstra LKML-Reference: <20090729150422.17691.55590.stgit@dev.haskins.net> Signed-off-by: Ingo Molnar commit bbfa26229a8143889e95e0df4a9d69067ee836cd Author: Ingo Molnar Date: Sun Aug 2 14:44:24 2009 +0200 lockdep: Fix BFS build Fix: kernel/built-in.o: In function `lockdep_stats_show': lockdep_proc.c:(.text+0x48202): undefined reference to `max_bfs_queue_depth' As max_bfs_queue_depth is only available under CONFIG_PROVE_LOCKING=y. Cc: Ming Lei Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 693525e3bea25cf2ee6cf2b862ba7c148e891df2 Author: Peter Zijlstra Date: Tue Jul 21 13:56:38 2009 +0200 sched: Ensure the migration task doesn't go away during use Like sched_migrate_task(), set_cpus_allowed_ptr() should hold onto the migration thread too. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 8f48894fcc89ddec62e1762f73a0825793e59e91 Author: Peter Zijlstra Date: Fri Jul 24 12:25:30 2009 +0200 sched: Add debug check to task_of() A frequent mistake appears to be to call task_of() on a scheduler entity that is not actually a task, which can result in a wild pointer. Add a check to catch these mistakes. Suggested-by: Ingo Molnar Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 00aec93d10a051ea64f83eff75d4065a19508ea6 Author: Gregory Haskins Date: Thu Jul 30 10:57:23 2009 -0400 sched: Fully integrate cpus_active_map and root-domain code Reflect "active" cpus in the rq->rd->online field, instead of the online_map. The motivation is that things that use the root-domain code (such as cpupri) only care about cpus classified as "active" anyway. By synchronizing the root-domain state with the active map, we allow several optimizations. For instance, we can remove an extra cpumask_and from the scheduler hotpath by utilizing rq->rd->online (since it is now a cached version of cpu_active_map & rq->rd->span). Signed-off-by: Gregory Haskins Acked-by: Peter Zijlstra Acked-by: Max Krasnyansky Signed-off-by: Peter Zijlstra LKML-Reference: <20090730145723.25226.24493.stgit@dev.haskins.net> Signed-off-by: Ingo Molnar commit 3f029d3c6d62068d59301d90c18dbde8ee402107 Author: Gregory Haskins Date: Wed Jul 29 11:08:47 2009 -0400 sched: Enhance the pre/post scheduling logic We currently have an explicit "needs_post" vtable method which returns a stack variable for whether we should later run post-schedule. This leads to an awkward exchange of the variable as it bubbles back up out of the context switch. Peter Zijlstra observed that this information could be stored in the run-queue itself instead of handled on the stack. Therefore, we revert to the method of having context_switch return void, and update an internal rq->post_schedule variable when we require further processing. In addition, we fix a race condition where we try to access current->sched_class without holding the rq->lock. This is technically racy, as the sched-class could change out from under us. Instead, we reference the per-rq post_schedule variable with the runqueue unlocked, but with preemption disabled to see if we need to reacquire the rq->lock. Finally, we clean the code up slightly by removing the #ifdef CONFIG_SMP conditionals from the schedule() call, and implement some inline helper functions instead. This patch passes checkpatch, and rt-migrate. Signed-off-by: Gregory Haskins Signed-off-by: Peter Zijlstra LKML-Reference: <20090729150422.17691.55590.stgit@dev.haskins.net> Signed-off-by: Ingo Molnar commit c3a2ae3d93c0f10d29c071f599764d00b8de00cb Author: Steven Rostedt Date: Wed Jul 29 00:21:23 2009 -0400 sched: Add new prio to cpupri before removing old prio We need to add the new prio to the cpupri accounting before removing the old prio. This is because removing the old prio first will open a race window where the cpu will be removed from pri_active. In this case the cpu will not be visible for RT push and pulls. This could cause a RT task to not migrate appropriately, and create a very large latency. This bug was found with the use of ftrace sched events and trace_printk. Signed-off-by: Steven Rostedt Signed-off-by: Peter Zijlstra LKML-Reference: <20090729042526.438281019@goodmis.org> Signed-off-by: Ingo Molnar commit da19ab510343c6496fe8b8f890091296032025c9 Author: Steven Rostedt Date: Wed Jul 29 00:21:22 2009 -0400 sched: Check for pushing rt tasks after all scheduling The current method for pushing RT tasks after scheduling only happens after a context switch. But we found cases where a task is set up on a run queue to be pushed but the push never happens because the schedule chooses the same task. This bug was found with the help of Gregory Haskins and the use of ftrace (trace_printk). It tooks several days for both of us analyzing the code and the trace output to find this. Signed-off-by: Steven Rostedt Signed-off-by: Peter Zijlstra LKML-Reference: <20090729042526.205923666@goodmis.org> Signed-off-by: Ingo Molnar commit e709715915d69b6a929d77e7652c9c3fea61c317 Author: Peter Zijlstra Date: Wed Jun 3 15:41:20 2009 +0200 sched: Optimize unused cgroup configuration When cgroup group scheduling is built in, skip some code paths if we don't have any (but the root) cgroups configured. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a5004278f0525dcb9aa43703ef77bf371ea837cd Author: Peter Zijlstra Date: Mon Jul 27 14:04:49 2009 +0200 sched: Fix cgroup smp fairness Commit ec4e0e2fe018992d980910db901637c814575914 ("fix inconsistency when redistribute per-cpu tg->cfs_rq shares") broke cgroup smp fairness. In order to avoid starvation of newly placed tasks, we never quite set the share of an empty cpu group-task to 0, but instead we set it as if there's a single NICE-0 task present. If however we actually set this in cfs_rq[cpu]->shares, that means the total shares for that group will be slightly inflated every time we balance, causing the observed unfairness. Fix this by setting cfs_rq[cpu]->shares to 0 but actually setting the effective weight of the related se to the inflated number. Signed-off-by: Peter Zijlstra LKML-Reference: <1248696557.6987.1615.camel@twins> Signed-off-by: Ingo Molnar commit 8e9ed8b02490fea577b1eb1704c05bf43c891ed7 Merge: 716a423 07903af Author: Ingo Molnar Date: Sun Aug 2 14:11:26 2009 +0200 Merge branch 'sched/urgent' into sched/core Merge reason: avoid upcoming patch conflict. Signed-off-by: Ingo Molnar commit 716a42348cdaf04534b15fbdc9c83e25baebfed5 Author: Frederic Weisbecker Date: Fri Jul 24 20:05:23 2009 +0200 sched: Fix cond_resched_lock() in !CONFIG_PREEMPT The might_sleep() test inside cond_resched_lock() assumes the spinlock is held and then preemption is disabled. This is true with CONFIG_PREEMPT but the preempt_count() doesn't change otherwise. Check by starting from the appropriate preempt offset depending on the config. Reported-by: Li Zefan Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1248458723-12146-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit c1dc0b9c0c8979ce4d411caadff5c0d79dee58bc Author: Ingo Molnar Date: Sun Aug 2 11:28:21 2009 +0200 debug lockups: Improve lockup detection When debugging a recent lockup bug i found various deficiencies in how our current lockup detection helpers work: - SysRq-L is not very efficient as it uses a workqueue, hence it cannot punch through hard lockups and cannot see through most soft lockups either. - The SysRq-L code depends on the NMI watchdog - which is off by default. - We dont print backtraces from the RCU code's built-in 'RCU state machine is stuck' debug code. This debug code tends to be one of the first (and only) mechanisms that show that a lockup has occured. This patch changes the code so taht we: - Trigger the NMI backtrace code from SysRq-L instead of using a workqueue (which cannot punch through hard lockups) - Trigger print-all-CPU-backtraces from the RCU lockup detection code Also decouple the backtrace printing code from the NMI watchdog: - Dont use variable size cpumasks (it might not be initialized and they are a bit more fragile anyway) - Trigger an NMI immediately via an IPI, instead of waiting for the NMI tick to occur. This is a lot faster and can produce more relevant backtraces. It will also work if the NMI watchdog is disabled. - Dont print the 'dazed and confused' message when we print a backtrace from the NMI - Do a show_regs() plus a dump_stack() to get maximum info out of the dump. Worst-case we get two stacktraces - which is not a big deal. Sometimes, if register content is corrupted, the precise stack walker in show_regs() wont give us a full backtrace - in this case dump_stack() will do it. Cc: Paul E. McKenney Cc: Peter Zijlstra Cc: Andrew Morton Cc: Linus Torvalds LKML-Reference: Signed-off-by: Ingo Molnar commit e33b992d1504f21a8c2173245aeca4fc2ad632ab Author: Dean Nelson Date: Fri Jul 31 09:14:03 2009 +0000 vxge: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for vxge. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit 1e3c8bd63854a620680323681f28e60a44e26f0e Author: Dean Nelson Date: Fri Jul 31 09:13:56 2009 +0000 s2io: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for s2io. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit fbc663ceeb7a48481a3b0290040528fbfd207282 Author: Dean Nelson Date: Fri Jul 31 09:13:48 2009 +0000 qlge: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for qlge. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit d6a1f83b63e6999ee9374330ea2d7924e775aff7 Author: Dean Nelson Date: Fri Jul 31 09:13:40 2009 +0000 ixgb: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for ixgb. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit c06c430dedf71a0e9180d673191b9c9368aeaa65 Author: Dean Nelson Date: Fri Jul 31 09:13:33 2009 +0000 igbvf: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for igbvf. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit 07ce50e434b62c4de05207109ecd3d615b3cce42 Author: Dean Nelson Date: Fri Jul 31 09:13:25 2009 +0000 bnx2x: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for bnx2x. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit 2ec3de26d2dc666159b79a8b9394fa00b6f414ae Author: Dean Nelson Date: Fri Jul 31 09:13:18 2009 +0000 bnx2: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for bnx2. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit 0d6ab58da0465c42f34d9d4e7d91510278183c80 Author: Dean Nelson Date: Fri Jul 31 09:13:10 2009 +0000 atl1e: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for atl1e. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit 005fb4f0330afb2916ddc3f3c4c70e4555d64758 Author: Dean Nelson Date: Fri Jul 31 09:13:02 2009 +0000 atl1c: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for atl1c. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit d9509ac1295ce2ec121333d29b8a85a9e564f817 Author: Sathya Perla Date: Mon Jul 27 22:53:30 2009 +0000 be2net: delete unnecessary code from be_cmd_POST() When the driver loads the POST stage of the card is expected to be POST_STAGE_ARMFW_RDY. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit efd2e40a8cc891e8f90e0bdde000006bd6201530 Author: Sathya Perla Date: Mon Jul 27 22:53:10 2009 +0000 be2net: some name changes for consistency be_mbox_db_ring() has been changed to be_mbox_notify() (to be consistent with be_mcc_notify()) and struct be_mcc_cq_entry changed to be_mcc_compl to be consistent with rx/tx_compl. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 5f0b849eb35d09cd2f332d5031051c1a8976c30b Author: Sathya Perla Date: Mon Jul 27 22:52:56 2009 +0000 be2net: replace some printks with dev_err()/dev_warn() And get rid of some unnecessary printks. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit eec368fb3ce3ee9e7bb042bbafb03f297d96e55e Author: Sathya Perla Date: Mon Jul 27 22:52:23 2009 +0000 be2net: remove pci_func field from be_adapter struct pci function is available as PCI_FUNC(pdev->devfn); no need for a separate field. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 8788fdc2a53cf012a43808877eaa6ac7e3c923b4 Author: Sathya Perla Date: Mon Jul 27 22:52:03 2009 +0000 be2net: get rid of be_ctrl_info struct/abstraction Currently only the be_ctrl_info struct ptr (instead of adapter) is passed to all the routines in be_cmds.c. Instead pass be_adapter ptr to allow access to all its fields. Merge the contents of struct be_ctrl_info into be_adapter. The resulting code is simpler. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit a084fcfae541abc0eeecdd73ceeb01fb2453df4e Author: Russell King Date: Sat Aug 1 16:26:03 2009 +0100 [ARM] Update mach-types Signed-off-by: Russell King commit dcb0ce1bdf39581bcd0cffc3d487fb20667977cd Author: Zhang, Yanmin Date: Thu Jul 30 11:28:11 2009 +0800 slub: change kmem_cache->align to record the real alignment kmem_cache->align records the original align parameter value specified by users. Function calculate_alignment might change it based on cache line size. So change kmem_cache->align correspondingly. Signed-off-by: Zhang Yanmin Signed-off-by: Pekka Enberg commit 0c30df6fe0bd1e3845357e793dc1bfd908751c45 Author: Sergey Matyukevich Date: Thu Jul 30 22:29:07 2009 +0100 ARM: 5632/1: Board-specific data for IDE support on afeb9260 This patch adds board-specific data for IDE support on afeb9260. Depends on #5631/1 Tested-by: Sergey Matyukevich Signed-off-by: Sergey Matyukevich Acked-by: Andrew Victor Acked-by: Sergey Lapin Signed-off-by: Russell King commit fb85205ada3fef98122a40b700ecb71efb33ae71 Author: Sergey Matyukevich Date: Thu Jul 30 22:23:24 2009 +0100 ARM: 5631/1: Platform data for CF/IDE support in AT91SAM9260 This patch adds platform data for CF/IDE support and SMC init code for AT91SAM9260 SoC. Tested-by: Sergey Matyukevich Signed-off-by: Sergey Matyukevich Acked-by: Andrew Victor Signed-off-by: Russell King commit ae45b1c618d9e645a5e1decff31b710f739745fa Author: wanzongshun Date: Fri Jul 31 02:30:32 2009 +0100 ARM: 5634/1: Add static setting cpu frequence for w90p910 platform Add static setting cpu frequence for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 897bd6a363770ced6b78f6ae8882325c7590ed8b Author: wanzongshun Date: Fri Jul 31 02:29:45 2009 +0100 ARM: 5633/1: Add wdt resource for w90p910 platform Add wdt resource for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 6d7f68a1eab3d5b3c0a6a5cf9434c77cd3a8c6ac Author: Janusz Krzysztofik Date: Wed Jul 29 13:18:53 2009 +0200 ASoC: add support for Amstrad E3 (Delta) machine This patch adds machine support for Amstrad E3 (Delta) videophone to ASoC. Created and tested against linux-2.6.31-rc3. Applies and works with linux-omap-2.6 commit 7c5cb7862d32cb344be7831d466535d5255e35ac as well. Depends on: 1) latest version of the CX20442 codec driver that exposes v253_ops structure[1], 2) patch 2/3 form this series: TTY: Add definition of a new line discipline required by Amstrad E3 (Delta) ASoC driver[2]. CPU DAI parameters best matching the codec DAI has been selected out empirically for best user experience. Board specific audio function control (with related DAPM widgets) has been modeled after empirically discovered codec capabilities. Unlike other ASoC machine drivers, this one makes use of a codec provided line discipline that is required for talking to a modem chip that can control the codec behavoiur. As the line discipline operations must call board specific bits as well, the machine driver registers its own line discipline ops, not the codec provided, and then calls those codec provided from inside its own callbacks. If some kind of a glue, like a bus over a tty, exsited that could help in runtime detection of a modem (bus adapter) over a more generic line discipline (bus driver)[3], the line discipline code could be probably designed in a more generic way. In order to work at all, this driver requires a working McBSP1. On OMAP1510 based machines (not sure if other OMAP1 variants as well), where McBSP1 is a DSP public peripheral, that means the kernel must provide basic DSP support, ie. omap_dsp_init(), in order to power up the DSP. This used to be included in linux-omap-2.6 tree up to commit 2512fd29db4eb09e82d182596304c7aaf76d2c5c. Without that, the driver would not work, ie. not shift in/out any bits over the CPU DAI[4]. This limitation is not board, but CPU specific, and may apply to other code that makes use of McBSP1/McBSP3 on affected machines. I provide an extra patch (4/3) as a temporary solution. To work correctly in playback mode, this driver requires my prevoiusly submitted patch that corrects pcm pointer calculation for OMAP1510 based machines[5] (already included in linux-2.6.31-rc3). To support codec controls, this driver requires my previously submitted patch that adds support for modem found on Amstrad Delta[6]. [1] http://mailman.alsa-project.org/pipermail/alsa-devel/2009-July/019780.html [2] http://www.spinics.net/lists/linux-serial/msg01862.html [3] http://www.spinics.net/lists/linux-serial/msg01856.html [4] http://www.spinics.net/lists/linux-omap/msg15114.html [5] http://mailman.alsa-project.org/pipermail/alsa-devel/2009-June/018950.html [6] http://www.spinics.net/lists/linux-omap/msg15432.html Credits to: Mark Underwood - for his initial, omap-alsa based sound driver for this machine, Mark Brown - for his help, patience and excellent subsytem maintainer support. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit ad120dae127f5cb14b4c4ed0b98313fb13b9c846 Author: Janusz Krzysztofik Date: Wed Jul 29 12:24:46 2009 +0200 ASoC: CX20442: push down machine independent line discipline bits This corrected patch adds machine independent line discipline code, prevoiusly exsiting inside my Amstrad Delta ASoC machine dirver, to the Conexant CX20442 codec driver. The code can be used as a standalone line discipline, or as a set of codec specific functions called from machine's line discipline callbacks. Anyway, the line discipline itself must be registered by a machine driver. Applies on top of the followup to my initial driver version: http://mailman.alsa-project.org/pipermail/alsa-devel/2009-July/019757.html Suggested by ASoC manintainer Mark Brown Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 78ed73e84d132e2d556eda90e5b76620f4390ff2 Author: Janusz Krzysztofik Date: Wed Jul 22 05:22:37 2009 +0200 TTY: Add definition of a new line discipline required by Amstrad E3 (Delta) ASoC driver This patch adds new line discipline name an number to include/linux/tty.h. The line discipline will be used by the Amstrad E3 (Delta) sound driver that will come next in this series of patches. Created against linux-2.6.31-rc3. Applies to linux-omap-2.6 commit 7c5cb7862d32cb344be7831d466535d5255e35ac as well. Signed-off-by: Janusz Krzysztofik Acked-by: Alan Cox Signed-off-by: Mark Brown commit b8e22c1fe375a8c3b3e4fd7c569cb8932607bef3 Author: Lars-Peter Clausen Date: Fri Jul 31 21:15:25 2009 +0200 ASoC: jack: Fix race in snd_soc_jack_add_gpios The irq can fire as soon as it has been requested, thus all fields accessed from within the irq handler must be initialized prior to requesting the irq. Signed-off-by: Lars-Peter Clausen Signed-off-by: Mark Brown commit 77ee09c67e051a5ebd19a53ba3945dbdc8d21b3c Author: Mark Brown Date: Fri Jul 31 18:26:51 2009 +0100 ASoC: Allow CODECs to flag invalid registers This helps CODECs with sparse register maps work better with the register cache display interface. Signed-off-by: Mark Brown commit a81655ae5a9da16a08ba14637dc6c10217e57492 Author: Eric Sandeen Date: Fri Jul 31 00:02:17 2009 -0500 xfs: bump up nr_to_write in xfs_vm_writepage VM calculation for nr_to_write seems off. Bump it way up, this gets simple streaming writes zippy again. To be reviewed again after Jens' writeback changes. Signed-off-by: Christoph Hellwig Signed-off-by: Eric Sandeen Cc: Chris Mason Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit ede58517ca93277547a0d054728c352618212d85 Author: Julia Lawall Date: Mon Jul 27 18:15:25 2009 +0200 fs/xfs: Correct redundant test bp was tested for NULL a few lines before, followed by a return, and there is no intervening modification of its value. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( *x == NULL | *x != NULL ) // Signed-off-by: Julia Lawall Acked-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 2f6d7c1b34403b97fa57473edcb6749d1db5ace3 Merge: df597ef 1e4247d Author: David S. Miller Date: Thu Jul 30 19:26:55 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit df597efb5737063497f1a4f7c996cc9aec294230 Merge: a33bc5c 0a92457 Author: David S. Miller Date: Thu Jul 30 19:22:43 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-3945.h drivers/net/wireless/iwlwifi/iwl-tx.c drivers/net/wireless/iwlwifi/iwl3945-base.c commit a33bc5c15154c835aae26f16e6a3a7d9ad4acb45 Author: Neil Horman Date: Thu Jul 30 18:52:15 2009 -0700 xfrm: select sane defaults for xfrm[4|6] gc_thresh Choose saner defaults for xfrm[4|6] gc_thresh values on init Currently, the xfrm[4|6] code has hard-coded initial gc_thresh values (set to 1024). Given that the ipv4 and ipv6 routing caches are sized dynamically at boot time, the static selections can be non-sensical. This patch dynamically selects an appropriate gc threshold based on the corresponding main routing table size, using the assumption that we should in the worst case be able to handle as many connections as the routing table can. For ipv4, the maximum route cache size is 16 * the number of hash buckets in the route cache. Given that xfrm4 starts garbage collection at the gc_thresh and prevents new allocations at 2 * gc_thresh, we set gc_thresh to half the maximum route cache size. For ipv6, its a bit trickier. there is no maximum route cache size, but the ipv6 dst_ops gc_thresh is statically set to 1024. It seems sane to select a simmilar gc_thresh for the xfrm6 code that is half the number of hash buckets in the v6 route cache times 16 (like the v4 code does). Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit b5ead1cda64336b589eb4353e00f69c818fb6603 Author: Peter Korsgaard Date: Wed Jul 1 17:47:07 2009 +0200 ARM: S3C: move timer/pwm handling from plat-s3c24xx to plat-s3c The s3c64xx devices use the same hardware core as s3c24xx, so move the timer/pwm handling to plat-s3c so it can be used by both. Signed-off-by: Peter Korsgaard Signed-off-by: Ben Dooks commit 14077ea63b5aea1db0142c1085d24aa0d11b9d36 Author: Peter Korsgaard Date: Wed Jul 1 17:47:06 2009 +0200 ARM: S3C: move s3c_device_nand from plat-s3c24xx to plat-s3c Move the s3c_device_nand platform device from plat-s3c24xx to plat-s3c, now that the nand driver also support the s3c64xx devices. Signed-off-by: Peter Korsgaard Signed-off-by: Ben Dooks commit 2896bda4824c1e4d34852e355916e34671e38a11 Author: Peter Korsgaard Date: Wed Jul 1 17:47:09 2009 +0200 ARM: S3C6410: airgoo hmt board support Add support for the Airgoo HMT (home media terminal) device. The HMT is a tablet device with a s3c6410, a 7" LCD and a number of peripheral connections. For more details of the hardware specs, see: http://article.gmane.org/gmane.linux.debian.devel.embedded/4307 Signed-off-by: Peter Korsgaard [ben-linux@fluff.org: subject rewrite] Signed-off-by: Ben Dooks commit e6d197a6954c8a9ff85727c31ca61fc1da78628a Author: Ben Dooks Date: Thu Jul 30 23:23:42 2009 +0100 ARM: S3C: CPUFREQ: Add debugfs support for cpufreq Add debugfs support for the cpufreq driver to allow information about the system state to be exported to the user. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit dfff4e95d749c414af3f7350835139103408a50d Author: Ben Dooks Date: Thu Jul 30 23:23:41 2009 +0100 ARM: S3C: CPUFREQ: Add documentation for system Add documentation for the S3C24XX style CPUFREQ driver. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit ad78759529be38d6aa062233b980095cf74aa7f0 Author: Ben Dooks Date: Thu Jul 30 23:23:40 2009 +0100 ARM: S3C2410: Add armclk for cpufreq support Add armclk for use with the cpufreq support and anything else that may want it. This clock is just a direct descendant of fclk. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit ca0b4901d8faaf98cf254e25cd2784bcb21e46d5 Author: Ben Dooks Date: Thu Jul 30 23:23:39 2009 +0100 ARM: BAST: CPUFREQ: Add board support Add board support for CPUFREQ with the Simtec BAST board registering the necessary information with the core. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit f0176794b6abc2e5239c07a58cf11b6f43d0f185 Author: Ben Dooks Date: Thu Jul 30 23:23:38 2009 +0100 ARM: S3C2410: Add S3C2410A sysdev. Add a sysdev S3C2410A sysdev to allow the differentiation of the S3C2410A from the S3C2410. This is needed for the CPUFREQ code to enable the extra features and update cpu specific information. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 140780ab5a2bc04ccff77337c3a27f3b44182a91 Author: Ben Dooks Date: Thu Jul 30 23:23:37 2009 +0100 ARM: S3C24XX: CPUFREQ: S3C2412/S3C2443 IO timing support Add IO bank timing support for S3C2412/S3C2443. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 25400036867fa7a135fca17810555400d176acaa Author: Ben Dooks Date: Thu Jul 30 23:23:36 2009 +0100 ARM: S3C2412: Update memory register mapping and definitions Update the mapping of the memory controler registers and add the missing definitions of the register block for the SSMC. The register contents definitions can be found in the pl093 header. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit e13cf03eaae3792442c401860910d40f33c89a33 Author: Ben Dooks Date: Thu Jul 30 23:23:35 2009 +0100 ARM: S3C: Update CPU register mapping practices. Currently map-base.h defines the main virtual address mappings made for all the support S3C SoC series, but does not then define any base for per-cpu mappings to be made from. Add S3C_ADDR_CPU() macro to define an virtual address as an offset from the last of the core mappings. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 78ddb2785980fc01b129c3547463266cae9c6ca9 Author: Ben Dooks Date: Thu Jul 30 23:23:34 2009 +0100 ARM: PL093: Header file for PL093 SSMC PrimeCell Header to define the standard registers for an PL093 SSMC memory controller. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 22d4239973bbd3738b3cfe6048c55f885f3f6256 Author: Ben Dooks Date: Thu Jul 30 23:23:33 2009 +0100 ARM: S3C2412: CPUFREQ: Add core support. Add core support for frequency scaling on the S3C2412 SoC. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit baf6b281cfa7259ab2d1148b879850f699520bc6 Author: Ben Dooks Date: Thu Jul 30 23:23:32 2009 +0100 ARM: OSIRIS: CPUFREQ: Add CPU frequency scaling support Add CPU frequency scalling support to the Simtec Osiris. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 0345b51c6a4bfaf6c066b8055d02116432b6a0c9 Author: Ben Dooks Date: Thu Jul 30 23:23:31 2009 +0100 ARM: S3C2440: CPUFREQ: Add crystal frequency Kconfig entries. Add entries to select the crystal to select for each different supported board. This information is then available for anything else requiring this, such as the CPUFreq PLL tables. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 78278d6a9673b487d8229dd430cacdf9964c0d3f Author: Ben Dooks Date: Thu Jul 30 23:23:30 2009 +0100 ARM: S3C2440: CPUFREQ: Add PLL tables Add PLL tables for the S3C2440. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 342e20f10294aca4097ae2a056c72a202221a75f Author: Ben Dooks Date: Thu Jul 30 23:23:29 2009 +0100 ARM: S3C2440: CPUFREQ: Add core support. Add core support for frequency scaling on the S3C2440 SoC. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 438a09e1eb01c3f0d4cddde97ed9caae652f910b Author: Ben Dooks Date: Thu Jul 30 23:23:28 2009 +0100 ARM: S3C2410: CPUFREQ: Add PLL table Add PLL table for the S3C2410 SoC. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit a24c091db988551e2c350cfde9eb80ab6e791ffb Author: Ben Dooks Date: Thu Jul 30 23:23:27 2009 +0100 ARM: S3C2410: CPUFREQ: Add core support. Add core support for frequency scaling on the S3C2410 SoC. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 831a6fcb9393960b35173fa2e0f835b710152fff Author: Ben Dooks Date: Thu Jul 30 23:23:26 2009 +0100 ARM: S3C2410: CPUFREQ: Add io-timing support. Add io-timing support for frequency scaling on the S3C2410 SoC. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 9d56c02a5a171e1fdb87f3b718b418cb0522d2b1 Author: Ben Dooks Date: Thu Jul 30 23:23:25 2009 +0100 ARM: Add S3C24XX to CPUFreq KConfig Add the S3C24XX to the main ARM CPUFreq Kconfig support list. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 89c52ed4687faca6bf0eabf6d46eaee4a14376b3 Author: Ben Dooks Date: Thu Jul 30 23:23:24 2009 +0100 ARM: Add ARCH_HAS_CPUFREQ for presence of CPUFREQ driver Add ARCH_HAS_CPUFREQ so that each machine config can select it if they have CPUFREQ driver support. This means that the CPUFREQ specific area does not need the if statement updating each time a new machine is added. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit d6fc87d3f7d236892e4d0003a07cd2b5171e5e27 Author: Ben Dooks Date: Thu Jul 30 23:23:23 2009 +0100 ARM: S3C: CPUFREQ: Move struct s3c_cpufreq_config to cpu-freq-core.h Move the structure s3c_cpufreq_config from cpu-freq.h to the less advertised cpu-freq-core.h as it is not needed by anything outside the core drivers. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit ea5fe9aedf512d20b75b7dcfd54ab99ae5c0934b Author: Ben Dooks Date: Thu Jul 30 23:23:22 2009 +0100 ARM: S3C: CPUFREQ: Documentation for cpufreq header Update arch/arm/plat-s3c/include/plat/cpu-freq.h to include kerneldoc style documentation. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 2e4ea6e8209e0c1d93c69c34c32002337b3f747e Author: Ben Dooks Date: Thu Jul 30 23:23:21 2009 +0100 ARM: S3C24XX: CPUFREQ: Add core support. Add the core of the support for enabling the CPUFreq driver on all S3C24XX based systems. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit b0e66522f4d86713b0450255210e26c4f11ee86b Author: Ben Dooks Date: Thu Jul 30 23:23:20 2009 +0100 ARM: S3C24XX: Add BWSCON per-bank information. Add definitions and an accessor macro to deal with reading bus information from S3C2410_BWSCON for any given numbered bank. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 9aada7ac047f789ffb27540cc1695989897b2dfe Author: Hannes Eder Date: Thu Jul 30 14:29:44 2009 -0700 IPVS: use pr_fmt While being at it cleanup whitespace. Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit b4076d1715b8a38138db0805a85932b3b650d583 Author: Stephen Hemminger Date: Thu Jul 30 13:16:45 2009 -0700 vlan: allow creating vlan when real device is not up There is no reason for the arbitrary restriction that device must be up to create a vlan. This patch was added to Vyatta kernel to resolve startup ordering issues where vlan's are created but real device was disabled. Note: the vlan already correctly inherits the operstate from real device; so if vlan is created and real device is marked down, the vlan is marked down. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 573dd788ccd919f90c78f971c0da124ffa4b8bff Author: Eilon Greenstein Date: Wed Jul 29 00:20:11 2009 +0000 bnx2x: Version 1.48.114-1 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 7d0446c2349da54f2967fb34d984db572fbfc6ac Author: Eilon Greenstein Date: Wed Jul 29 00:20:10 2009 +0000 bnx2x: WoL only with current MAC address In some cases with 57711E, depending on the functions unload sequence, other functions MAC address could have been used to wake the system as well. Make sure to block all but the current function if WoL is required by changing the mode to single function WoL. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c1f1a06f926acc267c62a26d5d7435a3b5c7e429 Author: Eilon Greenstein Date: Wed Jul 29 00:20:08 2009 +0000 bnx2x: Self-test kills management traffic Self test used to play with the management FIFO possibly while management was running... Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 581ce43d269bb9f9ea85d8f6e6acf68bad129740 Author: Eilon Greenstein Date: Wed Jul 29 00:20:04 2009 +0000 bnx2x: Receive traffic that maches management filtering rules Due to lack of configuration, if the BMC configures the chip to pass all broadcast/multicast traffic to it, the host will not receive it. On top of fixing it, also make sure that in promiscuous mode, the host will receive the management traffic as well. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2e6713c7662cc5ebc7346b033c404cb2f708fd51 Merge: b4093d6 658874f Author: Rafael J. Wysocki Date: Thu Jul 30 19:38:04 2009 +0200 Merge branch 'master' into for-linus commit 10233a939812450e4fe07cf529585bab5b4d99ec Author: Eric Bénard Date: Thu Jul 30 07:23:42 2009 +0100 ARM: 5630/1: Add support for Eukrea's CPUAT91 CPUAT91 is based on Atmel's AT91RM9200 with up to 16MB Strataflash, up to 128MB SDRAM and an ethernet PHY in RMII mode. Signed-off-by: Eric Benard Acked-by: Andrew Victor Signed-off-by: Russell King commit 41a353d126ca332c20cfd97683b6261992743840 Author: Eric Bénard Date: Thu Jul 30 07:20:03 2009 +0100 ARM: 5629/1: Add support for Eukrea's CPU9260 & CPU9G20 CPU9260 and CPU9G20 share the same PCB populated with either Atmel's AT91SAM9260B or AT91SAM9G20B with up to 64MB Strataflash, up to 128MB SDRAM, up to 2GB NAND and an ethernet PHY in RMII mode. Signed-off-by: Eric Benard Acked-by: Andrew Victor Signed-off-by: Russell King commit ef12379f205bed7e92434e12ddd44e62d13bebe1 Author: Hartley Sweeten Date: Wed Jul 29 22:41:06 2009 +0100 ARM: 5628/1: ep93xx: Introduce Pulse Width Modulator (PWM) driver The EP93xx features two PWMs (one on the EP9307) with the following features: * Configurable dual output * Separate input clocks for each PWM output * 16-bit resolution * Programmable pulse width (duty cycle), interval (frequency), and polarity This adds the necessary core support as well as the driver. A sysfs interface is provided to control the PWM outputs. Signed-off-by: Matthieu Crapet Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 03cb2dafcbde938ed7d01d4b952ea60e3c4e8532 Merge: d195658 3a38516 Author: Takashi Iwai Date: Thu Jul 30 18:09:04 2009 +0200 Merge branch 'topic/hda-cirrus' into topic/hda commit d195658bd785e9384d2f70937034ceb13d5e4bcc Merge: fefd67f 78735cf Author: Takashi Iwai Date: Thu Jul 30 18:08:54 2009 +0200 Merge branch 'fix/hda' into topic/hda commit fefd67f31ee7f5259344e36a237d59b47e8715cf Author: Takashi Iwai Date: Thu Jul 30 18:03:05 2009 +0200 ALSA: hda - Add line-out jack detection on IDT/STAC codecs Add the automatic mute of speakers via line-out jack plugging on STAC/IDT codecs. The feature is enabled when the HP detect is present. Signed-off-by: Takashi Iwai commit 3a38516750e176a18f76d605b401fbab2c72d648 Author: Stelian Pop Date: Thu Jul 30 14:44:27 2009 +0200 ALSA: hda - Enable HP output with Macbook Pro 5, 5 The patch below, to be applied on the latest sound-unstable-2.6.git, enables headphones output on my MacBookPro 5,5, together with the automuting feature. Here is the exact soundcard id: Vendor Id: 0x10134206 Subsystem Id: 0x106b4d00 Revision Id: 0x100301 Signed-off-by: Takashi Iwai commit a1daf67d721adfecc298132550bc2967c67f764f Merge: 3a39f83 82c4362e Author: Mark Brown Date: Thu Jul 30 13:21:38 2009 +0100 Merge branch 'gta02-audio' into for-2.6.32 commit 5207e10ed49c515e7432d0b1a7561ccc7b71f9df Author: Takashi Iwai Date: Thu Jul 30 13:09:08 2009 +0200 ALSA: hda - Integrate Digital Input Source to Input Source STAC/IDT codecs provide both "Input Source" and "Digital Input Source" controls to choose the analog input source and the digital input source. But this is far user-unfriendly. This patch merges the input source selections into one "Input Source" control. To have separate digital and analog input source controls, you can pass "separate_dmux = 1 " hint string. At the same time, this patch gets rid of analog mixer stuff that was already disabled in previous patches. Signed-off-by: Takashi Iwai commit bf677bd8fbd5dc06ead5511cf9fa76d090856c6a Author: Takashi Iwai Date: Thu Jul 30 09:24:29 2009 +0200 ALSA: hda - Fix typos of Capture controls. The commit 6479c63188290beae83ade3243b9d6eb47d394b6 ALSA: hda - Create Capture controls dynamically introduced typos of "Capture". Fixed now. Signed-off-by: Takashi Iwai commit 6732bd0d15893d20359396309adc238e0af10b58 Author: Wu Fengguang Date: Thu Jul 30 09:19:14 2009 +0200 ALSA: hda: add HP automute support to Intel ALC889/ALC889A models It auto mutes all 8-channel outputs at rear panel when the front panel headphone is connected. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit dd7714c92248943b778e8199c7dec7ef859dcac2 Author: Wu Fengguang Date: Thu Jul 30 14:36:35 2009 +0800 ALSA: hda: add 2-channel mode to Intel ALC889/ALC889A models This 2-channel mode is useful in that it will broadcast a 2-channel audio stream to all front/side/... ports. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 044824d96208c8ec4863f9c54a529e00a1f1d37c Author: Dhananjay Phadke Date: Tue Jul 28 09:10:03 2009 +0000 netxen: fix CONFIG_INET=n build Wrap dest IP hashing code with #ifdef CONFIG_INET, this feature makes no sense without INET, but other driver can still work. Signed-off-by: Dhananjay Phadke Acked-by: Randy Dunlap Signed-off-by: David S. Miller commit f3a0867b12e0cf1512c0bd0665f2339fc75ed2a8 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 29 00:04:59 2009 +0200 x86, mce: fix reporting of Thermal Monitoring mechanism enabled Early Pentium M models use different method for enabling TM2 (per paragraph 13.5.2.3 of the "Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3A: System Programming Guide, Part 1"). Tested on the affected Pentium M variant (model == 13). Signed-off-by: Bartlomiej Zolnierkiewicz Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit d0c87d1f61704ed589fc0788bedd753632340e98 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 28 23:56:37 2009 +0200 x86, mce: remove never executed code fseverities_coverage is never NULL in err_out code path. Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 419d6162c0c0103fa2f44f6691dff9cac14c650d Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 28 23:56:00 2009 +0200 x86, mce: add missing __cpuinit tags mce_cap_init() and mce_cpu_quirks() can be tagged with __cpuinit. Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Andi Kleen Signed-off-by: H. Peter Anvin commit e3346fc48204d780f92527d06df8bf6f28d603ec Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 28 23:55:09 2009 +0200 x86, mce: fix "mce" boot option handling for CONFIG_X86_NEW_MCE "mce argument mce ignored. Please use /sys" message shouldn't be printed when using "mce" boot option. Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 94699b04eddd4b247d871930431d6fa1a46c175e Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 28 23:52:54 2009 +0200 x86, mce: don't log boot MCEs on Pentium M (model == 13) CPUs On my legacy Pentium M laptop (Acer Extensa 2900) I get bogus MCE on a cold boot with CONFIG_X86_NEW_MCE enabled, i.e. (after decoding it with mcelog): MCE 0 HARDWARE ERROR. This is *NOT* a software problem! Please contact your hardware vendor CPU 0 BANK 1 MCG status: MCi status: Error overflow Uncorrected error Error enabled Processor context corrupt MCA: Data CACHE Level-1 UNKNOWN Error STATUS f200000000000195 MCGSTATUS 0 [ The other STATUS values observed: f2000000000001b5 (... UNKNOWN error) and f200000000000115 (... READ Error). To verify that this is not a CONFIG_X86_NEW_MCE bug I also modified the CONFIG_X86_OLD_MCE code (which doesn't log any MCEs) to dump content of STATUS MSR before it is cleared during initialization. ] Since the bogus MCE results in a kernel taint (which in turn disables lockdep support) don't log boot MCEs on Pentium M (model == 13) CPUs by default ("mce=bootlog" boot parameter can be be used to get the old behavior). Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 3a39f832a5699d50a6785de97c551033cc09d0ec Author: Barry Song <21cnbao@gmail.com> Date: Wed Jul 29 15:03:16 2009 +0800 ASoC: Fix checkpatch issues and typos of ad1938 codec and bf5xx-tdm dai 1. fix "line over 80 characters" checkpatch warnings 2. ‘DMA_nnBIT_MASK’ is deprecated, use DMA_BIT_MASK instead 3. fix typos Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 82c4362ee3d8a0b8797ba77222b25c7671696e2b Author: Lars-Peter Clausen Date: Wed Jul 29 16:40:19 2009 +0200 ASoC: neo1973_gta02_wm8753: Replace deprecated s3c_gpio calls with gpiolib With the s3c platform has implementing gpiolib support the s3c_gpio api has been deprecated. This patch gets rid of all s3c_gpio calls and replaces them by using gpiolib. Signed-off-by: Lars-Peter Clausen Signed-off-by: Mark Brown commit 69331fbdeede932b64a0eaea6d196beaa9c40e0f Author: Lars-Peter Clausen Date: Wed Jul 29 16:40:18 2009 +0200 ASoC: neo1973_gta02_wm8753: Replace snd_soc_cnew with snd_soc_add_controls. Signed-off-by: Lars-Peter Clausen Signed-off-by: Mark Brown commit 1e4247d457c6a42e4a05cb7dfa4e6ea1fa65c112 Author: Wey-Yi Guy Date: Mon Jul 27 13:50:15 2009 -0700 iwlwifi: debugFs to enable/disable HT40 support Add debugfs file to enable/disable HT40(40MHz) channel support. By default, 40MHz is supported if AP can support the function. By echo "1" to "disable_ht40" file, iwlwifi driver will disable the 40MHz support and only allow 20MHz channel. Because the information exchange happen during association time, so enable/disable ht40 channel only can be performed when it is not associated with AP. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 35a1e70dfe74aafa350325f79687153b9852c3f1 Author: Luis R. Rodriguez Date: Mon Jul 27 08:30:00 2009 -0700 ath9k: remove unused ATH_PCI_VERSION Our version goes by the kernel release. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a9a11622c5c742c115fad371c0397ae86dd3bb67 Author: Johannes Berg Date: Mon Jul 27 12:01:53 2009 +0200 cfg80211: self-contained wext handling where possible Finally! This is what you've all been waiting for! This patch makes cfg80211 take care of wext emulation _completely_ by itself, drivers that don't need things cfg80211 doesn't do yet don't even need to be aware of wireless extensions. This means we can also clean up mac80211's and iwm's Kconfig and make it possible to build them w/o wext now! RIP wext. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1f9298f96082692bdfe73af6fc2167f627f21647 Author: Johannes Berg Date: Mon Jul 27 12:01:52 2009 +0200 cfg80211: combine IWESSID handlers Since we now have handlers IWESSID for all modes, we can combine them into one. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 562e482265ac4d660d9f0114419591d62f44361d Author: Johannes Berg Date: Mon Jul 27 12:01:51 2009 +0200 cfg80211: combine IWAP handlers Since we now have IWAP handlers for all modes, we can combine them into one. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0e82ffe3b90bcad72cfe80e4379946b8fb0691ca Author: Johannes Berg Date: Mon Jul 27 12:01:50 2009 +0200 cfg80211: combine iwfreq implementations Until now we implemented iwfreq for managed mode, we needed to keep the implementations separate, but now that we have all versions implemented we can combine them and export just one handler. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a7bc376c858e0e724b8cb2db09b6874562d377ca Author: Johannes Berg Date: Mon Jul 27 10:33:31 2009 +0200 mac80211: verify info->control.vif is not NULL When enqueuing packets on the internal packet queue, we need to ensure that we have a valid vif pointer since that is required since the net namespace work. Add some assertions to verify this, but also don't crash is for some reason we don't end up with a vif pointer -- warn and drop the packet in all these cases. Since this code touches a number of hotpaths, it is intended to be temporary, or maybe configurable in the future, at least the bit that is in the path that gets hit for every packet, ieee80211_tx_pending(). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f9d6b402603a63b5e5b56bd7a79fa72a818be55b Author: Johannes Berg Date: Mon Jul 27 10:22:28 2009 +0200 cfg80211: fix disassoc while not associated When trying to disassociate while not associated, the kernel would crash rather than refusing the operation, fix this; Reported-by: Maxim Levitsky Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fec247c0d5bfbaa0861774ce31d515bbd48f7fce Author: Sujith Date: Mon Jul 27 12:08:16 2009 +0530 ath9k: Add debug counters for TX Location: ath9k/phy#/xmit Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0ee9c13c7c92581ab005d80795cf65897213b249 Author: Helmut Schaa Date: Sat Jul 25 17:25:51 2009 +0200 mac80211: fix an oops in ieee80211_scan_state_set_channel Fix an oops in ieee80211_scan_state_set_channel which was triggered if the last scanned channel was skipped (for example due to regulatory restrictions) by returning to the decision state after each skipped channel. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit c0b2bbd833a5a26b5a9425cb9a7eb66bbe736dd1 Author: Johannes Berg Date: Sat Jul 25 16:54:36 2009 +0200 nl80211: add missing parameter clearing Jouni and Maxim reported an oops when using wpa_supplicant -Dnl80211, which seems to be due to random data being contained in the crypto settings for the assoc() command. This seems to be due to the missing memset here, so add it -- it's certainly missing but I'm not 100% certain that it will fix the problem. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cbdec9758736c30ecbb03651b0c2915c442a5895 Author: Gabor Juhos Date: Fri Jul 24 17:27:22 2009 +0200 ath9k: get rid of unnecessary setpower calls We are using setpower routines regardless of the current power mode. Don't bother the hardware, if it is not necessary. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 96148326c4b54db5c384def1a5ab285c359d1395 Author: Gabor Juhos Date: Fri Jul 24 17:27:21 2009 +0200 ath9k: fix race with IEEE80211_CONF_PS checks There is a small window where the mac80211 changes the IEEE80211_CONF_PS flag, and then informs the driver about the change. We have a race condition if we are checking the flag in the same time. Avoid it by introducing a local variable, and using that instead of checking the IEEE80211_CONF_PS flag directly. This fix the problem reported by Luis: http://article.gmane.org/gmane.linux.kernel.wireless.general/34363 Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit ff8365ca889cb86ba5bd40fe3047d047bc632f4c Author: Alexander Beregalov Date: Fri Jul 24 11:55:44 2009 +0400 ar9170: fix build error when !CONFIG_AR9170_LEDS Fix this build error when CONFIG_AR9170_LEDS is not set drivers/net/wireless/ath/ar9170/main.c:1296: error: 'struct ar9170' has no member named 'led_work' Signed-off-by: Alexander Beregalov Signed-off-by: John W. Linville commit 11866efa9b5d6f321a2625b7f6837ba55c4c2e4b Author: John W. Linville Date: Mon Jul 27 10:56:41 2009 -0400 ray_cs: remove bogus NULL check at head of ray_get_wireless_stats Reported-by: Johannes Berg Cc: Martin Ettl Signed-off-by: John W. Linville commit 8d8b261a5c11bd043b9b0e0c7e6c49d57611e3ae Author: Johannes Berg Date: Sat Jul 25 11:58:36 2009 +0200 mac80211: fix receiving deauth Marcel reported a warning, which quite obviously comes from an oversight in the code handling deauth frames, and which resulted in multiple follow-up warnings due to this missing handling. This patch adds the missing deauth handling (telling cfg80211 about it) and also removes the follow-up warnings since they could happen due to races even if nothing is wrong. I've explained the races in the comments. Signed-off-by: Johannes Berg Reported-by: Marcel Holtmann Tested-by: Marcel Holtmann Signed-off-by: John W. Linville commit bc43b28c10855aa56f6d0bd64ec6a6d8edbcf11b Author: Johannes Berg Date: Sat Jul 25 10:54:13 2009 +0200 cfg80211: fix circular lock dependency (1) Luis reported this lockdep complaint, that he had also reported earlier but when trying to analyse I had been locking at the wrong code, and never saw the problem: (slightly abridged) ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.31-rc4-wl #6 ------------------------------------------------------- wpa_supplicant/3799 is trying to acquire lock: (cfg80211_mutex){+.+.+.}, at: [] cfg80211_get_dev_from_ifindex+0x1a/0x90 [cfg80211] but task is already holding lock: (rtnl_mutex){+.+.+.}, at: [] rtnl_lock+0x12/0x20 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (rtnl_mutex){+.+.+.}: [] __lock_acquire+0xd76/0x12b0 [] lock_acquire+0xe3/0x120 [] mutex_lock_nested+0x44/0x350 [] rtnl_lock+0x12/0x20 [] nl80211_send_reg_change_event+0x1f5/0x2a0 [cfg80211] [] set_regdom+0x28e/0x4c0 [cfg80211] -> #0 (cfg80211_mutex){+.+.+.}: [] __lock_acquire+0xe3b/0x12b0 [] lock_acquire+0xe3/0x120 [] mutex_lock_nested+0x44/0x350 [] cfg80211_get_dev_from_ifindex+0x1a/0x90 [cfg80211] [] get_rdev_dev_by_info_ifindex+0x6f/0xa0 [cfg80211] [] nl80211_set_interface+0x3b/0x260 [cfg80211] When looking at the correct code, the problem is quite obvious. I'm not entirely sure which code paths lead here, so until I can analyse it better let's just use RCU to avoid the problem. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6686d17e161dcd0dc6801bcde9e397020bf9edf7 Author: Reinette Chatre Date: Fri Jul 24 11:13:13 2009 -0700 iwlagn: fix sparse warning when compiling without debug C [M] drivers/net/wireless/iwlwifi/iwl-core.o drivers/net/wireless/iwlwifi/iwl-core.c:1341: warning: ‘iwl_dump_nic_error_log’ defined but not used Reported-by: Luis R. Rodriguez Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f7ea097d9b4e61a816c041c92548aad7c7ed7915 Author: Reinette Chatre Date: Fri Jul 24 11:13:12 2009 -0700 iwlagn: fix null pointer access during ucode load on 1000 Commit "iwlwifi: Handle new firmware file with ucode build number in header" introduced new ucode header parsing routines, but neglected to initialize these routines for 1000. The system thus goes into infinite loop trying to load ucode, failing every time with a null pointer exception as it tries to parse the header. Signed-off-by: Reinette Chatre Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit b4093d6235b7e4249616651ee328600ced48a18a Merge: d9ab771 7d3e91b Author: Rafael J. Wysocki Date: Wed Jul 29 20:28:08 2009 +0200 Merge branch 'master' into for-linus commit 71443b0b745f7d2c775c8a228e09ef2dc98d42f3 Author: Takashi Iwai Date: Wed Jul 29 18:41:29 2009 +0200 ALSA: hda - No analog mix input source as default for IDT92HD71bxx The analog mix is disabled now as default (unless "analog_mixer" hint is given), so it shoudn't appear in the digital input source as well. Signed-off-by: Takashi Iwai commit 15b4f296fce683497ecc815b2f9b6f121fb3fef8 Author: Takashi Iwai Date: Wed Jul 29 16:32:55 2009 +0200 ALSA: hda - Add missing DMUX initialization for auto-mic with STAC/IDT Added the missing initialization of DMUX connection (to analog input) for auto-mic mode with STAC/IDT codecs. Signed-off-by: Takashi Iwai commit 26a2798053519d766ddae1ca1b03c8295fddf1a8 Author: Takashi Iwai Date: Wed Jul 29 16:28:09 2009 +0200 ALSA: hda - Remove static connection in IDT 92HD71bxx We don't need any more static connection to the port F (which is often used for docking stations) since its connection is done dynamically via DAC assignment now. Signed-off-by: Takashi Iwai commit 3d21d3f7e7032619f5c5b47d3ee23bbe45de5993 Author: Takashi Iwai Date: Wed Jul 29 14:32:56 2009 +0200 ALSA: hda - Support auto-mic switching with IDT/STAC codec Support the automatic mic-switching with some devices with IDT/STAC codecs. The condition is that the device has only two inputs, one for an external mic and one for an internal mic. Signed-off-by: Takashi Iwai commit 62558ce15759ee93223132258588320967e1e521 Author: Takashi Iwai Date: Wed Jul 29 14:23:09 2009 +0200 ALSA: hda - Avoid overwrite of jack events with STAC/IDT Since only one event can be associated to a (pin) widget, it's safer to avoid the multiple mapping. This patch fixes the behavior of the STAC/IDT codec driver. Now stac_get_event() doesn't take the type argument but simply returns the first hit element. Then enable_pin_detect() checks the validity of the type, and returns non-zero only if a valid entry. The caller can call stac_issue_unsol_event() after checking the return value. Signed-off-by: Takashi Iwai commit c8489c3ed319677f23e5387fec09c844365566e8 Author: Barry Song <21cnbao@gmail.com> Date: Thu Jul 23 02:10:34 2009 +0800 ASoC: board driver to connect bf5xx with ad1938 Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 01e2ab207ca5a8edac622ab112b581d41b5eb36e Author: Barry Song <21cnbao@gmail.com> Date: Mon Jul 27 18:06:39 2009 +0800 ASoC: blackfin I2S(TDM mode) CPU DAI driver The I2S DAI driver for blackfin SPORT, but works in TDM mode. I2S is not a special case of TDM with only left and right two slots for SPORT interface. I2S coordinates with TDM in SPORT, but not a part of TDM. TDM require different hardware configuration with I2S, not only different slot number. One is "Stereo Serial Operation" mode of SPORT, the other one is "Multichannel Operation" mode. They are incompatible at the same time. Hardware and DMA description and data transfer flow are much different for I2S and TDM. Merging them as a whole will be very ugly and difficult to maintain. So we don't define a new DAI type, but give two DAI instances for standard I2S and TDM, both in I2S-family DAI type. The TDM instance still uses the I2S-family DAI type. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit b84eab08a67913581515a1184f1deedf1d54dc5d Author: Janusz Krzysztofik Date: Tue Jul 28 20:24:12 2009 +0200 ASoC: CX20442: fix issues pointed out by subsystem maintainer The patch fixes some checkpatch identified issues and adds a comment about line discipline interaction to my driver code, as requested by Mark on my inital submission (thank you Mark for applying my imperfect patch anyway). It also fixes MODULE_ALIAS mismatch as used in my machine driver. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 50c62f068ee67b5a0178855f502f4ea2ee931eed Author: Takashi Iwai Date: Tue Jul 28 18:25:29 2009 +0200 ALSA: hda - Don't create analog mixer for IDT92HD71bxx The analog mixer unit on IDT 92HD71Bxx codecs is almost useless since we use only the direct connections from DAC to pin. Remove the controls to avoid unneeded confusion as default now. This can be still back via "analog_mixer = 1" hint. Signed-off-by: Takashi Iwai commit 6479c63188290beae83ade3243b9d6eb47d394b6 Author: Takashi Iwai Date: Tue Jul 28 18:20:25 2009 +0200 ALSA: hda - Create Capture controls dynamically Instead of static snd_kcontrol_new arrays, create "Capture Volume" and "Capture Switch" controls dynamically based on the mixer attr values (made via HDA_COMPOSE_AMP_VAL()). This reduces the code size and gives more flexibility to change the number of controls later. Signed-off-by: Takashi Iwai commit 4417932315d185b59c0089091de7fa509c59fd5a Author: Takashi Iwai Date: Tue Jul 28 17:03:49 2009 +0200 ALSA: hda - Don't create unneeded digital input source for IDT 92HD71x The current driver creates always the digital input source mixer elements for IDT 92HD71x codecs no matter whether digital mics are present. This patch adds the proper check to avoid the creation of these controls if unnecessary. Signed-off-by: Takashi Iwai commit 9a11f1aa8e14798037d0c9ac134696fa3af6eb2a Author: Takashi Iwai Date: Tue Jul 28 16:01:20 2009 +0200 ALSA: hda - Reword information messages for BIOS auto-probing mode The sentense "Unknown model for xxx, ..." makes people too nervous and drives them to a direction to a wrong "fix" by giving any mismatching model option. Let's rephrase the messages to be more nice and easy (at least that won't make people suspect conspiracies). Signed-off-by: Takashi Iwai commit 78a1a6d3411de1a8b0dc1cb92754b5f12f251912 Author: Syed Rafiuddin Date: Tue Jul 28 18:57:30 2009 +0530 ARM: OMAP4: Update the GPIO support This patch adds GPIO support on OMAP4430 development platform. Signed-off-by: Syed Rafiuddin commit 085b54d99b8ee999e7905b8f16e201e0da8ba369 Author: Syed Rafiuddin Date: Tue Jul 28 18:57:22 2009 +0530 ARM: OMAP4: Add UART4 support This patch adds UART4 support on OMAP4430 development platform. Signed-off-by: Syed Rafiuddin commit a5b92cc348299c20be215b9f4b50853ecfbf3864 Author: Syed Rafiuddin Date: Tue Jul 28 18:57:10 2009 +0530 ARM: OMAP4: Add McBSP support This patch creates McBSP support on OMAP4430 development platform. This patch includes corresponding base address changes for OMAP4. Signed-off-by: Syed Rafiuddin commit 3de472138a138008b534d9587593ba83390e330a Author: David Rientjes Date: Mon Jul 27 18:30:35 2009 -0700 slub: use size and objsize orders to disable debug flags This patch moves the masking of debugging flags which increase a cache's min order due to metadata when `slub_debug=O' is used from kmem_cache_flags() to kmem_cache_open(). Instead of defining the maximum metadata size increase in a preprocessor macro, this approach uses the cache's ->size and ->objsize members to determine if the min order increased due to debugging options. If so, the flags specified in the more appropriately named DEBUG_METADATA_FLAGS are masked off. This approach was suggested by Christoph Lameter . Cc: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Pekka Enberg commit b683d42693c4e92b838117f5c6f7b90bfa1525c9 Author: FUJITA Tomonori Date: Fri Jul 10 10:05:04 2009 +0900 x86: remove unused swiotlb_phys_to_bus() and swiotlb_bus_to_phys() phys_to_dma() and dma_to_phys() are used instead of swiotlb_phys_to_bus() and swiotlb_bus_to_phys(). Signed-off-by: FUJITA Tomonori commit 8ab7ff42c9dd9231706a4ba7120eed22ff52a93b Author: FUJITA Tomonori Date: Fri Jul 10 10:05:03 2009 +0900 powerpc: remove unused swiotlb_phys_to_bus() and swiotlb_bus_to_phys() phys_to_dma() and dma_to_phys() are used instead of swiotlb_phys_to_bus() and swiotlb_bus_to_phys(). Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 862d196b27bd30a5ab8109d5cdb37980d81b1fe9 Author: FUJITA Tomonori Date: Fri Jul 10 10:05:02 2009 +0900 swiotlb: use phys_to_dma and dma_to_phys This converts swiotlb to use phys_to_dma and dma_to_phys instead of swiotlb_phys_to_bus() and swiotlb_bus_to_phys(). swiotlb_phys_to_bus() and swiotlb_bus_to_phys() are not necessary so this patch also removes them. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 8d4f5339d1ee4027c07e6b2a1cfa9dc41b0d383b Author: FUJITA Tomonori Date: Fri Jul 10 10:05:01 2009 +0900 x86, IA64, powerpc: add phys_to_dma() and dma_to_phys() This adds two functions, phys_to_dma() and dma_to_phys() to x86, IA64 and powerpc. swiotlb uses them. phys_to_dma() converts a physical address to a dma address. dma_to_phys() does the opposite. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 8f2502fd8157632909ff335a3c628e7caeec5e03 Author: FUJITA Tomonori Date: Fri Jul 10 10:05:00 2009 +0900 remove is_buffer_dma_capable() is_buffer_dma_capable() was replaced with dma_capable(). is_buffer_dma_capable() tells if a buffer is dma-capable or not. However, it doesn't take a pointer to struct device so it doesn't work for POWERPC. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 30945fdf6a08f52370dab3bc162e96c4b4e36082 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:59 2009 +0900 powerpc: remove unncesary swiotlb_arch_address_needs_mapping swiotlb doesn't use swiotlb_arch_address_needs_mapping(); it uses dma_capalbe(). We can remove unnecessary swiotlb_arch_address_needs_mapping(). We can remove swiotlb_addr_needs_map() and is_buffer_dma_capable() in swiotlb_pci_addr_needs_map() too; dma_capable() handles the features that both provide. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit b9394647ac88faad9db0f9e92eac4db434faded6 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:58 2009 +0900 swiotlb: use dma_capable() This converts swiotlb to use dma_capable() instead of swiotlb_arch_address_needs_mapping() and is_buffer_dma_capable(). Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 9a937c91eea31c4b594ea49a2a23c57003e04987 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:57 2009 +0900 powerpc: add dma_capable() to replace is_buffer_dma_capable() dma_capable() eventually replaces is_buffer_dma_capable(), which tells if a memory area is dma-capable or not. The problem of is_buffer_dma_capable() is that it doesn't take a pointer to struct device so it doesn't work for POWERPC. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit a0b00ca84b3ecb9eebd62ad34880d8cc0d988c8a Author: FUJITA Tomonori Date: Fri Jul 10 10:04:56 2009 +0900 ia64: add dma_capable() to replace is_buffer_dma_capable() dma_capable() eventually replaces is_buffer_dma_capable(), which tells if a memory area is dma-capable or not. The problem of is_buffer_dma_capable() is that it doesn't take a pointer to struct device so it doesn't work for POWERPC. Signed-off-by: FUJITA Tomonori commit a4c2baa6e148adfb27beaf16b6fb6d465b5b3acb Author: FUJITA Tomonori Date: Fri Jul 10 10:04:55 2009 +0900 x86: replace is_buffer_dma_capable() with dma_capable Signed-off-by: FUJITA Tomonori commit 99becaca86d184a4433e9fde879ff97303d7669f Author: FUJITA Tomonori Date: Fri Jul 10 10:04:54 2009 +0900 x86: add dma_capable() to replace is_buffer_dma_capable() dma_capable() eventually replaces is_buffer_dma_capable(), which tells if a memory area is dma-capable or not. The problem of is_buffer_dma_capable() is that it doesn't take a pointer to struct device so it doesn't work for POWERPC. Signed-off-by: FUJITA Tomonori commit 02ca646e73f3cb9be69e339841b94edae675e248 Author: FUJITA Tomonori Date: Thu Jul 23 11:18:49 2009 +0900 swiotlb: remove unnecessary swiotlb_bus_to_virt swiotlb_bus_to_virt is unncessary; we can use swiotlb_bus_to_phys and phys_to_virt instead. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit cf56e3f2e8a8d5b7bc719980869b0e7985c256f3 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:52 2009 +0900 swiotlb: remove swiotlb_arch_range_needs_mapping Nobody uses swiotlb_arch_range_needs_mapping(). Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit bb52196be37ce154ddc50b1f39496146d181cbe7 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:51 2009 +0900 swiotlb: remove unused swiotlb_alloc() Nobody uses swiotlb_alloc(). Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 3885123da8335dc6b67387e5e626acbffc56f664 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:50 2009 +0900 swiotlb: remove unused swiotlb_alloc_boot() Nobody uses swiotlb_alloc_boot(). Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 9e3b25837a20f4d48fef57b0cb8bf750a8cfa8e2 Author: Florian Echtler Date: Mon Jul 27 17:35:39 2009 -0700 Input: usbtouchscreen - add support for e2i touchscreen controller This patch adds support for the e2i touchscreen controller used in the Mimo 740 (and probably in other e2i touchscreen products). Tested on Mimo 740. Signed-off-by: Florian Echtler Signed-off-by: Dmitry Torokhov commit 1da46bebb1bb01a77333e6509e74e12b85df5729 Author: Pavel Machek Date: Fri Jul 24 11:13:10 2009 -0700 iwlwifi: fix LED config option IWLWIFI_LEDS option should certainly have help comment, and should default to y. Signed-off-by: Pavel Machek Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bcc693a14ddf46170752c185e415ff8609b9f82f Author: Wey-Yi Guy Date: Fri Jul 24 11:13:09 2009 -0700 iwlwifi: Name fix for MPDU density for TX aggregation Fix incorrect name for HT MPDU Density. default set to 4 uSec Reported-by: Sujith Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ec74116487278adf6c3db9c3bbdc81c6409c1cbb Author: Reinette Chatre Date: Fri Jul 24 11:13:08 2009 -0700 iwlwifi: print packet contents in error case This data is more useful to debugging that the receive buffer contents. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5696aea6f243e40013d2b00cd140fd006ec20b9c Author: Johannes Berg Date: Fri Jul 24 11:13:06 2009 -0700 iwlwifi: remove command callback return value No existing callbacks use anything other than the return value 1, which means that the caller should free the reply skb, so it seems safer in terms of not introducing memory leaks to simply remove the return value and let the caller always free the skb. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c2acea8e9b86ba5a5469ff477445676a223af4e2 Author: Johannes Berg Date: Fri Jul 24 11:13:05 2009 -0700 iwlwifi: fix up command sending The current command sending in iwlwifi is a bit of a mess: 1) there is a struct, iwl_cmd, that contains both driver and device data in a single packed structure -- this is very confusing 2) the on-stack data and the command metadata share a structure by embedding the latter in the former, which is also rather confusing because it leads to weird unions and similarly odd constructs 3) each txq always has enough space for 256 commands, even if only 32 end up being used This patch fixes these things: 1) rename iwl_cmd to iwl_device_cmd and keep track of command metadata and device command separately, in two arrays in each tx queue 2) remove the 'meta' member from iwl_host_cmd and only put in the required members 3) allocate the cmd/meta arrays separately instead of embedding them into the txq structure Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fbf3a2af3834e8e93e9c2876de62c5b49988e352 Author: Wey-Yi Guy Date: Fri Jul 24 11:13:04 2009 -0700 iwlwifi: Thermal Throttling debugfs function Add debugfs function to display current thermal throttling status for both Legacy and Advance Thermal Throttling Management Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 46f9381aa3fb62f6a141bfd41dcbeda1ec5fa26e Author: Wey-Yi Guy Date: Fri Jul 24 11:13:03 2009 -0700 iwlwifi: Thermal Throttling Management - part 2 Part 2 of Thermal Throttling Management - Thermal Throttling feature is used to put NIC into low power state when driver detect the Radio temperature reach pre-defined threshold Two Thermal Throttling Management Methods; this patch introduce the Advance Thermal Throttling: TI-0: system power index, no tx/rx restriction, HT enabled TI-1: power index 5, 1 spatial stream Tx, multiple spatial stream Rx, HT enabled TI-2: power index 5: 1 spatial stream Tx, 1 spatial stream Rx, HT disabled TI-CT-KILL: power index 5, no Tx, no Rx, HT disabled For advance Thermal Throttling, CT_KILL_ENTER threshold and CT_KILL_EXIT threshold are different; uCode will not stay awake until reach CT_KILL_EXIT threshold. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 39b73fb15e4704fd4d1e33688135810637f5f3fb Author: Wey-Yi Guy Date: Fri Jul 24 11:13:02 2009 -0700 iwlwifi: Thermal Throttling Management - Part 1 Part 1 of Thermal Throttling Management - Thermal Throttling feature is used to put NIC into low power state when driver detect the Radio temperature reach pre-defined threshold Two Thermal Throttling Management Methods; this patch introduce the Legacy Thermal Management: IWL_TI_0: normal temperature, system power state IWL_TI_1: high temperature detect, low power state IWL_TI_2: higher temperature detected, lower power state IWL_TI_CT_KILL: critical temperature detected, lowest power state Once get into CT_KILL state, uCode go into sleep, driver will stop all the active queues, then move to IWL_TI_CT_KILL state; also set up 5 seconds timer to toggle CSR flag, uCode wake up upon CSR flag change, then measure the temperature. If temperature is above CT_KILL exit threshold, uCode go backto sleep; if temperature is below CT_KILL exit threshold, uCode send Card State Notification response with appropriate CT_KILL status flag, and uCode remain awake, Driver receive Card State Notification Response and update the card temperature to the CT_KILL exit threshold. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 672639de13c4db92ed6a47e68043a4317e219902 Author: Wey-Yi Guy Date: Fri Jul 24 11:13:01 2009 -0700 iwlwifi: critical temperature enter/exit condition If advance thermal throttling is used the driver need to pass both "enter" and "exit" temperature to uCode. Using different critical temperature threshold for legacy and advance thermal throttling management based on the type of thermal throttling method is used except 1000. For 1000, it use advance thermal throttling critical temperature threshold, but with legacy thermal management implementation until ucode has the necessary implementations in place. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e3139fe741b25a0f8a27fd2cdf2ad11734c3d4d3 Author: Wey-Yi Guy Date: Fri Jul 24 11:13:00 2009 -0700 iwlwifi: revert to active table when rate is not valid When performing rate scaling, if detected that the new rate index is invalid, clear the search_better_tbl flag so it will not be stuck in the loop. Since the search table is already set up in uCode, we need to empty out the the search table; revert back to the "active" rate and throughput info. Also pass the "active" table setup to uCode to make sure the rate scale is functioning correctly. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 21f5fc75deca63bc41c9d13007d35981d4485622 Author: Luis R. Rodriguez Date: Fri Jul 24 19:57:25 2009 -0400 mac80211: fix oops due to missing private data This was caused by patch: "mac80211: cooperate more with network namespaces" The version of the patch applied doesn't match Johannes' latest: http://johannes.sipsolutions.net/patches/kernel/all/LATEST/NNN-mac80211-netns.patch The skb->cb virtual interface data wasn't being reset for reuse so ath9k pooped out when trying to dereference the private rate control info from the skb. BUG: unable to handle kernel NULL pointer dereference RIP: 0010:[] ath_tx_rc_status+0x33/0x150 [ath9k] <-- snip etc --> Reported-by: Davide Pesavento Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ac88b6ecdfa629fd1261dab1504d78a56fd4cabf Author: Vivek Natarajan Date: Thu Jul 23 10:59:57 2009 +0530 ath9k: Add support for AR9287 based chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 3fa52056f3a8e755708241d5795e6d3e6f55ad85 Author: Johannes Berg Date: Fri Jul 24 13:23:09 2009 +0200 mac80211: fix PS-poll response, race When a station queries us for a PS-poll response, we wrongly queue the frame on the virtual interface's queue rather than the pending queue. Additionally, fix a race condition where we could potentially send multiple frames to the sleeping station due to using a station flag rather than a packet flag. When converting to a packet flag, we can also convert p54 and remove the filter clearing we added for it. (Also remove a now dead function) Signed-off-by: Johannes Berg Reported-by: Bob Copeland Tested-by: Bob Copeland Cc: Christian Lamparter Signed-off-by: John W. Linville commit 91a3bd76155085d41520cf41ede39e8b7f01aeff Author: Luis R. Rodriguez Date: Thu Jul 23 16:37:47 2009 -0700 mac80211: fix MLME issuing of probe requests while scanning We were issuing probe requests to the associated AP on the wrong band by having our beacon timer loss trigger while we are scanning. When we would scan the timer could hit and force us to send a probe request to the AP but with a chance we'd be on the wrong band. This leads to finding no usable bitrate but we should not get so far on the xmit path. We should not be trying to send these probe request frames so prevent ieee80211_mgd_probe_ap() from sending these. As it turns out all callers of ieee80211_mgd_probe_ap() need this check so we just move the scan check there. This means we can remove the recenlty added check during ieee80211_sta_monitor_work(). Additionally we now fix a race condition added by the patch "mac80211: do not monitor the connection while scanning" which had the same check in ieee80211_sta_conn_mon_timer(). The race happens because the timer routine *does* a valid check for scanning but after it queues work into the mac80211 workqueue the work callback can kick off with scanning enabled and cause the same issue we were trying to avoid. The more appropriate solution would be to disable the respective timers during scan and re-enable them after scan but requires more complex code and testing. Cc: Christian Lamparter Cc: Larry Finger Reported-by: Fabio Rossi Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 485318471e85c1ddb5e3056fa30fdbbc46d759c6 Author: Johannes Berg Date: Thu Jul 23 16:50:16 2009 +0200 mac80211: fix mlme timeouts When a new MLME work is created, its timeout is initialised to 0. This is wrong, it could then be thought of as having an actual timeout in the future (time_is_after_jiffies() can return true). Instead, it should be initialised to jiffies so that it will run right away as soon as the mlme work is executed. Signed-off-by: Johannes Berg Reported-by: Luciano Roth Coelho Reported-by: Alban Browaeys Signed-off-by: John W. Linville commit 09f97e0fc4ae81f151bd76b97e28d2af429c1427 Author: Helmut Schaa Date: Thu Jul 23 12:14:29 2009 +0200 cfg80211: increase scan result expire time Using background scanning in mac80211 the time a scan needs to finish can exceed 10 seconds. Hence, increase the scan results expire time to 15 seconds which should be sufficient. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 977923b00c79185c11b4b47664f5ffa4c3820438 Author: Helmut Schaa Date: Thu Jul 23 12:14:20 2009 +0200 mac80211: rename scan_state to next_scan_state Rename scan_state to next_scan_state to better reflect what it is used for. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 142b9f5074dc0d09dc0025739ad437723d7bf527 Author: Helmut Schaa Date: Thu Jul 23 13:18:01 2009 +0200 mac80211: implement basic background scanning Introduce a new scan flag "SCAN_OFF_CHANNEL" which basically tells us that we are currently on a different channel for scanning and cannot RX/TX. "SCAN_SW_SCANNING" tells us that we are currently running a software scan but we might as well be on the operating channel to RX/TX. While "SCAN_SW_SCANNING" is set during the whole scan "SCAN_OFF_CHANNEL" is set when leaving the operating channel and unset when coming back. Introduce two new scan states "SCAN_LEAVE_OPER_CHANNEL" and "SCAN_ENTER_OPER_CHANNEL" which basically implement the functionality we need to leave the operating channel (send a nullfunc to the AP and stop the queues) and enter it again (send a nullfunc to the AP and start the queues again). Enhance the scan state "SCAN_DECISION" to switch back to the operating channel after each scanned channel. In the future it sould be simple to enhance the decision state to scan as much channels in a row as the qos latency allows us. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit fbe9c429f195111bbf7f1630efa19aee295fd8e7 Author: Helmut Schaa Date: Thu Jul 23 12:14:04 2009 +0200 mac80211: Replace {sw, hw}_scanning variables with a bitfield Use a bitfield to store the current scan mode instead of two boolean variables {sw,hw}_scanning. This patch does not introduce functional changes but allows us to enhance the scan flags later (for example for background scanning). Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 2fb3f028a9a46bd344329766257699b4acb36525 Author: Helmut Schaa Date: Thu Jul 23 12:13:56 2009 +0200 mac80211: introduce a new scan state "decision" Introduce a new scan state "decision" which is entered after every completed scan operation and decides about the next steps. At first the decision is in any case to scan the next channel. This shouldn't introduce any functional changes. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit f502d09b750437a4ec9c63333acf1070fe7958af Author: Helmut Schaa Date: Thu Jul 23 12:13:48 2009 +0200 mac80211: advance the state machine immediately if no delay is needed Instead of queueing the scan work again without delay just process the next state immediately. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 7d3be3cc489176bc7bd23e673b0b4aef597af2b3 Author: Helmut Schaa Date: Thu Jul 23 12:13:41 2009 +0200 mac80211: refactor the scan code Move the processing of each scan state into its own functions for better readability. This patch does not introduce functional changes. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4ef7084173e22cfdd4bb3aa3858ba8dd5d76f22f Author: Sujith Date: Thu Jul 23 15:32:41 2009 +0530 ath9k: Remove a few redundant variables/macros Signed-off-by: Sujith Signed-off-by: John W. Linville commit f83da96564b2a2f4ae75ea971b357458e5240b61 Author: Sujith Date: Thu Jul 23 15:32:37 2009 +0530 ath9k: Cleanup return values Cleanup aggregation start/stop function interfaces. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 9e98ac65a39df54fb0520cd86d1e7373319df00f Author: Sujith Date: Thu Jul 23 15:32:34 2009 +0530 ath9k: Remove redundant HT macros These can be obtained from mac80211. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 305fe47fb8ac1279f01284c1ba5875fa9a355d22 Author: Sujith Date: Thu Jul 23 15:32:29 2009 +0530 ath9k: Fix a sparse warning Signed-off-by: Sujith Signed-off-by: John W. Linville commit c49fd520d10eb277d94c570f2fdb35d2974a30ee Author: Sujith Date: Thu Jul 23 15:32:25 2009 +0530 ath9k: Trivial fix in Kconfig Update filename for debug information. Signed-off-by: Sujith Signed-off-by: John W. Linville commit d1eba248469272ae0618288bccf65b24d017f1d2 Author: Sujith Date: Thu Jul 23 15:31:31 2009 +0530 mac80211: Add a few 802.11n defines for AMPDU parameters Signed-off-by: Sujith Acked-by: Johannes Berg Signed-off-by: John W. Linville commit d9db5fa2c5cada8d8c20219ad4bab254e866409d Author: Vivek Natarajan Date: Thu Jul 23 12:01:50 2009 +0530 ath9k: Add init values for AR9287 based chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 58d30d14a1e5fbc3db6351e5af178ba71e2710f0 Author: Luis R. Rodriguez Date: Wed Jul 22 10:41:14 2009 -0700 ath: map TH to FCC3_WORLD TH gets 5 GHz. Cc: David Quan Cc: Michael Green Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit eb87eaac52e916e28bcf3bd5974f3b581f6c0ae9 Author: Lars Ericsson Date: Sat Jul 18 20:21:52 2009 +0200 rt2x00: Don't alter rt2x00dev->default_ant rt2x00dev->default_ant should be initialized once by the driver, and should not be changed afterwards. Because rt2x00lib_config_antenna() was using a reference to the struct antenna_setup it actually had the oppurtunity to change the default antenna setting and it actually did that during the validation. Instead of passing a pointer to antenna_setup the entire structure should be copied. Signed-off-by: Lars Ericsson Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a272a720660059c30fa038113b77fa2a096437d9 Author: Johannes Berg Date: Tue Jul 14 00:33:36 2009 +0200 mac80211: allow using network namespaces This finally opens up the ability to put mac80211 devices into different network namespaces. As long as you don't have sysfs, that is. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 463d018323851a608eef52a9427b0585005c647f Author: Johannes Berg Date: Tue Jul 14 00:33:35 2009 +0200 cfg80211: make aware of net namespaces In order to make cfg80211/nl80211 aware of network namespaces, we have to do the following things: * del_virtual_intf method takes an interface index rather than a netdev pointer - simply change this * nl80211 uses init_net a lot, it changes to use the sender's network namespace * scan requests use the interface index, hold a netdev pointer and reference instead * we want a wiphy and its associated virtual interfaces to be in one netns together, so - we need to be able to change ns for a given interface, so export dev_change_net_namespace() - for each virtual interface set the NETIF_F_NETNS_LOCAL flag, and clear that flag only when the wiphy changes ns, to disallow breaking this invariant * when a network namespace goes away, we need to reparent the wiphy to init_net * cfg80211 users that support creating virtual interfaces must create them in the wiphy's namespace, currently this affects only mac80211 The end result is that you can now switch an entire wiphy into a different network namespace with the new command iw phy# set netns and all virtual interfaces will follow (or the operation fails). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5061b0c2b9066de426fbc63f1278d2210e789412 Author: Johannes Berg Date: Tue Jul 14 00:33:34 2009 +0200 mac80211: cooperate more with network namespaces There are still two places in mac80211 that hardcode the initial net namespace (init_net). One of them is mandated by cfg80211 and will be removed by a separate patch, the other one is used for finding the network device of a pending packet via its ifindex. Remove the latter use by keeping track of the device pointer itself, via the vif pointer, and avoid it going stale by dropping pending frames for a given interface when the interface is removed. To keep track of the vif pointer for the correct interface, change the info->control.vif pointer's internal use to always be the correct vif, and only move it to the vif the driver expects (or NULL for monitor interfaces and injected packets) right before giving the packet to the driver. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6cf5767c7107c606644503f3e95bc1855386a70f Author: Julia Lawall Date: Mon Jul 27 11:38:52 2009 -0700 drivers/atm: Correct redundant test str has already been tested. It seems that this test should be on the recently returned value snr. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( *x == NULL | *x != NULL ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit a44a4a006b860476881ec0098c36584036e1cb91 Author: Neil Horman Date: Mon Jul 27 08:22:46 2009 +0000 xfrm: export xfrm garbage collector thresholds via sysctl Export garbage collector thresholds for xfrm[4|6]_dst_ops Had a problem reported to me recently in which a high volume of ipsec connections on a system began reporting ENOBUFS for new connections eventually. It seemed that after about 2000 connections we started being unable to create more. A quick look revealed that the xfrm code used a dst_ops structure that limited the gc_thresh value to 1024, and always dropped route cache entries after 2x the gc_thresh. It seems the most direct solution is to export the gc_thresh values in the xfrm[4|6] dst_ops as sysctls, like the main routing table does, so that higher volumes of connections can be supported. This patch has been tested and allows the reporter to increase their ipsec connection volume successfully. Reported-by: Joe Nall Signed-off-by: Neil Horman ipv4/xfrm4_policy.c | 18 ++++++++++++++++++ ipv6/xfrm6_policy.c | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) Signed-off-by: David S. Miller commit 8a729fce76f7af50d8b622f2fb26adce9c8df743 Author: Eric Dumazet Date: Sun Jul 26 23:18:11 2009 +0000 net: ethtool_op_get_rx_csum() should be public and exported Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 479432344420bc9a868088e346fecb6765e2b674 Author: Julia Lawall Date: Mon Jul 27 06:15:43 2009 +0000 net/netlabel: Correct redundant test entry was tested for NULL near the beginning of the function, followed by a return, and there is no intervening modification of its value. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( *x == NULL | *x != NULL ) // Signed-off-by: Julia Lawall Acked-by: Paul Moore Signed-off-by: David S. Miller commit 463889e27e6f4f097374a6c9de5611f520766dad Author: Julia Lawall Date: Mon Jul 27 06:13:30 2009 +0000 drivers/net: Correct redundant test res has already been tested. It seems that this test should be on the recently returned value mmio. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( *x == NULL | *x != NULL ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit f004ec728bff3cf924ffc19387baca503cd73b01 Merge: c685bfc 987b881 Author: David S. Miller Date: Mon Jul 27 11:29:31 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit c685bfc6c6bcb9bcc42d1345a3650d3ce5185c52 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:47 2009 +0000 netxen: update version to 4.0.41 Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 7042cd8f148345bfca6c336f009c96a416674f5e Author: Amit Kumar Salecha Date: Mon Jul 27 11:15:54 2009 -0700 netxen: support for ethtool set ringparam Add support for ethtool -G to tune rx and tx ring sizes per interface basis. This is only supported for NX3031 based cards. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 028afe719855a157e32450c36b7a12e1f9e85abe Author: Dhananjay Phadke Date: Sun Jul 26 20:07:45 2009 +0000 netxen: add vlan tx acceleration support Enable vlan tx acceleration for NX3031 if firmware advertises capability. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 9b08beba2d1bf7e4598deba2800a9ea5e5c3a282 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:44 2009 +0000 netxen: fix skb alloc size for legacy firmware Request 1532 bytes skb data size for NX3031. NX2031 firmware needs 1760 sized buffers. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f17443f4b01659a5c44d5fc6f5c502c39c293959 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:43 2009 +0000 netxen: refactor net_device setup code Move all net_device initialization into one function netxen_setup_netdev(). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 4f96b988e8d404b8b32aefed27503b4538949a3c Author: Dhananjay Phadke Date: Sun Jul 26 20:07:42 2009 +0000 netxen: clean up firmware version checks NX2031 firmware version will never be > 4.0.0, so replace (adapter->fw_major < 4) checks with pci revision ID check. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 24767ab16913bc27ba7a85698e5c0f591368647d Author: Dhananjay Phadke Date: Mon Jul 27 11:08:00 2009 -0700 netxen: Add default and limit macros for ring sizes. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1bcfd790c49341fcbdce9526a007c4e2b9d54c7c Author: Dhananjay Phadke Date: Sun Jul 26 20:07:40 2009 +0000 netxen: refactor tso code o move all tso / checksum offload code into netxen_tso_check(). o optimize the tso header copy into simple loop. o clean up unnecessary unions from cmd_desc_type0 struct. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 83ac51fa747c3a74372417629fcad4b110857b77 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:39 2009 +0000 netxen: annotate dma watchdog setup o remove superfluous code to setup PCI dma watchdog for NX2031. o disable dma watchdog completely for NX3031 (not required). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ca2ef330b5eb30e3bc7047f99fd4be9f1bad22be Author: Dhananjay Phadke Date: Sun Jul 26 20:07:38 2009 +0000 netxen: configure interrupt coalesce defaults Initialize and configure interrupt coalesing defaults in the firmware, so that these also reflect in "ethool -c". Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 6598b169b856793f8f9b80a3f3c5a48f5eaf40e3 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:37 2009 +0000 netxen: enable ip addr hashing NX3031 hardware requires local IP addresses for packet accumulation (LRO). IP address hashing is required to distinguish a local TCP flow from others (forwarded or guest). This patch adds listener for IP and netdev events and configures IP address in the firmware. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 68b3cae0824b98d1f469a80cc65dcaab81771f45 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:36 2009 +0000 netxen: refresh firmware info after reset o move dma mask update to netxen_start_firmware() so that if firmware changes across suspend (e.g. file -> flash) it reflects right dma mask. o re-read firmware capabilities after firmware reset. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 663a31ce5bbef2d14fa325023e48bf02b4249f27 Author: Karsten Keil Date: Mon Jul 27 08:20:55 2009 -0700 mISDN: Fix wrong struct name in macro and clarifications Based on comments from Joe Perches . Thanks. Fix IOFUNC_MEMIO macro. WriteFiFo##name##_MIO use the wrong struct name, this was missed because the macro was only called with this name. Clarify with _func that the defined types are functions. Add names to the parameters for better understanding the purpose. Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 70034918930d2e5b68c09bced637228c50d9561a Author: Stephen Rothwell Date: Mon Jul 27 08:05:52 2009 -0700 net: fix multiple definitions of setup_w6692 Signed-off-by: Stephen Rothwell Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 59e57f4417507b1e71f6e5af3eb7e68e6477ac94 Author: Eric Dumazet Date: Mon Jul 27 08:03:18 2009 -0700 phonet: phonet_device_get() fix net/phonet/pn_dev.c: In function `phonet_device_get': net/phonet/pn_dev.c:99: warning: 'dev' might be used uninitialized in this function Signed-off-by: Eric Dumazet Acked-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 987b8816661332978efd0f85bedf9866fe2e3232 Author: Thadeu Lima de Souza Cascardo Date: Sun Jul 26 12:34:40 2009 -0300 trivial: fix typo in ieee802154 documentation and add it to index Signed-off-by: Thadeu Lima de Souza Cascardo commit 1ba7a7c650bd8ee567e25d9b68e9081d131c70f6 Author: Takashi Iwai Date: Mon Jul 27 12:56:26 2009 +0200 ALSA: hda - Add exception for volume-knob in snd_hda_get_connections() Volume-knob widgets may have connections even if they have no CONN_LIST cap bit. Allow the query exceptionally in snd_hda_get_connections(). Signed-off-by: Takashi Iwai commit a22d543a95e82e5ad0ee1a44aad54fd6b6bf52a8 Author: Takashi Iwai Date: Mon Jul 27 12:54:26 2009 +0200 ALSA: hda - Introduce get_wcaps_type() macro Add a helper macro to retrieve the widget type from wiget cap bits. Signed-off-by: Takashi Iwai commit 5c04c78afba4805846519f29f0b55ac8759e0d48 Author: Eric Sandeen Date: Sun Jul 26 21:52:01 2009 -0500 xfs: reduce bmv_count in xfs_vn_fiemap commit 6321e3ed2acf3ee9643cdd403e1c88605d7944ba caused the full bmv_count's worth of getbmapx structures to get allocated; telling it to do MAXEXTNUM was a bit insane, resulting in ENOMEM every time. Chop it down to something reasonable, the number of slots in the caller's input buffer. If this is too large the caller may get ENOMEM but the reason should not be a mystery, and they can try again with something smaller. We add 1 to the value because in the normal getbmap world, bmv_count includes the header and xfs_getbmap does: nex = bmv->bmv_count - 1; if (nex <= 0) return XFS_ERROR(EINVAL); Signed-off-by: Eric Sandeen Reviewed-by: Olaf Weber Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit 72dccb01e8632aa5ffe58070003d0fa19d007116 Author: Eric Dumazet Date: Thu Jul 23 02:01:38 2009 +0000 bnx2: Update vlan_features [PATCH net-next-2.6] bnx2: Update vlan_features In order to get full use of some advanced features of BNX2, we now need to fill dev->vlan_features. Patch successfully tested with vlan devices built on top of bonding. (bond0 : one bnx2 slave, one tg3 slave (not yet vlan_features enabled) Signed-off-by: Eric Dumazet Acked-by: Michael Chan Signed-off-by: David S. Miller commit 51def0bea92629dff02ff1de40603eb90c609c55 Author: Tomas Winkler Date: Wed Jul 22 14:06:56 2009 +0000 imwc3200: move iwmc3200 SDIO ids to sdio_ids.h 1. add intel's sdio vendor id to sdio_ids.h 2. move iwmc3200 sdio devices' ids to sdio_ids.h Signed-off-by: Tomas Winkler Signed-off-by: David S. Miller commit 1896e61ff7cc1c9dd0d8b1cf4a9426a0f7217a20 Author: Sridhar Samudrala Date: Wed Jul 22 13:38:22 2009 +0000 ethtool: device independent rx_csum and get_flags routines This helps avoid error messages with ethtool -k on devices that don't provide device specific routines. Signed-off-by: Sridhar Samudrala ------------------------------------------------------------------ Signed-off-by: David S. Miller commit 7d073c68a49b23b5ba2bc23c3bb5b3bcaa0b4f20 Author: Eric Dumazet Date: Thu Jul 23 21:21:19 2009 +0000 bnx2x: Dont update vlan_features in bnx2x_set_tso() Patrick said : "vlan_features doesn't need to be updated, the resulting dev->features of the VLAN device is computed as the intersection of dev->features and dev->vlan_features." Signed-off-by: Eric Dumazet Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit b5eb0589937eae2d58fca17fa45ed44152e772ed Author: Johannes Berg Date: Wed Jul 15 05:23:23 2009 +0000 net: deprecate print_mac We've had %pM for long enough now, time to deprecate print_mac() and remove the __maybe_unused attribute from DECLARE_MAC_BUF so that variables declared with that can be found and removed. Otherwise people are putting in new users of print_mac(). Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit c409c34bc472cc62da6c619acf786120b56c2dc2 Author: Mike McCormack Date: Tue Jul 21 14:51:20 2009 +0000 sky2: remove unnecessary assignment Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 421d20a3dccb3670d4b2e8d3e4cef6327530f30d Author: David S. Miller Date: Sun Jul 26 13:39:10 2009 -0700 phonet: Fix build. As reported by Oliver Hartkopp: net/phonet/pn_dev.c: In function ‘phonet_init_net’: net/phonet/pn_dev.c:221: error: implicit declaration of function ‘proc_net_fops_create’ net/phonet/pn_dev.c: In function ‘phonet_exit_net’: net/phonet/pn_dev.c:242: error: implicit declaration of function ‘proc_net_remove’ Signed-off-by: David S. Miller commit 703490ff7eaff03e412683da3d8367b5190a71ca Author: Richard Röjfors Date: Fri Jul 24 23:14:17 2009 -0700 Input: tsc2007 - do not read coordinates during probe Don't read coordinates during probe of the driver, just power down the controller and wait for interrupts. Signed-off-by: Richard Röjfors Signed-off-by: Dmitry Torokhov commit cad065fd1e95003444e8528f801f52164cb78561 Author: Richard Röjfors Date: Fri Jul 24 23:14:17 2009 -0700 Input: tsc2007 - make init/exit platform hw callbacks optional Make init_platform_hw and exit_platform_hw callbacks optional since they are not needed on all platforms. Signed-off-by: Richard Röjfors Signed-off-by: Dmitry Torokhov commit 141586bc57f6083f36c18d86e1cfa5916a1e7c05 Author: Dmitry Torokhov Date: Fri Jul 24 23:14:16 2009 -0700 Input: tsc2007 - properly shut off interrupts/delayed work Properly shut off interrupts/delayed work by free-ing IRQ first and then ensuring that enable/disable is balanced. Also add __devinit/__devexit markings, restore poll delay/period scheduling logic, make sure we call exit_platform_hw() method when probe fails. Tested-by: Richard Röjfors Signed-off-by: Dmitry Torokhov commit 75fba3b05d6ed82b975c1f8df8f8e08d5d81dee5 Author: Richard Röjfors Date: Fri Jul 24 22:01:39 2009 -0700 Input: tsc2007 - remove HR timer Since it's not allowed to do synchronous I2C in the HR timer callback context we have to switch to using the global workqueue. The work is scheduled every 1ms when polling rather than 5 us. Signed-off-by: Richard Röjfors Signed-off-by: Dmitry Torokhov commit b0010911d52dc7836a78c9f5c3b32ce4ac05b3c3 Author: Dmitry Torokhov Date: Fri Jul 24 22:01:43 2009 -0700 Input: pxa27x_keypad - switch to using dev_pm_ops Signed-off-by: Dmitry Torokhov commit 633aae23ff31bef692a70772652e753a0ae59b81 Author: Dmitry Torokhov Date: Wed Jul 22 21:51:36 2009 -0700 Input: serio - switch to using dev_pm_ops Signed-off-by: Dmitry Torokhov commit ebd7768daeb39b0691e25175e25b980f13e913e2 Author: Dmitry Torokhov Date: Wed Jul 22 21:51:32 2009 -0700 Input: i8042 - switch to using dev_pm_ops Signed-off-by: Dmitry Torokhov commit c8b201ff867e64b6233d069563081775269f4499 Merge: 436b355 249b405 Author: David S. Miller Date: Sun Jul 26 10:01:25 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 436b355b96042ab6564f43a7dabd5c61d9634ff7 Merge: 92d947b f70e75e Author: David S. Miller Date: Sun Jul 26 10:00:21 2009 -0700 Merge branch 'for_david' of git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6-net-next commit 92d947b77436437f4fe6f9b7b7cd35f1a294fa9d Author: Alexander Duyck Date: Thu Jul 23 18:11:01 2009 +0000 igbvf: resolve "frees DMA memory with different size" warnings This change resolves some warnings seen with DMA debugging enabled in which we were mapping skb->data with size + NET_IP_ALIGN and unmapping it with just size. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a0c98605d7237fc4bf26a345db5f950f46e69834 Author: Alexander Duyck Date: Thu Jul 23 18:10:43 2009 +0000 igb: initialize mailbox function pointers prior to phy init The igb driver is currently initializing the mailbox function pointers after the phy. This causes issues as the phy init will return from the function early if there is no phy present. To resolve this I have moved the function pointer init to a location prior to the phy initialization so that serdes based adapters can also make use of SR-IOV. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0cce119aa977dba00467985c0ae93fe43d28740a Author: Alexander Duyck Date: Thu Jul 23 18:10:24 2009 +0000 igb: cleanup flow control configuration to make requested/current more clear This patch cleans up the flow control configuration for igb to make it a bit more readable in regards to what the requested and current modes are. This should help with the maintainability of the current igb driver in regards to flow control. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2d94d8ab76ea6c858c6e2eb0ab0403b00b031039 Author: Alexander Duyck Date: Thu Jul 23 18:10:06 2009 +0000 igb: use buffer_info->dma instead of shinfo->nr_frags to determine unmap This change makes it so that we use buffer_info->dma instead of shinfo->nr_frags to determine if we need to unmap a received skb. By doing this we can avoid a cache miss on small packets since the buffer_info structure should already be prefetched. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4703bf73bd5b0d43c3eb5b547398d4f62dc5d4e1 Author: Alexander Duyck Date: Thu Jul 23 18:09:48 2009 +0000 igb: add support for 82576 mezzanine card This patch adds support for a new 82576 mezzanine adapter. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 08a72b5dced32889594e08008cca0d0582f2d3d8 Author: Alexander Duyck Date: Thu Jul 23 18:09:30 2009 +0000 igb: remove unused switch statement from igb_set_wol There is a switch statement in igb_set_wol that defaults to break and doesn't actually do anything. As such it should be removed. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5ac1665906559768029c398d9ede8e7cdd73004e Author: Alexander Duyck Date: Thu Jul 23 18:09:12 2009 +0000 igb: cleanup receive address register initialization This update cleans up the receive address register initialization. The main purpose of this is to clean out some redundancy that was introduced due to having multiple ways of setting the receive address registers. Instead of having a specialized function to set one register and one to set all of them it makes more sense to just go through the list calling the function that is needed to set the individual registers. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 28fc06f58b1fe567bb86c7d0e3d93137e5c0126e Author: Alexander Duyck Date: Thu Jul 23 18:08:54 2009 +0000 igb: move all multicast addresses into multicast table array This patch moves all of the multicast addresses out of the free Receive address registers and instead programs them all into the multicast table array. As a result the multicast filtering may not be as precise, but it also greatly reduces the overhead for multicast addresses. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 009bc06e5311b48c77b7708d9e226ae0f110373a Author: Alexander Duyck Date: Thu Jul 23 18:08:35 2009 +0000 igb: add completion timeout workaround for 82575/82576 The 82575 and 82576 hardware can both experience data corruption issues if a pci-e completion arrives after the timeout value. In order to avoid this we need to increase the timeout value while pci-e master is disabled. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 12645a196eccb9209f88915f56a686086dea1a16 Author: Alexander Duyck Date: Thu Jul 23 18:08:16 2009 +0000 igb: do not overwrite EEPROM LED settings The igb driver was overwritting the LED settings that were configured via EEPROM. This is not correct behavior as the LED settings are meant to be configured by EEPROM and not changed. This change removes the code that was setting the LED behavior on the interface. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f3e7841ca3608db6e0207cd8af5561f065882517 Author: Alexander Duyck Date: Thu Jul 23 18:07:58 2009 +0000 igb: change configure_pcs_link to void since it always returns 0 Since igb_configure_pcs_link always returns 0 there isn't really much point to checking for the result so it is best just to change this to a void so we can properly ignore the return result. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 099e1cb700da6359b784ac7fb65099091b7b961e Author: Alexander Duyck Date: Thu Jul 23 18:07:40 2009 +0000 igb: make serdes power down available for 82575 in addition to 82576 parts There was a serdes power down workaround that was originally added for 82576 fiber. However it has also been found that this workaround is needed for serdes connections as well. In addition it is also needed for 82575 serdes so we we need to remove the checks restricting it to 82576. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit dcc3ae9a5252ea4ffe65b43cdc09ec2654b48000 Author: Alexander Duyck Date: Thu Jul 23 18:07:20 2009 +0000 igb: remove media type fiber as it is misleading The current igb driver only supports copper and serdes. The fiber media type is a holdover from earlier NICs as the current nics supported by igb all use serdes when communicating over a fiber connection. As a result we can remove media type fiber without losing any functionality. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f70e75e11069edfbe55be06960854c46860da0a3 Author: Karsten Keil Date: Fri Jul 24 18:41:23 2009 +0200 mISDN: hfcmulti display real PCI ids for not supported cards In the PCI probe function struct pci_device_id points to the matched entry of the ID table, but for devices which are matched with PCI_ANY_ID sub IDs we want display the IDs of the device itself. Signed-off-by: Karsten Keil commit ba2d6ccb1df6ebb2c1b2322518ce7be25c1e3469 Author: Karsten Keil Date: Fri Jul 24 18:26:08 2009 +0200 ISDN: ARRAY_SIZE changes These changes were a direct result of using a semantic patch More information can be found at http://www.emn.fr/x-info/coccinelle/ Modified some of the changes to avoid the extra define. Signed-off-by: Stoyan Gaydarov Signed-off-by: Karsten Keil commit 3cad3da3ed9ece03704f7d67e038b8ae710fa312 Author: Julia Lawall Date: Sun Jul 12 22:05:03 2009 +0200 drivers/isdn: Drop unnecessary NULL test The result of container_of should not be NULL. In particular, in this case the argument to the enclosing function has passed though INIT_WORK, which dereferences it, implying that its container cannot be NULL. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ identifier fn,work,x,fld; type T; expression E1,E2; statement S; @@ static fn(struct work_struct *work) { ... when != work = E1 x = container_of(work,T,fld) ... when != x = E2 - if (x == NULL) S ... } // Signed-off-by: Julia Lawall Signed-off-by: Karsten Keil commit a900845e56617edc005fd8f35bfd5a407aaf96c8 Author: Karsten Keil Date: Thu Jul 23 10:03:05 2009 +0200 mISDN: Add support for Traverse Technologies NETJet PCI cards Add support for cards based on the Tiger 300 and Tiger 320 ISDN PCI chip. Currently only the ISAC ISDN line interface is supported. Signed-off-by: Karsten Keil commit 707b2ce6c1f4f1261788f2ff09ad82c35e0e6240 Author: Karsten Keil Date: Wed Jul 22 20:06:05 2009 +0200 mISDN: Add driver for Winbond cards Add driver for Winbond W6692 based PCI cards. Signed-off-by: Karsten Keil commit da2272c91ae81b41ae6fa6ebdc767a6cef73b770 Author: Karsten Keil Date: Wed Jul 22 20:01:59 2009 +0200 mISDN: Add support for Speedfax+ cards Add support for the Siemens ISAR DSP chip and cards based on it, including analog modem protocols. Signed-off-by: Karsten Keil commit 6115d2f3fcaebed5b88fa9cefd178bb5b07461ff Author: Karsten Keil Date: Wed Jul 22 19:52:24 2009 +0200 mISDN: Driver for AVM Fritz!CARD PCI Add mISDN driver for AVM FRITZ!CARD PCI (all versions). Signed-off-by: Karsten Keil commit cae86d4a4e56eeda1afdea38f230d222edda7dd5 Author: Karsten Keil Date: Wed Jul 22 19:42:46 2009 +0200 mISDN: Add driver for Infineon ISDN chipset family This driver supports cards with Infineon ISAC/HSCX, ISACX, IPAC and IPACX chips from various manufacturers. Signed-off-by: Karsten Keil commit fb286f0471a04ef646c8e5c79750ae6718183745 Author: Karsten Keil Date: Thu Jul 9 10:02:29 2009 +0200 mISDN: Make clearing B-channel a common function Clearing B-channel is needed in every driver, so it makes sense to have it as common function. Signed-off-by: Karsten Keil commit f3fad223ed69f406f33c9619c256858d5a5fc5c7 Author: Karsten Keil Date: Wed Jul 8 20:58:33 2009 +0200 ISDN: Fix isdnhdlc for one byte hdlc packets Normally HDLC packets contain more as one byte (e.g a X25/X75 header). But if you use plain HDLC framing, the current code do not encode 1 byte payloads, this patch fix that. Signed-off-by: Karsten Keil commit c38fc3bc2ecddd4f5278131603e6964cbed071b2 Author: Karsten Keil Date: Wed Jul 8 20:31:42 2009 +0200 ISDN: Add support for none reverse bitstreams to isdnhdc The original isdnhdlc code was developed for devices which had reversed bitorder in the byte stream. Adding code to handle normal bitstreams as well. Signed-off-by: Karsten Keil commit 6bd4bcd3cd8affc09eaee7efbc037f65f4a71501 Author: Karsten Keil Date: Wed Jul 8 19:11:09 2009 +0200 ISDN: Clean up isdnhdlc code Clean up isdnhdlc to meet current code standard. Remove hint to already removed bit reversal table. Signed-off-by: Karsten Keil commit cb3824bade2549d7ad059d5802da43312540fdee Author: Karsten Keil Date: Wed Jul 8 14:21:12 2009 +0200 ISDN: Make isdnhdlc usable for other ISDN drivers isdnhdlc is useful for other ISDN drivers as well. Move the include file to a central location and the source to the central isdn location. Signed-off-by: Karsten Keil commit 4c8abb556b393b3ed73d72481ba27705294f6dc6 Author: Nicolas Ferre Date: Fri Jul 24 12:16:57 2009 +0100 ARM: 5622/1: at91: at91sam9g45 headers: DMA peripheral identifiers It adds DMA peripheral identifiers for hardware handshaking interface. It will be used in platform code. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit ae78e0e0e49885bef3bffee2a56254db6abf562c Author: Mike Rapoport Date: Wed Jul 22 23:02:54 2009 -0700 Input: gpio_keys - swtich to dev_pm_ops Signed-off-by: Mike Rapoport Signed-off-by: Dmitry Torokhov commit 8150f32b90f630ad3e460f026ce338cb81685bc9 Author: Dmitry Torokhov Date: Fri Jul 24 22:11:32 2009 -0700 Driver Core: Make PM operations a const pointer They are not supposed to be modified by drivers, so make them const. Signed-off-by: Dmitry Torokhov Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit 249b405cf8145da8a74b70544ae1079d244bdb00 Author: Javier Cardona Date: Tue Jul 7 10:55:03 2009 -0700 mac80211: Fix regression in mesh forwarding path. The removal of the master netdev broke the mesh forwarding path. This patch fixes it by using the new internal 'pending' queue. As a result of this change, mesh forwarding no longer does the inefficient 802.11 -> 802.3 -> 802.11 conversion that was done before. [Changes since v1] Suggested by Johannes: - Select queue before adding to mpath queue - ieee80211_add_pending_skb -> ieee80211_add_pending_skbs - Remove unnecessary header wme.h Signed-off-by: Javier Cardona Signed-off-by: Andrey Yurovsky Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 3d34deb6737b1ae1f8b7817b57d603807f5d88ea Author: Johannes Berg Date: Thu Jun 18 17:25:11 2009 +0200 mac80211: fix ieee80211_xmit call context ieee80211_xmit() cannot be called with tasklets enabled because it is normally called from within a tasklet. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 72bce62775db0315511474e8d8f8e25d25b48366 Author: Johannes Berg Date: Wed Jun 17 17:45:28 2009 +0200 net: remove unused skb->do_not_encrypt mac80211 required this due to the master netdev, but now it can put all information into skb->cb and this can go. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3b8d81e020f77c9da8b85b0685c8cd2ca7c7b150 Author: Johannes Berg Date: Wed Jun 17 17:43:56 2009 +0200 mac80211: remove master netdev With the internal 'pending' queue system in place, we can simply put packets there instead of pushing them off to the master dev, getting rid of the master interface completely. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c4029083e2acb82229c43b791c07afb089d972ff Author: Johannes Berg Date: Wed Jun 17 17:43:30 2009 +0200 net: export __dev_addr_sync/__dev_addr_unsync For mac80211, with the master netdev removal, we need to be able to sync a multicast address list onto another list that is not tracked within a netdev, so we need access to the functions doing that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ccc78ec5d463e6c99f4a384be52b31222ffe2e21 Author: Luis R. Rodriguez Date: Tue Jul 21 21:03:42 2009 -0400 adm8211: remove uneeded code during suspend/resume mac80211 drivers do not need to stop the software queues or call their own stop() callback upon suspend as we do it for drivers. Equally drivers don't have to call their own start() or start the queues as mac80211 will do it for us. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 95a2b2ef82dc0bd10475c02e9d1fc7c93e708d03 Author: Luis R. Rodriguez Date: Tue Jul 21 21:03:10 2009 -0400 ath9k: do not stop the queues in driver stop mac80211 will have disabled the queues for us when needed. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2b3daf588965b72d3a9ccff426bfd5516bb73c6a Author: Joe Perches Date: Tue Jul 21 13:09:56 2009 -0700 MAINTAINERS: Update rtl8180 patterns rtl8180 files were moved into a subdirectory by commit 1c740ed2210a0d124674a477ea538468aba47810 Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 834da346041cd8969897feea2cdb09269120599f Author: Kalle Valo Date: Tue Jul 21 14:26:08 2009 +0300 MAINTAINERS: add wl1251 wireless driver Add myself as the maintainer for wl1251 driver. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 270b7588b376968d4db3af01e6d9907814c45552 Author: Kalle Valo Date: Tue Jul 21 14:26:01 2009 +0300 wl1251: remove wl1251_plt_start/stop() This Production Line Testing code is currently unused and can be removed. It can be reintroduced when nl80211 test mode implemented for the driver. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit f298c282a5233126ffe6385c02a9e79f695bed0f Author: Kalle Valo Date: Tue Jul 21 14:25:53 2009 +0300 wl1251: remove accidentally added wl1251_netlink.c Commit "wl1251: add wl1251 prefix to all 1251 files" accidentally added wl1251_netlink.c which contains a private netlink interface. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit f974cfdd8112a081fb1a402bf77835f28f37fcad Author: Pavel Roskin Date: Mon Jul 20 08:00:30 2009 -0400 ath5k: fix values for bus error bits in ISR2 The new values are taken from the recently open sourced Atheros HAL. Correctness is also confirmed by the users with access to Atheros documentation. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 1e056665e878ce4f91dbfd594f4ebba49ea689c0 Author: Zhu Yi Date: Mon Jul 20 16:12:57 2009 +0800 cfg80211: avoid setting default_key if add_key fails In cfg80211_upload_connect_keys(), we call add_key, set_default_key and set_default_mgmt_key (if applicable) one by one. If one of these operations fails, we should stop calling the following functions. Because if the key is not added successfully, we should not set it as default key anyway. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 971ad01169398170976951d3a9479a29d231c734 Author: Zhu Yi Date: Mon Jul 20 11:47:47 2009 +0800 iwmc3200wifi: fix a use-after-free bug The patch fixes a use-after-free bug for cmd->seq_num; Reported-by: Dan Carpenter Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9c7c0cdd24e64f9aed39453a1bffc3b3fd16ef99 Author: Zhu Yi Date: Mon Jul 20 11:47:46 2009 +0800 iwmc3200wifi: fix cfg80211_connect_result is called in IBSS Avoid calling cfg80211_connect_result() in IBSS mode. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit b68518fcbc6e0fe8c06a218cd2b92f62f3730cf9 Author: Zhu Yi Date: Mon Jul 20 11:47:45 2009 +0800 iwmc3200wifi: use cfg80211_connect_result to send req/resp IE cfg80211_connect_result() let us specify associate request and response IEs as parameters after we are connected. We use this capability instead of doing it ourselves with WEXT. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 3409ff7711bcf70390d5ba8ebde5d913b5266a45 Author: Zhu Yi Date: Mon Jul 20 11:47:44 2009 +0800 cfg80211: fix typo of IWEVASSOCRESPIE It should be IWEVASSOCREQIE instead. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1f00fca5c83c1bc5b4ca7e07f2a030bc39c130f2 Author: Zhu Yi Date: Mon Jul 20 11:47:43 2009 +0800 cfg80211: set_default_key only for WEP We invoke the cfg80211 set_default_key callback only for WEP key configuring. Signed-off-by: Zhu Yi Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e6a3f551bc236010c4d4d99e626e150e98a4c3e6 Author: Larry Finger Date: Sun Jul 19 21:53:14 2009 -0500 p54: Eliminate unnecessary initialization In two places, variables are unnecessilarly initialized to NULL. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f742880c9ca733b6c18bfaa0f5ad2a57f37180c2 Author: Christian Lamparter Date: Sun Jul 19 23:21:07 2009 +0200 mac80211: fix spare warnings in driver-trace.h This patch fixes the following errors: driver-trace.h:148:1: error: cannot size expression driver-trace.h:148:1: error: cannot size expression [...] driver-trace.h:222:1: error: cannot size expression driver-trace.h:71:1: error: incompatible types for operation (<) driver-trace.h:71:1: left side has type void * driver-trace.h:71:1: right side has type int driver-trace.h:99:1: error: incompatible types for operation (<) driver-trace.h:99:1: left side has type void * driver-trace.h:99:1: right side has type int driver-trace.h:148:1: error: incompatible types for operation (<) driver-trace.h:148:1: left side has type void * driver-trace.h:148:1: right side has type int driver-trace.h:222:1: error: cannot size expression driver-trace.h:248:1: error: incompatible types for operation (<) driver-trace.h:248:1: left side has type void * driver-trace.h:248:1: right side has type int driver-trace.h:446:1: error: incompatible types for operation (<) driver-trace.h:446:1: left side has type void * driver-trace.h:446:1: right side has type int Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a99d02483a40b9410d8a7af3b653ebc3f106280f Author: Christian Lamparter Date: Sun Jul 19 22:09:32 2009 +0200 mac80211: do not monitor the connection while scanning mac80211 constantly monitors the connection to the associated AP in order to check if it is out of reach/dead. This is absolutely fine most of the time. Except when there is a scheduled scan for the whole neighborhood. After all this path could trigger while scanning on different channel. Or even worse: this AP probing triggers a WARN_ON in rate_lowest_index when the scan code did a band transition! ( http://www.kerneloops.org/raw.php?rawid=449304 ) Reported-by: Larry Finger Signed-off-by: Christian Lamparter Tested-by: Larry Finger Signed-off-by: John W. Linville commit 9ab56078e638efb75ac4ccd27c7196cdfed2e6c8 Author: Roel Kluin Date: Mon Jul 13 00:10:07 2009 +0200 arlan: inverted logic? Inverted logic Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit f9b604f6c24ad161e9c9e30a138d5899724225c8 Author: Gabor Juhos Date: Sun Jun 21 00:02:15 2009 +0200 ath9k: make use ath9k_hw_wait int ath9k_hw_reset_tsf We have a dedicated function for this kind of checks, use that instead of duplicating the code. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 1b7e528b2e39bfed37228eedaaf0665196d8ddc9 Author: Gabor Juhos Date: Sun Jun 21 00:02:14 2009 +0200 ath9k: wake up the chip for TSF reset If we are in NETWORK SLEEP state, AR_SLP32_TSF_WRITE_STATUS limit always exceeds in 'ath9k_hw_reset_tsf', because reading of the AR_SLP3 register always return with the magic 0xdeadbeef value. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit da3c821f549419e09b4b64f07d99f52174daae6d Author: Stefan Weil Date: Sun Jul 19 15:00:39 2009 +0200 wl12xx: fix spelling Changes (comments and debug output): * couldnt -> couldn't * frmware -> firmware * recevied -> received Signed-off-by: Stefan Weil Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 4951348109c334f2b839816bd161522d089cb782 Author: Luis Correia Date: Fri Jul 17 21:39:19 2009 +0200 rt2x00: Comment spellchecking Fix a bunch of spelling errors in the rt2x00 drivers Signed-off-by: Luis Correia Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 30a12a8fbbd530b016277dd2ab65246b516540a8 Author: Wey-Yi Guy Date: Fri Jul 17 09:30:27 2009 -0700 iwlwifi: change iwl_enable/disable_interrupts to "inline" iwl_enable_interrupts is being called inside the interrupt, change from function call to inline Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4c423a2b0cc3c85137988962e6ba3f01baef0b4e Author: Reinette Chatre Date: Fri Jul 17 09:30:26 2009 -0700 iwlwifi: inform user about rfkill state changes rfkill state changes are mostly available through debug messages. These are significant enough to always make user aware of so we turn them into warnings. Also insert a missing newline in some rfkill related debug message. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 58dba728b1b727cb3d95a1f76ca4e88a1e628ee1 Author: Reinette Chatre Date: Fri Jul 17 09:30:25 2009 -0700 iwlwifi: clarify hardware error message When a hardware error is detected we need to be clear about that and not create impression that the microcode is able to deal with it. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a562a9dda7f47e7cac58d80bf1ffe441feca510e Author: Reinette Chatre Date: Fri Jul 17 09:30:24 2009 -0700 iwlwifi: make debug level more user friendly * Deprecate the "debug50" module parameter used to obtain 5000 series and up debugging. Replace it with "debug" module parameter to match with original driver and be consistent between them. The "debug50" module parameter can still be used, except that the module parameter is not writable in keeping with its previous state. We currently just mark it as "deprecated" and do not have it in the feature-removal-schedule. Some more cleanup of module parameters needs to be done and can then be entered together. * Only make "debug" module parameters visible if the driver is compiled with CONFIG_IWLWIFI_DEBUG. This will eliminate a lot of confusion where users think they have set debug flags but yet cannot see any debug output. * Make module parameters writable. This eliminates the need for the "debug_level" sysfs file, which can now also be deprecated and added to feature-removal-schedule. This file is in significant use though with many iwlwifi documents and text referring users to it. We can thus not take its removal lightly and keep it around. With iwlcore shared between iwlagn and iwl3945 we really do not need debug module parameters for each but can instead have one debug module parameter for the iwlcore module. The same issue is here as with the sysfs file - a lot of iwlwifi documentation and text (like bug reports) rely on iwlagn and iwl3945 having this module parameter, so changing this to a module parameter of iwlcore will have significant impact and we do not do this for that reason. One consequence of this patch is that if a user is running a system with both 3945 and later hardware then the setting of the one module parameter will affect the value of the other. The likelihood of this seems low - and even if this setup is present it does not seem like an issue for both modules to run with the same debug level. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 34a66de628b5dcc4a93129610ccd24814935e8cd Author: Wey-Yi Guy Date: Fri Jul 17 09:30:23 2009 -0700 iwlwifi: uCode Alive notification with timeout Wait for REPLY_ALIVE notification from init and runtime uCode. based on the type of REPLY_ALIVE, different status bit will be set to wake up the queue: STATUS_INIT_UCODE_ALIVE for init uCode STATUS_RT_UCODE_ALIVE for runtime uCode. If timeout, attempt to download the failing uCode image again. This can only be done for the init ucode images of all iwlagn devices and the runtime ucode image of the 5000 series and up. If there is a problem with the 4965 runtime ucode coming up we restart the interface and thus trigger a new download of the init ucode also. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cce53aa347c1e023d967b1cb1aa393c725aedba5 Author: Jay Sternberg Date: Fri Jul 17 09:30:22 2009 -0700 iwlwifi: update 1000 series API version to match firmware firmware file now contains build number so API needs to be updated. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b23a0524a38b146f85be44ae0d71abd2a710f4ab Author: Wey-Yi Guy Date: Fri Jul 17 09:30:21 2009 -0700 iwlwifi: checking unknown HW type When deciding NVM type, if the HW type is unknown, report error and exit with -ENOENT. This check should prevent incorrect behavior by assuming the wrong NVM type. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e5108d075c705ed3336163d9ead2b8fe629f680d Author: Wey-Yi Guy Date: Fri Jul 17 09:30:20 2009 -0700 iwlwifi: Led blinking counting both tx and rx For controlling led blinking, counting both tx and rx data traffic; this will be able to handle traffic in either direction Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a283c0116b0cc5e82327e50ad4d05f6d4d42c603 Author: Wey-Yi Guy Date: Fri Jul 17 09:30:19 2009 -0700 iwlwifi: add led debugfs function Adding debugfs file to show current led blinking rate /sys/kernel/debug/ieee80211/phy0/iwlagn/data/led Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2d1bb9e58c2b13df13741d1efe1129cf1098405d Author: Reinette Chatre Date: Fri Jul 17 09:30:18 2009 -0700 iwlagn: do not send key clear commands when rfkill enabled Do all key clearing except sending sommands to device when rfkill enabled. When rfkill enabled the interface is brought down and will be brought back up correctly after rfkill is enabled again. Same change is not needed for iwl3945 as it ignores return code when sending key clearing command to device. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=13742 Signed-off-by: Reinette Chatre Tested-by: Frans Pop Signed-off-by: John W. Linville commit 5e215169f466e48561e40d1fa142f02e0e44a3d0 Author: Wey-Yi Guy Date: Fri Jul 17 09:30:17 2009 -0700 iwlwifi: make led functions generic Led functions are generic for all the devices except 3945, so remove the reference to 4965 Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cc0f555d511a5fe9d4519334c8f674a1dbab9e3a Author: Jay Sternberg Date: Fri Jul 17 09:30:16 2009 -0700 iwlwifi: Handle new firmware file with ucode build number in header Adding new API version to account for change to ucode file format. New header includes the build number of the ucode. This build number is the SVN revision thus allowing for exact correlation to the code that generated it. The header adds the build number so that older ucode images can also be enhanced to include the build in the future. some cleanup in iwl_read_ucode needed to ensure old header not used and reduce unnecessary references through pointer with the data is already in heap variable. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 244294e83f7637e31bbf64060301904860a32051 Author: Wey-Yi Guy Date: Fri Jul 17 09:30:15 2009 -0700 iwlwifi: fix rx signal quality reporting in dmesg Fix quality incorrectly reported as signal strength value. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 02c06e4abc0680afd31bf481a803541556757fb6 Author: Wey-Yi Guy Date: Fri Jul 17 09:30:14 2009 -0700 iwlagn: modify digital SVR for 1000 On 1000, there are two Switching Voltage Regulators (SVR). The first one apply digital voltage level (1.32V) for PCIe block and core. We need to use this regulator to solve a stability issue related to noisy DC2DC line in the silicon. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 436b37c59416d0d8e21430f7980857fc932eb1e6 Author: Christian Lamparter Date: Thu Jul 16 20:05:41 2009 +0200 p54: fix a fw crash caused by statistic feedback This patch fixes a bug which crawled into the tree with the split-up changes. The memory-manager wasn't aware of the statistic feedback extra_len space requirements and happily placed following frames into the allegedly free spots. Thanks fly out to Larry Finger for taking the time to test all (permutations of) patches and theories all day long. Acked-by: Larry Finger Signed-off-by: Christian Lamparter Tested-by: Larry Finger Signed-off-by: John W. Linville commit 46df10ae44b4488176bae16da0b31541eb0f8f48 Author: Christian Lamparter Date: Thu Jul 16 20:03:47 2009 +0200 p54: fix beaconing related firmware crash This patch fixes a firmware crash which can be provoked by changing operation mode. Acked-by: Larry Finger Signed-off-by: Christian Lamparter Tested-by: Larry Finger Signed-off-by: John W. Linville commit 12f49a79cd32d97a11f864a7b67660438ee3e6c8 Author: Christian Lamparter Date: Thu Jul 16 20:03:17 2009 +0200 p54: remove useless code This patch removes some useless checks in recv/xmit code. Acked-by: Larry Finger Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 25e83c490be421019997146bdec8645f5bcabcd1 Author: Johannes Berg Date: Thu Jul 16 11:39:04 2009 +0200 cfg80211: don't optimise wext calls too much In the wext code I tried to not reconnect all the time when the user wasn't really sure what they were doing, like setting the BSSID back to the same value it was. However, this optimisation should only be done while associated so that setting the BSSID back to the same value that it was actually triggers a new association if not currently associated. To achieve, that, put the relevant code into the !IDLE case instead. Signed-off-by: Johannes Berg Tested-by: Kalle Valo Tested-by: Marcel Holtmann Signed-off-by: John W. Linville commit d4b1a6876f99ae1886cd254f649506af6692ac9f Author: Zhu Yi Date: Thu Jul 16 17:34:14 2009 +0800 cfg80211: remove WARN_ON in __cfg80211_sme_scan_done cfg80211_sme_scan_done() can be called (by fullmac cards) with wdev->conn == NULL when CFG80211_SME_CONNECTING. We quit silently instead of WARN_ON in this case. Signed-off-by: Zhu Yi Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 6e5db0a8454b44bf88fa74cf437a507ec08f436d Author: Zhu Yi Date: Thu Jul 16 17:34:13 2009 +0800 iwmc3200wifi: remove key caches in driver cfg80211 now guarantees keys are set after connecting. We can remove the key cache code from the driver now. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit b6c321718e1376b1a55afc63cce090a2c4573417 Author: Zhu Yi Date: Thu Jul 16 17:34:12 2009 +0800 iwmc3200wifi: make iwm_send_wifi_if_cmd return 0 on success We used to return the result of wait_event_interruptible_timeout() which is the remaining timeout on success. But this information is not used by any of its callers. So we just return 0 on success. This fixed a erroneous return value bug for iwm_set_key(). Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 0e371f1a0c0acd4abfa052b01e7b1f4a71ef6590 Author: Zhu Yi Date: Thu Jul 16 17:34:11 2009 +0800 iwmc3200wifi: remove setting WEP keys before setting essid support The recent cfg80211 "rework key operation" patch from Johannes Berg makes sure keys are set only after the connection has been established. So we can remove the setting WEP keys before essid support from the driver. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9967d46aa5ba065650d3352ab5d906f56ba17648 Author: Samuel Ortiz Date: Thu Jul 16 17:34:10 2009 +0800 iwmc3200wifi: cfg80211 managed mode port This patch ports iwmc3200wifi to the cfg80211 managed mode API. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 4fdd81f5f2e6fc55b67938f09b3495d679428cd7 Author: Zhu Yi Date: Thu Jul 16 17:34:09 2009 +0800 iwmc3200wifi: use correct debug level This patch uses TX and RX instead of NTF debug levels in some hot paths. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 49b7772776359b8306ce740bfc52d32b344adc83 Author: Zhu Yi Date: Thu Jul 16 17:34:08 2009 +0800 iwmc3200wifi: set cipher_suites before registering wiphy We need to specify all the cipher suites we supported. Otherwise cfg80211_validate_key_settings() will fail when we are setting keys. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 3a0e4851c97328ee455a57cb3e4097bb43934a87 Author: Zhu Yi Date: Thu Jul 16 17:34:07 2009 +0800 iwmc3200wifi: hardware does not support IP checksum The iwmc3200wifi hardware doesn't support IP checksum. So mark the skb->ip_summed to CHECKSUM_NONE instead of CHECKSUM_UNNECESSARY. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1cc589b9e7d95888bb8cc806c210d8ab5371d40f Author: Zhu Yi Date: Thu Jul 16 17:34:06 2009 +0800 iwmc3200wifi: fix UMAC INIT_COMPLETE notification handling The patch fixes the missing UMAC iwm_umac_wifi_in_hdr header in the UMAC INIT_COMPLETE (iwm_umac_notif_init_complete) notification. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit ea9edaf6bc0e3f3a7bd167d9ba369276a30c9953 Author: Larry Finger Date: Wed Jul 15 22:49:27 2009 -0500 hostap_cs: Enable shared interrupts The hostap_cs driver is programmed for exclusive rather that shared interrupts. Signed-off-by: Larry Finger Reported-and-Tested-by: Jack Schneider Signed-off-by: John W. Linville commit e91d83346ad9b30f44469c92b982206dcd7dcaf0 Author: Johannes Berg Date: Wed Jul 15 17:21:41 2009 +0200 wireless: remove print_mac uses Use %pM instead, and also remove stray variables declared with DECLARE_MAC_BUF. Signed-off-by: Johannes Berg Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 04dc882d601ec6fae5dfcb47c43f7af343e9a135 Author: Vivek Natarajan Date: Wed Jul 15 08:51:17 2009 +0530 ath9k: Add AR9287 based chipsets' register information. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit ae9e4b0d1a43fd66da43918491834f9e5c1b6cca Author: Luis R. Rodriguez Date: Tue Jul 14 20:23:15 2009 -0400 cfg80211: treat ieee80211_regdom hints as user hints We were treating ieee80211_regdom module parameter hints as core hints, this means we were not letting the user help compliance further when using the module parameter. It also meant that users with a device with a custom regulatory domain set (wiphy->custom_regulatory) using this module parameter were being stuck to the original default core static regualtory domain. We fix this by using the static cfg80211_regdomain alpha2 as the core hint and treating the module parameter separately. All iwlwifi and ath5k/ath9k/ar9170 devices which world roam set the wiphy->custom_regulatory. This change allows users using this module parameter to have it trated as a a proper user hint and not have it ignored. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 64839170be296e6348fbaf83fd103711978669b9 Author: Luis R. Rodriguez Date: Tue Jul 14 20:22:53 2009 -0400 ath9k: disable radio when all devices are marked idle This uses the new configuration changes indicated up by mac80211 when all interfaces are marked idle. We need to do a little more work as we have our own set of virtual wiphys within ath9k. Only when all virtual wiphys are inactive do we allow an idle state change for a wiphy to trigger disabling the radio. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 709ade9eb8ef06e03526115408e2fc93a9feabbd Author: Gabor Juhos Date: Tue Jul 14 20:17:15 2009 -0400 ath9k: serialize ath9k_ps_{wakeup,restore} calls These functions are changing the power mode of the chip, but this may have unpredictable effects, if another code are trying to set the power mode via 'ath9k_hw_setpower' in the same time from another context. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 0bc0798b7605664c3ab8d577b398dc7ae0b2e58c Author: Gabor Juhos Date: Tue Jul 14 20:17:14 2009 -0400 ath9k: uninline ath9k_ps_{wakeup,restore} functions Uninline these functions before we add functional changes to them. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 04717ccd80e5acc500239222684fcf8d2c759a84 Author: Gabor Juhos Date: Tue Jul 14 20:17:13 2009 -0400 ath9k: serialize ath9k_hw_setpower calls Because ath9k_setpower is called from various contexts, we have to protect it against concurrent calls. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit ebaa24534ef54a8f665558536dbef3a761a9b841 Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:17:12 2009 -0400 ath9k: Remove pointless ath9k_ps_restore() in ath_detach() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c41d92dc9d9a1afcec0095c32698ea7deff01098 Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:17:11 2009 -0400 ath9k: Handle tx desc shortage more appropriately Update tx BA window and complete the frame as failed one if we can't clone the holding descriptor due to unavailability of descriptors. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 8e7f98b5690fc295e3a39b99aeed475d28c60c90 Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:17:10 2009 -0400 ath9k: Remove bogus assert in ath_clone_txbuf() oops, this one should be part of the original patch "ath9k: downgrade assert in ath_clone_txbuf()" Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 164ace38536849966ffa377b1b1132993a5a375d Author: Senthil Balasubramanian Date: Tue Jul 14 20:17:09 2009 -0400 ath9k: Fix TX hang issue with Atheros chipsets The hardware doesn't generate interrupts in some cases and so work around this by monitoring the TX status periodically and reset the chip if required. This behavior of the hardware not generating the TX interrupts can be noticed through ath9k debugfs interrupt statistics when heavy traffic is being sent from STA to AP. One can easily see this behavior when the STA is transmitting at a higher rates. The interrupt statistics in the debugfs interface clearly shows that only RX interrupts alone being generated and TX being stuck. TX should be monitored through a timer and reset the chip only when frames are queued to the hardware but TX interrupts are not generated for the same even after one second. Also, we shouldn't remove holding descriptor from AC queue if it happens to be the only descriptor and schedule TX aggregation regarless of queue depth as it improves scheduling of AMPDUs from software to hardware queue. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit dd8b15b027d96f7097ae9dbaebd822a114a03c34 Author: Senthil Balasubramanian Date: Tue Jul 14 20:17:08 2009 -0400 ath9k: RX stucks during heavy traffic in HT40 mode. Running iperf along with p2p traffic on both TX and RX side then stop one side, then stop the other side, then start it up again, eventually the STA gets into a mode that it can not pass data at all. A hardware workaround for invalid RSSI can make FIFO write pointer to jump over read pointer, causing RX data corruption and repeated DMA. Both TX and RX works fine when the workaround is disabled. To replace the original hardware work around, software looks for frames with post delimiter CRC error and mark the RSSI invalid so that the upperlayer will not use the RSSI associated with this frame. So disable the hardware workaround by updating the appropriate registers. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit a59b5a5e684652eec035c869ab8911a1689c8f53 Author: Senthil Balasubramanian Date: Tue Jul 14 20:17:07 2009 -0400 ath9k: Manipulate and report the correct RSSI RSSI reported by the RX descriptor requires little manipulation. Manipulate and report the correct RSSI to the stack. This will fix the improper signal levels reported by iwconfig iw dev wlanX station dump. Also the Link Quality reported seems to be varying (falls to zero also sometimes) when iperf is run from STA to AP. Also use the default noise floor for now as the one reported during the caliberation seems to be wrong. The Signal and Link Quality before this patch (taken while TX is in progress from STA to AP) 09:59:13.285428037 Link Quality=29/70 Signal level=-81 dBm 09:59:13.410660084 Link Quality=20/70 Signal level=-90 dBm 09:59:13.586864392 Link Quality=21/70 Signal level=-89 dBm 09:59:13.710296281 Link Quality=21/70 Signal level=-89 dBm 09:59:13.821683064 Link Quality=25/70 Signal level=-85 dBm 09:59:13.933402989 Link Quality=24/70 Signal level=-86 dBm 09:59:14.045839276 Link Quality=26/70 Signal level=-84 dBm 09:59:14.193926673 Link Quality=23/70 Signal level=-87 dBm 09:59:14.306230262 Link Quality=31/70 Signal level=-79 dBm 09:59:14.419459667 Link Quality=26/70 Signal level=-84 dBm 09:59:14.530711167 Link Quality=37/70 Signal level=-73 dBm 09:59:14.642593962 Link Quality=29/70 Signal level=-81 dBm 09:59:14.754361169 Link Quality=21/70 Signal level=-89 dBm 09:59:14.866217355 Link Quality=21/70 Signal level=-89 dBm 09:59:14.976963623 Link Quality=28/70 Signal level=-82 dBm 09:59:15.089149809 Link Quality=26/70 Signal level=-84 dBm 09:59:15.205039887 Link Quality=27/70 Signal level=-83 dBm 09:59:15.316368003 Link Quality=23/70 Signal level=-87 dBm 09:59:15.427684036 Link Quality=36/70 Signal level=-74 dBm 09:59:15.539756380 Link Quality=21/70 Signal level=-89 dBm 09:59:15.650549093 Link Quality=22/70 Signal level=-88 dBm 09:59:15.761171672 Link Quality=32/70 Signal level=-78 dBm 09:59:15.872793750 Link Quality=23/70 Signal level=-87 dBm 09:59:15.984421694 Link Quality=22/70 Signal level=-88 dBm 09:59:16.097315093 Link Quality=21/70 Signal level=-89 dBm The link quality and signal level after this patch (take while TX is in progress from STA to AP) 17:21:25.627848091 Link Quality=65/70 Signal level=-45 dBm 17:21:25.762805607 Link Quality=65/70 Signal level=-45 dBm 17:21:25.875521888 Link Quality=66/70 Signal level=-44 dBm 17:21:25.987468448 Link Quality=66/70 Signal level=-44 dBm 17:21:26.100628151 Link Quality=66/70 Signal level=-44 dBm 17:21:26.213129671 Link Quality=66/70 Signal level=-44 dBm 17:21:26.324923070 Link Quality=65/70 Signal level=-45 dBm 17:21:26.436831357 Link Quality=65/70 Signal level=-45 dBm 17:21:26.610356973 Link Quality=65/70 Signal level=-45 dBm 17:21:26.723340047 Link Quality=65/70 Signal level=-45 dBm 17:21:26.835715293 Link Quality=64/70 Signal level=-46 dBm 17:21:26.949542748 Link Quality=64/70 Signal level=-46 dBm 17:21:27.062261613 Link Quality=65/70 Signal level=-45 dBm 17:21:27.174511563 Link Quality=64/70 Signal level=-46 dBm 17:21:27.287616232 Link Quality=64/70 Signal level=-46 dBm 17:21:27.400598119 Link Quality=64/70 Signal level=-46 dBm 17:21:27.511381404 Link Quality=64/70 Signal level=-46 dBm 17:21:27.624530421 Link Quality=65/70 Signal level=-45 dBm 17:21:27.737807109 Link Quality=64/70 Signal level=-46 dBm 17:21:27.850861352 Link Quality=65/70 Signal level=-45 dBm 17:21:27.963369436 Link Quality=64/70 Signal level=-46 dBm 17:21:28.076582289 Link Quality=64/70 Signal level=-46 dBm Signed-off-by: Senthil Balasubramanian Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 922bac602255d4557c289cabba7857c5be332d34 Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:14:13 2009 -0400 ath9k: Nuke struct ath_tx_ratectrl_state Move its only member (u8 per) to struct ath_rate_priv. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c41304653e120749dae8b04332b92ffb5f4dbbfd Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:14:12 2009 -0400 ath9k: Use probe interval instead of rssi reduce interval Get rid of rssi reduce interval. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ddf4a2db72c1073b31d0ad28911d137b1745cfca Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:14:11 2009 -0400 ath9k: Remove unused members from rate control structure Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 39a4cafe1638bb21f335b210d037cd2cd8ce6c08 Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:14:10 2009 -0400 ath9k: Remove dead code in rate control ath9k rate control is based on only PER (packet error rate), remove unused code which was intented to do rssi based rate selection. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit e25739a171d7352168346dbab7f006e1f9275995 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:09 2009 -0400 ath9k: remove rate control wraper After the cleanup we just use get_rate as a wrapper, skip the wrapper. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4c6d4f5c33fbe19b134c1af43af166fee79eb986 Author: Luis R. Rodriguez Date: Thu Jul 16 10:05:41 2009 -0700 mac80211: add helper for management / no-ack frame rate decision All current rate control algorithms agree to send management and no-ack frames at the lowest rate. They also agree to do this when sta and the private rate control data is NULL. We add a hlper to mac80211 for this and simplify the rate control algorithm code. Developers wishing to make enhancements to rate control algorithms are for broadcast/multicast can opt to not use this in their gate_rate() mac80211 callback. Cc: Zhu Yi Acked-by: Reinette Chatre Cc: ipw3945-devel@lists.sourceforge.net Cc: Gabor Juhos Acked-by: Felix Fietkau Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 943ab70f6aebfdc0005ef7e58ae982e9ec22224b Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:07 2009 -0400 iwlwifi: use ieee80211_is_data(fc) iwl-agn-rs.c already uses this. Cc: Zhu Yi Cc: Reinette Chatre Cc: ipw3945-devel@lists.sourceforge.net Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e8986436580caf50ebbd3bf8371074aadf95aba5 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:06 2009 -0400 mac80211: make minstrel/pid RC use ieee80211_is_data(fc) Cc: Felix Fietkau Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7682a76df8f4e875e4029d95b799c712ee740ddc Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:05 2009 -0400 ath9k: remove unnecessary IEEE80211_TX_CTL_NO_ACK checks We check for this condition early on in our mac80211 get_rate() callback ath_get_rate(), so remove this check later down the path. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 201c3b414b4b759f399502b059189d7802bbfbb6 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:04 2009 -0400 ath9k: rename ath_rc_ratefind_ht() to ath_rc_get_highest_rix() The purpose is to find the highest rate we can use. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b9b6e15a9481441108ad2527db0187f729c88970 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:03 2009 -0400 ath9k: remap ATH9K_MODE_* There are a lot of gaps here. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dfe80a3fd2199c31d0a2dc24044abaadb64c26c2 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:02 2009 -0400 ath9k: remove ATH9K_MODE_11B This saves us 2733 bytes. text data bss dec hex filename 252265 3628 1584 257477 3edc5 ath9k-has-b-rate.ko 249905 3628 1584 255117 3e48d ath9k.ko Cc: Derek Smithies Cc: Chittajit Mitra Siged-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4e6df85dacedbc68b551fdd8677f7df68639c181 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:01 2009 -0400 ath9k: remove unused ath_rc_isvalid_txmask() Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 39448b0a27529f2feecd876729ef0fba25354363 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:00 2009 -0400 ath9k: rename ath_rc_get_nextlowervalid_txrate() What this does is get us our next lower rate so call it that, ath_rc_get_lower_rix(). Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 20f57215a2ff75f7c2e4004b7583e1fec925679e Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:59 2009 -0400 ath9k: remove pointless wrapper ath_rc_rate_getidx() This is just calling another helper, so just use the other helper directly. This should make it clear that when do not find the next rate we stick to the current one. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7466c524a42110e921e79b390b58bfc6ca6d249e Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:58 2009 -0400 ath9k: remove unused stepdown when looking for the next rate This is not used, remove this. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 984d021d56f036e5ffbef191cb5e498cf159784d Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:57 2009 -0400 ath9k: remove unused min rate calculation code This is not used, and when we need to get the lowest rate we should simply use mac80211's own rate_lowest_index(sband, sta). Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dd1901830ca7baaaae2e58f549f770f215c6f3af Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:56 2009 -0400 ath9k: cleanup try count for MRR in rate control This has no functional change and just cleans up the code to be more legible and removes a useless variable for Multi Rate Retry. For regular frames we use 2 retries for MRR segments [0-2]. For the last MRR segment [3] we use 4. MRR[0] = 2 MRR[1] = 2 MRR[2] = 2 MRR[3] = 4 Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0ab216d9727c0728c8b5f9ad627b6955570303d7 Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:55 2009 -0400 iwlwifi: remove rs_get_rate workaround This removes the work around implemented for transmitting on an unsupported band on iwlwifi. This was added via the patch: 8e1856e82cb8f541e925738bebfbc473420cda68: iwlwifi: fix rs_get_rate WARN_ON() Cc: Mohamed Abbas Cc: Reinette Chatre Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e43419f9ad99112a2715ee34c634ffeac3bf730d Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:54 2009 -0400 ath9k: downgrade assert in rc.c for invalid rate The case where no vaid rate is found should not happen now but to help debugging and downgrade this to a warn. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b770b43e95a66587fbd8c1841de83da87fbf23ea Author: Luis R. Rodriguez Date: Thu Jul 16 10:15:09 2009 -0700 mac80211: drop frames for sta with no valid rate When we're associated we should be able to send data to target sta. If we cannot we may be trying to use the incorrect band to talk to the sta. Lets catch any such cases, warn, and drop the frames to not invalidate assumptions being made on rate control algorithms when they have a valid sta to communicate with. Any such cases should be handled and fixed. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit fe643414dbf330d6d910e01edd48dd93dc6f2942 Author: Jiri Slaby Date: Tue Jul 14 22:37:13 2009 +0200 wireless: wl12xx, fix lock imbalance Add omitted mutex_unlock to one of wl12xx_op_start fail paths (when wl12xx_chip_wakeup fails). [v2] Power off the device, because: \= cite from http://marc.info/?l=linux-kernel&m=124755028209880&w=2 If the chip cannot be booted, why should it remain powered on? In some rare cases, the chip might fail to initialize, but can recover if powered off and on again, so turning it off at this point is the right thing to do. =/ Signed-off-by: Jiri Slaby Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit a94ca4e7af0e6b63ef5345750fad8e1400274ba4 Author: Johannes Berg Date: Tue Jul 14 15:48:11 2009 +0200 iwlwifi: make some logging functions static/unexport iwl_dump_nic_error_log can be static and iwl_dump_nic_event_log doesn't need to be exported. Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 256fc96028f0eae5f7a3f6f77358cdd30a72c988 Author: Hin-Tak Leung Date: Tue Jul 14 00:05:56 2009 +0100 rtl8187: updating Kconfig with info of branded devices Adding more detailed info about Asus motherboards and Ralink devices. Signed-off-by: Hin-Tak Leung Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 8f75e07aa14107668d33f60fa4d78afa2d7aa22b Author: Hin-Tak Leung Date: Mon Jul 13 23:20:37 2009 +0100 zd1211rw: adding Accton Technology Corp (083a:e501) as a ZD1211B device New device supported by the zd1211rw driver reported to linux-wireless. Device string from lsusb: "ID 083a:e501 Accton Technology Corp. ZD1211B" RF type from dmesg: zd1211b chip 083a:e501 v4810 high 00-1a-2a AL2230_RF pa0 g--NS Signed-off-by: Hin-Tak Leung Tested-by: Adrián Cereto Signed-off-by: John W. Linville commit 6682588a08b8be34649348051bc0204f7ab401a2 Author: Johannes Berg Date: Mon Jul 13 13:24:44 2009 +0200 cfg80211: fix unregistration The work that we cancel there requires the cfg80211_mutex, so we can't cancel it under the mutex, which is fine, we can just move it to after the locked section. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0e2b6286805c419d28a4c1e19e3a121af7449b20 Author: Johannes Berg Date: Mon Jul 13 13:23:39 2009 +0200 mac80211: cancel the connection monitor timers/work In "mac80211: monitor the connection" I forgot to add code to cancel the new timers & work when the interface is brought down, which isn't a problem if you just bring it down, but _is_ a problem when you destroy the interface. Correct this lapse. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ec96cfd8215af1cda016837efb266409164e3a30 Author: Julia Lawall Date: Sun Jul 12 22:05:33 2009 +0200 drivers/net: Drop unnecessary NULL test The result of container_of should not be NULL. In particular, in this case the argument to the enclosing function has passed though INIT_WORK, which dereferences it, implying that its container cannot be NULL. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ identifier fn,work,x,fld; type T; expression E1,E2; statement S; @@ static fn(struct work_struct *work) { ... when != work = E1 x = container_of(work,T,fld) ... when != x = E2 - if (x == NULL) S ... } // Signed-off-by: Julia Lawall Acked-by: Zhu Yi Signed-off-by: John W. Linville commit 323d566eae1ace41bc674863b58fcc474501a2db Author: Gábor Stefanik Date: Sun Jul 12 02:03:48 2009 +0200 cfg80211: fix disabling WPA via wext (SIOCSIWAUTH) cfg80211_set_wpa_version completely missed the use case when disabling WPA, considering IW_AUTH_WPA_VERSION_DISABLED an invalid argument. This caused weird error messages in wpa_supplicant. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 4b9631a4734e25e37c83e72c3e0ffcbb08de5791 Author: Ivo van Doorn Date: Sat Jul 11 18:00:19 2009 +0200 rt2x00: Remove DEVICE_STATE_DISABLED_RADIO_HW The DEVICE_STATE_DISABLED_RADIO_HW flag is only read but never set, it is an ancient part of one of the many versions of the rfkill implementations in rt2x00. It is about time is disappears. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit acbadf01ff6727a2c7dc6e12f70ce8d05a16dc06 Author: Christian Lamparter Date: Sat Jul 11 17:24:14 2009 +0200 ar9170: implement transmit aggregation This patch roughly implements xmit aggregation for ar9170-like device. Not all AP are compatible with the driver(and firmware) yet, so YMMV. A more refined code will definitely need the final HT specification to be available for the public, lots of firmware modification and possibly a redesigned driver just for good measure. Sadly, these conditions won't come true anytime soon... Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 1a9b6679adfb8ef1f1f3dbb7ebd2ee72e2ea4b56 Author: Christian Lamparter Date: Sat Jul 11 01:22:26 2009 +0200 p54: generate channel list dynamically This patch enhances the eeprom parser to generate customized channel list for every device. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 596a07c18b35c9df2fb212856241ae0dfe3162b9 Author: Johannes Berg Date: Sat Jul 11 00:17:32 2009 +0200 cfg80211: fix more bugs in mlme handling The "what-was-I-thinking-if-anything" patch. Clearly, if cfg80211_send_disassoc() does wdev_lock() and then calls __cfg80211_send_disassoc(), the latter shouldn't lock again. And the sme_state test is ... no further comments. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 930c06f27120fa8cf0bfb6fa000a701cfaf01ed6 Author: Stefan Steuerwald Date: Fri Jul 10 20:42:55 2009 +0200 rt2x00: Implement set_tim callback for all drivers Implement set_tim callback for all rt2x00 drivers, this makes the device wake up powersaving stations properly while in AP mode. The only way to update the beacon is by simply calling mac80211 and requesting the new beacon. This means the set_tim() event is mostly the same as a beacon_done() event which was already defined in rt2x00lib. Signed-off-by: Stefan Steuerwald Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 48ab905d1a81b7df33a33def04a890e4e0c51460 Author: Johannes Berg Date: Fri Jul 10 18:42:31 2009 +0200 nl80211: report BSS status When connected to a BSS, or joined to an IBSS, we'll want to know in userspace without using wireless extensions, so report the BSS status in the BSS list. Userspace can query the BSS list, display all the information and retrieve the station information as well. For example (from hwsim): $ iw dev wlan1 scan dump BSS 02:00:00:00:00:00 (on wlan1) -- associated freq: 2462 beacon interval: 100 capability: ESS ShortSlotTime (0x0401) signal: -50.00 dBm SSID: j Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 DS Paramater set: channel 11 ERP: Extended supported rates: 24.0 36.0 48.0 54.0 Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4697fe4f78df14d37cffa7e8d27cbb02a351c139 Author: Johannes Berg Date: Fri Jul 10 18:35:49 2009 +0200 cfg80211: fix wext setting SSID Pavel reported that you can't set the SSID from "foo" to "bar". I tried reproducing, but used different values, with different lengths, and thus never saw the obvious problem. Reported-by: Pavel Roskin Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 908d4369a394e816767d566d9c3d15a5af8c1c55 Author: Johannes Berg Date: Fri Jul 10 17:53:34 2009 +0200 cfg80211: don't look at wdev->ssid for giwessid This variable is only used internally, _while_ connected. If we use it, the sequence # iwconfig wlan1 essid foo # iwconfig wlan1 essid "" # iwconfig will still display "foo" as the SSID afterwards, which is obviously quite bogus. Fix this by only displaying the wext SSID, if present. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4b14c96dfbf068acb85c3fa2446b3949c0230deb Author: Johannes Berg Date: Fri Jul 10 16:56:59 2009 +0200 mac80211_hwsim: report fixed signal strength There's no reason to think that hwsim has any actual signal strength, but for testing it is very useful to have it report _some_ value to the stack so I can see if the value ends up being reported correctly Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c56c5714f12808e3f702817e72a78dd12f1704eb Author: Johannes Berg Date: Fri Jul 10 16:54:07 2009 +0200 cfg80211: fix wext stats Instead of using the wext BSSID which may be NULL if you haven't explicitly set one, we should instead use the current_bss pointer -- if that's NULL we aren't connected anyway. Fixes missing signal quality output reported to me internally at Intel. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ca3dbc20d47ae43c201c215259d078e227bfcf01 Author: Helmut Schaa Date: Fri Jul 10 14:54:58 2009 +0200 cfg80211: update misleading comment In cfg80211_scan_request n_channels refers to the total number of channels to scan. Update the misleading comment accordingly. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit a43816df2a1a61effcb701037bdf63621d066182 Author: Johannes Berg Date: Fri Jul 10 11:39:26 2009 +0200 mac80211: mesh: fix two small problems 1) there's a spin_lock() that needs to be spin_lock_bh() 2) action frames of size 24 might cause an out-of-bounds memory access (for the 25th byte only, so no big deal) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ec3f149017ef3fd21343b1dcec3589eec6ba5dd5 Author: Johannes Berg Date: Fri Jul 10 02:45:38 2009 +0200 cfg80211: fix a locking bug The cfg80211_sme_disassoc() function is already holding a lock here that cfg80211_mlme_deauth() would take, so it needs to use __cfg80211_mlme_deauth() instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b291ba11181d46dfbd2d7a5c00a5f3335228191e Author: Johannes Berg Date: Fri Jul 10 15:29:03 2009 +0200 mac80211: monitor the connection With the recent MLME rework I accidentally removed the connection monitoring code. In order to add it back, this patch will add new code to monitor both for beacon loss and for the connection actually working, with possibly separate triggers. When no unicast frames have been received from the AP for (currently) two seconds, we will send the AP a probe request. Also, when we don't see beacons from the AP for two seconds, we do the same (but those times need not be the same due to the way the code is now written). Additionally, clean up the parameters to the ieee80211_set_disassoc() function that I need here, those are all useless except sdata. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ca386f3137eb68621fadba546d9eb35ac2f82de3 Author: Johannes Berg Date: Fri Jul 10 02:39:48 2009 +0200 mac80211: fix multi-use timer We have, sometimes, multiple things that want to run but don't have their own timer. Introduce a new function to mac80211's mlme run_again() that makes sure that the timer will run again at the _first_ needed time, use that function and also properly reprogram the timer once it fired. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 01a7e08436929271c6173b5daf3e193ef5b3561a Author: Reinette Chatre Date: Thu Jul 9 10:33:41 2009 -0700 iwlagn: fix minimum number of queues setting We need to provide a reasonable minimum that will result in a working setup if used. Set minimum to be 10 to provide for 4 standard TX queues + 1 command queue + 2 (unused) HCCA queues + 4 HT queues (one per AC). We allow the user to change the number of queues used via a module parameter and use this minimum value to check if it is valid. Without this patch a user can select a value for the number of queues that will result in a failing setup. Signed-off-by: Reinette Chatre Reviewed-by: Tomas Winkler Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 5905a1aa71488b5f78822100c865ed7c4f9fcd8f Author: Reinette Chatre Date: Thu Jul 9 10:33:40 2009 -0700 iwl3945: cleanup number of queues settings * Rename maximum number of queue (TFD_QUEUE_MAX) to IWL39_NUM_QUEUES to be consistent with rest of iwlwifi. * Remove unused defines. * Fix loops that iterate over number of TX queues to stop when maximum is reached (currently it is maximum + 1). * Remove queues_num module parameter as it is not used. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fcf89d05404dafcde581d44dfa89bd8c8def27f9 Author: Reinette Chatre Date: Thu Jul 9 10:33:38 2009 -0700 iwlwifi: fix permissions on debugfs files debugfs files are created with 644 permissions which gives everybody read access. This presents a security issue if a user opens the file and holds it open at the time the driver removes the file. At this point invalid memory will be accessed. Fix this by only allowing root to read debugfs files. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f5ad69fa47e7b204d0032d569812544cd9a351fb Author: Wey-Yi Guy Date: Thu Jul 9 10:33:36 2009 -0700 iwlwifi: move show_qos to debugfs This move the show_qos file from sysfs to debugfs because the "one value per file" sysfs rule. The file is located in /sys/kernel/debug/ieee80211/phy0/iwlagn/data Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 80e5b06a1b0d9a6aa88dc5c9e93ba49510c52b45 Author: Zhu Yi Date: Thu Jul 9 16:59:49 2009 +0800 cfg80211: fix NULL dereference in IBSS SIOCGIWAP This patch avoids memcpy from wdev->wext.ibss.bssid if it is NULL. This could happen if we SIOCGIWAP before SIOCSIWAP. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f874011bb01e7fb19904db7f739bb343a0a53fd5 Author: Marcin Slusarz Date: Wed Jul 8 22:03:13 2009 +0200 wireless: fix supported cards for rtl8187 Different revisions of WUSB54GC-EU use different chipsets - v2 uses rtl8187, but v3 uses Ralink RT3070. Signed-off-by: Marcin Slusarz Cc: Przemyslaw Kulczycki Cc: John W. Linville Cc: Linux wireless Signed-off-by: John W. Linville commit fffd0934b9390f34bec45762192b7edd3b12b4b5 Author: Johannes Berg Date: Wed Jul 8 14:22:54 2009 +0200 cfg80211: rework key operation This reworks the key operation in cfg80211, and now only allows, from userspace, configuring keys (via nl80211) after the connection has been established (in managed mode), the IBSS been joined (in IBSS mode), at any time (in AP[_VLAN] modes) or never for all the other modes. In order to do shared key authentication correctly, it is now possible to give a WEP key to the AUTH command. To configure static WEP keys, these are given to the CONNECT or IBSS_JOIN command directly, for a userspace SME it is assumed it will configure it properly after the connection has been established. Since mac80211 used to check the default key in IBSS mode to see whether or not the network is protected, it needs an update in that area, as well as an update to make use of the WEP key passed to auth() for shared key authentication. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b9454e83cac42fcdc90bfbfba479132bd6629455 Author: Johannes Berg Date: Wed Jul 8 13:29:08 2009 +0200 nl80211: introduce new key attributes We will soon want to nest key attributes into some new attribute for configuring static WEP keys at connect() and ibss_join() time, so we need nested attributes for that. However, key attributes right now are 'global'. This patch thus introduces new nested attributes for the key settings and functions for parsing them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 10c836d7896e9d7b683a76f3cac3c289d8da72ef Author: Javier Cardona Date: Thu Jul 9 14:42:16 2009 -0700 mac80211: Assign next hop address to pending mesh frames Assign next hop address to pending mesh frames once the path is resolved. Regression. Frames transmitted when a mesh path was wating to be resolved were being transmitted with an invalid Receiver Address. [Changes since v1] Suggested by Johannes: - Improved frame_queue traversal - Narower RCU scope Signed-off-by: Javier Cardona Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit 4bde0f7d1dca0a7d886997eb8dee3fb47a6484e4 Author: Johannes Berg Date: Tue Jul 7 23:46:51 2009 +0200 cfg80211: fix two buglets This fixes two small bugs: 1) the connect variable is already initialised, and the assignment to auth_type overwrites the previous setting with a wrong value 2) when all authentication attempts fail, we need to report that we couldn't connect Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a71d62dbf3f0523b7a456333196cb26cf783fe92 Author: Johannes Berg Date: Tue Jul 7 23:41:27 2009 +0200 cfg80211: fix race in giwrate cfg80211_wext_giwrate doesn't lock the wdev, so it cannot access current_bss race-free. Also, there's little point in trying to ask the driver for an AP that it never told us about, so avoid that case. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e0f114e82e3781087a0ad0e92c94ff0d55012c1a Author: Christian Lamparter Date: Tue Jul 7 19:08:07 2009 +0200 p54: re-enable power save feature This patch re-enables p54's power save features and adds a workaround which temporarily alters the device's power state in order to allow ps-polls to be sent and buffered data to be retrieved during psm. (Incorporates patch originally posted as "p54: fix beacon template dtim IE corruption". -- JWL) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 0a2b8bb24d4eb67788edd71d1ef8aa86c2e17e0f Author: Johannes Berg Date: Tue Jul 7 13:46:22 2009 +0200 mac80211: driver operation debugging This makes mac80211 use the event tracing framework to log all operations as given to the driver. This will need to be extended with more information, but as a start it should be good. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 99783e2cde6eccbd31efeb03a79f26bb5f239c36 Author: Johannes Berg Date: Tue Jul 7 03:54:43 2009 +0200 mac80211: fix sparse warning ieee80211_testmode_cmd can very well be static. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a3daf68931679dbd96342099e4d61a99ba98315c Merge: b5d6f93 8de56b7 Author: Takashi Iwai Date: Fri Jul 24 16:54:59 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 412bb0a6224f96661c042a109c4978649c00ed52 Author: Catalin Marinas Date: Fri Jul 24 12:37:09 2009 +0100 Include linux/sched.h in arch/arm/mm/fault.c When building with !MMU, task_struct is not defined. Just include the relevant file. Signed-off-by: Catalin Marinas commit bdaaaec39792ee0035d6c5a5ad2520991e090a3c Author: Catalin Marinas Date: Fri Jul 24 12:35:06 2009 +0100 nommu: Do not set PRRR and NMRR in proc-v7.S if !MMU ARMv7-R profile CPUs do not have these registers. Signed-off-by: Catalin Marinas commit 8bdca0ac2b1ec35091941c57b4202f7096291c5b Author: Catalin Marinas Date: Fri Jul 24 12:35:06 2009 +0100 nommu: Fix compressed/head.S to not perform MMU specific operations Signed-off-by: Catalin Marinas commit 0e0fe9219d2e5426d87a0f62db445010d4aba2c7 Author: Catalin Marinas Date: Fri Jul 24 12:35:05 2009 +0100 nommu: Do not allow REALVIEW_HIGH_PHYS_OFFSET if !MMU Signed-off-by: Catalin Marinas commit 8b79d5f217d7fc7d6b85ee5b10899f2bd20b64ed Author: Catalin Marinas Date: Fri Jul 24 12:35:04 2009 +0100 nommu: Add #ifdef CONFIG_MMU around the PTE sanity checks Signed-off-by: Catalin Marinas commit b32f3afe3c5c4ddd1c414d41845470a99c88475f Author: Catalin Marinas Date: Fri Jul 24 12:35:03 2009 +0100 nommu: Include asm/setup.h in arch/arm/mm/nommu.c This is needed for the struct meminfo definition. Signed-off-by: Catalin Marinas commit ab6494f0c96f8953c7ad3e35301b2de2db3add57 Author: Catalin Marinas Date: Fri Jul 24 12:35:02 2009 +0100 nommu: Add noMMU support to the DMA API Signed-off-by: Catalin Marinas commit 2732f4b6f11689fa08e2db5689fc652d608936b5 Author: Catalin Marinas Date: Fri Jul 24 12:35:01 2009 +0100 nommu: Remove the memory_start/end variables from ARM page-nommu.h These variables do not seem to be used anywhere in the kernel. Signed-off-by: Catalin Marinas commit 3c4279750c7d3f88a0638a44e257d7d8d10732f2 Author: Hyok S. Choi Date: Fri Jul 24 12:35:00 2009 +0100 nommu: Enables to select noMMU mode MMU option is now selectable. Signed-off-by: Hyok S. Choi commit 05efde9d04ccc1d66a9d2225527c6ee638baa385 Author: Catalin Marinas Date: Fri Jul 24 12:34:59 2009 +0100 nommu: Do not override the CP15 control reg value returned from initfunc The patch removes the "mrc" instruction in head-nommu.S overriding the r0 register containing the value to be written in the CP15 system control register. Signed-off-by: Catalin Marinas commit 68b7f7153fa58df710924fbb79722717d2d16094 Author: Paul Brook Date: Fri Jul 24 12:34:58 2009 +0100 nommu: ptrace support The patch below adds ARM ptrace functions to get the process load address. This is required for useful userspace debugging on mmuless systems. These values are obtained by reading magic offsets with PTRACE_PEEKUSR, as on other nommu targets. I picked arbitrary large values for the offsets. Signed-off-by: Paul Brook commit 5d57795e26c413656725c26bd053dbee3711adee Author: Catalin Marinas Date: Fri Jul 24 12:34:57 2009 +0100 nommu: Add MMU-less support for the RealView boards This patch defines the IO_ADDRESS macro for the !CONFIG_MMU case. Signed-off-by: Catalin Marinas commit 365f7a43497dfdfdc05ca03896a8e22ee6944179 Author: Catalin Marinas Date: Fri Jul 24 12:34:57 2009 +0100 nommu: Add MMU-less support for Integrator platforms This patch redefines the IO_ADDRESS macro in include/asm-arm/hardware.h. Signed-off-by: Catalin Marinas commit 9a45f026bb3ba720765d46f62f5c464d3317a8ab Author: Catalin Marinas Date: Fri Jul 24 12:34:56 2009 +0100 nommu: Remove the context.id from asm-offsets.c when !MMU There is no MMU context switching on MMU-less systems. Signed-off-by: Catalin Marinas commit 09529f7a1a010cc364267fc5895a71c3853eb82c Author: Catalin Marinas Date: Fri Jul 24 12:34:55 2009 +0100 nommu: Fix the fault processing for the MMU-less case The patch adds the necessary ifdefs around functions that only make sense when the MMU is enabled. Signed-off-by: Catalin Marinas commit 16c79651a5ee1ad7e4fca65a7c5309dfca89ed28 Author: Catalin Marinas Date: Fri Jul 24 12:33:02 2009 +0100 Thumb-2: Add Thumb-2 support to the build files This patch adds the necessary entries to the Makefile and Kconfig files for building the Thumb-2 kernel. Signed-off-by: Catalin Marinas commit e2ed3be7319f2734fcd9c7638888501934c22751 Author: Catalin Marinas Date: Fri Jul 24 12:33:01 2009 +0100 Thumb-2: Make the uImage entry an odd number This allows U-Boot to branch to the kernel in Thumb-2 mode via "mov pc, lr". Signed-off-by: Catalin Marinas commit dff2ab16ac53d2e21c1ee5ec72f446d5740d8ca2 Author: Catalin Marinas Date: Fri Jul 24 12:33:00 2009 +0100 Thumb-2: Pass a Thumb-2 address to the secondary CPUs to jump to This patch sets bit 0 in the startup address passed to the secondary CPUs so that they branch into Thumb-2 mode. Signed-off-by: Catalin Marinas commit adca6dc23bc620ea95392659625200a252b97be3 Author: Catalin Marinas Date: Fri Jul 24 12:32:59 2009 +0100 Thumb-2: Add support for loadable modules Modules compiled to Thumb-2 have two additional relocations needing to be resolved at load time, R_ARM_THM_CALL and R_ARM_THM_JUMP24, for BL and B.W instructions. The maximum Thumb-2 addressing range is +/-2^24 (+/-16MB) therefore the MODULES_VADDR macro in asm/memory.h is set to (MODULES_END - 8MB) for the Thumb-2 compiled kernel. Signed-off-by: Catalin Marinas commit 0e056f20f18d0efa5da920f3cf8532adc56d5779 Author: Catalin Marinas Date: Fri Jul 24 12:32:58 2009 +0100 Thumb-2: Implement the unified boot code This patch adds the ARM/Thumb-2 unified support for the arch/arm/boot/* files. Signed-off-by: Catalin Marinas commit 07f33a035ddda78095bed64f39db54334776841d Author: Catalin Marinas Date: Fri Jul 24 12:32:57 2009 +0100 Thumb-2: Implement the unified VFP support This patch modifies the VFP files for the ARM/Thumb-2 unified assembly syntax. Signed-off-by: Catalin Marinas commit 8b592783a2e8b7721a99730bd549aab5208f36af Author: Catalin Marinas Date: Fri Jul 24 12:32:57 2009 +0100 Thumb-2: Implement the unified arch/arm/lib functions This patch adds the ARM/Thumb-2 unified support for the arch/arm/lib/* files. Signed-off-by: Catalin Marinas commit 347c8b70b1d5256e445e54e736f88d21877616cf Author: Catalin Marinas Date: Fri Jul 24 12:32:56 2009 +0100 Thumb-2: Implement the unified arch/arm/mm support This patch adds the ARM/Thumb-2 unified support to the arch/arm/mm/* files. Signed-off-by: Catalin Marinas commit b86040a59feb255a8193173caa4d5199464433d5 Author: Catalin Marinas Date: Fri Jul 24 12:32:54 2009 +0100 Thumb-2: Implementation of the unified start-up and exceptions code This patch implements the ARM/Thumb-2 unified kernel start-up and exception handling code. Signed-off-by: Catalin Marinas commit 0becb088501886f37ade38762c8eaaf4263572cc Author: Catalin Marinas Date: Fri Jul 24 12:32:53 2009 +0100 Thumb-2: Add macros for the unified assembler syntax This patch adds various C and assembler macros that help with using the unified assembler syntax for compiling files to either ARM or Thumb-2 modes. Signed-off-by: Catalin Marinas commit 88987ef91b99cf99bc5d167caeb31d4958fbf931 Author: Catalin Marinas Date: Fri Jul 24 12:32:52 2009 +0100 Thumb-2: Add some .align statements to the .S files Since the Thumb-2 instructions can be 16-bit wide, data in the .text sections may not be aligned to a 32-bit word and this leads to unaligned exceptions. This patch does not affect the ARM code generation. Signed-off-by: Catalin Marinas commit 4ce2f2fe61002ab35c9333d52c95b5ff9e949f50 Author: Marek Vasut Date: Thu Jul 23 22:16:56 2009 +0200 ASoC: Switch palm27x-asoc to jack detection api This patch removes the old method of jack detection from palm27x-asoc driver and adds jack detection api. It also removes some other (now) useless stuff from the driver and corrects pin configuration for the codec. Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit 178b699c25c39f042c3c2446e6bd5dbed18c0442 Author: Janusz Krzysztofik Date: Fri Jul 24 02:48:57 2009 +0200 ASoC: Jack handling enhancements as suggested by subsystem maintainer The patch adds a few small enhancements to the ASoC jack handling, as suggested by Mark in his comments to my Amstrad Delta driver, and a few fixes for related bugs found while learning Mark's code and testing results. Enhancements: 1. Update status of an ASoC jack while associating it with new gpios. 2. Really update DAPM pins while associating them with an ASoC jack. 3. Export ASoC jack gpios over gpiolib sysfs for diagnostic purposes. Fixes: 1. Apply mask on jack status report before using it, just for case. 2. While updating jack associated DAPM pins, use full resulting jack status, not the status report passed as an argument. Created and tested on linux-2.6.31-rc3 Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit af012961450949ea297b209e091bd1a3805b8a0a Author: Peter Zijlstra Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: BFS cleanup Some cleanups of the lockdep code after the BFS series: - Remove the last traces of the generation id - Fixup comment style - Move the bfs routines into lockdep.c - Cleanup the bfs routines [ tom.leiming@gmail.com: Fix crash ] Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-11-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 12f3dfd022d7e616757a94f0538d3d525d806a16 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Add statistics info for max bfs queue depth Add BFS statistics to the existing lockdep stats. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-10-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 4dd861d6467007681991d8ec079d928db2018cbb Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Update memory usage introduced by BFS Also account the BFS memory usage. Signed-off-by: Ming Lei [ fix build for !PROVE_LOCKING ] Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-9-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit ef681026ff85c49b7399ceec3eb62bbbcce605e8 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Implement lockdep_count_*ward_deps by BFS Implement lockdep_count_{for,back}ward using BFS. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-8-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 24208ca76707581a097c01a73fd63781e73d3404 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Introduce print_shortest_lock_dependencies Since the shortest lock dependencies' path may be obtained by BFS, we print the shortest one by print_shortest_lock_dependencies(). Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-7-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit d7aaba140a09b7a2295aec061629c880f088de3d Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Implement find_usage_*wards by BFS This patch uses BFS to implement find_usage_*wards(),which was originally writen by DFS. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-6-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit db0002a32f31060ca900b533d93a074ddf7d5b61 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Implement check_noncircular() by BFS This patch uses BFS to implement check_noncircular() and prints the generated shortest circle if exists. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-5-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 9e2d551ea0d767c0d624965f0c273e942f4be536 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Introduce match function to BFS 1,introduce match() to BFS in order to make it usable to match different pattern; 2,also rename some functions to make them more suitable. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-4-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit d588e46155e9c51217b9840db1e94a0f594c1af2 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Improve implementation of BFS 1,replace %MAX_CIRCULAR_QUE_SIZE with &(MAX_CIRCULAR_QUE_SIZE-1) since we define MAX_CIRCULAR_QUE_SIZE as power of 2; 2,use bitmap to mark if a lock is accessed in BFS in order to clear it quickly, because we may search a graph many times. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-3-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit c94aa5ca3088018d2a7a9bd3258aefffe29df265 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Print the shortest dependency chain if finding a circle Currently lockdep will print the 1st circle detected if it exists when acquiring a new (next) lock. This patch prints the shortest path from the next lock to be acquired to the previous held lock if a circle is found. The patch still uses the current method to check circle, and once the circle is found, breadth-first search algorithem is used to compute the shortest path from the next lock to the previous lock in the forward lock dependency graph. Printing the shortest path will shorten the dependency chain, and make troubleshooting for possible circular locking easier. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-2-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit a004cd42181409eda70804ded240a791f4564d61 Author: Thomas Gleixner Date: Tue Jul 21 09:54:05 2009 +0200 sched: Fix return value of migration_init() migration_init() returns the return value of the hotplug notifier. In the success case this is NOTIFY_OK which is 1. initcall_debug evaluates that as an error code because init calls are expected to return 0 on success. Signed-off-by: Thomas Gleixner commit ab300465676b0c0559af62d57ec9a902f5680b03 Author: Herbert Xu Date: Fri Jul 24 15:26:15 2009 +0800 crypto: api - Fix aligned ctx helper The aligned ctx helper was using a bogus alignment value thas was one off the correct value. Fortunately the current users do not require anything beyond the natural alignment of the platform so this hasn't caused a problem. This patch fixes that and also removes the unnecessary minimum check since if the alignment is less than the natural alignment then the subsequent ALIGN operation should be a noop. Signed-off-by: Herbert Xu commit 0b767b4df360bd442434d9d40b8a495e64202254 Author: Herbert Xu Date: Fri Jul 24 15:18:41 2009 +0800 crypto: hmac - Prehash ipad/opad This patch uses crypto_shash_export/crypto_shash_import to prehash ipad/opad to speed up hmac. This is partly based on a similar patch by Steffen Klassert. Signed-off-by: Herbert Xu commit 7b4ffcf953f091a815df081911c5e75c8a38418d Author: Phil Carmody Date: Fri Jul 24 13:59:17 2009 +0800 crypto: aes - Undefined behaviour in crypto_aes_expand_key It's undefined behaviour in C to write outside the bounds of an array. The key expansion routine takes a shortcut of creating 8 words at a time, but this creates 4 additional words which don't fit in the array. As everyone is hopefully now aware, GCC is at liberty to make any assumptions and optimisations it likes in situations where it can detect that UB has occured, up to and including nasal demons, and as the indices being accessed in the array are trivially calculable, it's rash to invite gcc to do take any liberties at all. Signed-off-by: Phil Carmody Signed-off-by: Herbert Xu commit 0044f3eda9a778ab63c2a5eafede3803f01b0b97 Author: Steffen Klassert Date: Fri Jul 24 13:57:13 2009 +0800 crypto: shash - Test for the algorithms import function before exporting it crypto_init_shash_ops_async() tests for setkey and not for import before exporting the algorithms import function to ahash. This patch fixes this. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 5befbd5a7e9c814d145f15b4281c88da96fb1aa9 Author: Steffen Klassert Date: Fri Jul 24 13:56:31 2009 +0800 crypto: ahash - Use GFP_KERNEL on allocation if the request can sleep ahash_op_unaligned() and ahash_def_finup() allocate memory atomically, regardless whether the request can sleep or not. This patch changes this to use GFP_KERNEL if the request can sleep. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 4fef5f90edc80aae92efec049750de93be9e25cb Author: Santosh Shilimkar Date: Wed Jul 1 20:20:23 2009 +0530 OMAP4: sDMA: Update the request lines and new registers. This patch updates the platform dma.h with new dma request lines for OMAP4 peripherals. Also additional hardware register of OMAP4 sDMA module are included. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 74d154189d597b91da4322996dbf4f5c3d1544ab Merge: 5a6338d ffafa60 Author: David S. Miller Date: Thu Jul 23 19:03:51 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwmc3200wifi/netdev.c net/wireless/scan.c commit 5a6338db37885af06760d40cad589316e48431e9 Author: Dave Jones Date: Mon Jul 20 17:40:48 2009 +0000 Fix typos in comments in via-velocity header. Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit 2cf71d2e388cb0076b03f40f2fadfc590c228461 Author: Dave Jones Date: Thu Jul 23 18:11:12 2009 -0700 Remove unnecessary forward declarations from velocity NIC driver. By moving functions to before their first call, we eliminate the need to define forward references. Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit c40674001b162f9218ba2a6f26188177c6a4e763 Author: Dave Jones Date: Mon Jul 20 17:35:21 2009 +0000 Fix up CodingStyle problems in via-velocity.c Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit 83c98a8cd04dd0f848574370594886ba3bf56750 Author: Dave Jones Date: Tue Jul 21 09:15:49 2009 +0000 Remove unused zero-copy code from velocity NIC driver. This code hasn't been enabled in forever. Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit 67edfef78639573e9b01c26295a935349aab6fa3 Author: Andi Kleen Date: Tue Jul 21 23:00:40 2009 +0000 TCP: Add comments to (near) all functions in tcp_output.c v3 While looking for something else I spent some time adding one liner comments to the tcp_output.c functions that didn't have any. That makes the comments more consistent. I hope I documented everything right. No code changes. v2: Incorporated feedback from Ilpo. v3: Change style of one liner comments, add a few more comments. Signed-off-by: Andi Kleen Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 40d4e3dfc2f56ad85ecca29c7f9a0194bbb833c0 Author: Eric Dumazet Date: Tue Jul 21 21:57:59 2009 +0000 af_packet: style cleanups Some style cleanups to match current code practices. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c9a73cdb772a487b2c59c2711ad8b10d58cbaca8 Author: Uwe Kleine-König Date: Tue Jul 21 11:25:23 2009 +0000 net: move macsonic's probe function to .devinit.text A pointer to mac_sonic_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. Various other functions that are called by mac_sonic_probe need to move to .devinit.text, too. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Jeff Garzik Cc: David S. Miller Tested-by: Finn Thain Cc: Geert Uytterhoeven Cc: Andrew Morton Cc: netdev@vger.kernel.org Cc: Greg Kroah-Hartman Signed-off-by: David S. Miller commit 0c9cd395faca5ccf549e2bcb6b09086962c112b0 Author: Uwe Kleine-König Date: Tue Jul 21 11:25:27 2009 +0000 net: move xtsonic's probe function to .devinit.text A pointer to xtsonic_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Chris Zankel Cc: David S. Miller Cc: Andrew Morton Cc: Greg Kroah-Hartman Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit ffe8553f8871dabf61d49e7f97a2c6cbc7dc23cb Author: Uwe Kleine-König Date: Tue Jul 21 11:25:25 2009 +0000 net: move sb1250-mac's probe function to .devinit.text A pointer to sbmac_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Weiwei Wang Cc: Jeff Garzik Cc: David S. Miller Cc: Stephen Hemminger Acked-by: Maciej W. Rozycki Cc: Andrew Morton Cc: Greg Kroah-Hartman Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit dd93667711761362b393cfbd5959bb11aa1fa80d Author: Uwe Kleine-König Date: Tue Jul 21 11:25:24 2009 +0000 net: move meth's probe function to .devinit.text A pointer to meth_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: David S. Miller Cc: Thomas Bogendoerfer Cc: Christoph Lameter Cc: Jeff Garzik Acked-by: Ralf Baechle Cc: Andrew Morton Cc: netdev@vger.kernel.org Cc: Greg Kroah-Hartman Signed-off-by: David S. Miller commit 2e76baea67fa74442938afd3417170b28e7aac86 Author: Uwe Kleine-König Date: Tue Jul 21 11:25:22 2009 +0000 net: move jazzsonic's probe function to .devinit.text A pointer to jazz_sonic_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. As noticed by Geert Uytterhoeven sonic_probe1 is called by jazz_sonic_probe, so the former has to move to .devinit.text, too. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Acked-by: Ralf Baechle Cc: Jeff Garzik Cc: David S. Miller Cc: Thomas Bogendoerfer Cc: Finn Thain Cc: Geert Uytterhoeven Cc: Andrew Morton Cc: netdev@vger.kernel.org Cc: Greg Kroah-Hartman Signed-off-by: David S. Miller commit a65a688182cd7f5b69bd6dd9022be96ea771642c Author: Uwe Kleine-König Date: Tue Jul 21 11:25:26 2009 +0000 net: move sgiseeq's probe function to .devinit.text A pointer to sgiseeq_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Wang Chen Cc: David S. Miller Cc: Andrew Morton Cc: Jeff Garzik Cc: Thomas Bogendoerfer Acked-by: Ralf Baechle Cc: Greg Kroah-Hartman Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit 27a242e92f77c955433ce0347533f401ecdcd0f3 Author: Ben Greear Date: Tue Jul 21 12:50:02 2009 -0700 veth: Zero timestamp in xmit path. This patch zero's the timestamp before handing the packet to the peer interface. This lets the peer recalculate the rx timestamp if it cares about timestamps. Signed-off-by: Ben Greear Signed-off-by: David S. Miller commit dd52856ba24ed2f67679c86f207e5a9bab1eb93b Author: Sebastian Haas Date: Tue Jul 21 12:38:13 2009 -0700 can: sja1000: Add support for the new 4 channel EMS CPC-PCI cards This patch adds support to the ems_pci driver for the new, v2, 4 channel CPC-PCI/PCIe/104P CAN cards from EMS Dr. Thomas Wuensche. Signed-off-by: Sebastian Haas Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 69222e2cb01ac3faaa8ca758c5ee036c191b8b9f Author: Mike Rapoport Date: Tue Jul 21 12:37:18 2009 -0700 dm9000: switch to dev_pm_ops Signed-off-by: Mike Rapoport Acked-by: Ben Dooks Signed-off-by: David S. Miller commit 5be93b9a865344cf69958777c8d7c6f758cba416 Author: Ajit Khaparde Date: Tue Jul 21 12:36:19 2009 -0700 be2net: Add GRO support to the be2net driver. LRO is not supported anymore. This patch removes support for INET_LRO and switches over to GRO. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 2eee40c7f7c3734b28456169b2945e07d5ac0e2d Author: Rémi Denis-Courmont Date: Tue Jul 21 01:57:58 2009 +0000 Phonet: dropped datagrams accounting The per-socket drop count is visible via /proc/net/phonet. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 2e2fb4b33d62c742019774c5e6e47711a3d60505 Author: Rémi Denis-Courmont Date: Tue Jul 21 01:57:59 2009 +0000 Phonet: account for dropped RX packets Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit c1dc13e9d0bc35a8d85bf4238c48c1b627d48f35 Author: Rémi Denis-Courmont Date: Tue Jul 21 01:57:57 2009 +0000 Phonet: sockets list through proc_fs This provides a list of sockets with their Phonet bind addresses and some socket debug informations through /proc/net/phonet. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit d9ab77161d811ffb0bccf396f7155cc905c1b9e1 Author: Dmitry Torokhov Date: Wed Jul 22 00:37:25 2009 +0200 Driver Core: Make PM operations a const pointer They are not supposed to be modified by drivers, so make them const. Signed-off-by: Dmitry Torokhov Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit f0166e5e3cdab66d5a31f796ce18e21fd3ce99dc Author: Dmitry Eremin-Solenikov Date: Thu Jul 23 16:56:29 2009 +0400 ieee802154: move headers out of extra directory include/net/ieee802154/af_ieee802154.h (and others) naming seems to be too long and redundant. Drop one level of subdirectories. Signed-off-by: Dmitry Eremin-Solenikov commit 878fa89f97954337d1dc41f0ccc3a8b5f89cfbc7 Author: Daniel Silverstone Date: Wed Jul 22 18:51:24 2009 +0200 IEEE80154: Add documentation to the IEEE80154 netlink and fakehard driver This adds some perfunctory documentation comments to the IEEE 802.15.4 fakehard.c driver (Fake hard MAC) and the nl802154.h (outgoing netlink messages) header. These comments are not necessarily complete, but they do reference the IEEE 802.15.4-2006 document where possible. Signed-off-by: Daniel Silverstone commit 474828a40f6ddab6e2a3475a19c5c84aa3ec7d60 Author: Marek Vasut Date: Wed Jul 22 13:01:03 2009 +0200 ALSA: Allow passing platform_data to devices attached to AC97 bus This patch allows passing platform_data to devices attached to AC97 bus (like touchscreens, battery measurement chips ...). Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit b5d6f93b92a37466b43ba105f524bdf046d3bb3c Author: Takashi Iwai Date: Thu Jul 23 12:25:40 2009 +0200 ALSA: hda - Add description of new models for ALC889/889A Signed-off-by: Takashi Iwai commit a7569afa8b79ca9272b0d7544335bc05b5b721d6 Author: Joonyoung Shim Date: Thu Jul 23 17:33:17 2009 +0900 ASoC: MAX9877: fix write operation for register The MAX9877 needs an address of start register when we write values to registers through i2c_master_send(), but the code for this was missed in max9877_write_regs(). If the value of control is 0 in the max9877_set_out_mode(), the value is not increased to 1, but actually the value to write to the register should be 1. And the register bits for out_mode and osc_mode should be cleared before writing. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit 459dc35233c88d9eb7c5d0e6c086122751e64750 Author: Janusz Krzysztofik Date: Wed Jul 22 05:22:28 2009 +0200 ASoC: Add support for Conexant CX20442-11 voice modem codec This patch adds support for Conexant CX20442-11 voice modem codec, suitable for use by the ASoC board driver for Amstrad E3 (Delta) videophone. Related sound card driver will follow. This codec is an optional part of the Conexant SmartV three chip modem design. As such, documentation for its proprietary digital audio interface is not available. However, on Amstrad Delta board, thanks to Mark Underwood who created an initial, omap-alsa based sound driver a few years ago[1], the codec has been discovered to be accessible not only from the modem side, but also over the OMAP McBSP based CPU DAI. Thus, the driver can be used by any sound card that can access the codec DAI directly. The DAI configuration parameters (sample rate and format, number of channels) has been selected out empirically for best user experience. The codec analogue interface consists of two pairs of analogue I/O pins: speakerphone interface or telephone handset/headset interface. Furthermore, it seams to provide two operation modes for speakerphone I/O: standard and advanced, with automatic gain control and echo cancelation. Even if the codec control interface is unknown and not available, all those interfaces and modes can be selected over the modem chip using V.253 commands. The driver is able to issue necessary commands over a suitable hw_write function if provided by a sound card driver. Otherwise, the codec can be controlled over the modem from userspace while inactive. Even if nothig is known about the codec internal power management capabilities, DAPM widgets has been used to model the codec audio map. Automatically performed powering up/down of those virtual widgets results in corresponding V.253 commands being issued. Some driver features/oddities may be board specific, but I have no way to verify that with any board other than Amstrad Delta. [1] http://www.earth.li/pipermail/e3-hacking/2006-April/000481.html Created and tested against linux-2.6.31-rc3. Applies and works with linux-omap-2.6 commit 7c5cb7862d32cb344be7831d466535d5255e35ac as well. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 915190f7d4f08e413e5fde6b0abcd5375aeacdf4 Author: Nicolas Ferre Date: Tue Jul 21 11:31:29 2009 +0100 [ARM] 5614/1: at91: atmel_lcdfb: add at91sam9g10 support to atmel LCD driver Modify atmel LCD driver: atmel_lcdfb for at91sam9g10. This add a clock management equivalent to at91sam9261. Signed-off-by: Hong Xu Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit 87a8c3702e40028468a2d0ef6dab7627dab60c86 Author: Jaroslav Kysela Date: Thu Jul 23 10:58:29 2009 +0200 ALSA: hda - Add better Intel IbexPeak platform support Here are the new sound enabling patches for IbexPeak. Summary of tested features: - playback - Front Headphone: OK - 8 channel audio: Front/Rear/CLFE/Side all OK - recording - Front Mic/Rear Mic: both OK (front/rear/line mics are selectable in the "Input source" alsamixer control) - Line In: not working (in 6ch mode, its amp/mute, direction and route all looks fine, so I'm a little puzzled) (hopefully no one will care this feature) - digital SPDIF input/output: not tested (no equipment) Signed-off-by: Wu Fengguang Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 3f3f1d9d8de10a5dad0d22046cdd26dfb93d05c9 Author: wanzongshun Date: Thu Jul 23 08:52:51 2009 +0100 [ARM] 5619/1: Add spi mfp api for w90p910 spi driver Add spi mfp api for w90p910 spi driver. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit c16d5d5657294e782d505efd00bbf2452d6aa0ca Author: wanzongshun Date: Thu Jul 23 08:51:46 2009 +0100 [ARM] 5618/1: Add spi resource define for w90p910 spi driver Add spi resource define for w90p910 spi driver. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit b48147663b2582bfb91a2bf39f9d1ffe8f209122 Author: wanzongshun Date: Thu Jul 23 08:50:20 2009 +0100 [ARM] 5617/1: rename this spi device as w90p910-spi When programming clock api, I named this spi device as w90p910-usi, now, I think named it as w90p910-spi better Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 768db4e04b4c969cf3a9e81a79a10af6468ca56d Author: wanzongshun Date: Thu Jul 23 08:47:57 2009 +0100 [ARM] 5616/1: Add mac resource define for w90p910 mac driver Add mac resource define for w90p910 mac driver. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 42ff4cf957b695250534e540375e23507c722327 Author: wanzongshun Date: Fri Jul 17 14:42:33 2009 +0100 [ARM] 5610/1: Add fmi resource define for w90p910 platform Add fmi resource define for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 11a79260916b00bcfe1bcfbd7a994321ee25b880 Author: Mike Frysinger Date: Thu Jul 23 01:14:15 2009 -0700 Input: bf54x-keys - convert printk() to dev_*() Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov commit 4832958218f96f98009c5e01729fbe2b48c7124c Author: Michael Hennerich Date: Wed Jul 22 21:51:34 2009 -0700 Input: add Blackfin rotary input driver This driver handles the Blackfin on-chip rotary peripheral. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov commit c30853df9834bccc2841798b0ab8f151929ae500 Merge: d756b27 06c7128 Author: Mark Brown Date: Thu Jul 23 08:22:58 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit d756b2774829c746e0cf2967802cbd41967eda65 Author: Lopez Cruz, Misael Date: Wed Jul 22 20:45:03 2009 -0500 ASoC: OMAP: Staticise pcm creation function of omap-pcm Signed-off-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit 52ec7752b457311f10f5a8d16faa8ac2e684eb65 Author: Dmitry Torokhov Date: Wed Jul 22 21:51:40 2009 -0700 Input: pxa27x_keypad - remove extra clk_disable clk_disable() in remove method is not needed since we already have clk_disable in pxa27x_keypad_close(). Also make sure the driver uses resource_size() and helpers from include/input/matrix_keypad.h Tested-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Dmitry Torokhov commit bd072111e7319d90a7b8127f91c2806b9a6f279e Merge: 24d01c0 4be3bd7 Author: Dmitry Torokhov Date: Wed Jul 22 21:47:29 2009 -0700 Merge commit 'v2.6.31-rc4' into next commit 3040c8203d68a9a0564af81729085054fd6b5b03 Author: Julia Lawall Date: Sun Jul 12 09:42:47 2009 +0200 HID: Drop NULL test on list_entry result list_entry, which is an alias for container_of, cannot return NULL, as there is no way to add a NULL value to a doubly linked list. A simplified version of the semantic match that findds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r@ expression x,E; statement S1,S2; position p,p1; @@ *x = list_entry@p(...) ... when != x = E *if@p1 (x == NULL) S1 else S2 // Signed-off-by: Julia Lawall Signed-off-by: Jiri Kosina commit 711a680e35059bc5c7c28d3c4bd0bebd3b7bb6ee Author: Bruno Premont Date: Mon Jul 13 14:19:58 2009 +0200 HID: driver for Twinhan USB 6253:0100 remote control Add explicit key mappings for TwinHan USB HID remote control. All dummy Ctrl, Alt, Meta, ... key press/release events generated by the remote are silenced by "unmapping" them. This makes Power and Volume keys single-key and strips the regular (even while idle) key release events for Ctrl, Alt, Meta, ... Signed-off-by: Bruno Premont Signed-off-by: Jiri Kosina commit a24f423bdf253ccee369adc6c5451b40a0716fbb Author: Peter Huewe Date: Thu Jul 2 19:08:38 2009 +0200 HID: adding __init/__exit macros to module init/exit functions Trivial patch which adds the __init and __exit macros to the module_init / module_exit functions of several HID drivers from drivers/hid/ Signed-off-by: Peter Huewe Signed-off-by: Jiri Kosina commit 7a84b1336a145d683fb8cdfd6c2c67545a58b126 Author: Ruben Aos Garralda Date: Mon Jun 29 09:41:29 2009 +0200 HID: add rumble support for Thrustmaster Dual Trigger 3-in-1 This patch enables rumble in Thrustmaster Dual 3-in-1 trigger gamepads (in both PC and PS3 modes). It uses the same code as Thrustmaster FireStorm Dual Power 2, so it only adds new USB IDs to hid-core.c and hid-tmff.c Signed-off-by: Ruben Aos Garralda Signed-off-by: Jiri Kosina commit 837b47533a6476ab3fb96b1f52edd3ce9f3162b8 Author: Rafi Rubin Date: Tue Jun 23 14:09:26 2009 -0400 HID: ntrig tool separation and pen usages When both touch and pen are active send a tool announcement before sending any status changes so that event users may differentiate which tool is changing. Restored three usage codes used by the pen. Signed-off-by: Rafi Rubin Acked-by: Stephane Chatty Signed-off-by: Jiri Kosina commit 8b424887b603e953af7238fef96629424dc915cb Author: Sergey Senozhatsky Date: Tue Jun 23 15:32:19 2009 +0200 HID: Avoid double spin_lock_init on usbhid->lock Avoid double spin_lock_init on usbhid->lock. Signed-off-by: Sergey Senozhatsky Signed-off-by: Jiri Kosina commit fd30ea8c871552ddd6a5e1c0886de8fef4df53bc Author: Jiri Kosina Date: Tue Jun 23 12:11:31 2009 +0200 HID: add force feedback support for Logitech WingMan Formula Force GP Add force feedback support for Logitech WingMan Formula Force GP (0x046d/0xc293). Reported-by: wylda@volny.cz Tested-by: wylda@volny.cz Signed-off-by: Jiri Kosina commit 0810b51170570ed21cae56b8131db6a5e3efa584 Author: Robert Schedel Date: Tue Jun 23 11:26:48 2009 +0200 HID: Support new variants of Samsung USB IR receiver (0419:0001) This patch extends the existing Samsung IrDA (0419:0001) quirk file with newly reported variants: * New device variants with 203 byte and 135 byte report descriptors were reported to be recognized incorrectly. This patch adds an autodetection for those two, using report descriptor size to enable new quirks. * Any other unknown 0419:0001 variants will now be treated without any quirk flags (i.e. IGNORE_HIDINPUT/HIDDEV_FORCE will not be set by default anymore). More details: 1. Descriptor size 184 bytes ("Satelco bundled remote") Already supported since kernel 2.6.25 (my old patch). 2. Descriptor size 203 bytes ("Optronix remote") This receiver mostly works with the regular HID input driver. Only when some keys are released, another spurious key press event is interpreted due to incorrect array ranges. According to HID 1.11, section 6.2.2.5, arrays should return a 0 value when no control is asserted, and ranges should go from 1 to the number of elements. The patch clips the value with a logical range from 1..15 (instead of originally 0..18). Ticket with more information available at https://bugs.launchpad.net/bugs/326986 3. Descriptor size 135 bytes ("Gotview remote") This receiver has a similar issue than the previous one, i.e. it mostly works with regular HID input, except some key press events get stuck on key release. The patch clips the array value from 1..14 (instead of originally 0..17). Ticket with more information available at http://bugs.archlinux.org/task/15216 4. Other unknown variants (found one report with 218 bytes, but no further information about issues) For such unknown variants we should refrain from changing any device flags. Currently, HIDINPUT is suppressed and HIDDEV is enforced (because in 2.6.25 the quirk table did not yet allow differentiating variants and we did not expect variants either). Now we should be as strict as possible and enable it only for the first variant above. Signed-off-by: Robert Schedel Signed-off-by: Jiri Kosina commit 35ebf6e7210dc0f7c612856513a8489a1da9de7e Author: Takashi Iwai Date: Wed Jul 22 17:12:34 2009 +0200 ALSA: ctxfi - Simple code clean up - replace NULL == xxx with !xxx - replace NULL != xxx with xxx - similar trivial cleanups Signed-off-by: Takashi Iwai commit 89e1b9511fc7fbfac4139fca5531f5f9d946c537 Merge: 9c6c529 6811066 Author: Takashi Iwai Date: Wed Jul 22 17:06:53 2009 +0200 Merge branch 'fix/ctxfi' into topic/ctxfi commit 16a433d8b38720a816736d59a62e705c19e31600 Author: Jaroslav Kysela Date: Wed Jul 22 16:20:40 2009 +0200 ALSA: hda-intel: Cleanups for widget connection list handling This patch adds a check to snd_hda_get_connections() routine for presence of AC_WCAP_CONN_LIST. Also, make sure that negative error codes from noted route are handled on all places as errors. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 254da007f93f79ee773788cbb38f24dfab9590f5 Author: Jaroslav Kysela Date: Wed Jul 22 15:31:03 2009 +0200 ALSA: hda_generic: use AC_WCAP_CONN_LIST check for widget connections Previous patch used widget type, but the presence flag of the connection list is in the widget capabilities. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 052960483833f81603450e2a3cfa7a5ee98eedd4 Author: Jaroslav Kysela Date: Wed Jul 22 14:38:58 2009 +0200 ALSA: hda_generic: do not read connections for widged with an unknown type Reading node connections for an unknown widget can confuse HDA codec bus. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 1c20930a41c623a2281e754f9321cd0feb01ceb9 Author: Takashi Iwai Date: Wed Jul 22 15:17:45 2009 +0200 ALSA: hda - Fix ALC861 auto-mode parser Fix the logic of ALC861 auto-mode parser for the outputs. Instead of assuming the fixed DAC list, parse the conection and assign the DAC dynamically. Also, unmute the unused output connections to avoid noises on inputs. Signed-off-by: Takashi Iwai commit 05ff7e11b78f18ff6819d2c260b7bcc7da0c8f46 Author: Takashi Iwai Date: Wed Jul 22 12:39:24 2009 +0200 ALSA: hda - Reduce click noise at power-saving Add some tricks to reduce the click noise at powering down to D3 in the power saving mode on STAC/IDT codecs. The key seems to be to reset PINs before the power-down, and some delay before entering D3. The needed delay is significantly long, but I don't know why. Signed-off-by: Takashi Iwai commit e458a48f8776d624d05246471501c6086adb1d7a Author: Joonyoung Shim Date: Wed Jul 22 14:09:08 2009 +0900 ASoC: MAX9877: separate callback functions The callback function to control register was used by whole controls in MAX9877 driver, but this causes using many if statement for double register control or invert. So, the callback function for double register control is separate differently, and the code for invert is added in the callback function. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit f592682f9fca18d336ac068a1abc8507b4a1d936 Author: Herbert Xu Date: Wed Jul 22 12:37:06 2009 +0800 crypto: shash - Require all algorithms to support export/import This patch provides a default export/import function for all shash algorithms. It simply copies the descriptor context as is done by sha1_generic. This in essence means that all existing shash algorithms now support export/import. This is something that will be depended upon in implementations such as hmac. Therefore all new shash and ahash implementations must support export/import. For those that cannot obtain a partial result, padlock-sha's fallback model should be used so that a partial result is always available. Signed-off-by: Herbert Xu commit 9fadfd1adff28a8895de8df9e8a778c44958840f Author: Herbert Xu Date: Wed Jul 22 12:29:41 2009 +0800 crypto: sha512-s390 - Add export/import support This patch adds export/import support to sha512-s390 (which includes sha384-s390). The exported type is defined by struct sha512_state, which is basically the entire descriptor state of sha512_generic. Since sha512-s390 only supports a 64-bit byte count the import function will reject anything that exceeds that. Signed-off-by: Herbert Xu commit 13887ed6888dad1608eb9530ebd83b6ba29db577 Author: Herbert Xu Date: Wed Jul 22 12:22:43 2009 +0800 crypto: sha512_generic - Use 64-bit counters This patch replaces the 32-bit counters in sha512_generic with 64-bit counters. It also switches the bit count to the simpler byte count. Signed-off-by: Herbert Xu commit 1f38ad8389bbca038d320c29d30aa1d6ed96b48d Author: Herbert Xu Date: Wed Jul 22 11:48:18 2009 +0800 crypto: sha512 - Export struct sha512_state This patch renames struct sha512_ctx and exports it as struct sha512_state so that other sha512 implementations can use it as the reference structure for exporting their state. Signed-off-by: Herbert Xu commit ac95301f271f32901e4007096aa3516def49eed2 Author: Herbert Xu Date: Wed Jul 22 14:37:15 2009 +0800 crypto: xcbc - Fix shash conversion Although xcbc was converted to shash, it didn't obey the new requirement that all hash state must be stored in the descriptor rather than the transform. This patch fixes this issue and also optimises away the rekeying by precomputing K2 and K3 within setkey. Signed-off-by: Herbert Xu commit b588ef6e69bfc0944a17dc673ee166a00fa23de2 Author: Herbert Xu Date: Wed Jul 22 13:04:37 2009 +0800 crypto: xcbc - Use crypto_xor This patch replaces the local xor function with the generic crypto_xor function. Signed-off-by: Herbert Xu commit 6fba00d176ab73b15bb8e31f261582943429a92b Author: Herbert Xu Date: Wed Jul 22 11:10:22 2009 +0800 crypto: cryptd - Add finup/export/import for hash This patch adds the finup/export/import functions to the cryptd ahash implementation. We simply invoke the underlying shash operations. Signed-off-by: Herbert Xu commit 25cbf465207e9616e9b7d362ee166abf296d4c1e Author: javier Martin Date: Tue Jul 21 11:15:06 2009 +0200 ASoC: Correct a bug with "ADC Inversion Switch" in wm8974 codec. This corrects a bug with ADC Inversion Switch in wm8974 codec. Signed-off-by: Javier Martin Signed-off-by: Mark Brown commit ed0f19b23754dc24f9a2d3c266a36277410f4686 Author: John Bonesio Date: Tue Jul 21 13:15:40 2009 -0700 ASoC: MPC5200: Increase the delay time between resets Reset was failing with the original udelay(50) between the code in psc_ac97_cold_reset() and the call to psc_ac97_warm_reset(). Through testing it was found that a delay of 1ms was necessary for the cold_reset code to consistently complete successfully. Signed-off-by: John Bonesio Signed-off-by: Mark Brown commit 511647ff58fd0f1c1f415d2c757d841650edac91 Author: Magnus Damm Date: Wed Jul 8 13:23:07 2009 +0200 PM: Remove platform device suspend_late()/resume_early() V2 This is V2 of the platform driver power management late/early callback removal patch. The callbacks ->suspend_late() and ->resume_early() are removed since all in-tree users now have been migrated to dev_pm_ops. Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 48fea9659ec1a35641db3832adaf3860ecabb6ba Author: Magnus Damm Date: Wed Jul 8 13:22:56 2009 +0200 USB: Rework musb suspend()/resume_early() This patch reworks platform driver power management code for musb from legacy callbacks to dev_pm_ops. The callbacks are converted for CONFIG_SUSPEND like this: suspend() -> suspend() resume_early() -> resume_noirq() Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 6a6c6189b1fef97de9b8b936131fe2085ac42a5a Author: Magnus Damm Date: Wed Jul 8 13:22:47 2009 +0200 I2C: Rework i2c-s3c2410 suspend_late()/resume() V2 This is V2 of the i2c-s3c2410 dev_pm_ops patch. The callbacks are converted for CONFIG_SUSPEND like this: suspend_late() -> suspend_noirq() resume() -> resume() Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 57f4d4f1b72983f8c76e2f232e064730aeffe599 Author: Magnus Damm Date: Wed Jul 8 13:22:39 2009 +0200 I2C: Rework i2c-pxa suspend_late()/resume_early() This patch reworks platform driver power management code for i2c-pxa from legacy late/early callbacks to dev_pm_ops. The callbacks are converted for CONFIG_SUSPEND like this: suspend_late() -> suspend_noirq() resume_early() -> resume_noirq() Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 4aebac2fb9645e897864e12cdb8d1e4aadf5b2a4 Author: Magnus Damm Date: Wed Jul 8 13:22:27 2009 +0200 DMA: Rework txx9dmac suspend_late()/resume_early() This patch reworks platform driver power management code for txx9dmac from legacy late/early callbacks to dev_pm_ops. The callbacks are converted for CONFIG_SUSPEND like this: suspend_late() -> suspend_noirq() resume_early() -> resume_noirq() Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 4a256b5fc028e6dad0fd1b59745f743ee528c944 Author: Magnus Damm Date: Wed Jul 8 13:22:18 2009 +0200 DMA: Rework dw_dmac suspend_late()/resume_early() This patch reworks platform driver power management code for dw_dmac from legacy late/early callbacks to dev_pm_ops. The callbacks are converted for CONFIG_SUSPEND like this: suspend_late() -> suspend_noirq() resume_early() -> resume_noirq() Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 79ee031ff6fd23a1a2a4f783cfc3421885304ce3 Author: Magnus Damm Date: Wed Jul 8 13:22:04 2009 +0200 ARM: Rework omap suspend_late()/resume_early() This patch reworks platform driver power management code for omap drivers using late/early legacy callbacks. The callbacks are converted for CONFIG_SUSPEND like this: suspend_late() -> suspend_noirq() resume_early() -> resume_noirq() Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit d7aacaddcac3971e33cf52d7e610c06696cb347f Author: Magnus Damm Date: Wed Jul 8 13:21:31 2009 +0200 Driver Core: Add platform device arch data V3 Allow architecture specific data in struct platform_device V3. With this patch struct pdev_archdata is added to struct platform_device, similar to struct dev_archdata in found in struct device. Useful for architecture code that needs to keep extra data associated with each platform device. Struct pdev_archdata is different from dev.platform_data, the convention is that dev.platform_data points to driver-specific data. It may or may not be required by the driver. The format of this depends on driver but is the same across architectures. The structure pdev_archdata is a place for architecture specific data. This data is handled by architecture specific code (for example runtime PM), and since it is architecture specific it should _never_ be touched by device driver code. Exactly like struct dev_archdata but for platform devices. [rjw: This change is for power management mostly and that's why it goes through the suspend tree.] Signed-off-by: Magnus Damm Acked-by: Kevin Hilman Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit a59b50e995465911ba580df0bd10cf64aa81fc43 Author: Joseph Cihula Date: Tue Jun 30 19:31:10 2009 -0700 intel_txt: Force IOMMU on for Intel TXT launch The tboot module will DMA protect all of memory in order to ensure the that kernel will be able to initialize without compromise (from DMA). Consequently, the kernel must enable Intel Virtualization Technology for Directed I/O (VT-d or Intel IOMMU) in order to replace this broad protection with the appropriate page-granular protection. Otherwise DMA devices will be unable to read or write from memory and the kernel will eventually panic. Because runtime IOMMU support is configurable by command line options, this patch will force it to be enabled regardless of the options specified, and will log a message if it was required to force it on. dmar.c | 7 +++++++ intel-iommu.c | 17 +++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) Signed-off-by: Joseph Cihula Signed-off-by: Shane Wang Cc: David Woodhouse Signed-off-by: H. Peter Anvin commit 86886e55b273f565935491816c7c96b82469d4f8 Author: Joseph Cihula Date: Tue Jun 30 19:31:07 2009 -0700 x86, intel_txt: Intel TXT Sx shutdown support Support for graceful handling of sleep states (S3/S4/S5) after an Intel(R) TXT launch. Without this patch, attempting to place the system in one of the ACPI sleep states (S3/S4/S5) will cause the TXT hardware to treat this as an attack and will cause a system reset, with memory locked. Not only may the subsequent memory scrub take some time, but the platform will be unable to enter the requested power state. This patch calls back into the tboot so that it may properly and securely clean up system state and clear the secrets-in-memory flag, after which it will place the system into the requested sleep state using ACPI information passed by the kernel. arch/x86/kernel/smpboot.c | 2 ++ drivers/acpi/acpica/hwsleep.c | 3 +++ kernel/cpu.c | 7 ++++++- 3 files changed, 11 insertions(+), 1 deletion(-) Signed-off-by: Joseph Cihula Signed-off-by: Shane Wang Signed-off-by: H. Peter Anvin commit 840c2baf2d4cdf35ecc3b7fcbba7740f97de30a4 Author: Joseph Cihula Date: Tue Jun 30 19:31:02 2009 -0700 x86, intel_txt: Intel TXT reboot/halt shutdown support Support for graceful handling of kernel reboots after an Intel(R) TXT launch. Without this patch, attempting to reboot or halt the system will cause the TXT hardware to lock memory upon system restart because the secrets-in-memory flag that was set on launch was never cleared. This will in turn cause BIOS to execute a TXT Authenticated Code Module (ACM) that will scrub all of memory and then unlock it. Depending on the amount of memory in the system and its type, this may take some time. This patch creates a 1:1 address mapping to the tboot module and then calls back into tboot so that it may properly and securely clean up system state and clear the secrets-in-memory flag. When it has completed these steps, the tboot module will reboot or halt the system. arch/x86/kernel/reboot.c | 8 ++++++++ init/main.c | 3 +++ 2 files changed, 11 insertions(+) Signed-off-by: Joseph Cihula Signed-off-by: Shane Wang Signed-off-by: H. Peter Anvin commit 3162534069597e34dd0ac9eb711be8dc23835ae7 Author: Joseph Cihula Date: Tue Jun 30 19:30:59 2009 -0700 x86, intel_txt: Intel TXT boot support This patch adds kernel configuration and boot support for Intel Trusted Execution Technology (Intel TXT). Intel's technology for safer computing, Intel Trusted Execution Technology (Intel TXT), defines platform-level enhancements that provide the building blocks for creating trusted platforms. Intel TXT was formerly known by the code name LaGrande Technology (LT). Intel TXT in Brief: o Provides dynamic root of trust for measurement (DRTM) o Data protection in case of improper shutdown o Measurement and verification of launched environment Intel TXT is part of the vPro(TM) brand and is also available some non-vPro systems. It is currently available on desktop systems based on the Q35, X38, Q45, and Q43 Express chipsets (e.g. Dell Optiplex 755, HP dc7800, etc.) and mobile systems based on the GM45, PM45, and GS45 Express chipsets. For more information, see http://www.intel.com/technology/security/. This site also has a link to the Intel TXT MLE Developers Manual, which has been updated for the new released platforms. A much more complete description of how these patches support TXT, how to configure a system for it, etc. is in the Documentation/intel_txt.txt file in this patch. This patch provides the TXT support routines for complete functionality, documentation for TXT support and for the changes to the boot_params structure, and boot detection of a TXT launch. Attempts to shutdown (reboot, Sx) the system will result in platform resets; subsequent patches will support these shutdown modes properly. Documentation/intel_txt.txt | 210 +++++++++++++++++++++ Documentation/x86/zero-page.txt | 1 arch/x86/include/asm/bootparam.h | 3 arch/x86/include/asm/fixmap.h | 3 arch/x86/include/asm/tboot.h | 197 ++++++++++++++++++++ arch/x86/kernel/Makefile | 1 arch/x86/kernel/setup.c | 4 arch/x86/kernel/tboot.c | 379 +++++++++++++++++++++++++++++++++++++++ security/Kconfig | 30 +++ 9 files changed, 827 insertions(+), 1 deletion(-) Signed-off-by: Joseph Cihula Signed-off-by: Shane Wang Signed-off-by: Gang Wei Signed-off-by: H. Peter Anvin commit e8834a63bddf87f7b85955d1ba60d28343d88469 Author: Eilon Greenstein Date: Tue Jul 21 05:47:55 2009 +0000 bnx2x: Version 1.48.113-1 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5b6402d10328beb8a9b351ac65a31326ed5fe847 Author: Eilon Greenstein Date: Tue Jul 21 05:47:51 2009 +0000 bnx2x: Missing parenthesis might result with wrong casting Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ba71d3134176b9791aab7cb78242b6ba1428aac8 Author: Eilon Greenstein Date: Tue Jul 21 05:47:49 2009 +0000 bnx2x: Set LED in loopback test Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 4d295db0efd2ccf06edb7a45ad885b40c56b7161 Author: Eilon Greenstein Date: Tue Jul 21 05:47:47 2009 +0000 bnx2x: Supporting BCM8727 PHY Adding support for BCM8727 - a dual port SFP+ PHY. That includes verification of the optic module vendor and part number - the list of approved modules resides on the nvram and the module is verified by the FW. Since not all users would like to use this verification feature, it can be disabled. The default behavior is to issue a warning if the module is not approved, but still allow using it - but it is also possible to disable the link if the module is not approved. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5316bc0b9adbefe24f149b12caeddc30df6f04e1 Author: Eilon Greenstein Date: Tue Jul 21 05:47:43 2009 +0000 bnx2x: Update vlan_features As noted by Or Gerlitz , the vlan_features was not updated Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e15107065d073714dc47cf6b80c8bf5eea1bf18b Author: Eilon Greenstein Date: Tue Jul 21 05:47:41 2009 +0000 bnx2x: SMP-safe inter_sem Signed-off-by: Vlad Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 37dbbf32a0d45f0ed88f92cb6d0c35f4809e3a8e Author: Eilon Greenstein Date: Tue Jul 21 05:47:33 2009 +0000 bnx2x: Adding some mmiowb Signed-off-by: Vlad Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit eb8da205a6cac953a46a247b8dd19505eba944e2 Author: Eilon Greenstein Date: Tue Jul 21 05:47:30 2009 +0000 bnx2x: Fan failure early detection Check if fan failure happened before the driver was loaded and notify the user Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit fd4ef40d5977e1c226e9cd9659398e82cc4a1e85 Author: Eilon Greenstein Date: Tue Jul 21 05:47:27 2009 +0000 bnx2x: Fan failure Setup fan failure for different PHY types or according to nvram settings Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 279abdf59c766a06db89b50c6d3615b4f2b19ed3 Author: Eilon Greenstein Date: Tue Jul 21 05:47:22 2009 +0000 bnx2x: Stop management traffic in loopback test Since management traffic cannot go on the wire while configured to loopback, simply stop it to avoid race condition when the MAC is set to loopback in the middle of a packet Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3c2b8d180a47d041e9101ead27e49d237df0f1d1 Author: Gerrit Renker Date: Tue Jul 21 11:13:25 2009 -0700 mcastv6: Local variable shadows function argument The local variable 'idev' shadows the function argument 'idev' to ip6_mc_add_src(). Fixed by removing the local declaration, as pmc->idev should be identical with 'idev' passed as argument. Signed-off-by: Gerrit Renker Acked-by: David L Stevens Signed-off-by: David S. Miller commit 4bf1fa5a34aa2dd0d2cc58f0fc213a2e22d007a4 Author: Uwe Kleine-König Date: Tue Jul 21 09:56:27 2009 +0100 [ARM] 5613/1: implement CALLER_ADDRESSx From: Uwe Kleine-König As __builtin_return_address(n) doesn't work for ARM with n > 0, the kernel needs its own implementation. This fixes many warnings saying: warning: unsupported argument to '__builtin_return_address' The new methods and walk_stackframe must not be instrumented because CALLER_ADDRESSx is used in the various tracers and tracing the tracer is a bad idea. What's currently missing is an implementation using unwind tables. This is not fatal though, it's just that the tracers don't get enough information to be really useful. Note that if both ARM_UNWIND and FRAME_POINTER are enabled, walk_stackframe uses unwind information. So in this case the same implementation is used as when FRAME_POINTER is disabled. Cc: Catalin Marinas Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 3aa7a9a3cf8774f6701b1903a6353f9545f561ce Author: Hartley Sweeten Date: Mon Jul 20 18:22:36 2009 +0100 [ARM] 5612/1: ep93xx: add platform LEDs The EP93xx has two gpio pins specifically assigned to drive external LEDs. Add core support for these LEDs. On the EDB93xx development boards, the rdled is connected to an external reset circuit. Turning this led on for an extended amount of time will cause the circuit to issue a manual reset. Refer to Cirrus App Note AN258 for more information. http://www.cirrus.com/en/pubs/appNote/AN258REV2.pdf This led can be safely used as the system heartbeat with the ledtrig-heartbeat driver. echo heartbeat > /sys/class/leds/platform:rdled/trigger The grled can be used for any desired purpose. Tested-by: Matthieu Crapet Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 24d01c0681bfbc10a99304c48a89ad213d2d7a4b Author: Dmitry Torokhov Date: Tue Jul 21 01:12:12 2009 -0700 Input: sh_keysc - allow modifying keymap from userspace Adjust the driver so EVIOCGKEYCODE/EVIOCSKEYCODE work. Acked-by: Magnus Damm Signed-off-by: Dmitry Torokhov commit 99fde513f57db2c8e1b202ade4be7d47033ff09b Author: Marek Vasut Date: Mon Jul 20 22:28:50 2009 -0700 Input: wm97xx - add possibility to control the GPIO_STATUS shift This patch allows tweaking the behaviour of GPIO_STATUS register shift quirk that's in wm97xx-core. The problem with GPIO_STATUS register being shifted by one doesn't appear on all hardware it seems and causes problems with accelerated touchscreen drivers on Palm hardware. Therefore an accelerated touchscreen driver can select if the shift is/isn't happening on the hardware. Signed-off-by: Marek Vasut Acked-by: Mark Brown Signed-off-by: Dmitry Torokhov commit b833306febc7d9b805a89aff29f1e410a64981c4 Author: Marek Vasut Date: Mon Jul 20 22:26:37 2009 -0700 Input: wm97xx - add Palm support to Mainstone accelerated touch This patch refactors the Mainstone accelerated touch code a little and adds support for interrupt driven touchscreen on Palm LifeDrive, TX and Tungsten T5. Signed-off-by: Marek Vasut Acked-by: Mark Brown Signed-off-by: Dmitry Torokhov commit 1f9963cbb0280e0cd554161e00f1a0eeddbf1ae1 Author: Li Zefan Date: Mon Jul 20 10:20:53 2009 +0800 tracing/filters: improve subsystem filter Currently a subsystem filter should be applicable to all events under the subsystem, and if it failed, all the event filters will be cleared. Those behaviors make subsys filter much less useful: # echo 'vec == 1' > irq/softirq_entry/filter # echo 'irq == 5' > irq/filter bash: echo: write error: Invalid argument # cat irq/softirq_entry/filter none I'd expect it set the filter for irq_handler_entry/exit, and not touch softirq_entry/exit. The basic idea is, try to see if the filter can be applied to which events, and then just apply to the those events: # echo 'vec == 1' > softirq_entry/filter # echo 'irq == 5' > filter # cat irq_handler_entry/filter irq == 5 # cat softirq_entry/filter vec == 1 Changelog for v2: - do some cleanups to address Frederic's comments. Inspired-by: Steven Rostedt Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker LKML-Reference: <4A63D485.7030703@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit ff4e9da2330beb8d64498a513d3f9694e941b01a Author: Xiao Guangrong Date: Mon Jun 22 10:33:07 2009 +0800 tracing: cleanup for tracing_trace_options_read() '\n' is already appended, and what we need is just an extra space for the '\0'. Signed-off-by: Xiao Guangrong LKML-Reference: <4A3EED63.3090908@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 7d536cb3fb9993bdcd5a2fbaa6b0670ded4e101c Author: Li Zefan Date: Thu Jul 16 10:54:02 2009 +0800 tracing/events: record the size of dynamic arrays When a dynamic array is defined, we add __data_loc_foo in trace_entry to record the offset of the array, but the size of the array is not recorded, which causes 2 problems: - the event filter just compares the first 2 chars of the strings. - parsers can't parse dynamic arrays. So we encode the size of each dynamic array in the higher 16 bits of __data_loc_foo, while the offset is in lower 16 bits. Signed-off-by: Li Zefan LKML-Reference: <4A5E964A.9000403@cn.fujitsu.com> Acked-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit 9c6c529a21cd3b6efb367256a239eec4153721c0 Merge: bc5304b 55fe27f Author: Takashi Iwai Date: Mon Jul 20 17:08:01 2009 +0200 Merge branch 'fix/ctxfi' into topic/ctxfi commit cb24405e67e56cbef51b5e4d0bb0a0fde167261f Author: Andy Grover Date: Fri Jul 17 13:13:36 2009 +0000 RDS: Refactor end of __conn_create for readability Add a comment for what's going on. Remove negative logic. I find this much easier to understand quickly, although there are a few lines duplicated. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit ed9e352a350ec85eb354046e0db6a86019620f53 Author: Andy Grover Date: Fri Jul 17 13:13:35 2009 +0000 RDS/IW: Remove dead code In iWARP code, node_type will always be RNIC Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 404bb72a56e553febe1055f98347a7a3e3145759 Author: Andy Grover Date: Fri Jul 17 13:13:34 2009 +0000 RDS/IW: Remove page_shift variable from iwarp transport The existing code treated page_shift as a variable, when in fact we always want to have the fastreg page size be the same as the arch's page size -- and it is, so this doesn't need to be a variable. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit a870d62726721785c34fa73d852bd35e5d1b295b Author: Andy Grover Date: Fri Jul 17 13:13:33 2009 +0000 RDS/IB: Always use PAGE_SIZE for FMR page size While FMRs allow significant flexibility in what size of pages they can use, we really just want FMR pages to match CPU page size. Roland says we can count on this always being supported, so this simplifies things. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit edacaeae52ade6cbb3a0704db32a9fb4a219dee3 Author: Andy Grover Date: Fri Jul 17 13:13:32 2009 +0000 RDS: Fix completion notifications on blocking sockets Completion or congestion notifications were not being checked if the socket went to sleep. This patch fixes that. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit fdf6e6b4afd8a56fa58f70a3950bd7ea7fbaef5f Author: Andy Grover Date: Fri Jul 17 13:13:31 2009 +0000 RDS/IB: Drop connection when a fatal QP event is received Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 68cb01c1ba312add7c7cc7da1bbe98b3071904d1 Author: Andy Grover Date: Fri Jul 17 13:13:30 2009 +0000 RDS/IB: Disable flow control in sysctl and explain why Backwards compatibility with rds 3.0 causes protocol- based flow control to be disabled as a side-effect. I don't want to pull out FC support from the IB transport but I do want to document and keep the sysctl consistent if possible. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit e11d912a7dd4dfe388f38ba3080a6d067a57b23d Author: Andy Grover Date: Fri Jul 17 13:13:29 2009 +0000 RDS/IB: Move tx/rx ring init and refill to later Since RDS 3.0 and 3.1 have different packet formats, we need to wait until after protocol negotiation is complete to layout the rx buffers. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 9099707ded4b3aeda7b1a6c1c87076bd18578d24 Author: Andy Grover Date: Fri Jul 17 13:13:28 2009 +0000 RDS: Don't set c_version in __rds_conn_create() Protocol negotiation is logically a property of the transports, so rds core need not set it. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 597ddd50e1c07ac55ac7742442690efcf16a37f5 Author: Andy Grover Date: Fri Jul 17 13:13:27 2009 +0000 RDS/IB: Rename byte_len to data_len to enhance readability Of course len is in bytes. Calling it data_len hopefully indicates a little better what the variable is actually for. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 92c330b9e93ce70a8c45a6b8b0a551321d783feb Author: Andy Grover Date: Fri Jul 17 13:13:26 2009 +0000 RDS/RDMA: Fix cut-n-paste errors in printks in rdma_transport.c Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 8dacd57e7ebc307d4d7c27c5d1caada4c4e63ebd Author: Andy Grover Date: Fri Jul 17 13:13:25 2009 +0000 RDS/IB: Fix printk to indicate remote IP, not local Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 02a6a2592e41d27644d647f3bce23598649961bc Author: Andy Grover Date: Fri Jul 17 13:13:24 2009 +0000 RDS/IB: Handle connections using RDS 3.0 wire protocol The big differences between RDS 3.0 and 3.1 are protocol-level flow control, and with 3.1 the header is in front of the data. The header always ends up in the header buffer, and the data goes in the data page. In 3.0 our "header" is a trailer, and will end up either in the data page, the header buffer, or split across the two. Since 3.1 is backwards- compatible with 3.0, we need to continue to support these cases. This patch does that -- if using RDS 3.0 wire protocol, it will copy the header from wherever it ended up into the header buffer. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 9ddbcfa098bae757d3760dd1dbf2847a0bd5a525 Author: Andy Grover Date: Fri Jul 17 13:13:23 2009 +0000 RDS/IB: Improve RDS protocol version checking RDS on IB uses privdata to do protocol version negotiation. Apparently the IB stack will return a larger privdata buffer than the struct we were expecting. Just to be extra-sure, this patch adds some checks in this area. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 3ba23ade464cca7c4a7ba5628c613339d3f2e161 Author: Andy Grover Date: Fri Jul 17 13:13:22 2009 +0000 RDS: Set retry_count to 2 and make modifiable via modparam This will be default cause IB connections to failover faster, but allow a longer retry count to be used if desired. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 4edf547b4d0f886acf5aa5a0c8f8edbaff280830 Author: Johannes Berg Date: Wed Jul 15 06:16:34 2009 +0000 net: explain netns notifiers a little better Eric explained this to me -- and afterwards the comment made sense, but not before. Add the the critical point about interfaces having to be gone from the netns before subsys notifiers are called. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 27e0955184a70c4bd4542ee2da18c749b4f43345 Author: roel kluin Date: Fri Jul 17 08:01:54 2009 +0000 b44: strncpy does not null terminate string strlcpy() will always null terminate the string. Also use the sizeof(version) to strlcopy() the version string. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 68fd60a8c8bca6af51805c45f286f0f2572ac977 Author: Lai Jiangshan Date: Thu Jul 16 10:53:34 2009 +0800 tracing/events: add missing type info of dynamic arrays The format file doesn't contain enough information for __dynamic_array/__string. The type name is missing. Before: # cat format: name: irq_handler_entry ... field:__data_loc name; offset:16; size:2; After: # cat format: name: irq_handler_entry ... field:__data_loc char[] name; offset:16; size:2; Signed-off-by: Lai Jiangshan LKML-Reference: <4A5E962E.9020900@cn.fujitsu.com> Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit c550091edd6fac2ed9dac1b30d986b6c58b216fa Author: Robert Richter Date: Thu Jul 16 13:11:16 2009 +0200 x86/oprofile: Small coding style fixes Some small coding style fixes. Signed-off-by: Robert Richter commit 11be1a7b54283021777f409aa983ce125945e67c Author: Robert Richter Date: Fri Jul 10 18:15:21 2009 +0200 x86/oprofile: Add counter reservation check for virtual counters This patch adds a check for the availability of a counter. A virtual counter is used only if its physical counter is not reserved. Signed-off-by: Robert Richter commit 61d149d5248ad7428801cdede0f5fcc2b90cd61c Author: Robert Richter Date: Fri Jul 10 15:47:17 2009 +0200 x86/oprofile: Implement op_x86_virt_to_phys() This patch implements a common x86 function to convert virtual counter numbers to physical. Signed-off-by: Robert Richter commit 1b294f5960cd89e49eeb3e797860c552b03f2272 Author: Robert Richter Date: Thu Jul 9 14:56:25 2009 +0200 oprofile: Adding switch counter to oprofile statistic variables This patch moves the multiplexing switch counter from x86 code to common oprofile statistic variables. Now the value will be available and usable for all architectures. The initialization and incrementation also moved to common code. Signed-off-by: Robert Richter commit 4d015f79e972cea1761cfee8872b1c0992ccd8b2 Author: Robert Richter Date: Thu Jul 9 21:42:51 2009 +0200 x86/oprofile: Implement mux_clone() To setup a counter for all cpus, its structure is cloned from cpu 0. This patch implements mux_clone() to do this part for multiplexing data. Signed-off-by: Robert Richter commit 5280514471c2803776701c43c027038decac1103 Author: Robert Richter Date: Thu Jul 9 16:02:44 2009 +0200 x86/oprofile: Enable multiplexing only if the model supports it This patch checks if the model supports multiplexing. Only then multiplexing will be enabled. The code is added to the common x86 initialization. Signed-off-by: Robert Richter commit 39e97f40c3a5e71de0532368deaa683e09b74ba2 Author: Robert Richter Date: Thu Jul 9 15:11:45 2009 +0200 x86/oprofile: Add function has_mux() to check multiplexing support The check is used to prevent running multiplexing code for models not supporting multiplexing. Before, the code was running but without effect. Signed-off-by: Robert Richter commit 52471c67ee2fa5ed6f700ef57bf27833c63b2192 Author: Robert Richter Date: Mon Jul 6 14:43:55 2009 +0200 x86/oprofile: Modify initialization of num_virt_counters Models that do not yet support counter multiplexing have to setup num_virt_counters. This patch implements the setup from num_counters if num_virt_counters is not set. Thus, num_virt_counters must be setup only for multiplexing support. Signed-off-by: Robert Richter commit 2904a527575344a804fdd82b1f8d09a8731d8d49 Author: Robert Richter Date: Thu Jul 9 12:33:41 2009 +0200 x86/oprofile: Remove unused num_virt_controls from struct op_x86_model_spec The member num_virt_controls of struct op_x86_model_spec is not used. This patch removes it. Signed-off-by: Robert Richter commit 259a83a8abdb9d2664819ec80ad12ebaeb251e32 Author: Robert Richter Date: Thu Jul 9 15:12:35 2009 +0200 x86/oprofile: Remove const qualifier from struct op_x86_model_spec This patch removes the const qualifier from struct op_x86_model_spec to make model parameters changable. Signed-off-by: Robert Richter commit b28d1b923ab52d535c0719155dccf3b3d98bab9f Author: Robert Richter Date: Thu Jul 9 14:38:49 2009 +0200 x86/oprofile: Moving nmi_cpu_switch() in nmi_int.c This patch moves some code in nmi_int.c to get a single separate multiplexing code section. Signed-off-by: Robert Richter commit d0f585dd20010f8479e56b5c6f391ef18e26877e Author: Robert Richter Date: Thu Jul 9 14:38:49 2009 +0200 x86/oprofile: Moving nmi_cpu_save/restore_mpx_registers() in nmi_int.c This patch moves some code in nmi_int.c to get a single separate multiplexing code section. Signed-off-by: Robert Richter commit 48fb4b46712c7d3e8adc79826311abd9ccbf7f1d Author: Robert Richter Date: Thu Jul 9 14:38:49 2009 +0200 x86/oprofile: Moving nmi_setup_cpu_mux() in nmi_int.c This patch moves some code in nmi_int.c to get a single separate multiplexing code section. Signed-off-by: Robert Richter commit 6ab82f958a5dca591a6ea17a3ca6f2aca06f4f2f Author: Robert Richter Date: Thu Jul 9 14:40:04 2009 +0200 x86/oprofile: Implement multiplexing setup/shutdown functions This patch implements nmi_setup_mux() and nmi_shutdown_mux() functions to setup/shutdown multiplexing. Multiplexing code in nmi_int.c is now much more separated. Signed-off-by: Robert Richter commit 7e7478c6bc0e011d2854b21f190cc3a1dba89905 Author: Robert Richter Date: Thu Jul 16 13:09:53 2009 +0200 oprofile: Grouping multiplexing code in op_model_amd.c This patch moves some multiplexing code to the new function op_mux_fill_in_addresses(). Also, the whole multiplexing code is now at a single location. Signed-off-by: Robert Richter commit d8471ad3ab613a1ba7abd3aad46659de39a2871c Author: Robert Richter Date: Thu Jul 16 13:04:43 2009 +0200 oprofile: Introduce op_x86_phys_to_virt() This new function translates physical to virtual counter numbers. Signed-off-by: Robert Richter commit a5659d17adb815fb35e11745e2f39c3f0bfd579f Author: Robert Richter Date: Fri Jun 19 16:45:34 2009 +0200 oprofile: Grouping multiplexing code in oprof.c This patch moves multiplexing code to a single section of code. This reduces the use of #ifdefs especially within functions. Signed-off-by: Robert Richter commit 16422a6e2d16a39861ae5b0b11d9b411a245ab83 Author: Robert Richter Date: Wed Jul 15 15:44:18 2009 +0200 oprofile: Remove oprofile_multiplexing_init() oprofile_multiplexing_init() can be removed when moving the initialization of oprofile_time_slice to oprofile_create_files(). Signed-off-by: Robert Richter commit afe1b50fe6aa56093e9234bdc08779e9fe20b5bf Author: Robert Richter Date: Wed Jul 15 15:19:29 2009 +0200 oprofile: Rename variable timeout_jiffies and move to oprofile_files.c This patch renames timeout_jiffies into an oprofile specific name. The macro MULTIPLEXING_TIMER_DEFAULT is changed too. Also, since this variable is controlled using oprofilefs, its definition is moved to oprofile_files.c. Signed-off-by: Robert Richter commit 2051cade7ccbe45a8bf8b7809d56b23d6d75ad03 Author: Robert Richter Date: Wed Jul 15 15:44:18 2009 +0200 oprofile: oprofile_set_timeout(), return with error for invalid args Return with -EINVAL for invalid parameters instead of setting the default value in oprofile_set_timeout(). Signed-off-by: Robert Richter commit 6bfccd099c2841e1c42530f1b6d2553bfa13be3a Author: Robert Richter Date: Thu Jul 9 19:23:50 2009 +0200 x86/oprofile: Fix initialization of switch_index Variable switch_index must be initialized for each cpu. This patch fixes the initialization by moving it to the per-cpu init function nmi_cpu_setup(). Signed-off-by: Robert Richter commit 82a225283fb0d9438549595d9e6f3ecc42b42ad6 Author: Robert Richter Date: Thu Jul 9 16:29:34 2009 +0200 x86/oprofile: Use per_cpu() instead of __get_cpu_var() __get_cpu_var() calls smp_processor_id(). When the cpu id is already known, instead use per_cpu() to avoid generating the id again. Signed-off-by: Robert Richter commit 5e766e3e433fa2d5d2fdfd8e2432804c91393387 Author: Robert Richter Date: Wed Jul 8 14:54:17 2009 +0200 x86/oprofile: Fix usage of NUM_CONTROLS/NUM_COUNTERS macros Use the corresponding macros when iterating over counter and control registers. Since NUM_CONTROLS and NUM_COUNTERS are equal for AMD cpus the fix is more a cosmetical change. Signed-off-by: Robert Richter commit b902e5735272b6a79fe2853180b2ad6658aa9678 Author: Jarek Poplawski Date: Tue Jul 14 11:20:32 2009 +0000 ipv4: fib_trie: Use tnode_get_child_rcu() and node_parent_rcu() in lookups While looking for other fib_trie problems reported by Pawel Staszewski I noticed there are a few uses of tnode_get_child() and node_parent() in lookups instead of their rcu versions. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit be916cdebe4dc720a23b1a9bb589f2c22afd6589 Author: Jarek Poplawski Date: Tue Jul 14 09:41:00 2009 +0000 ipv4: Fix inflate_threshold_root automatically During large updates there could be triggered warnings like: "Fix inflate_threshold_root. Now=25 size=11 bits" if inflate() of the root node isn't finished in 10 loops. It should be much rarer now, after changing the threshold from 15 to 25, and a temporary problem, so this patch tries to handle it automatically using a fix variable to increase by one inflate threshold for next root resizes (up to the 35 limit, max fix = 10). The fix variable is decreased when root's inflate() finishes below 7 loops (even if some other, smaller table/ trie is updated -- for simplicity the fix variable is global for now). Reported-by: Pawel Staszewski Reported-by: Jorge Boncompte [DTI2] Tested-by: Pawel Staszewski Signed-off-by: Jarek Poplawski Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit c3059477fce2d956a0bb3e04357324780c5d8eeb Author: Jarek Poplawski Date: Tue Jul 14 08:33:08 2009 +0000 ipv4: Use synchronize_rcu() during trie_rebalance() During trie_rebalance() we free memory after resizing with call_rcu(), but large updates, especially with PREEMPT_NONE configs, can cause memory stresses, so this patch calls synchronize_rcu() in tnode_free_flush() after each sync_pages to guarantee such freeing (especially before resizing the root node). The value of sync_pages = 128 is based on Pawel Staszewski's tests as the lowest which doesn't hinder updating times. (For testing purposes there was a sysfs module parameter to change it on demand, but it's removed until we're sure it could be really useful.) The patch is based on suggestions by: Paul E. McKenney Reported-by: Pawel Staszewski Tested-by: Pawel Staszewski Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 2e477c9bd2bb6a1606e498adb53ba913378ecdf2 Author: Herbert Xu Date: Mon Jul 20 07:35:37 2009 -0700 vlan: Propagate physical MTU changes When the physical MTU changes we want to ensure that all existing VLAN device MTUs do not exceed the new underlying MTU. This patch adds that propagation. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 4d4036e0e7299c6cbb2d2421b4b30b7a409ce61a Author: Jason Yeh Date: Wed Jul 8 13:49:38 2009 +0200 oprofile: Implement performance counter multiplexing The number of hardware counters is limited. The multiplexing feature enables OProfile to gather more events than counters are provided by the hardware. This is realized by switching between events at an user specified time interval. A new file (/dev/oprofile/time_slice) is added for the user to specify the timer interval in ms. If the number of events to profile is higher than the number of hardware counters available, the patch will schedule a work queue that switches the event counter and re-writes the different sets of values into it. The switching mechanism needs to be implemented for each architecture to support multiplexing. This patch only implements AMD CPU support, but multiplexing can be easily extended for other models and architectures. There are follow-on patches that rework parts of this patch. Signed-off-by: Jason Yeh Signed-off-by: Robert Richter commit bc5304b6fb6c572452b538512761a126f0e0b0d8 Author: Takashi Iwai Date: Mon Jul 20 13:41:35 2009 +0200 ALSA: ctxfi - Native timer support for emu20k2 Added the native timer support for emu20k2, which gives much more accurate update timing than the system timer. Signed-off-by: Takashi Iwai commit 1c388ad054fb1ead3dc354b1719570b99e464135 Author: Paul Menage Date: Fri Jul 17 16:16:18 2009 -0700 include/linux/cred.h: work around gcc-4.2.4 warning in get_cred() With gcc 4.2.4 (building UML) I get the warning include/linux/cred.h: In function 'get_cred': include/linux/cred.h:189: warning: passing argument 1 of 'get_new_cred' discards qualifiers from pointer target type Inserting an additional local variable appears to keep the compiler happy, although it's not clear to me why this should be needed. Signed-off-by: Paul Menage Signed-off-by: Andrew Morton Acked-by: David Howells Signed-off-by: James Morris commit 57594742a2b545f8f114cda34f15650be8ae976d Author: Akinobu Mita Date: Sun Jul 19 00:11:06 2009 +0900 x86: Introduce set_desc_base() and set_desc_limit() Rename set_base()/set_limit to set_desc_base()/set_desc_limit() and rewrite them in C. These are naturally introduced by the idea of get_desc_base()/get_desc_limit(). The conversion actually found the bug in apm_32.c: bad_bios_desc is written at run-time, but it is defined const variable. Signed-off-by: Akinobu Mita LKML-Reference: <20090718151105.GC11294@localhost.localdomain> Signed-off-by: Ingo Molnar commit fde0312d01b60a3fd5dc56e69a9613defbbc7097 Author: Akinobu Mita Date: Sun Jul 19 00:09:56 2009 +0900 x86: Remove unused patch_espfix_desc() patch_espfix_desc() is not used after commit dc4c2a0aed3b09f6e255bd5c3faa50fe6e0b2ded Signed-off-by: Akinobu Mita LKML-Reference: <20090718150955.GB11294@localhost.localdomain> Signed-off-by: Ingo Molnar commit 254e0a6bff87ab8b22293c4bd1443507df698407 Author: Akinobu Mita Date: Sun Jul 19 00:08:54 2009 +0900 x86: Use get_desc_base() Use get_desc_base() to get the base address in desc_struct Signed-off-by: Akinobu Mita LKML-Reference: <20090718150853.GA11294@localhost.localdomain> Signed-off-by: Ingo Molnar commit 05e870d29aef0bf43124b2bd424103987fadd5b5 Merge: 3f3b7c1 2e9bf24 Author: Takashi Iwai Date: Sun Jul 19 13:52:31 2009 +0200 Merge branch 'fix/hda' into topic/hda commit def01bc53d03881acfc393bd10a5c7575187e008 Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Convert the only user of cond_resched_bkl to use cond_resched() fs/locks.c:flock_lock_file() is the only user of cond_resched_bkl() This helper doesn't do anything more than cond_resched(). The latter naming is enough to explain that we are rescheduling if needed. The bkl suffix suggests another semantics but it's actually a synonym of cond_resched(). Reported-by: Peter Zijlstra Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-7-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 613afbf83298efaead05ebcac23d2285609d7160 Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Pull up the might_sleep() check into cond_resched() might_sleep() is called late-ish in cond_resched(), after the need_resched()/preempt enabled/system running tests are checked. It's better to check the sleeps while atomic earlier and not depend on some environment datas that reduce the chances to detect a problem. Also define cond_resched_*() helpers as macros, so that the FILE/LINE reported in the sleeping while atomic warning displays the real origin and not sched.h Changes in v2: - Call __might_sleep() directly instead of might_sleep() which may call cond_resched() - Turn cond_resched() into a macro so that the file:line couple reported refers to the caller of cond_resched() and not __cond_resched() itself. Changes in v3: - Also propagate this __might_sleep() pull up to cond_resched_lock() and cond_resched_softirq() Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-6-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 6f80bd985fe242c2e6a8b6209ed20b0495d3d63b Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Remove the CONFIG_PREEMPT_BKL case definition of cond_resched() CONFIG_PREEMPT_BKL doesn't exist anymore. So remove this config-on case definition of cond_resched(). Reported-by: Peter Zijlstra Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-5-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e4aafea2d4bde8b44d6500c4ee7195bbfc51269e Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Add a preempt count base offset to __might_sleep() Add a preempt count base offset to compare against the current preempt level count. It prepares to pull up the might_sleep check from cond_resched() to cond_resched_lock() and cond_resched_bh(). For these two helpers, we need to respectively ensure that once we'll unlock the given spinlock / reenable local softirqs, we will reach a sleepable state. Signed-off-by: Frederic Weisbecker [ Move and rename preempt_count_equals() ] Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e09758fae8ccde97e026c704319eaa18d488dc86 Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Cover the CONFIG_DEBUG_SPINLOCK_SLEEP off-case for __might_sleep() Cover the off case for __might_sleep(), so that we avoid #ifdefs in files that make use of it. Especially, this prepares for the __might_sleep() pull up on cond_resched(). Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 4b2155678d7cc7b5f45d6b36049091376c3408a2 Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Remove obsolete comment in __cond_resched() Remove the outdated comment from __cond_resched() related to the now removed Big Kernel Semaphore. Reported-by: Arnd Bergmann Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e7aaaa6934636d7a6cadd9e2a05250fbb6a34f65 Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Drop the need_resched() loop from cond_resched() The schedule() function is a loop that reschedules the current task while the TIF_NEED_RESCHED flag is set: void schedule(void) { need_resched: /* schedule code */ if (need_resched()) goto need_resched; } And cond_resched() repeat this loop: do { add_preempt_count(PREEMPT_ACTIVE); schedule(); sub_preempt_count(PREEMPT_ACTIVE); } while(need_resched()); This loop is needless because schedule() already did the check and nothing can set TIF_NEED_RESCHED between schedule() exit and the loop check in need_resched(). Then remove this needless loop. Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 5304d5fc74a269cc6c3e70f9713684ca729abdf0 Merge: 54d35f2 78af08d Author: Ingo Molnar Date: Sat Jul 18 15:50:22 2009 +0200 Merge branch 'linus' into sched/core Merge reason: branch had an old upstream base (-rc1-ish), but also merge to avoid a conflict. Signed-off-by: Ingo Molnar commit d34a4debef933061924ee17c2ede33f5c44925fb Author: jolsa@redhat.com Date: Thu Jul 16 21:44:28 2009 +0200 tracing: Remove .globl in the scripts/recordmcount.pl doc I was reading throught the recordmcount.pl starting comment, and spotted a tiny discrepancy. The second example is about my_func not being global, but the example code has the ".globl my_func" statement just moved. Signed-off-by: Jiri Olsa Cc: rostedt@goodmis.org LKML-Reference: <1247773468-11594-4-git-send-email-jolsa@redhat.com> Signed-off-by: Ingo Molnar commit 566b0aaf798a0dddfc455d1a5b05c424c6686c65 Author: jolsa@redhat.com Date: Thu Jul 16 21:44:26 2009 +0200 tracing: Remove unused fields/variables Signed-off-by: Jiri Olsa Cc: rostedt@goodmis.org LKML-Reference: <1247773468-11594-2-git-send-email-jolsa@redhat.com> Signed-off-by: Ingo Molnar commit 45bceffc3013bda7d2ebc7802e9b153b674e2d44 Merge: 6f2f3cf 78af08d Author: Ingo Molnar Date: Sat Jul 18 12:19:57 2009 +0200 Merge branch 'linus' into tracing/core Merge reason: tracing/core was on an older, pre-rc1 base. Signed-off-by: Ingo Molnar commit bca146578c863a1f37cb191995317e855a0364e1 Author: Mark Brown Date: Sat Jul 18 11:09:42 2009 +0100 ASoC: Fix checkpatch issues in AD1938 Signed-off-by: Mark Brown commit bff78650a2b0ed42b8fb134b6a9b387e00027d67 Author: Ben Dooks Date: Sat Jul 18 10:12:28 2009 +0100 ARM: HWMON: S3C24XX series ADC driver Add support for the ADC controller on the S3C series of processors to drivers/hwmon for use with hardware monitoring systems. Signed-off-by: Ben Dooks Acked-by: Jean Delvare Signed-off-by: Ben Dooks commit e170adcb406504b8acd35554c69830c11916be1f Author: Ben Dooks Date: Sat Jul 18 10:12:27 2009 +0100 ARM: S3C: Add ADC synchronous read call. To add HWMON support, we need a synchronous read() call that blocks until completion. Add the client that is being service to the select and convert callbacks to make the code easier. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 885f9ebe7554628967b6e93b284dd3021e1bb280 Author: Ben Dooks Date: Sat Jul 18 10:12:26 2009 +0100 ARM: BAST: Add hwmon device information Add platform device information for the ADC channels to be exported via HWMON. This exports all the ADCs not being used for the touchscreen interface. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit c197cec5fae7968a7154ee999f0a1b07938d1528 Author: Ben Dooks Date: Sat Jul 18 10:12:25 2009 +0100 ARM: S3C: Update hwmon device definition and name Change the hwmon device name to something more generic as this should be functional for both the s3c24xx and s3c64xx archs. Since it has yet to have a driver, it is pretty safe to change as there are no extant users. Also add the necessary entry in devs.h which seems to have been missed out at somepoint. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 0c11f655553c84bb695fdd5ea8b19d42b41b7133 Author: Mark Brown Date: Fri Jul 17 22:13:01 2009 +0100 ASoC: Fix FLL reference clock division setup in WM8993 Signed-off-by: Mark Brown commit 8aa2df53088f024b13cb005956bd6da94cc1fd2d Author: Mark Brown Date: Fri Jul 17 21:53:49 2009 +0100 ASoC: Bodge around GCC 4.4.0 flow analysis bug in GCC 4.4.0 GCC 4.4.0 doesn't appear to be able to spot that we don't apply any FLL configuration if the output frequency is zero. Signed-off-by: Mark Brown commit 37cf2b8d1622897cf57e70cdab9eba57feb5ff6c Author: Mike Frysinger Date: Fri Jul 17 10:14:26 2009 -0700 connector: get test code working by default The connector test code currently does not work out of the box. This is because it uses a connector id that is above the registered limit. So rather than force people to stumble through undocumented code wondering why it isn't working, have the test code use one of the "private" ids by default. While I'm in here, clean up the code (kernel and user app) so that it's a bit more user friendly and verbose in significant things that it does. Terse test code wastes people time as they simply enumerate it with all the same kind of debug messages to get a better feel of what code is running at any time. Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit 41144ca3dda6d55b10c46d5b7d86502ccffa1c97 Author: Mike Frysinger Date: Fri Jul 17 10:13:58 2009 -0700 connector: clean up grammar/style in documentation The grammar in most of this file is slightly off, and some sections are hard to read due to lack of visual clues breaking up related material. Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit 0741241c6b80bfd58417e95de984d60c9e9ef2a0 Author: Mike Frysinger Date: Fri Jul 17 10:13:21 2009 -0700 connector: make callback argument type explicit The connector documentation states that the argument to the callback function is always a pointer to a struct cn_msg, but rather than encode it in the API itself, it uses a void pointer everywhere. This doesn't make much sense to encode the pointer in documentation as it prevents proper C type checking from occurring and can easily allow people to use the wrong pointer type. So convert the argument type to an explicit struct cn_msg pointer. Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit e36aa25a533962b08402530e8443ac804a454e27 Author: Sridhar Samudrala Date: Tue Jul 14 14:21:04 2009 +0000 tun: Allow tap device to send/receive UFO packets. - Allow setting UFO on tap device and handle UFO packets. Signed-off-by: Sridhar Samudrala --------------------------------------------------------- Signed-off-by: David S. Miller commit 5c5167515d80f78f6bb538492c423adcae31ad65 Author: Sridhar Samudrala Date: Tue Jul 14 14:21:02 2009 +0000 virtio-net: Allow UFO feature to be set and advertised. - Allow setting UFO on virtio-net and advertise to host. Signed-off-by: Sridhar Samudrala Acked-by: Rusty Russell Signed-off-by: David S. Miller commit bbf50e4df11ea5b9d2f625be2a1cea3ec0352890 Author: Peter P Waskiewicz Jr Date: Thu Jul 16 15:51:11 2009 +0000 ixgbe: Bump version number Keep the version number marching along as updates come in. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3845bec0f33f7c2604ba985f6f80983d0c139d46 Author: Peter P Waskiewicz Jr Date: Thu Jul 16 15:50:52 2009 +0000 ixgbe: Add device support for a new copper 82598 device This adds support for a new copper device for 82598, device id 0x150b. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 078788b6a68828c1caf395b48110535e051cd623 Author: Peter P Waskiewicz Jr Date: Thu Jul 16 15:50:32 2009 +0000 ixgbe: Make sure boolean assignments from bitwise operations done correctly When the link comes up, the driver detects which flow control settings are active. This is done using bitwise operations directly from the hardware registers, and assumes the proper boolean assignment. Make this an explicit boolean value before assignment to the bool. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f4ec443b2b27ecb401eee35a7bea330438556c7e Author: Peter P Waskiewicz Jr Date: Thu Jul 16 15:50:12 2009 +0000 ixgbe: Remove legacy descriptor support The ethtool offline test is the only consumer of the legacy descriptors. Update that path to only use advanced descriptors, and remove all support for legacy descriptors. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c482c568577a2b31716e1019f2868bda7cf5629c Author: Eric Dumazet Date: Fri Jul 17 00:26:32 2009 +0000 udp: cleanups Pure style cleanups. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 652f6787c082a174f0bbfa7f895b65b03d8d46c9 Author: Wolfgang Denk Date: Fri Jul 17 02:27:07 2009 +0000 fs_enet/mii-fec.c: fix MII speed calculation The MII speed calculation was based on the CPU clock (ppc_proc_freq), but for MPC512x we must use the bus clock instead. This patch makes it use the correct clock and makes sure we don't clobber reserved bits in the MII_SPEED register. Signed-off-by: Wolfgang Denk Cc: Grant Likely Cc: Kumar Gala Cc: Acked-by: Grant Likely Signed-off-by: David S. Miller commit 0abe1856bdb68ef699c00949cf9f81fbec98d499 Author: wanzongshun Date: Tue Jul 14 15:12:26 2009 +0100 [ARM] 5604/1: Add keypad multi-function pin api for w90p910 platform Add keypad multi-function pin api for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit db58e90fdbe9d12b431ae8d8e856961ce75d74f0 Author: wanzongshun Date: Tue Jul 14 15:10:43 2009 +0100 [ARM] 5602/1: Add sub clock api for w90p910 platform Add sub clock api for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit d2c241955095b129459985a8c02d85b70984b945 Author: wanzongshun Date: Tue Jul 14 15:09:54 2009 +0100 [ARM] 5601/1: Add HAVE_CLK depends on for w90p910 platform Add HAVE_CLK depends on for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 3f3b7c1aed70fa25c6811f830c5fb1a7054681ae Author: Takashi Iwai Date: Fri Jul 17 14:36:59 2009 +0200 ALSA: hda - Fix ALC268 parser for mono speaker - Parse the mono output pin 0x16 correctly even as the primary output - Create "Speaker" volume control if the primary output is a speaker - Fix the wrong direction of (optional) "Mono" switch Signed-off-by: Takashi Iwai commit 5d43f11bcf854d83b24c7ca6bb15d9ab9130159f Author: Hartley Sweeten Date: Thu Jul 16 22:46:31 2009 +0100 [ARM] 5609/1: ep93xx: add register defines for keypad support Add missing register defines for ep93xx keypad clock support. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit fbeeea5386ab213bd55b223f3a75c823fccd6df5 Author: Ryan Mallon Date: Wed Jul 15 21:51:59 2009 +0100 [ARM] 5607/1: ep93xx: Use __iomem pointer on syscon write function Change the reg argument of the ep93xx_syscon_swlocked_write function to be an __iomem pointer. Fixes a number of build warnings. Signed-off-by: Ryan Mallon Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 595c050d89e91e91cca3845e48b01042677bd19e Author: Ryan Mallon Date: Wed Jul 15 21:31:46 2009 +0100 [ARM] 5605/1: Fix ep93xx gpio.c headers Fix a number of build errors in ep93xx gpio.c due to to missing irq.h Signed-off-by: Ryan Mallon Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 5b1c3c858cff4da95b9f7091eef424e706784cab Author: Hartley Sweeten Date: Mon Jul 13 19:50:10 2009 +0100 [ARM] 5600/1: ep93xx: core.c remove cast when copying dev_addr The MAC address for the ep93xx ethernet driver can be optionally copied from registers in the controller when booting. Due to [ARM] 5573/1: ep93xx: ensure typesafe io, the cast for the source address is no longer needed. EP93XX_ETHERNET_BASE is typed as a (void __iomem __force *) so memcpy_fromio() needs to be used instead of memcpy(). Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 82e1b804b03defe46fb69ffd2c8b19e6649bcb0d Author: Takashi Iwai Date: Fri Jul 17 12:47:34 2009 +0200 ALSA: hda - Fix the previous sanity check in make_codec_cmd() The newly added sanity-check for a codec verb can be better written with logical ORs. Also, the parameter can be more than 8bit. Signed-off-by: Takashi Iwai commit c5910a703889cf44ac1aa9405642a7d3b5bc6f24 Author: Candelaria Villareal, Jorge Date: Tue Jul 14 20:04:08 2009 -0500 ASoC: SDP3430: Add support for EXTMUTE using TWL GPIO6 Board sdp3430 has hardware support for EXTMUTE using TWL4030 GPIO6 line, controlled by register INTBR_PMBR1. Machine driver takes care of enabling gpio line through i2c and codec driver manipulates the line during headset ramp up/down sequence. Signed-off-by: Jorge Eduardo Candelaria Signed-off-by: Mark Brown commit 6430aeeb30b478d4ef25f988b1fde6f6ae83adb5 Author: Wu Fengguang Date: Fri Jul 17 16:49:19 2009 +0800 ALSA: hda - add bounds checking for the codec command fields A recent bug involves passing auto detected >0x7f NID to codec command, creating an invalid codec addr field, and finally lead to cmd timeout and fall back into single command mode. Jaroslav fixed that bug in alc880_parse_auto_config(). It would be safer to further check the bounds of all cmd fields. Cc: Jaroslav Kysela Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 9176b672c29baaa94cdff4eedf1350a3b553d9ea Author: Andiry Brienza Date: Fri Jul 17 11:32:32 2009 +0800 ALSA: hda - Add support for new AMD HD audio devices Add support for new AMD HD audio devices. Use generic driver to detect HD audio devices with Vendor ID AMD. Signed-off-by: Andiry Xu Signed-off-by: Takashi Iwai commit 416c8fe3cdcd2d46a6ca12d8ec6143c62d8569d9 Author: Takashi Iwai Date: Fri Jul 17 07:48:03 2009 +0200 ASoC: Kill direct accesses to driver_data Replaced with dev_{get|set}_drvdata(). Signed-off-by: Takashi Iwai commit 6f2f3cf00ee32f75ba007a46bab88a54d68a5deb Author: Xiao Guangrong Date: Thu Jul 16 14:21:08 2009 +0800 tracing/function: Cleanup for function tracer We can directly use %pf input format instead of kallsyms_lookup() and %s input format Signed-off-by: Xiao Guangrong Reviewed-by: Li Zefan Signed-off-by: Frederic Weisbecker commit 79173bf556417a737e9d2e096e0788452ec30a61 Author: Xiao Guangrong Date: Thu Jul 16 14:17:11 2009 +0800 tracing/trace_stack: Cleanup for trace_lookup_stack() We can directly use %pF input format instead of sprint_symbol() and %s input format. Signed-off-by: Xiao Guangrong Reviewed-by: Li Zefan Signed-off-by: Frederic Weisbecker commit 64fbcd162819bddaf0d99e78b16371b655aa5dee Author: Xiao Guangrong Date: Wed Jul 15 12:32:15 2009 +0800 tracing/function: Simplify __ftrace_replace_code() Rewrite the __ftrace_replace_code() function, simplify it, but don't change the code's logic. First, we get the state we want to set, if the record has the same state, then do nothing, otherwise enable/disable it. Signed-off-by: Xiao Guangrong Reviewed-by: Li Zefan Signed-off-by: Frederic Weisbecker commit da8120355e80ddaf534adb8ed910871d97512d56 Merge: c86ae82 7fefe6a Author: David S. Miller Date: Thu Jul 16 20:21:24 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/orinoco/main.c commit 967cc5371113f9806b39a2ebb2174af2883d96fe Author: Oleg Nesterov Date: Thu Jul 9 23:28:49 2009 +0200 kernel: is_current_single_threaded: don't use ->mmap_sem is_current_single_threaded() can safely miss a freshly forked CLONE_VM task, but in this case it must not miss its parent. That is why we take mm->mmap_sem for writing to make sure a thread/task with the same ->mm can't pass exit_mm() and disappear. However we can avoid ->mmap_sem and rely on rcu/barriers: - if we do not see the exiting parent on thread/process list we see the result of list_del_rcu(), in this case we must also see the result of list_add_rcu() which does wmb(). - if we do see the parent but its ->mm == NULL, we need rmb() to make sure we can't miss the child. Signed-off-by: Oleg Nesterov Acked-by: David Howells Signed-off-by: James Morris commit 5bb459bb45d1ad3c177485dcf0af01580aa31125 Author: Oleg Nesterov Date: Fri Jul 10 03:48:23 2009 +0200 kernel: rename is_single_threaded(task) to current_is_single_threaded(void) - is_single_threaded(task) is not safe unless task == current, we can't use task->signal or task->mm. - it doesn't make sense unless task == current, the task can fork right after the check. Rename it to current_is_single_threaded() and kill the argument. Signed-off-by: Oleg Nesterov Acked-by: David Howells Signed-off-by: James Morris commit d2e3ee9b29f5de5b01e611b04e6fb29760589b01 Author: Oleg Nesterov Date: Fri Jul 17 09:09:36 2009 +1000 kernel: fix is_single_threaded - Fix the comment, is_single_threaded(p) actually means that nobody shares ->mm with p. I think this helper should be renamed, and it should not have arguments. With or without this patch it must not be used unless p == current, otherwise we can't safely use p->signal or p->mm. - "if (atomic_read(&p->signal->count) != 1)" is not right when we have a zombie group leader, use signal->live instead. - Add PF_KTHREAD check to skip kernel threads which may borrow p->mm, otherwise we can return the wrong "false". - Use for_each_process() instead of do_each_thread(), all threads must use the same ->mm. - Use down_write(mm->mmap_sem) + rcu_read_lock() instead of tasklist_lock to iterate over the process list. If there is another CLONE_VM process it can't pass exit_mm() which takes the same mm->mmap_sem. We can miss a freshly forked CLONE_VM task, but this doesn't matter because we must see its parent and return false. Signed-off-by: Oleg Nesterov Cc: David Howells Cc: James Morris Cc: Roland McGrath Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: James Morris commit da706d8bc833e7153622435560422e653bdb2e94 Author: Lai Jiangshan Date: Wed Jul 15 16:27:30 2009 +0800 ring_buffer: Fix warning while ignoring cmpxchg return value kernel/trace/ring_buffer.c: In function 'rb_tail_page_update': kernel/trace/ring_buffer.c:849: warning: value computed is not used kernel/trace/ring_buffer.c:850: warning: value computed is not used Add "(void)"s to fix this warning, because we don't need here to handle the fail case of cmpxchg, it's fine if an interrupt already did the job. Changed from V1: Add a comment(which is written by Steven) for it. Signed-off-by: Lai Jiangshan Acked-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 713c0ecdb888e9ef6f085e828555455c5916b07f Author: Sten Spans Date: Thu Jul 16 09:41:39 2009 +0200 security: fix security_file_lock cmd argument Pass posix-translated lock operations to security_file_lock when invoked via sys_flock. Signed-off-by: Sten Spans Signed-off-by: James Morris commit 0fb67e982a1749b2cd477709838bf866028970ce Author: Daniel Drake Date: Thu Jul 16 14:46:57 2009 +0100 ALSA: hda - Add CX20582 and OLPC XO-1.5 support This adds support for the Conexant CX20582 codec, based on code from http://www.linuxant.com/alsa-driver/alsa-driver-linuxant-1.0.19ppch12-1.noarch.rpm.zip This is the codec to be shipped in the OLPC XO-1.5, so this patch also includes an XO-specific profile. Resultant configuration: http://dev.laptop.org/~dsd/20090713/codec0.txt http://dev.laptop.org/~dsd/20090713/codec0.svg As the Linuxant code is structured differently to the other codecs, I was unable to cleanly reimplement everything in the generic and Dell profiles as more info is needed (e.g. codec graphs). I simplified those profiles so that hopefully it will not break anyone's audio. If it does, it may be worth returning -ENODEV from patch_cx5066 on non-OLPC systems, and then fixing snd_hda_codec_configure() to fall back on the generic parser, at least until support for other systems is figured out. Signed-off-by: Daniel Drake Signed-off-by: Takashi Iwai commit 2a549c364aa11e658ae14b71861d25474e5808cf Author: Sachin Sant Date: Thu Jul 16 19:58:42 2009 +0800 crypto: s390 - Fix sha build failure Use struct s390_sha_ctx instead of sha1/sha256_state struct to fix s390 crypto build break. Signed-off-by: Sachin Sant Signed-off-by: Herbert Xu commit 1274738d85d0e25c4f82d83f50a6bcbe2397e9ea Author: Barry Song <21cnbao@gmail.com> Date: Thu Jul 16 16:00:05 2009 +0800 ASoC: new ad1938 codec driver based on asoc Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 3e46a447396df99e2367fe1564651abaacc19c13 Author: Kevin Hilman Date: Wed Jul 15 10:42:09 2009 -0700 ASoC: davinci: don't use clock names clock name strings are no longer passed on platform_data. Instead, we rely entirely on struct device and clkdev to find the right clock. Signed-off-by: Kevin Hilman Signed-off-by: Mark Brown commit e9b25f16cda88b33fe15b30c009912e6c471edda Author: Herbert Xu Date: Thu Jul 16 10:33:27 2009 +0800 crypto: padlock - Fix hashing of partial blocks When we encounter partial blocks in finup, we'll invoke the xsha instruction with a bogus count that is not a multiple of the block size. This patch fixes it. Signed-off-by: Herbert Xu commit c86ae82605ef92594a0de809a8c588ae955fed63 Author: Johannes Berg Date: Wed Jul 15 11:31:10 2009 -0700 gianfar: remove unused DECLARE_MAC_BUF The use of it was converted to %pM, but the variable stuck -- remove it now to not cause spurious warnings. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 9db9ed977d4f1a317f5f4d467d43025fa27223d8 Author: Joonyoung Shim Date: Wed Jul 15 20:34:00 2009 +0900 ASoC: MAX9877: add MAX9877 amp driver The MAX9877 combines a high-efficiency Class D audio power amplifier with a stereo Class AB capacitor-less DirectDrive headphone amplifier. The max9877_add_controls() is called to register the MAX9877 specific controls on machine specific init() of the machine driver. The datasheet for the MAX9877 can find at the following url: http://datasheets.maxim-ic.com/en/ds/MAX9877.pdf [Slight edit to sort the ALL_CODECS entries -- broonie.] Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit 3ce91d5a5a47eca6308c0a64f768c7a4466e0407 Author: Joonyoung Shim Date: Wed Jul 15 20:33:50 2009 +0900 ASoC: add SOC_DOUBLE_R_EXT_TLV control type This is a macro for double controls with special callback function and TLV. The SOC_DOUBLE_R_EXT_TLV needs two registers and one shift for double controls. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit d0af93db12639c425adee795fabadedb52182346 Author: Joonyoung Shim Date: Wed Jul 15 20:33:47 2009 +0900 ASoC: add SOC_DOUBLE_EXT_TLV control type This is a macro for double controls with special callback function and TLV. The SOC_DOUBLE_EXT_TLV needs one register and two shifts for double controls. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit 1dacc76d0014a034b8aca14237c127d7c19d7726 Author: Johannes Berg Date: Wed Jul 1 11:26:02 2009 +0000 net/compat/wext: send different messages to compat tasks Wireless extensions have the unfortunate problem that events are multicast netlink messages, and are not independent of pointer size. Thus, currently 32-bit tasks on 64-bit platforms cannot properly receive events and fail with all kinds of strange problems, for instance wpa_supplicant never notices disassociations, due to the way the 64-bit event looks (to a 32-bit process), the fact that the address is all zeroes is lost, it thinks instead it is 00:00:00:00:01:00. The same problem existed with the ioctls, until David Miller fixed those some time ago in an heroic effort. A different problem caused by this is that we cannot send the ASSOCREQIE/ASSOCRESPIE events because sending them causes a 32-bit wpa_supplicant on a 64-bit system to overwrite its internal information, which is worse than it not getting the information at all -- so we currently resort to sending a custom string event that it then parses. This, however, has a severe size limitation we are frequently hitting with modern access points; this limitation would can be lifted after this patch by sending the correct binary, not custom, event. A similar problem apparently happens for some other netlink users on x86_64 with 32-bit tasks due to the alignment for 64-bit quantities. In order to fix these problems, I have implemented a way to send compat messages to tasks. When sending an event, we send the non-compat event data together with a compat event data in skb_shinfo(main_skb)->frag_list. Then, when the event is read from the socket, the netlink code makes sure to pass out only the skb that is compatible with the task. This approach was suggested by David Miller, my original approach required always sending two skbs but that had various small problems. To determine whether compat is needed or not, I have used the MSG_CMSG_COMPAT flag, and adjusted the call path for recv and recvfrom to include it, even if those calls do not have a cmsg parameter. I have not solved one small part of the problem, and I don't think it is necessary to: if a 32-bit application uses read() rather than any form of recvmsg() it will still get the wrong (64-bit) event. However, neither do applications actually do this, nor would it be a regression. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 4f45b2cd4e78b5e49d7d41548345b879d3fdfeae Author: Johannes Berg Date: Wed Jun 24 01:34:49 2009 +0000 wext: optimise, comment and fix event sending The current function for sending events first allocates the event stream buffer, and then an skb to copy the event stream into. This can be done in one go. Also, the current function leaks kernel data to userspace in a 4 uninitialised bytes, initialise those explicitly. Finally also add a few useful comments, as opposed to the current comments. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit b333b3d22822cf9b295990866798e9239c9dee72 Author: Johannes Berg Date: Wed Jun 24 01:34:48 2009 +0000 wireless extensions: make netns aware This makes wireless extensions netns aware. The tasklet sending the events is converted to a work struct so that we can rtnl_lock() in it. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit a76761b621bcd8336065c4fe3a74f046858bc34c Author: Tejun Heo Date: Wed Jul 15 23:35:14 2009 +0900 percpu: add dummy pcpu_lpage_remapped() for !CONFIG_SMP !CONFIG_SMP was missing pcpu_lpage_remapped() definition causing build failure. Add dummy implementation. This was discovered by linux-next testing. Signed-off-by: Tejun Heo Cc: Randy Dunlap Cc: Kamalesh Babulal Cc: Stephen Rothwell commit cbc86b9161b40f95caee0e56381b68956fc28cc4 Author: Herbert Xu Date: Wed Jul 15 21:26:41 2009 +0800 crypto: shash - Fix async finup handling of null digest When shash_ahash_finup encounters a null request, we end up not calling the underlying final function. This patch fixes that. Signed-off-by: Herbert Xu commit fa64966473830219fe74952029ddb0e981a87749 Author: Herbert Xu Date: Wed Jul 15 21:16:05 2009 +0800 crypto: shash - Fix digest size offset When an shash algorithm is exported as ahash, ahash will access its digest size through hash_alg_common. That's why the shash layout needs to match hash_alg_common. This wasn't the case because the alignment weren't identical. This patch fixes the problem. Signed-off-by: Herbert Xu commit a70c522520d967844c01fa01459edc698fc54544 Author: Herbert Xu Date: Wed Jul 15 20:39:05 2009 +0800 crypto: ahash - Fix setkey crash When the alignment check was made unconditional for ahash we may end up crashing on shash algorithms because we're always calling alg->setkey instead of tfm->setkey. This patch fixes it. Signed-off-by: Herbert Xu commit faae890883624e14a328863eafabf54a36698774 Author: Herbert Xu Date: Wed Jul 15 18:37:48 2009 +0800 crypto: padlock - Fix compile error on i386 The previous change to allow hashing from states other than the initial broke compilation on i386 because the inline assembly tried to squeeze a u64 into a 32-bit register. As we've already checked for 32-bit overflows we can simply truncate it to u32, or unsigned long so that we don't truncate at all on x86-64. Signed-off-by: Herbert Xu commit 4b75e9476737dffef44a66818a4a481edd2512a1 Author: Mark Brown Date: Wed Jul 15 10:36:51 2009 +0100 ASoC: Error out if we can't determine a suitable WM9081 sysclk Due to the flexibility of the WM9081 FLL this should never happen in a real system. Reported-by: Jaswinder Singh Rajput Signed-off-by: Mark Brown commit 78df617acf83745908ae71f322e084284054ea66 Author: Andreas Mohr Date: Sun Jul 12 22:17:54 2009 +0200 ALSA: azt3328: fix previous breakage, improve suspend, cleanups - fix my previous codec activity breakage (_non-warned_ variable assignment issue) - convert suspend/resume to 32bit I/O access (I/O is painful; to improve suspend/resume performance) - change DEBUG_PLAY_REC to DEBUG_CODEC for consistency - printk cleanup - some logging improvements - minor cleanup/improvements The variable assignment issue above was a conditional assignment to the call_function variable (this ended with the non-preinitialized variable not getting assigned in some cases, thus a dangling stack value, yet gcc 4.3.3 unbelievably did _NOT_ warn about it in this case!!), needed to change this into _always_ assigning the check result. Practical result of this bug was that when shutting down _either_ playback or capture, _both_ streams dropped dead :P Tested, working (plus resume) and checkpatch.pl:ed on 2.6.30-rc5, applies cleanly to 2.6.30 proper with my previous (committed) patches applied. Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai commit 2d4b842014dc76a81abced47ef27177eedb9deba Author: Clemens Ladisch Date: Mon Jul 13 13:52:46 2009 +0200 sound: rawmidi: disable active-sensing-on-close by default Sending an Active Sensing message when closing a port can interfere with the following data if the port is reopened and a note-on is sent before the device's timeout has elapsed. Therefore, it is better to disable this setting by default. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 08d033405a5a537d4197dad0fcb6be47062be2a9 Author: Clemens Ladisch Date: Mon Jul 13 13:50:57 2009 +0200 sound: seq_oss_midi: remove magic numbers Instead of using magic numbers for the controlles sent when resetting a port, use the symbols from asoundef.h. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit b86c87288c2205376ee213d6a03ac9422faf014a Author: Clemens Ladisch Date: Mon Jul 13 13:50:17 2009 +0200 sound: seq_midi: do not send MIDI reset when closing Sending a MIDI reset message when closing a port is wrong because we only want to shut the device up, not to reset all settings. Furthermore, many devices ignore this message. Fortunately, the RawMIDI layer already shuts the device up, so we can ignore this matter here. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit a65dd997b3cf057f6524466cf8dfb8382c132bd5 Author: Clemens Ladisch Date: Mon Jul 13 13:48:36 2009 +0200 sound: usb-audio: add MIDI drain callback When draining, instead of waiting for fifty milliseconds, just wait for the currently active URBs to complete. This cuts the usual waiting time down to one USB frame, or zero in the common case when there is no URB. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit ed4affa53229701be7be4f7f84ba84164135d7e8 Author: Clemens Ladisch Date: Mon Jul 13 13:43:59 2009 +0200 sound: usb-audio: use multiple output URBs Some newer USB MIDI interfaces use rather small packet sizes, so to get enough bandwidth, we have to be able to send multiple packets in one USB frame, so we have to use multiple URBs. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 4773d1fb8f37612336d2c929058bf96d3a1624b1 Author: Clemens Ladisch Date: Mon Jul 13 13:40:36 2009 +0200 sound: usb-audio: use multiple input URBs Some newer USB MIDI interfaces use rather small packet sizes, so to get enough bandwidth, we have to be able to receive multiple packets in one USB frame, so we have to use multiple URBs. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit f907ed94f993b0cd366c26eaa88b90c5454203ae Author: Clemens Ladisch Date: Mon Jul 13 13:30:22 2009 +0200 seq-midi: always log message on output overrun It turns out that the main cause of output buffer overruns is not slow drivers but applications that generate too many messages. Therefore, it makes more sense to make that error message always visible, and to rate-limit it. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 468b8fde24d49f5b34e9152981824b9d4ecd1a2e Author: Clemens Ladisch Date: Mon Jul 13 11:39:29 2009 +0200 sound: usb-audio: Xonar U1 digital output support Add support for the Asus Xonar U1. This device is mostly class compliant, but the digital output requires a vendor-specific request. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit e465d544fab81aa122f86a50418f4be7f1fcf066 Author: Mark Brown Date: Wed Jul 15 10:01:30 2009 +0100 ASoC: Fix sample rate lookup in WM8993 We need to use the best value we picked, not the last value we looked at. Reported-by: Stephen Rothwell Signed-off-by: Mark Brown commit b5ebd44eb7559ea6135d536bafd02323d2ef0547 Author: Herbert Xu Date: Wed Jul 15 16:53:33 2009 +0800 crypto: xcbc - Fix incorrect error value when creating instance If shash_alloc_instance() fails, we return the wrong error value. This patch fixes it. Signed-off-by: Herbert Xu commit 3b3fc322d9c92e8bbfcecf739f1a3d10ded7f2cd Author: Herbert Xu Date: Wed Jul 15 16:52:55 2009 +0800 crypto: hmac - Fix incorrect error value when creating instance If shash_alloc_instance() fails, we return the wrong error value. This patch fixes it. Signed-off-by: Herbert Xu commit 05ed8758fa30e088766905d0d600aa393e144353 Author: Steffen Klassert Date: Wed Jul 15 16:51:04 2009 +0800 crypto: cryptd - Fix uninitialized return value If cryptd_alloc_instance() fails, the return value is uninitialized. This patch fixes this by setting the return value. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 305f9db22d62da10c43c7fd7554ec923c2b8727e Author: Herbert Xu Date: Wed Jul 15 15:11:08 2009 +0800 crypto: crypto4xx - Disable SHA implementation The crypto4xx SHA implementation keeps the hash state in the tfm data structure. This breaks a fundamental requirement of ahash implementations that they must be reentrant. This patch disables the broken implementation. Signed-off-by: Herbert Xu commit 66f6ce5e52f2f209d5bf1f06167cec888f4f4c13 Author: Herbert Xu Date: Wed Jul 15 12:40:40 2009 +0800 crypto: ahash - Add unaligned handling and default operations This patch exports the finup operation where available and adds a default finup operation for ahash. The operations final, finup and digest also will now deal with unaligned result pointers by copying it. Finally export/import operations are will now be exported too. Signed-off-by: Herbert Xu commit 872fb6dd6b07986417964e089074e7acfd025f4c Author: Fenghua Yu Date: Mon Jul 13 13:09:43 2009 -0700 ia64: Fix setup_per_cpu_areas() compilation error Fix ia64 build setup_per_cpu_areas() redifinition issue in UP configuration. When compiling ia64 kernel in UP configuration, the following compilation errors are reported: arch/ia64/kernel/setup.c:860: error: redefinition of 'setup_per_cpu_areas' include/linux/percpu.h:185: error: previous definition of 'setup_per_cpu_areas' was here The patch fixes the issue in arch/ia64/kernel/setup.c Signed-off-by: Fenghua Yu Signed-off-by: Tejun Heo commit e25371d60cb06a44d7a32d7966ab9bfbeacb9390 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:49:01 2009 -0700 x86/ioapic.c: unify ioapic_retrigger_irq() The 32 and 64-bit versions of ioapic_retrigger_irq() are identical except the 64-bit one takes vector_lock. vector_lock is defined and used on 32-bit too, so just use a common ioapic_retrigger_irq(). Signed-off-by: Jeremy Fitzhardinge commit 638f2f8c52a92c15ebda9e50d84c1ab56fc42e42 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:37:52 2009 -0700 x86/ioapic.c: convert __target_IO_APIC_irq to conventional for() loop Use a normal for() loop in __target_IO_APIC_irq(). Signed-off-by: Jeremy Fitzhardinge commit 4eea6fff612f54380dd642b045bf03ac0613fe3e Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:32:15 2009 -0700 x86/ioapic.c: clean up replace_pin_at_irq_node logic and comments There's no need for a control variable in replace_pin_at_irq_node(); it can just return if it finds the old apic/pin to replace. If the loop terminates, then it didn't find the old apic/pin, so it can add the new ones. Signed-off-by: Jeremy Fitzhardinge commit 535b64291a9d1ff8bc54642494a5fce27e1e1170 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:29:26 2009 -0700 x86/ioapic.c: convert replace_pin_at_irq_node to conventional for() loop Use a conventional for() loop in replace_pin_at_irq_node(). Signed-off-by: Jeremy Fitzhardinge commit 875e68ec32fc5495f3edf987aaae1c52306184b7 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:24:11 2009 -0700 x86/ioapic.c: simplify add_pin_to_irq_node() Rather than duplicating the same alloc/init code twice, restructure the function to look for duplicates and then add an entry if none is found. This function is not performance critical; all but one of its callers are __init functions, and the non-__init caller is for PCI device setup. Signed-off-by: Jeremy Fitzhardinge commit d8c52063ed85dda61b70bc05b90711478db5dc17 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:17:58 2009 -0700 x86/ioapic.c: convert io_apic_level_ack_pending loop to normal for() loop Convert the unconventional loop in io_apic_level_ack_pending() to a conventional for() loop. Signed-off-by: Jeremy Fitzhardinge commit 8e13d697febc1ba17e70ed88789255c8bc25aa41 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:14:59 2009 -0700 x86/ioapic.c: move lost comment to what seems like appropriate place The comment got separated from its subject, so move it to what appears to be the right place, and update to describe the current structure. Signed-off-by: Jeremy Fitzhardinge commit 83c21bedf63ce92a2dd82ae2c7a96179b0aa4372 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:13:04 2009 -0700 x86/ioapic.c: remove redundant declaration of irq_pin_list The structure is defined immediately below, so there's no need to forward declare it. Signed-off-by: Jeremy Fitzhardinge commit 916a0fe739f151664f7f07b42543ae6fd4caec49 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:00:22 2009 -0700 x86/ioapic.c: remove #ifdef for 82093AA workaround While no 64-bit hardware will have a version 0x11 I/O APIC which needs the level/edge bug workaround, that's not a particular reason to use CONFIG_X86_32 to #ifdef the code out. Most 32-bit machines will no longer need the workaround either, so the test to see whether it is necessary should be more fine-grained than "32-bit=yes, 64-bit=no". (Also fix formatting of block comment.) Signed-off-by: Jeremy Fitzhardinge commit 890aeacf64c55a7ada7054a140d249ab13899f2d Author: Jeremy Fitzhardinge Date: Mon Jun 8 02:57:43 2009 -0700 x86/ioapic.c: unify __mask_IO_APIC_irq() The main difference between 32 and 64-bit __mask_IO_APIC_irq() does a readback from the I/O APIC to synchronize it. If there's a hardware requirement to do a readback sync after updating an APIC register, then it will be a hardware requrement regardless of whether the kernel is compiled 32 or 64-bit. Unify __mask_IO_APIC_irq() using the 64-bit version which always syncs with io_apic_sync(). Signed-off-by: Jeremy Fitzhardinge commit 2f210deba9887dd9143b63b217506f1ac152e91c Author: Jeremy Fitzhardinge Date: Mon Jun 8 02:55:22 2009 -0700 x86/ioapic.c: ioapic_modify_irq is too large to inline If ioapic_modify_irq() is marked inline, it gets inlined several times. Un-inlining it saves around 200 bytes in .text for me. Signed-off-by: Jeremy Fitzhardinge commit 6b2b171a774af256082635b53ac387b1613b7b4c Author: Jeremy Fitzhardinge Date: Mon Jun 8 02:53:50 2009 -0700 x86/acpi: acpi_parse_madt_ioapic_entries: remove redundant braces We don't put braces around a single statement. Signed-off-by: Jeremy Fitzhardinge commit 82d76f4d9fbf7d951d63e7056fd9911ada507bd1 Author: Cliff Cai Date: Tue Jul 14 10:01:40 2009 -0400 ASoC: Blackfin I2S: fix resume handling There is no need to manually start playback/capture ourselves as the PCM driver will handle things for us. Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 18d02bc32c0b35726b2a6a3699a0c44e5e8f6c94 Author: Cliff Cai Date: Tue Jul 14 10:01:39 2009 -0400 ASoC: Blackfin AC97: fix resume handling There is no need to manually start playback/capture ourselves as the PCM driver will handle things for us. Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 6e63ea4b0b14ff5fb8a3ca704fcda7d28b95f079 Author: Robert Richter Date: Tue Jul 7 19:25:39 2009 +0200 x86/oprofile: Whitespaces changes only This patch fixes whitespace changes of code that will be touched in follow-on patches. Signed-off-by: Robert Richter commit 44ab9a6b0e909145d42615493952fe986b1ce5c2 Author: Robert Richter Date: Thu Jul 9 18:33:02 2009 +0200 x86/oprofile: Rework and simplify nmi_cpu_setup() This patch removes the function nmi_save_registers(). Per-cpu code is now executed only in the function nmi_cpu_setup(). Also, it renames the per-cpu function nmi_restore_registers() to nmi_cpu_restore_registers(). Signed-off-by: Robert Richter commit 093900c2b964da73daf234374225b5ce5d49f941 Author: Herbert Xu Date: Tue Jul 14 21:48:35 2009 +0800 crypto: ahash - Use GFP_KERNEL in unaligned setkey We currently use GFP_ATOMIC in the unaligned setkey function to allocate the temporary aligned buffer. Since setkey must be called in a sleepable context, we can use GFP_KERNEL instead. Signed-off-by: Herbert Xu commit 0e2d3a126338ebb213c8e32d8d1d8936d8e62d43 Author: Herbert Xu Date: Tue Jul 14 21:43:56 2009 +0800 crypto: shash - Fix alignment in unaligned operations When we encounter an unaligned pointer we are supposed to copy it to a temporary aligned location. However the temporary buffer isn't aligned properly. This patch fixes that. Signed-off-by: Herbert Xu commit 8c32c516eb1c1f9c14d25478442137c698788975 Author: Herbert Xu Date: Tue Jul 14 21:35:36 2009 +0800 crypto: hash - Zap unaligned buffers Some unaligned buffers on the stack weren't zapped properly which may cause secret data to be leaked. This patch fixes them by doing a zero memset. It is also possible for us to place random kernel stack contents in the digest buffer if a digest operation fails. This is fixed by only copying if the operation succeeded. Signed-off-by: Herbert Xu commit 8045a4c293d36c61656a20d581b11f7f0cd7acd5 Author: Robert Richter Date: Tue Jul 7 19:30:25 2009 +0200 x86/oprofile: Fix cast of counter value When casting the counter value to a 64 bit value in 32 bit mode, sign extension may lead to broken counter values. This patch fixes this by casting to (u64) instead of (s64). Signed-off-by: Robert Richter commit debc6a6927dcd833a30750b07a4c2b456b71f1be Merge: 21e7087 6847e15 4f6e1fe Author: Robert Richter Date: Tue Jul 14 15:20:44 2009 +0200 Merge commit 'v2.6.31-rc3'; commit 'tip/oprofile' into oprofile/core Conflicts: drivers/oprofile/oprofile_stats.c drivers/usb/otg/Kconfig drivers/usb/otg/Makefile Signed-off-by: Robert Richter commit 500b3e3c3dc8e4845b77ae81e5b7b085ab183ce6 Author: Herbert Xu Date: Tue Jul 14 20:29:57 2009 +0800 crypto: ahash - Remove old_ahash_alg Now that all ahash implementations have been converted to the new ahash type, we can remove old_ahash_alg and its associated support. Signed-off-by: Herbert Xu commit 4dc10c0142ce0af8c20ec44dc6928ae63ad4f73a Author: Herbert Xu Date: Tue Jul 14 20:21:46 2009 +0800 crypto: crypto4xx - Switch to new style ahash This patch changes crypto4xx to use the new style ahash type. In particular, we now use ahash_alg to define ahash algorithms instead of crypto_alg. This is achieved by introducing a union that encapsulates the new type and the existing crypto_alg structure. They're told apart through a u32 field containing the type value. Signed-off-by: Herbert Xu commit 0b535adfb102bac1edb046444172b6b77d99bc92 Author: Herbert Xu Date: Tue Jul 14 19:11:32 2009 +0800 crypto: cryptd - Switch to new style ahash This patch changes cryptd to use the new style ahash type. In particular, the instance is enlarged to encapsulate the new ahash_alg structure. Signed-off-by: Herbert Xu commit 9cd899a32f611eb6328014f1d9e0ba31977812d9 Author: Herbert Xu Date: Tue Jul 14 18:45:45 2009 +0800 crypto: cryptd - Switch to template create API This patch changes cryptd to use the template->create function instead of alloc in anticipation for the switch to new style ahash algorithms. Signed-off-by: Herbert Xu commit 52861c7cd711fac97b37ae0f4842a9ad26ecae72 Author: Herbert Xu Date: Tue Jul 14 18:30:24 2009 +0800 crypto: hash - Add helpers to free spawns This patch adds the helpers crypto_drop_ahash and crypto_drop_shash so that these spawns can be dropped without ugly casts. Signed-off-by: Herbert Xu commit 7be380f7201064f704a128b78ac01a62dbd10162 Author: Herbert Xu Date: Tue Jul 14 16:06:54 2009 +0800 crypto: tcrypt - Add mask parameter This patch adds a mask parameter to complement the existing type parameter. This is useful when instantiating algorithms that require a mask other than the default, e.g., ahash algorithms. Signed-off-by: Herbert Xu commit 01c2dece4316dadc0f9fad1ad0b56d493980e492 Author: Herbert Xu Date: Tue Jul 14 14:06:06 2009 +0800 crypto: ahash - Add instance/spawn support This patch adds support for creating ahash instances and using ahash as spawns. Signed-off-by: Herbert Xu commit 88056ec346ccf41f63dbc7080b24b5fd19d1358d Author: Herbert Xu Date: Tue Jul 14 12:28:26 2009 +0800 crypto: ahash - Convert to new style algorithms This patch converts crypto_ahash to the new style. The old ahash algorithm type is retained until the existing ahash implementations are also converted. All ahash users will automatically get the new crypto_ahash type. Signed-off-by: Herbert Xu commit 2ca33da1dea3ba53d1425226a6bac073c5e8568c Author: Herbert Xu Date: Mon Jul 13 20:46:25 2009 +0800 crypto: api - Remove frontend argument from extsize/init_tfm As the extsize and init_tfm functions belong to the frontend the frontend argument is superfluous. Signed-off-by: Herbert Xu commit 6b1679f4a006acb5d76f8df686aa44c63d2555b4 Author: Herbert Xu Date: Sun Jul 12 23:08:28 2009 +0800 crypto: crypto4xx - Use crypto_ahash_set_reqsize This patch makes crypto4xx use crypto_ahash_set_reqsize to avoid accessing crypto_ahash directly. Signed-off-by: Herbert Xu commit 0d6669e2ba60ce5f5d4def6ab453f03567cc738e Author: Herbert Xu Date: Sun Jul 12 23:06:33 2009 +0800 crypto: cryptd - Use crypto_ahash_set_reqsize This patch makes cryptd use crypto_ahash_set_reqsize to avoid accessing crypto_ahash directly. Signed-off-by: Herbert Xu commit fc00127fb67b2a7d2b66f0f4096a5367b581f045 Author: Herbert Xu Date: Sun Jul 12 23:05:48 2009 +0800 crypto: ahash - Add crypto_ahash_set_reqsize This patch adds the helper crypto_ahash_set_reqsize so that implementations do not directly access the crypto_ahash structure. Signed-off-by: Herbert Xu commit 46309d8938122dff2fe59bf163307989cd22ea4a Author: Herbert Xu Date: Sun Jul 12 21:38:59 2009 +0800 crypto: cryptd - Use shash algorithms This patch changes cryptd to use shash algorithms instead of the legacy hash interface. Signed-off-by: Herbert Xu commit 7eddf95ec5440d60f10963f453e27f82f394044e Author: Herbert Xu Date: Sun Jul 12 21:25:20 2009 +0800 crypto: shash - Export async functions This patch exports the async functions so that they can be reused by cryptd when it switches over to using shash. Signed-off-by: Herbert Xu commit 6941c3a0aabb6ad4167827360f384e9daed7dd7f Author: Herbert Xu Date: Sun Jul 12 13:58:04 2009 +0800 crypto: hash - Remove legacy hash/digest implementaion This patch removes the implementation of hash and digest now that no algorithms use them anymore. The interface though will remain until the users are converted across. Signed-off-by: Herbert Xu commit 9ef074fa9b525f7fc7a35d0761f3d4ed01fe8252 Author: Herbert Xu Date: Sun Jul 12 12:50:11 2009 +0800 crypto: authenc - Remove reference to crypto_hash Now that there are no more legacy hash implementations we can remove the reference to crypto_hash. Signed-off-by: Herbert Xu commit 3106caab617c75c9a47706af3a8017318207be2d Author: Herbert Xu Date: Sun Jul 12 12:48:32 2009 +0800 crypto: xcbc - Switch to shash This patch converts the xcbc algorithm to the new shash type. Signed-off-by: Herbert Xu commit 8bd1209cfff246ce6dfae86837467a01236f9cb6 Author: Herbert Xu Date: Thu Jul 9 12:43:37 2009 +0800 crypto: hmac - Switch to shash This patch changes hmac to the new shash interface. Signed-off-by: Herbert Xu commit bbbee4679afd7c29a58087f133ffe241597f3144 Author: Herbert Xu Date: Sat Jul 11 18:16:16 2009 +0800 crypto: padlock - Switch sha to shash This patch converts the padlock-sha implementation to shash. In doing so the existing mechanism of storing the data until final is no longer viable as we do not have a way of allocating data in crypto_shash_init and then reliably freeing it. This is just as well because a better way of handling the problem is to hash everything but the last chunk using normal sha code and then provide the intermediate result to the padlock device. This is good enough because the primary application of padlock-sha is IPsec and there the data is laid out in the form of an hmac header followed by the rest of the packet. In essence we can provide all the data to the padlock as the hmac header only needs to be hashed once. Signed-off-by: Herbert Xu commit 113adefc73c291f93f875fe515a46d8f76252fff Author: Herbert Xu Date: Tue Jul 14 12:50:12 2009 +0800 crypto: shash - Make descsize a run-time attribute This patch changes descsize to a run-time attribute so that implementations can change it in their init functions. Signed-off-by: Herbert Xu commit ba3b64b976f91067710ef1a87b9b445406910e8f Merge: 47db8e8 b7d4de7 Author: Mark Brown Date: Mon Jul 13 23:05:51 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit 47db8e89ac04377fc4de9278d0a3d6e599c04b95 Author: Peter Meerwald Date: Mon Jul 13 23:05:11 2009 +0100 ASoC: fixes multiple typos in comments, no functional change Signed-off-by: Peter Meerwald Signed-off-by: Mark Brown commit 0a0cf58d93b49bdd3ba6049a5536e76c32ef7f88 Author: Kevin Hilman Date: Mon Jul 13 14:50:40 2009 -0700 ASoC: spdif: set module licence to GPL Without MODULE_LICENCE("GPL"), when built as a module it will fail to load because it uses other GPL symbols from kernel. Signed-off-by: Kevin Hilman Signed-off-by: Mark Brown commit a27e304b5c0bd7a3d6f337fd107a0a93d8687821 Author: Kevin Hilman Date: Mon Jul 13 14:50:39 2009 -0700 ASoC: spdif codec: enable use by modules Signed-off-by: Mark Brown commit 087d53ab11d538ce57b8a8e0ef899d7ee6a38548 Author: Rongrong Cao Date: Fri Jul 10 20:13:30 2009 +0100 ASoC: fix checking for external widgets bug In SOC DAPM layer of SOUND subsystem, when add signal route (in the function snd_soc_dapm_add_route() ), the original code has wrong logic when dapm layer check each widget whether an external one. Signed-off-by: Rongrong Cao Signed-off-by: Mark Brown commit 97fd5bc7f2e442482a7a6cc4bc2a286cbb5f4754 Author: Tobias Klauser Date: Mon Jul 13 11:17:49 2009 -0700 net: Rename lookup_neigh_params function Rename lookup_neigh_params to lookup_neigh_parms as the struct is named neigh_parms and all other functions dealing with the struct carry neigh_parms in their names. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 7d45ecafb6792ca68da9517969d37d910601845f Merge: be940d6 7638d53 Author: James Morris Date: Tue Jul 14 00:30:40 2009 +1000 Merge branch 'master' into next Conflicts: include/linux/personality.h Use Linus' version. Signed-off-by: James Morris commit 33e319fba727708ee45fec70091c498da4e8f606 Author: Roel Kluin Date: Mon Jul 13 02:20:10 2009 +0200 ASoC: Keep index within stac9766_reg[] Keep index within stac9766_reg[] Signed-off-by: Roel Kluin Signed-off-by: Mark Brown commit b7788c5ff9e7676dc98ca6dce437ae16b79c6726 Author: Wan ZongShun Date: Sun Jul 12 20:52:19 2009 -0700 Input: w90p910_ts - use clk API Now that clk API is available on ARM we can use it in the driver. Signed-off-by: Wan ZongShun Signed-off-by: Dmitry Torokhov commit f9c22736940cdc8f5e2db0109fc9493e0cbd895d Author: Hans J. Koch Date: Sun Jul 12 20:51:25 2009 -0700 Input: ucb1400_ts - fix a misleading function name The driver for UCB1400 touchscreen controllers contains a function named ucb1400_ts_pen_down(), but it returns 0 if the pen is down and 1 if it's up. This causes confusion, especially since it's used as a boolean truth value later in the code. This patch renames it. Signed-off-by: Hans J. Koch Signed-off-by: Dmitry Torokhov commit 8e321c4f72e2fb580a091317ba0fb2941f637ce1 Author: Julia Lawall Date: Sat Jul 11 10:03:55 2009 +0000 drivers/net/bonding: Adjust constant name AD_SHORT_TIMEOUT and AD_STATE_LACP_ACTIVITY have the same value, but AD_STATE_LACP_ACTIVITY better reflects the intended semantics. [ J adds: AD_STATE_LACP_ACTIVITY is a value defined by the standard, and should be set here in accordance with 802.3ad 43.4.12; AD_SHORT_TIMEOUT is a constant specific to the Linux 802.3ad implementation that happens to have the same value ] The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct port_params p; @@ * p.port_state |= AD_SHORT_TIMEOUT // Signed-off-by: Julia Lawall Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 440c1ce178d6a6743e02d136a55b2de3f6d62a20 Author: Huang Weiyi Date: Fri Jul 10 15:33:49 2009 +0000 dropmon: remove duplicated #include Remove duplicated #include('s) in include/linux/net_dropmon.h Signed-off-by: Huang Weiyi Signed-off-by: David S. Miller commit df5ede82588487db1894933af217e4aa710978d5 Author: Changli Gao Date: Wed Jul 8 18:06:47 2009 +0000 net: remove redundant sched/ in net/Makefile Remove redundant sched/ in net/Makefile. sched/ is contained in previous: obj-$(CONFIG_NET) += ethernet/ 802/ sched/ netlink/, so the later obj-$(CONFIG_NET_SCHED) += sched/ isn't necessary. Signed-off-by: Changli Gao ---- Makefile | 1 - 1 file changed, 1 deletion(-) Signed-off-by: David S. Miller commit be940d6279c30a2d7c4e8d1d5435f957f594d66d Author: James Morris Date: Mon Jul 13 10:39:36 2009 +1000 Revert "SELinux: Convert avc_audit to use lsm_audit.h" This reverts commit 8113a8d80f4c6a3dc3724b39b470f3fee9c426b6. The patch causes a stack overflow on my system during boot. Signed-off-by: James Morris commit b3a633c8527ef155b1a4e22e8f5abc58f7af54c9 Author: Julien Tinnes Date: Fri Jul 10 10:46:30 2009 -0700 personality handling: fix PER_CLEAR_ON_SETID for security reasons We have found that the current PER_CLEAR_ON_SETID mask on Linux doesn't include neither ADDR_COMPAT_LAYOUT, nor MMAP_PAGE_ZERO. The current mask is READ_IMPLIES_EXEC|ADDR_NO_RANDOMIZE. We believe it is important to add MMAP_PAGE_ZERO, because by using this personality it is possible to have the first page mapped inside a process running as setuid root. This could be used in those scenarios: - Exploiting a NULL pointer dereference issue in a setuid root binary - Bypassing the mmap_min_addr restrictions of the Linux kernel: by running a setuid binary that would drop privileges before giving us control back (for instance by loading a user-supplied library), we could get the first page mapped in a process we control. By further using mremap and mprotect on this mapping, we can then completely bypass the mmap_min_addr restrictions. Less importantly, we believe ADDR_COMPAT_LAYOUT should also be added since on x86 32bits it will in practice disable most of the address space layout randomization (only the stack will remain randomized). Signed-off-by: Julien Tinnes Signed-off-by: Tavis Ormandy Acked-by: Christoph Hellwig Acked-by: Kees Cook Signed-off-by: James Morris commit 8113a8d80f4c6a3dc3724b39b470f3fee9c426b6 Author: Thomas Liu Date: Fri Jul 10 10:31:04 2009 -0400 SELinux: Convert avc_audit to use lsm_audit.h Convert avc_audit in security/selinux/avc.c to use lsm_audit.h, for better maintainability and for less code duplication. - changed selinux to use common_audit_data instead of avc_audit_data - eliminated code in avc.c and used code from lsm_audit.h instead. I have tested to make sure that the avcs look the same before and after this patch. Signed-off-by: Thomas Liu Acked-by: Eric Paris Signed-off-by: James Morris commit ba73542585a4a3c8a708f502e62e6e63dd74b66c Author: Sridhar Samudrala Date: Thu Jul 9 08:10:04 2009 +0000 udpv6: Handle large incoming UDP/IPv6 packets and support software UFO - validate and forward GSO UDP/IPv6 packets from untrusted sources. - do software UFO if the outgoing device doesn't support UFO. Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 7ea2f2c5a66e4e9a8d96296ac47ad895c467ee1d Author: Sridhar Samudrala Date: Thu Jul 9 08:10:01 2009 +0000 udpv6: Remove unused skb argument of ipv6_select_ident() - move ipv6_select_ident() inline function to ipv6.h and remove the unused skb argument Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit c31d5326902cebffcd83b1aede67a0e0ac923090 Author: Sridhar Samudrala Date: Thu Jul 9 08:09:58 2009 +0000 udpv6: Fix gso_size setting in ip6_ufo_append_data - fix gso_size setting for ipv6 fragment to be a multiple of 8 bytes. Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 493c6be3fedfe24aa676949b237b9b104d911abf Author: Sridhar Samudrala Date: Thu Jul 9 08:09:54 2009 +0000 udpv6: Fix HW checksum support for outgoing UFO packets - add HW checksum support for outgoing large UDP/IPv6 packets destined for a UFO enabled device. Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit d7ca4cc01fd154f2da30ae6dae160fa5800af758 Author: Sridhar Samudrala Date: Thu Jul 9 08:09:47 2009 +0000 udpv4: Handle large incoming UDP/IPv4 packets and support software UFO. - validate and forward GSO UDP/IPv4 packets from untrusted sources. - do software UFO if the outgoing device doesn't support UFO. Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 30ffee8480c13fbcf8ab6c28e31f79dfff683117 Author: Johannes Berg Date: Fri Jul 10 09:51:35 2009 +0000 net: move and export get_net_ns_by_pid The function get_net_ns_by_pid(), to get a network namespace from a pid_t, will be required in cfg80211 as well. Therefore, let's move it to net_namespace.c and export it. We can't make it a static inline in the !NETNS case because it needs to verify that the given pid even exists (and return -ESRCH). Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 134e63756d5f3d0f7604dfcca847b09d1b14fd66 Author: Johannes Berg Date: Fri Jul 10 09:51:34 2009 +0000 genetlink: make netns aware This makes generic netlink network namespace aware. No generic netlink families except for the controller family are made namespace aware, they need to be checked one by one and then set the family->netnsok member to true. A new function genlmsg_multicast_netns() is introduced to allow sending a multicast message in a given namespace, for example when it applies to an object that lives in that namespace, a new function genlmsg_multicast_allns() to send a message to all network namespaces (for objects that do not have an associated netns). The function genlmsg_multicast() is changed to multicast the message in just init_net, which is currently correct for all generic netlink families since they only work in init_net right now. Some will later want to work in all net namespaces because they do not care about the netns at all -- those will have to be converted to use one of the new functions genlmsg_multicast_allns() or genlmsg_multicast_netns() whenever they are made netns aware in some way. After this patch families can easily decide whether or not they should be available in all net namespaces. Many genl families us it for objects not related to networking and should therefore be available in all namespaces, but that will have to be done on a per family basis. Note that this doesn't touch on the checkpoint/restart problem where network namespaces could be used, genl families and multicast groups are numbered globally and I see no easy way of changing that, especially since it must be possible to multicast to all network namespaces for those families that do not care about netns. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 11a28d373ed2539a110d56419457e2e7db221ac7 Author: Johannes Berg Date: Fri Jul 10 09:51:33 2009 +0000 net: make namespace iteration possible under RCU All we need to take care of is using proper RCU list add/del primitives and inserting a synchronize_rcu() at one place to make sure the exit notifiers are run after everybody has stopped iterating the list. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 6c04bb18ddd633b7feac2c8fe2ae0bf61d20ca7a Author: Johannes Berg Date: Fri Jul 10 09:51:32 2009 +0000 netlink: use call_rcu for netlink_change_ngroups For the network namespace work in generic netlink I need to be able to call this function under rcu_read_lock(), otherwise the locking becomes a nightmare and more locks would be needed. Instead, just embed a struct rcu_head (actually a struct listeners_rcu_head that also carries the pointer to the memory block) into the listeners memory so we can use call_rcu() instead of synchronising and then freeing. No rcu_barrier() is needed since this code cannot be modular. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 487420df79f1d9f5b9de74c9bef378609c475a39 Author: Johannes Berg Date: Fri Jul 10 08:32:06 2009 +0000 netlink: remove unused exports I added those myself in commits b4ff4f04 and 84659eb5, but I see no reason now why they should be exported, only generic netlink uses them which cannot be modular. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit aef73cfcb913eae3d0deeb60eb385f75039db40b Author: Herbert Xu Date: Sat Jul 11 22:22:14 2009 +0800 crypto: async - Use kzfree for requests This patch changes the kfree call to kzfree for async requests. As the request may contain sensitive data it needs to be zeroed before it can be reallocated by others. Signed-off-by: Herbert Xu commit 57cfe44bccb0e38ddb44a34a42f517deef1f4e82 Author: Herbert Xu Date: Sat Jul 11 22:17:39 2009 +0800 crypto: shash - Move null setkey check to registration time This patch moves the run-time null setkey check to shash_prepare_alg just like we did for finup/digest. Signed-off-by: Herbert Xu commit d19d36672ee379f26b79df985a9a2e5afb3f1df1 Author: Hartley Sweeten Date: Fri Jul 10 23:02:59 2009 +0100 [ARM] 5599/1: MAINTAINERS: update for EP93XX ARM Change the maintainer of the EP93XX ARM ARCHITECTURE. Signed-off-by: H Hartley Sweeten Signed-off-by: Ryan Mallon Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 5396730b3caad500ceba84c9391143cafb5938a8 Author: Hartley Sweeten Date: Thu Jul 9 23:22:07 2009 +0100 [ARM] 5598/1: ep93xx: core.c typesafe vic_init The EP93XX_VIC{1/2}_BASE defines are now typesafe due to [ARM] 5573/1: ep93xx: ensure typesafe io. The (void *) cast is not needed when calling vic_init(). Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 6a00cded91532f3d58e07729ba56269339281d8e Author: Russell King Date: Sat Jul 11 16:57:20 2009 +0100 [ARM] pgtable: rearrange file PTE bit allocation For future compatibility, we need to ensure that swap and file Linux PTEs conform with the hardware PTEs "fault" encoding. Swap PTEs already fit in with this, but file PTEs do not. Shift them by one bit to ensure that they conform, using bit 2 to distinguish between swap and file PTEs. Signed-off-by: Russell King commit f7a55fa6ecef8be6d15bd79a803e44a3187ce9d6 Author: Russell King Date: Sat Jul 11 16:51:40 2009 +0100 [ARM] remove L_PTE_BUFFERABLE and L_PTE_CACHEABLE These old symbols are meaningless now that we have memory type support implemented. The entire memory type field needs to be modified rather than just a few bits twiddled. Signed-off-by: Russell King commit ee0049d49ad2556222a7b3127be2dae11982f7b3 Author: Huang Weiyi Date: Sat Jul 11 09:31:58 2009 +0800 [ARM] remove duplicated #include Remove duplicated #include('s) in arch/arm/mach-mx3/devices.c arch/arm/mach-omap1/mcbsp.c arch/arm/mach-omap2/mcbsp.c arch/arm/plat-stmp3xxx/pinmux.c Signed-off-by: Huang Weiyi Signed-off-by: Russell King commit 0724915a69433716704bc5de6f729d3751981be6 Author: Huang Weiyi Date: Sat Jul 11 09:33:21 2009 +0800 [ARM] remove duplicated #include Remove duplicated #include('s) in drivers/spi/amba-pl022.c Signed-off-by: Huang Weiyi Signed-off-by: Russell King commit 7d024608265eb815ae4ce1e5da097ec9d800dda4 Author: Herbert Xu Date: Fri Jul 10 17:26:44 2009 +0800 crypto: padlock - Use shash fallback for sha This patch changes padlock sha fallback to shash instead of hash. Signed-off-by: Herbert Xu commit f63559bef380a95093408691c1081f07da755b74 Author: Herbert Xu Date: Fri Jul 10 13:20:32 2009 +0800 crypto: sha256-s390 - Add export/import support This patch adds export/import support to sha256-s390. The exported type is defined by struct sha256_state, which is basically the entire descriptor state of sha256_generic. Signed-off-by: Herbert Xu commit 406f104b4172de7452702c6810807c1b0132ba22 Author: Herbert Xu Date: Fri Jul 10 13:18:26 2009 +0800 crypto: sha1-s390 - Add export/import support This patch adds export/import support to sha1-s390. The exported type is defined by struct sha1_state, which is basically the entire descriptor state of sha1_generic. Signed-off-by: Herbert Xu commit 9b2fda7b94a769af13c24582739e50664b0e27a8 Author: Herbert Xu Date: Fri Jul 10 13:00:27 2009 +0800 crypto: sha256_generic - Add export/import support This patch adds export/import support to sha256_generic. The exported type is defined by struct sha256_state, which is basically the entire descriptor state of sha256_generic. Signed-off-by: Herbert Xu commit 3d4d277cf88e1980d905707b9c8ca61e8ad6bf0b Author: Herbert Xu Date: Fri Jul 10 12:54:20 2009 +0800 crypto: sha256_generic - Use 64-bit counter like sha1 This patch replaces the two 32-bit counter code in sha256_generic with the simpler 64-bit counter code from sha1. Signed-off-by: Herbert Xu commit e2a7ce4e185a94462698cc0e5192495ee3d22a2f Author: Herbert Xu Date: Thu Jul 9 21:27:13 2009 +0800 crypto: sha1_generic - Add export/import support This patch adds export/import support to sha1_generic. The exported type is defined by struct sha1_state, which is basically the entire descriptor state of sha1_generic. Signed-off-by: Herbert Xu commit 8267adab9433593adb09d94626475c2a5921f111 Author: Herbert Xu Date: Thu Jul 9 20:36:44 2009 +0800 crypto: shash - Move finup/digest null checks to registration time This patch moves the run-time null finup/digest checks to the shash_prepare_alg function which is run at registration time. Signed-off-by: Herbert Xu commit 99d27e1c59e34869605de625b033c52163f5bfa7 Author: Herbert Xu Date: Thu Jul 9 20:30:57 2009 +0800 crypto: shash - Export/import hash state only This patch replaces the full descriptor export with an export of the partial hash state. This allows the use of a consistent export format across all implementations of a given algorithm. This is useful because a number of cases require the use of the partial hash state, e.g., PadLock can use the SHA1 hash state to get around the fact that it can only hash contiguous data chunks. Signed-off-by: Herbert Xu commit 8bdbd962ecfcbdd96f9dbb02d780b4553afd2543 Author: Alan Cox Date: Sat Jul 4 00:35:45 2009 +0100 x86/cpu: Clean up various files a bit No code changes except printk levels (although some of the K6 mtrr code might be clearer if there were a few as would splitting out some of the intel cache code). Signed-off-by: Alan Cox LKML-Reference: Signed-off-by: Ingo Molnar commit e90476d3bab4322070c0afb3e3b55671de8664ea Author: Huang Weiyi Date: Sat Jul 11 09:32:46 2009 +0800 x86: Remove duplicated #include Remove duplicated #include in: arch/x86/kernel/dumpstack.c Signed-off-by: Huang Weiyi Signed-off-by: Ingo Molnar commit 030c819e79e8ad0320486e9ccbe76d2f0870369f Merge: f6f1eb1 5f34534 Author: Mark Brown Date: Fri Jul 10 21:06:33 2009 +0100 Merge branch 'tlv320aic3x' into reg-cache commit 5bc38193c1793e240a7e0b93f129606931e35fdb Author: Johannes Berg Date: Tue Jul 7 11:00:55 2009 +0200 hwsim: make testmode_cmd static sparse correctly complains about this, no reason for it not to be static. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0b20633d966eb08506f8796544aef7a9ab5f3544 Author: Johannes Berg Date: Tue Jul 7 03:56:13 2009 +0200 cfg80211: disallow configuring unsupported interfaces In order to force drivers to advertise their interface types, don't just disallow creating new interfaces with unadvertised types but also disallow setting them UP. Additionally, add some validation on the operations the drivers support. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 79c97e97aed7f760d2826c7daf2d42d8eefe9838 Author: Johannes Berg Date: Tue Jul 7 03:56:12 2009 +0200 cfg80211: clean up naming once and for all We've named the registered devices 'drv' sometimes, thinking of "driver", which is not what it is, it's the internal representation of a wiphy, i.e. a device. Let's clean up the naming once and and use 'rdev' aka 'registered device' everywhere. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 667503ddcb96f3b10211f997fe55907fa7509841 Author: Johannes Berg Date: Tue Jul 7 03:56:11 2009 +0200 cfg80211: fix locking Over time, a lot of locking issues have crept into the smarts of cfg80211, so e.g. scan completion can race against a new scan, IBSS join can race against leaving an IBSS, etc. Introduce a new per-interface lock that protects most of the per-interface data that we need to keep track of, and sprinkle assertions about that lock everywhere. Some things now need to be offloaded to work structs so that we don't require being able to sleep in functions the drivers call. The exception to that are the MLME callbacks (rx_auth etc.) that currently only mac80211 calls because it was easier to do that there instead of in cfg80211, and future drivers implementing those calls will, if they ever exist, probably need to use a similar scheme like mac80211 anyway... In order to be able to handle _deauth and _disassoc properly, introduce a cookie passed to it that will determine locking requirements. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4f5dadcebb55fccef34722bbbf6401d39124c8a4 Author: Johannes Berg Date: Tue Jul 7 03:56:10 2009 +0200 cfg80211: fix MFP bug, sparse warnings sparse warns about a number of things, and one of them (use_mfp shadowed variable) actually is a bug, fix all of them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4d0c8aead32ecdbe1310ad473b3637991f560865 Author: Johannes Berg Date: Tue Jul 7 03:56:09 2009 +0200 cfg80211: properly name driver locking Currently we call that cfg80211_put_dev(), but that is misleading. With the new convention of using 'rdev' for registered_device variables, also call that function cfg80211_unlock_rdev(). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c1e6fb1aad0d4d4f032d46b6bab093a41c6c82bf Author: Johannes Berg Date: Tue Jul 7 03:56:08 2009 +0200 cfg80211: warn again on spurious deauth The original code in mac80211 could send a deauth frame under certain circumstances even if nothing had ever requested an authentication. This has been fixed with the rework there, so cfg80211 can now warn again about spurious events to catch possible future drivers or mac80211 regressions. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cb0b4beb93d14429bf0c50fc1ab8e26348dca880 Author: Johannes Berg Date: Tue Jul 7 03:56:07 2009 +0200 cfg80211: mlme API must be able to sleep After the mac80211 mlme cleanup, we can require that the MLME functions in cfg80211 can sleep. This will simplify future work in cfg80211 a lot. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c238c8ac63f2d33ea5e7c0b9e9e0ccd8ae9a34e4 Author: Johannes Berg Date: Tue Jul 7 03:56:06 2009 +0200 cfg80211: dont use union for wext Otherwise it becomes very hard to reset the structs correctly since wext can be configured while the interface is down. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 78485475618cf9f1c70dc7f15e8deafa8b6074ab Author: Johannes Berg Date: Tue Jul 7 03:56:05 2009 +0200 cfg80211: fix netdev down problem We shouldn't be looking at the ssid_len for non-IBSS, and for IBSS we should also return an error on trying to leave an IBSS while not in or joining an IBSS. This fixes an issue where we wouldn't disconnect() on an interface being taken down since there's no SSID configured this way. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c9cf01226e0bd1fa4f7f7024d8d53e982fad208f Author: Johannes Berg Date: Tue Jul 7 03:45:18 2009 +0200 mac80211: refactor the WEP code to be directly usable The new key work for cfg80211 will only give us the WEP key for shared auth to do that authentication, and not via the regular key settings, so we need to be able to encrypt a single frame in software, and that without a key struct. Thus, refactor the WEP code to not require a key structure but use the key, len and idx directly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 77fdaa12cea26c204cc12c312fe40bc0f3dcdfd8 Author: Johannes Berg Date: Tue Jul 7 03:45:17 2009 +0200 mac80211: rework MLME for multiple authentications Sit tight. This shakes up the world as you know it. Let go of your spaghetti tongs, they will no longer be required, the horrible statemachine in net/mac80211/mlme.c is no more... With the cfg80211 SME mac80211 now has much less to keep track of, but, on the other hand, for FT it needs to be able to keep track of at least one authentication being in progress while associated. So convert from a single state machine to having small ones for all the different things we need to do. For real FT it will still need work wrt. PS, but this should be a good step. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a7c1cfc9616ee76213a6d4fd4c17f13fdc92ddce Author: Johannes Berg Date: Tue Jul 7 03:45:16 2009 +0200 mac80211: remove dead code from mlme The ap_capab and last_probe struct members are unused. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3e5d7649a64e558e4146ddfad4dfcf13fc65dd47 Author: Johannes Berg Date: Tue Jul 7 14:37:26 2009 +0200 cfg80211: let SME control reassociation vs. association Since we don't really know that well in the kernel, let's let the SME control whether it wants to use reassociation or not, by allowing it to give the previous BSSID in the associate() parameters. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2ffa5fede379091bf62a732462b829e4b51af054 Author: Christian Lamparter Date: Mon Jul 6 15:18:13 2009 +0200 p54: fix queue stall due to underrun Larry Finger discovered a weird behavior under load. In essence, the queue's length count under runs, which in turn renders the associated ac queue unusable. Reported-by: Larry Finger Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6d541a684d7eb72c71eaba82b09a360c96609134 Author: Christian Lamparter Date: Mon Jul 6 15:17:56 2009 +0200 p54usb: fix stalls caused by urb allocation failures This patch squashes a few old bugs, which have been around since the initial version of p54usb in one form or another. we never freed a orphaned frame, when were denied the resources, which are necessary to pass the data into the usb subsystem. As a result we could end up with a full queue that wasn't emptied, until the device was brought down. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 1be491fca12ff599c37ceaf7e9042ebee9f0068e Author: Johannes Berg Date: Sun Jul 5 14:51:06 2009 +0200 rfkill: prep for rfkill API changes We've designed the /dev/rfkill API in a way that we can increase the event struct by adding members at the end, should it become necessary. To validate the events, userspace and the kernel need to have the proper event size to check for -- when reading from the other end they need to verify that it's at least version 1 of the event API, with the current struct size, so define a constant for that and make the code a little more 'future proof'. Not that I expect that we'll have to change the event size any time soon, but it's better to write the code in a way that lends itself to extending. Due to the current size of the event struct, the code is currently equivalent, but should the event struct ever need to be increased the new code might not need changing. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3355443ad7601991affa5992b0d53870335af765 Author: Bob Copeland Date: Sat Jul 4 21:03:13 2009 -0400 ath5k: write PCU registers on initial reset "Ath5k: unify resets" introduced a regression into 2.6.28 where the PCU registers are never initialized, due to ath5k_reset() always passing true for change_channel. We subsequently program a lot of these registers but several may start in an unknown state. Cc: stable@kernel.org Reported-by: Forrest Zhang Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 0d0cd72fa1e6bfd419c99478ec70b4877ed0ef86 Author: Bob Copeland Date: Sat Jul 4 12:59:54 2009 -0400 ath5k: do not release irq across suspend/resume Paraphrasing Rafael J. Wysocki: "drivers should not release PCI IRQs in suspend." Doing so causes a warning during suspend/resume on some platforms. Cc: Rafael J. Wysocki Reported-by: Alan Jenkins Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 88f6bfe1829d67bea37b060d53131b2b96ebc8ac Author: Bob Copeland Date: Sat Jul 4 12:59:53 2009 -0400 ath: remove unnecessary return in ath_regd_get_band_ctl 'default' case already returns NO_CTL Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 21800491cc5c48e9f1084a6f524a0da7c2525cc6 Author: Bob Copeland Date: Sat Jul 4 12:59:52 2009 -0400 ath5k: rework beacon configuration Using the enable_beacon flag allows some simplifications and fixes some corner cases in beacon handling. This change adds a state variable for beaconing in ath5k_beacon_config and handles both enabling and disabling, thus eliminating the need for ath5k_beacon_disable. We also now configure the beacon when any of the beacon parameters change, so ath5k_beacon_reconfig is no longer needed (its mmiowb gets moved to ath5k_beacon_config). Finally, by locking around the whole config function, we don't need to worry about clearing the interrupt mask register before installing the new mask. The upshot is this correctly disables beaconing when the interfaces are taken down, it fixes a potential restarting of beaconing when ath5k_reset() is called, and ensures that updates to the beacon interval take effect immediately. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit cec8db23011d2a0a5ec101a0263d79678adf21ba Author: Bob Copeland Date: Sat Jul 4 12:59:51 2009 -0400 ath5k: send buffered frames after the beacon Enable the "Content" After Beacon queue and utilize it to send any buffered frames for power-saving clients. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 0859339b5c2902a7a4ba1d4c9cf35d882f421e7f Author: Christian Lamparter Date: Sat Jul 4 17:49:59 2009 +0200 p54spi: remove dead code and definitions This patch removes some dead code: p54spi.c:115: warning: ‘p54spi_read16’ defined but not used and while we're at it, p54spi_registers_array is purged as well. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a7eee06b874a02e2de75727ab21a8747ca6309ff Author: Christian Lamparter Date: Fri Jul 3 21:01:15 2009 +0200 p54: two endian fixes This patch fixes all CHECK_ENDIAN complains: 1. p54/fwio.c:296:6: warning: restricted __le32 degrades to integer p54/fwio.c:296:6: warning: restricted __le32 degrades to integer 2. p54/p54spi.c:172:32: warning: incorrect type in initializer p54spi.c:172:32: expected restricted __le32 [usertype] buffer p54/p54spi.c:172:32: got unsigned int Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6c230c02700f9d2aebe6edf9f571835c06707940 Author: Samuel Ortiz Date: Fri Jul 3 02:00:48 2009 +0200 cfg80211: check for current_bss from giwrate When connecting to an ESSID manually, we may not set the BSSID, and thus wdev->wext.connect.bssid will be NULL. wdev->current_bss is always updated when a connection is established so we should check it first. Signed-off-by: Samuel Ortiz Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e47a5cddf893815e7da16e3226b959af785d8aaf Author: Ivo van Doorn Date: Wed Jul 1 15:17:35 2009 +0200 rt2x00: use wiphy rfkill interface Remove the input_polldev from rt2x00 and replace it with the rfkill interface offered by the wiphy structure. This simplifies the entire rfkill handling in rt2x00 and allows us to remove the CONFIG_RT2X00_LIB_RFKILL option and always enables rfkill capabilities. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b623a9f7c488e51dbe4320d8b5cdd0ba242d0067 Author: Johannes Berg Date: Wed Jul 1 14:57:59 2009 +0200 iwlwifi: fix aggregation limit According to the documentation, the limit is 0x3f == 63, not 64. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 96f7e73938da744e718ce4817dd3e7e424624654 Author: Helmut Schaa Date: Tue Jun 30 14:49:18 2009 +0200 mac80211: shorten the passive dwell time for sw scans mac80211's software scan implementation uses a passive dwell time of (HZ / 5) which means we stay 200ms on each passive channel. Compared to iwlwifi's hw scan and the old ipw* drivers which use values around 120ms this is quite long. Reducing the passive dwell time from 200ms to 125ms should save us something around a second on cards capable of 11a and we should still be able to catch beacons from most access points (assuming a ~100ms beacon interval). Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 9d49e861a5e31fb7f575f348743886189045e102 Author: Jiri Slaby Date: Sun Jun 28 23:25:28 2009 +0200 ath9k: remove permissions from debugfs files Don't allow users to open debugfs files, because it can cause oopses. When a user opens some file, driver unlinks it and frees the corresponding structure, we will dereference freed memory. Signed-off-by: Jiri Slaby Signed-off-by: John W. Linville commit 31670070ffe18f8e8743109b19297a0efac0a72c Author: Jiri Slaby Date: Sun Jun 28 23:25:27 2009 +0200 ath5k: remove permissions from debugfs files Don't allow users to open debugfs files, because it can cause oopses. When a user opens some file, driver unlinks it and frees the corresponding structure, we will dereference freed memory. Signed-off-by: Jiri Slaby Signed-off-by: John W. Linville commit 6badaaf7729e5d1c02934b1739303ce79014ab67 Author: Joe Perches Date: Sun Jun 28 09:26:32 2009 -0700 drivers/net/wireless/ath/ath9k: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 7ac487260e087f1660e856d4afae2dd49774f66b Author: Reinette Chatre Date: Fri Jun 26 11:00:55 2009 -0700 iwlwifi: always print buffer when error condition occurs We want to see the buffer contents when the error occurs without needing to set any debug flags. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 68021b966b3cb363596251bac0370c12e084e7da Author: Reinette Chatre Date: Fri Jun 26 11:00:54 2009 -0700 iwlwifi: add utility to print buffer when error occurs Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f55e668f902e40a5299deb8cc5940d1d24b19ea0 Author: Reinette Chatre Date: Fri Jun 26 11:00:53 2009 -0700 iwlagn: re-enable PS support for iwlagn The register locking rework addressed the problem where nic access was obtained incorrectly when PS is enabled. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 19a42803f310ff60ce5a6c02992762068a01394a Author: Zhu Yi Date: Thu Jun 25 18:28:32 2009 +0800 iwmc3200wifi: remove B0 hardware support The patch removes B0 hardware support. Nobody is using it anyway. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fd2c7fe0b4dedc34ea0a2a72e00648bd2b8c7c3a Author: Zhu Yi Date: Thu Jun 25 18:28:31 2009 +0800 iwmc3200wifi: simplify calibration map The patch simplifies calibration map by combining the init_calib_map and periodic_calib_map into one calib_map in struct iwm_conf. Now the initial calibration map is stored in the lower 16 bits of calib_map and the periodic calibration map is stored in the higher 16 bits. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit dd13fd649879b6230be5d855e00c286c5e60f354 Author: Zhu Yi Date: Thu Jun 25 18:28:30 2009 +0800 iwmc3200wifi: replace netif_rx with netif_rx_ni The patch uses netif_rx_ni() over netif_rx() to post buffers to upper network code because it is always scheduled in a workqueue. The problem was first observed from a dynamic ticks warning: "NOHZ: local_softirq_pending ..." Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 8ab0ea77273ecf97d26cf8ca026ef383098577fb Author: Joe Perches Date: Wed Jun 24 22:13:27 2009 -0700 drivers/net/wireless: Use PCI_VDEVICE Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 140add21356528fc76ad276fd32b2e7abb945325 Author: Senthil Balasubramanian Date: Wed Jun 24 18:56:42 2009 +0530 ath9k: Handle different TX and RX streams properly. This patch fixes an issue when the TX and RX streams are different. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit e5f0921a9593365b506f69daa3cfd19c0ed1340b Author: Senthil Balasubramanian Date: Wed Jun 24 18:56:41 2009 +0530 ath9k: race condition in SCANNING state check during ANI calibration ANI calibration shouldn't be done when we are not on our home channel. This is already verified. However, it is racy. Fix this by proper spin locks. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit f38faa31e0da07390d72fb67d3151e56c54871f4 Author: Senthil Balasubramanian Date: Wed Jun 24 18:56:40 2009 +0530 ath9k: stop ani when the STA gets disconnected. ANI is not required when the STA is disconnected. So stop it and enable ANI for adhoc and monitor mode. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 2664f201ef162224c775ecf7e33aee9c4cac62b0 Author: Senthil Balasubramanian Date: Wed Jun 24 18:56:39 2009 +0530 ath9k: remove unnecessary STATION mode check. Remove unncessary STATION mode check in ath9k_bss_assoc_info() as it is called only for STATION mode. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit d8c9210757605c5191d2d9f4e09be5e59ceac824 Author: Christian Lamparter Date: Tue Jun 23 10:39:45 2009 -0500 p54: Modify p54 files for new organization Modify the remaining p54 files to account for the new file organization. Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0a5fb84f6b62bca8352f0aad045118e47340b096 Author: Christian Lamparter Date: Tue Jun 23 10:39:12 2009 -0500 p54: Move TX/RX code Copy the TX/RX code from p54common.c into a new file txrx.c Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0ac0d6cedf6110381501c236339a9fbe13c3441d Author: Christian Lamparter Date: Tue Jun 23 10:38:49 2009 -0500 p54: Move mac80211 glue code Copy the mac80211 glue code from p54common.c into a new file main.c Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0533f796993f7e8ccd682005bfbbe4135b24587e Author: Christian Lamparter Date: Tue Jun 23 10:38:24 2009 -0500 p54: Move LMAC interface definitions Copy the LMAC Interface specific definitions from p54common.h into a new file lmac.h Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0597c0141cf011ccf76419cb4f96f99b0d4b6171 Author: Christian Lamparter Date: Tue Jun 23 10:37:59 2009 -0500 p54: Move LED code Copy the LED code from p54common.c into a new file led.c Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 76074e1670b197385ce93242e3ba3ccc7a6be377 Author: Christian Lamparter Date: Tue Jun 23 10:37:40 2009 -0500 p54: Move firmware code Copy the firmware i/o code from p54common.c into a new file fwio.c Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 289b098c2754d04f768b34ac5a9d08b59c38b725 Author: Christian Lamparter Date: Tue Jun 23 10:37:13 2009 -0500 p54: Move eeprom header Copy the eeprom code from p54common.h into a new file eeprom.h Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 4c8a32f57105a78c49e01f083717cdb531d3c2b9 Author: Christian Lamparter Date: Tue Jun 23 10:36:26 2009 -0500 p54: Move eeprom code Copy the eeprom code from p54common.c into a new file eeprom.c Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 35a0ace7739b50331c919a3255639f123b78eaff Author: Roel Kluin Date: Mon Jun 22 17:42:21 2009 +0200 wireless: remove redundant tests on unsigned bufsize and remainder are unsigned. When negative they are wrapped and caught by the other test. Signed-off-by: Roel Kluin Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 1795378ee8d162084c6f98fc62ec309e418dfbe9 Author: Christian Lamparter Date: Sat Jun 20 21:13:46 2009 +0200 p54: redo rx_status into skb->cb This patch slightly optimizes p54_rx_data's stack and code size. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 92179986ba5221a21e0f8a1e9b7b82a2883fef79 Author: Christian Lamparter Date: Sat Jun 20 05:10:24 2009 +0200 ar9170usb: module link in sysfs Andrey Yurovsky reported that the driver forwarded erroneously the parent device structure instead of the real thing, which of course led to some dodgy sysfs links (at least?). Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 2c2f3b33888419fb9e7d015b9dc67b9db4437efa Author: Tomas Winkler Date: Fri Jun 19 13:52:45 2009 -0700 iwlwifi: unify iwl_setup_rxon_timing This patch unifies setup_rxon_timing funcions of AGN and 3945. HWs differ only in supported maximal beacon interval. This is reflected in hw_paras.max_beacon_itrvl Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4e05c2347a50f1d0892ff3475d7609eec428f781 Author: Johannes Berg Date: Fri Jun 19 13:52:44 2009 -0700 iwlwifi: scan requested channels only When userspace requests only certain channels to be scanned, we currently ignore that request entirely. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 45af81956e990440fe78d6d41f847664cb620609 Author: Johannes Berg Date: Fri Jun 19 13:52:43 2009 -0700 iwlwifi: make software queue assignment more efficient There really is no reason to be assigning txq->swq_id all the time, once at aggregation setup is sufficient. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 90e8e424d9c071f2db22100de81af6c8f7df34ee Author: Tomas Winkler Date: Fri Jun 19 13:52:42 2009 -0700 iwlwifi: drop sw_crypto from hw_params. Each HW supported by iwlwifi is capable of hardware crypto so drop this flag from hw_params structure. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3354a0f6a3ced6957dfb9f689ad075cfa8fd272f Author: Mohamed Abbas Date: Fri Jun 19 13:52:41 2009 -0700 iwlwifi: Check HW ready before prepare card. Hardware may be ready for us to manage it without us trying to prepare it first. Check if this is the case. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7d5ca3b8b2b38ab676d0adc268a3c6a82e7a7588 Author: Luis R. Rodriguez Date: Fri Jun 19 11:57:59 2009 -0700 ath9k: differentiate quality reporting between legacy and HT configurations We were not differentiating quality between legacy and HT configurations. We change this to consider the differences. New theory for reporting quality: At a hardware RSSI of 45 you will be able to use MCS 7 reliably. At a hardware RSSI of 45 you will be able to use MCS 15 reliably. At a hardware RSSI of 35 you should be able use 54 Mbps reliably. MCS 7 is the highets MCS index usable by a 1-stream device. MCS 15 is the highest MCS index usable by a 2-stream device. All ath9k devices are either 1-stream or 2-stream. How many bars you see is derived from the qual reporting. A more elaborate scheme can be used here but it requires tables of SNR/throughput for each possible mode used. For the MCS table you can refer to the wireless wiki: http://wireless.kernel.org/en/developers/Documentation/ieee80211/802.11n This should fix this bug report: http://bugzilla.kernel.org/show_bug.cgi?id=13537 Cc: Janath.Peiris@atheros.com Cc: Matt.Smith@atheros.com Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 23b149c1890f9a55f065c6b7842e9383d22e0c04 Author: Andrey Yurovsky Date: Wed Jun 17 19:15:19 2009 -0700 libertas: fix card cleanup order in SDIO driver The SDIO driver sets the surpriseremoved flag before calling lbs_remove_card. With IEEE PS enabled, lbs_remove_card must issue a command to exit IEEE PS mode, however with that flag set the command path is blocked and the card is never taken out of IEEE PS mode. This step is required to ensure that the driver can be reloaded. This patch moves the setting of surpriseremoved after lbs_remove_card is called. Tested with V9 firmware by ensuring that IEEE PS is disabled when the driver is removed. Reloading the driver is not fully tested due to a separate issue with module reload in the SDIO driver, however this patch at least leaves the card in a better state when we bring the driver down. Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit efcfd1f28f6a5c377a0e630ca2c96c54eb3f1e8f Author: Andrey Yurovsky Date: Thu Jun 18 09:51:57 2009 -0700 libertas: correct card cleanup order in SPI driver The SPI driver does a couple of card cleanup steps in the wrong order on module removal. If IEEE PS is enabled, this results in the card being left in IEEE PS mode and subsequent failures to reload the module. The problem is that the surpriseremoved flag is set before calling lbs_remove_card, but that function needs to issue a command to exit IEEE PS mode (the flag blocks the command path). In addition, lbs_stop_card should be called first because it clears out any pending commands. Tested on a GSPI device with V9 firmware by confirming that we can reload the module with or without IEEE PS enabled. Also fix a warning from the wrong uint format in a printk. V2: use z modifier, thanks Sebastian. Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit ce8d096dac70e92a506d2f686ae4f724f42052cf Author: Andrey Yurovsky Date: Wed Jun 17 18:45:34 2009 -0700 libertas: copy WPA keys to priv when associating Libertas currently maintains a copy of the WPA unicast and group keys when using WPA or WPA2. This copy is checked when deciding whether or not to return to sleep in IEEE PS mode but the actual copying back to priv was omitted, which breaks IEEE PS mode with WPA/WPA2 when one issues commands that require temporarily keeping the device awake. This patch introduces the omitted copy-back of the keys so that IEEE PS functions correctly in WPA/WPA2 mode. Thanks to Dan Williams for clearing up the issue. V2: fix typo. Also, this has been tested on GSPI and SDIO with V9 firmware. Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit 9834c079d130217c8c5ac8791428ebeb8c660538 Author: Johannes Berg Date: Mon Jul 6 19:40:51 2009 +0200 cfg80211: fix giwrange "cfg80211: Advertise ciphers via WE according to driver capability" unfortunately broke iwrange -- it used the variable c that needs to be 0 for the channel list. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3dc27d25f288c923735e8f10fa8e578be896e96a Author: Johannes Berg Date: Thu Jul 2 21:36:37 2009 +0200 nl80211: limit to one pairwise cipher for associate() In this case, only one cipher makes sense, unlike for connect() where it may be possible to have the card or driver select. No changes to mac80211 due to the way the structs are laid out -- but the loop in net/mac80211/cfg.c will degrade to just zero or one passes. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4244f41a040288e07d050ea64f60997c584cce9e Author: David Kilroy Date: Thu Jul 2 20:26:45 2009 +0100 orinoco: fix printk format specifier for size_t arguments This addresses the following compile warnings on 64-bit platforms. drivers/net/wireless/orinoco/scan.c: In function 'orinoco_add_hostscan_results': drivers/net/wireless/orinoco/scan.c:194: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' drivers/net/wireless/orinoco/scan.c:211: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' drivers/net/wireless/orinoco/scan.c:211: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 0a9b5e17952ec7ce938645a23ba29bcfdb66c8d9 Author: Johannes Berg Date: Thu Jul 2 18:26:18 2009 +0200 cfg80211: refuse authenticating to same BSSID twice It is possible that there are different BSS structs with the same BSSID, but we cannot authenticate with multiple of them them because we need the BSSID to be unique for deauthenticating/disassociating. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 19957bb399e2722719c0e20c9ae91cf8b6aaff04 Author: Johannes Berg Date: Thu Jul 2 17:20:43 2009 +0200 cfg80211: keep track of BSSes In order to avoid problems with BSS structs going away while they're in use, I've long wanted to make cfg80211 keep track of them. Without the SME, that wasn't doable but now that we have the SME we can do this too. It can keep track of up to four separate authentications and one association, regardless of whether it's controlled by the cfg80211 SME or the userspace SME. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 517357c685ccc4b5783cc7dbdae8824ada19a97f Author: Johannes Berg Date: Thu Jul 2 17:18:40 2009 +0200 cfg80211: assimilate and export ieee80211_bss_get_ie This function from mac80211 seems generally useful, and I will need it in cfg80211 soon. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0eb14647fc6b56f73efb28a72ca0c7cc03a653f9 Author: Johannes Berg Date: Thu Jul 2 15:49:03 2009 +0200 cfg80211: reset auth algorithm When the interface is brought down, we need to reset the auth algorithm because wpa_supplicant doesn't reset it, and then we fail to use shared key auth when required later. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e45cd82ace91b71bc690ba78a0ebea17edfaabef Author: Johannes Berg Date: Thu Jul 2 09:58:04 2009 +0200 cfg80211: send events for userspace SME When the userspace SME is in control, we are currently not sending events, but this means that any userspace applications using wext or nl80211 to receive events will not know what's going on unless they can also interpret the nl80211 assoc event. Since we have all the required code, let the SME follow events from the userspace SME, this even means that you will be refused to connect() while the userspace SME is in control and connected. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ab1faead50d09165b58c2854997c7205ca9c0d22 Author: Johannes Berg Date: Wed Jul 1 21:41:17 2009 +0200 mac80211: remove dead code, clean up With mac80211 now always controlled by an external SME, a lot of code is dead -- SSID, BSSID, channel selection is always done externally, etc. Additionally, rename IEEE80211_STA_TKIP_WEP_USED to IEEE80211_STA_DISABLE_11N and clean up the code a bit. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6dc1cb0319997648f59b0f46b9e093e779f0353d Author: Johannes Berg Date: Wed Jul 1 21:40:45 2009 +0200 mac80211: remove auth algorithm retry The automatic auth algorithm issue is now solved in cfg80211, so mac80211 no longer needs code to try different algorithms -- just using whatever cfg80211 asked for is good. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ac00326e9d1d46bf48e9cf60cf892a96b885601a Author: Johannes Berg Date: Wed Jul 1 21:27:01 2009 +0200 mac80211: re-add HT disabling The IEEE80211_STA_TKIP_WEP_USED flag is used internally to disable HT when WEP or TKIP are used. Now that cfg80211 is giving us the required information, we can set the flag appropriately again. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8990646d2fafeacfacba4a4b1073a4216662089a Author: Johannes Berg Date: Wed Jul 1 21:27:00 2009 +0200 cfg80211: implement get_wireless_stats By dropping the noise reporting, we can implement wireless stats in cfg80211. We also make the handler return NULL if we have no information, which is possible thanks to the recent wext change. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9930380f0bd8405fa6a51d644f3de88c30666519 Author: Johannes Berg Date: Wed Jul 1 21:26:59 2009 +0200 cfg80211: implement IWRATE For now, let's implement that using a very hackish way: simply mirror the wext API in the cfg80211 API. This will have to be changed later when we implement proper bitrate API. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ab737a4f7dbe57b12b73f482a7b973bf00b41942 Author: Johannes Berg Date: Wed Jul 1 21:26:58 2009 +0200 cfg80211: implement IWAP for WDS This implements siocsiwap/giwap for WDS mode. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bc92afd92088ab41223383cc6863ab4792533c54 Author: Johannes Berg Date: Wed Jul 1 21:26:57 2009 +0200 cfg80211: implement iwpower Just on/off and timeout, and with a hacky cfg80211 method until we figure out what we want, though this is probably sufficient as we want to use pm_qos for wifi everywhere. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f21293549f60f88c74fcb9944737f11048896dc4 Author: Johannes Berg Date: Wed Jul 1 21:26:56 2009 +0200 cfg80211: managed mode wext compatibility This adds code to make it possible to use the cfg80211 connect() API with wireless extensions, and because the previous patch added emulation of that API with auth() and assoc(), by extension also supports wext on that. At the same time, removes code from mac80211 for wext, but doesn't yet clean up mac80211's mlme code more. Signed-off-by: Samuel Ortiz Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6829c878ecd24ff0ae41b4668c7e9d0f11b66942 Author: Johannes Berg Date: Thu Jul 2 09:13:27 2009 +0200 cfg80211: emulate connect with auth/assoc This adds code to cfg80211 so that drivers (mac80211 right now) that don't implement connect but rather auth/assoc can still be used with the nl80211 connect command. This will also be necessary for the wext compat code. Signed-off-by: Samuel Ortiz Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b23aa676ab9d54469cda9f7151f51a2851c6f36e Author: Samuel Ortiz Date: Wed Jul 1 21:26:54 2009 +0200 cfg80211: connect/disconnect API This patch introduces the cfg80211 connect/disconnect API. The goal here is to run the AUTH and ASSOC steps in one call. This is needed for some fullmac cards that run both steps directly from the target, after the host driver sends a connect command. Additionally, all the new crypto parameters for connect() are now also valid for associate() -- although associate requires the IEs to be used, the information can be useful for drivers and should be given. Signed-off-by: Samuel Ortiz Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6a669e65c5ec393a650362874e13f7d3365a7827 Author: Johannes Berg Date: Wed Jul 1 21:26:53 2009 +0200 wireless: define AKM suites We'll need these values for some drivers using connect API and for wext compat code, so let's define them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3f65b24536996ac493777ef11474c47e1d3f56a0 Author: Johannes Berg Date: Wed Jul 1 21:26:52 2009 +0200 mac80211: remove an unused function declaration The ieee80211_scan_results function hasn't existed for a long time now, so its declaration should be removed as well. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit aff89a9b9084931e51b89d8f3ee3c547bea6c422 Author: Johannes Berg Date: Wed Jul 1 21:26:51 2009 +0200 cfg80211: introduce nl80211 testmode command This introduces a new NL80211_CMD_TESTMODE for testing and calibration use with nl80211. There's no multiplexing like like iwpriv had, and the command is not available by default, it needs to be explicitly enabled in Kconfig and shouldn't be enabled in most kernels. The command requires a wiphy index or interface index to identify the device to operate on, and the new TESTDATA attribute. There also is API for sending replies to the command, and testmode multicast messages (on a testmode multicast group). I've also updated mac80211 to be able to pass through the command to the driver, since it itself doesn't implement the testmode command. Additionally, to give people an idea of how to use the command, I've added a little code to hwsim that makes use of the new command to set the powersave mode, this is currently done via debugfs and should remain there, and the testmode command only serves as an example of how to use this best -- with nested netlink attributes in the TESTDATA attribute. A hwsim testmode tool can be found at http://git.sipsolutions.net/hwsim.git/. This tool is BSD licensed so people can easily use it as a basis for their own internal fabrication and validation tools. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5121ea0481f9cea1dfd958f18d7b4ac78778cd40 Author: Johannes Berg Date: Wed Jul 1 21:26:50 2009 +0200 wext: constify extra argument to wireless_send_event This is never changed by the function, so can be marked const. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0575606b086ad216b7b1976ca9b9a6e711db92f0 Author: Johannes Berg Date: Wed Jul 1 21:26:49 2009 +0200 mac80211: tell SME about real auth state When the auth algorithm is rejected, but we don't have another one to try, we will eventually retry but that isn't useful -- we'll then do it again and again until we eventually give up. Instead, we should let the SME know and go into disabled state. The same applies for situations where the AP rejects with any other status code. Additionally, when trying the next auth algorithm, we should reset the auth_tries so that just a single lost frame doesn't lead to us giving up on the third auth algorithm. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7ebbe6bd51a259e16608b3fd7b578f5dd1292a45 Author: Johannes Berg Date: Wed Jul 1 21:26:48 2009 +0200 cfg80211: remove wireless_dev->bssid This variable isn't necessary -- the wext code keeps track of the BSSID itself, and otherwise we have current_bss. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e6d6e3420d511cd7552a95d1f04bd4c80a9ddb34 Author: Johannes Berg Date: Wed Jul 1 21:26:47 2009 +0200 cfg80211: use proper allocation flags Instead of hardcoding GFP_ATOMIC everywhere, add a new function parameter that gets the flags from the caller. Obviously then I need to update all callers (all of them in mac80211), and it turns out that now it's ok to use GFP_KERNEL in almost all places. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit dad823302135a2d99efd40e35d94a6ff14961c93 Author: Johannes Berg Date: Wed Jul 1 21:26:46 2009 +0200 nl80211: clean up function definitions I don't like the 'extern' keyword much when it's not necessary, it makes lines rather long. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2a783c136b4f280d9863170bd6703d25bdb4746c Author: Johannes Berg Date: Wed Jul 1 21:26:45 2009 +0200 cfg80211: move break statement to correct place Move a break statement to the correct place _after_ the #endif, otherwise w/o WIRELESS_EXT things break badly. Also, while touching this code, do a cleanup and assign dev->ieee80211_ptr to a new variable. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 898324025fc12132d3ed98f8baf4fb3fa45327e0 Author: Johannes Berg Date: Wed Jul 1 21:26:44 2009 +0200 wext: default to y The way I initially thought we could do wireless extensions is by making all the compat code in cfg80211 be independent of CONFIG_WIRELESS_EXT, but this is turning out to not be feasible. Therefore, fix the Kconfig help text and make the option default to yes, so people won't get a nasty surprise when mac80211 will get rid of its 'select WIRELESS_EXT' any time now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d3cebbdcedf8d1519913f6e9bf88dbac7fbaa760 Author: Johannes Berg Date: Wed Jul 1 21:26:43 2009 +0200 mac80211: fix todo lock The key todo lock can be taken from different locks that require it to be _bh to avoid lock inversion due to (soft)irqs. This should fix the two problems reported by Bob and Gabor: http://mid.gmane.org/20090619113049.GB18956@hash.localnet http://mid.gmane.org/4A3FA376.8020307@openwrt.org Signed-off-by: Johannes Berg Cc: Bob Copeland Cc: Gabor Juhos Signed-off-by: John W. Linville commit df2b35b65b7142bac2c7add3a1dedde3a373aff3 Author: Johannes Berg Date: Wed Jul 1 21:26:42 2009 +0200 wext: allow returning NULL stats Currently, wext drivers cannot return NULL for stats even though that would make the ioctl return -EOPNOTSUPP because that would mean they are no longer listed in /proc/net/wireless. This patch changes the wext core's behaviour to list them if they have any wireless_handlers, but only show their stats when available, so that drivers can start returning NULL if stats are currently not available, reducing confusion for e.g. IBSS. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c0acf38e0ba42f93d8d56a6db2e2116ea1b23961 Author: John W. Linville Date: Tue Jun 30 16:55:52 2009 -0400 mac80211_hwsim: fix-up build damage from removal of skb->dst Signed-off-by: John W. Linville commit 293dc5dfdbcc16cde06e40a688394cc8ab083e48 Author: Gabor Juhos Date: Fri Jun 19 12:17:48 2009 +0200 ath9k: remove ath_rx_ps_back_to_sleep helper This helper only clears the SC_OP_WAIT_FOR_{BEACON,CAB} flags. Remove it and clear these flags directly in the approptiate places instead. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit b7351a003ca29ac4372393040ffb06dc04309e2e Author: Gabor Juhos Date: Fri Jun 19 12:17:47 2009 +0200 ath9k: remove unnecessary clearing of SC_OP_WAIT_{BEACON,CAB} flags All SC_OP_WAIT_* flags will be cleared in 'ath9k_conf' when PS mode is disabled, so we don't have to clear it here. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit f58d4ed98bfe7b2febcd6f0d62744b623e4b8371 Author: Johannes Berg Date: Fri Jun 19 02:45:21 2009 +0200 cfg80211: send wext MLME-MICHAELMICFAILURE.indication Instead of having mac80211 do it itself. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b5c469108935bacfe6f45005867256801832fdce Author: David Kilroy Date: Thu Jun 18 23:21:35 2009 +0100 orinoco: remove WE nickname support Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 934fd51a94572bcdeea5150ba6a0148971ea9980 Author: David Kilroy Date: Thu Jun 18 23:21:34 2009 +0100 orinoco: convert giwrange to cfg80211 Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit c63cdbe8f80487c372fe0dfe460ed30467029f01 Author: David Kilroy Date: Thu Jun 18 23:21:33 2009 +0100 orinoco: convert scanning to cfg80211 This removes the custom scan cache used by orinoco. We also have to avoid calling cfg80211_scan_done from the hard interrupt, so we offload the entirety of scan processing to a workqueue. This may behave strangely if you start scanning just prior to suspending... Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 5217c571c898371c540e49671600d54346b2e123 Author: David Kilroy Date: Thu Jun 18 23:21:32 2009 +0100 orinoco: convert mode setting to cfg80211 Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 721aa2f75b00399074eb443fdf16d797b4504a36 Author: David Kilroy Date: Thu Jun 18 23:21:31 2009 +0100 orinoco: provide generic commit function This allows changes to be commited from cfg80211 functions. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 6415f7df10573bf1ec42644f42bef565127114a1 Author: David Kilroy Date: Thu Jun 18 23:21:30 2009 +0100 orinoco: Handle suspend/restore in core driver Each device does almost exactly the same things on suspend and resume when upping and downing the interface. So move this logic into a common routine. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit ef96b5c9ed6ba4b45fd4cf45810c34978bb8d8bb Author: David Kilroy Date: Thu Jun 18 23:21:29 2009 +0100 airport: store irq in card private structure ... instead of relying on the net_device fields. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 5381956b780e82805247c2ec8e32c4c665309394 Author: David Kilroy Date: Thu Jun 18 23:21:28 2009 +0100 orinoco: move netdev interface creation to main driver With the move to cfg80211 it's nice to keep the hardware operations distinct from the interface, even though we can only support a single interface. This also means the driver resembles other cfg80211 drivers. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 35832c50d1d1552618f55aa5457a251df9e63b26 Author: David Kilroy Date: Thu Jun 18 23:21:27 2009 +0100 orinoco: make firmware download less verbose The firmware download code has been in a couple of releases, without any significant issues reported in this code. Convert to use pr_debug, so the messages can be recoverred by defining DEBUG. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit ea60a6aaf55984a13a7150568cc103d006e86ab2 Author: David Kilroy Date: Thu Jun 18 23:21:26 2009 +0100 orinoco: initiate cfg80211 conversion Initialise and register a wiphy. Store the orinoco_private structure in the new wiphy, and use the net_device private area to store the wireless_dev. This results in a change to the way we navigate from a net_device to the driver private orinoco_private, which we encapsulate in the inline function ndev_priv. Most of the remaining calls to netdev_priv are thus replaced by ndev_priv. We can immediately rely on cfg80211 to handle SIOCGIWNAME, so orinoco_ioctl_getname is removed. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 98e5f404485d5d11b15e8351535a0e064a37647c Author: David Kilroy Date: Thu Jun 18 23:21:25 2009 +0100 orinoco: Change set_tkip to use orinoco_private instead of hermes_t hw.h does not include hermes.h, and none of the other functions requires types from that file. Also hermes_t is a (discouraged) typedef so we can't add a forward declaration. Therefore change this function to use orinoco_private. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 8e638267a896e171e49fb9013f5baf96a4ede754 Author: David Kilroy Date: Thu Jun 18 23:21:24 2009 +0100 orinoco: initialise independently of netdev Initialise the orinoco driver before registerring with netdev, which will help when we get to cfg80211... Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit a2608362b22ade22ef5472a8c9b82687d86f976f Author: David Kilroy Date: Thu Jun 18 23:21:23 2009 +0100 orinoco: Replace net_device with orinoco_private in driver interfaces Move away from using net_device as the main structure in orinoco function calls. Use orinoco_private instead. This makes more sense when we move to cfg80211, and we get wiphys as well. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 44d8dade8f12ffe5c9b7eddd0512c1548c027a4c Author: David Kilroy Date: Thu Jun 18 23:21:22 2009 +0100 orinoco: firmware helpers should use dev_err and friends We should be able to call these routines before we register with netdev, so avoid printks using the netdev name. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit a3f47b9c2ada45ffacc8f2b54507221a1ba8eb10 Author: David Kilroy Date: Thu Jun 18 23:21:21 2009 +0100 orinoco: use dev_err in early initialisation routines This allows us to use determine_fw_capabilities, orinoco_hw_read_card_setting and orinoco_hw_allocate_fid prior to netdev registration. Since dev_dbg only prints if DEBUG is defined (or dynamic debug is enabled), move a couple of the more useful prints up to info. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 42a51b933034bbed93fa54009c96a482044e5b43 Author: David Kilroy Date: Thu Jun 18 23:21:20 2009 +0100 orinoco: Move FID allocation to hw.c This is part of refactorring the initialisation code so that we can load the firmware before registerring with netdev. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit e9e3d0100eae5f254024bd59229ef1be2b719b84 Author: David Kilroy Date: Thu Jun 18 23:21:19 2009 +0100 orinoco: Move card reading code into hw.c This is part of refactorring the initialisation code so that we can load the firmware before registerring with netdev. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit a2d1a42a4b44c97fb83c5bf53af8cd6ab4c6c110 Author: David Kilroy Date: Thu Jun 18 23:21:18 2009 +0100 orinoco: Move firmware capability determination into hw.c This is part of refactorring the initialisation code so that we can load the firmware before registerring with netdev. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 27bea66c22582853ad2e1de93d26c3016493818b Author: David Kilroy Date: Thu Jun 18 23:21:17 2009 +0100 cfg80211: infer WPA and WPA2 support from TKIP and CCMP Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 2ab658f9ce218ae93b3d2db2b3fe68bfefb81196 Author: David Kilroy Date: Thu Jun 18 23:21:16 2009 +0100 cfg80211: set WE encoding size based on available ciphers Only set the sizes for WEP40 and WEP104. Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 51cd4aabd082144881644c308647ca501690b68c Author: David Kilroy Date: Thu Jun 18 23:21:15 2009 +0100 cfg80211: allow drivers that can't scan for specific ssids Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3daf097594d398b2ddd2dca6caeaa92cb9148e23 Author: David Kilroy Date: Thu Jun 18 23:21:14 2009 +0100 cfg80211: Advertise ciphers via WE according to driver capability Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit f1f74825fe01ac77204ca34e3240dec50a8207c2 Author: David Kilroy Date: Thu Jun 18 23:21:13 2009 +0100 cfg80211: add wrapper function to get wiphy from priv pointer Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 90e3012e94be0755a516f60f5339a2a08f4a7d0a Author: Johannes Berg Date: Thu Jun 18 14:51:12 2009 +0200 mac80211_hwsim: clean up the skb before passing it back We need to clean up the skb before we can copy it, this is required for proper operation since the socket it is still attached to could potentially live in a different network namespace or so. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3bfbe80e4462c22e5dc42a00b2b394e347f4aa09 Author: Hin-Tak Leung Date: Thu Jun 18 03:53:26 2009 +0100 zd1211rw: sort vid/pid pairs by numerical value In the past ids were inserted in no particular order and it has become hard to see what ids are already included or not. This patch sorts the ids by numerical value and has no functional effect. Signed-off-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 83f5e2cf79390f7ca909b7035dd415230257cc4d Author: Johannes Berg Date: Wed Jun 17 17:41:49 2009 +0200 cfg80211: prohibit scanning the same channel more than once It isn't very useful to scan the same channel more than once during a given scan, and some hardware (notably iwlwifi) can only scan a limited number of channels at a time. To prevent any overflows, simply disallow scanning any channel multiple times in a given scan command. This is a small change in the userspace ABI, but the only user, wpa_supplicant, never asks for a scan with the same frequency listed twice. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 386aa23dd5f94b810210b9f849807946a5100b57 Author: Johannes Berg Date: Wed Jun 17 17:28:45 2009 +0200 mac80211: improve per-sta debugfs We had code for a number of files, that we didn't publish in debugfs, fix that. Also make the agg_status file layout more readable and add more information to it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f1d58c2521eb160178b2151d6326d8dc5d7c8560 Author: Johannes Berg Date: Wed Jun 17 13:13:00 2009 +0200 mac80211: push rx status into skb->cb Within mac80211, we often need to copy the rx status into skb->cb. This is wasteful, as drivers could be building it in there to start with. This patch changes the API so that drivers are expected to pass the RX status in skb->cb, now accessible as IEEE80211_SKB_RXCB(skb). It also updates all drivers to pass the rx status in there, but only by making them memcpy() it into place before the call to the receive function (ieee80211_rx(_irqsafe)). Each driver can now be optimised on its own schedule. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 18ad01c43918751cc22f8ee28f6b38b8954a55b2 Author: Johannes Berg Date: Tue Jun 16 20:46:45 2009 +0200 rt2x00: remove skb->do_not_encrypt usage Johannes is trying to get rid of the master netdev and in the process will remove skb->do_not_encrypt field. This removes the do_not_encrypt usage from rt2x00 to make the change easier. Signed-off-by: Johannes Berg Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a538e2d5a30f577e9c8f6ccfe72b29a258e0fe86 Author: Johannes Berg Date: Tue Jun 16 19:56:42 2009 +0200 cfg80211: issue netlink notification when scan starts To ease multiple apps working together smoothly, send a notification when a scan is started. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 222ec50a0a5d20e75522aacf4c767df6585e8548 Author: Jussi Kivilinna Date: Tue Jun 16 17:17:32 2009 +0300 rndis_wlan: convert set/get txpower to cfg80211 Convert set/get txpower to cfg80211 and add stop netdev handler to turn off radio for rfkill. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit a33e9e7f35ef6dcab528e0327f29188475f60691 Author: Jussi Kivilinna Date: Tue Jun 16 17:17:27 2009 +0300 usbnet: Add stop function pointer to 'struct rndis_data'. Allow minidriver to know that netdev has stopped. This is to let wireless turn off radio when usbnet dev is stopped. Signed-off-by: Jussi Kivilinna Acked-by: David Brownell Acked-by: David S. Miller Signed-off-by: John W. Linville commit d75ec2b7ec27fd6cdba78492fbd63bee4d091a87 Author: Jussi Kivilinna Date: Tue Jun 16 17:17:21 2009 +0300 rndis_wlan: convert get/set frag/rts to cfg80211 Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 257862f3faef397f1a677ae6a5a1828fa00a97b1 Author: Zhu Yi Date: Mon Jun 15 21:59:56 2009 +0200 iwmc3200wifi: rfkill cleanup The patch cleans up the unused rfkill related structures and flags. It also adds wext and cfg80211 handlers for txpower auto and off so that software rfkill could be issued by user space. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 3549716484a95fd16f7fcf8b68699bd4c803b382 Author: Samuel Ortiz Date: Mon Jun 15 21:59:54 2009 +0200 iwmc3200wifi: cache keys when interface is down When the interface is down and one sets a WEP key from userspace, we should be able to simply cache it. Since that implies setting part of the profile's security settings, we now alloc/free the umac_profile at probe/remove time, and no longer at interface bring up/down time. Simply resetting it during the latter is enough. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 191506ecbce03f09f6afa76f1af069574bf99bec Author: Zhu Yi Date: Mon Jun 15 21:59:53 2009 +0200 iwmc3200wifi: change coexist periodic calibration flag The patch changes coexist periodic calibration priority flag. It also set wireless mode to UMAC and set PM control flag to 0x1. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 13e0fe70960e95cdea89b71aa3d046ec71efac8c Author: Samuel Ortiz Date: Mon Jun 15 21:59:52 2009 +0200 iwmc3200wifi: cfg80211 key hooks implemetation This patch implements the new cfg80211 privacy related hooks: add/get/set_key and the set_default_key one. With this implementation we can now call the wext-compat *encode* routines and reduce our own wext code. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit a70742f167424bab794ca74b9e99b598b358bb7d Author: Samuel Ortiz Date: Mon Jun 15 21:59:51 2009 +0200 iwmc3200wifi: handling wifi_if_ntfy responses When we're calling iwm_send_wifi_if_cmd() with the resp flag set, we're currently waiting on the mlme queue, waiting for some flags here and there to show up. This patch adds a wifi_ntfy bitmap, and when we're sending a wifi_if command expecting an answers, we wait synchronously for it to show up, on a dedicated queue. The wifi_ntfy bit is set when we receive the corresponding answer. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 0c5553b1392dea5ba5ad678790367c1275ed1172 Author: Samuel Ortiz Date: Mon Jun 15 21:59:50 2009 +0200 iwmc3200wifi: invalidate keys when changing the BSSID While associated, we have to invalidate our key cache if we clear our BSSID through siwap. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 030b865520c3e26f4a316852aa022a22c4948907 Author: Wey-Yi Guy Date: Fri Jun 12 13:22:55 2009 -0700 iwlwifi: remove disable_tx_power for device > 4965 After 4965, tx_power_calibration moved from driver to uCode. remove "disable_tx_power" from debugfs to minimize the confusion. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fe6efb4b423c923fb491a9ca4fa419e843548740 Author: Wey-Yi Guy Date: Fri Jun 12 13:22:54 2009 -0700 iwlwifi: no need to refer to max_nrg_cck range value max_nrg_cck value inside the sensitivity range structure is not needed for sensitivity calibration. Keep the parameter in sensitivity structure but set the value to "0" in case needed in the future implementation. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9d67187dbd93df98011f7229f76de25d142b57cc Author: Wey-Yi Guy Date: Fri Jun 12 13:22:53 2009 -0700 iwlwifi: modify sensitivity value for 5150 In 5150 there is a long delay between the AGC(Automatic Gain Control) command till the RF is stabilized causing us to miss detections when there was adjacent channel noise, so we need to adjusted the Sensitivity calibration for 5150 differently. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 47af3fe36dc478f7eddc8bec104ff1876d71f37c Author: Luciano Coelho Date: Fri Jun 12 14:17:53 2009 +0300 wl1251: change psm enabled/disabled info to debug With shorter CAM timeouts, the logs get flooded with "psm enabled" and "psm disabled traces. This patch changes it from wl1251_info to wl1251_debug, so they are only shown if DEBUF_PSM is enabled. Signed-off-by: Luciano Coelho Reviewed-by: Janne Ylalehto Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 05fac682c2ca0c572d1bd8e6a38025838ddf0e68 Author: Kalle Valo Date: Fri Jun 12 14:17:47 2009 +0300 wl1251: fix a checkpatch warning drivers/net/wireless/wl12xx/wl1251_main.c:158: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 80301cdcfe44e3533175be23d7d52a9fc8c3fdb0 Author: Kalle Valo Date: Fri Jun 12 14:17:39 2009 +0300 wl1251: use wl1251 prefix everywhere Last we can change all code prefixes from wl12xx/WL12XX to wl1251/WL1251. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit 1e6f172fccbf1194bad4b2aeae437ec3189a3f08 Author: Kalle Valo Date: Fri Jun 12 14:17:33 2009 +0300 wl12xx: remove unused wl12xx_hw_init_mem_config() The function declaration is a leftover from some earlier, already removed, code. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit 1367411858d5fc60b632a3f488f2b4adc73d12d7 Author: Kalle Valo Date: Fri Jun 12 14:17:25 2009 +0300 wl1251: rename wl12xx.h to wl1251.h wl12xx.h is now only used by 1251 code, so we can rename it. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit ef2f8d45771490de5b8373c25e983ee1e3aee9ea Author: Kalle Valo Date: Fri Jun 12 14:17:19 2009 +0300 wl1251: add wl1251 prefix to all 1251 files Now that all 1271 files are split, we can add wl1251_ prefix to the files. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit c731837855a9dcc2ec0c5367b0e16ad975aaed16 Author: Kalle Valo Date: Fri Jun 12 14:17:12 2009 +0300 wl1251: remove wl1271_setup() We don't want to have any 1271 code in wl1251. Signed-off-by: Kalle Valo Reviewed-by: Luciano Coelho Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit c5ce901b3fdb2312f896f138ac864a7ef363c02d Author: Kalle Valo Date: Fri Jun 12 14:17:06 2009 +0300 wl12xx: rename driver to wl1251 Rename driver to wl1251.ko in preparation for wl1271 driver. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit e6f0b5c2993609c576a0c45e86f7e5b6dd0ae421 Author: Kalle Valo Date: Fri Jun 12 14:16:58 2009 +0300 wl12xx: rename wl1251.c wl1251_ops.c In preparation to split wl12xx to wl1251 and wl1271. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit 77cc9e43cee58303893f3a4fb8eaa2a3288c9c17 Author: Juuso Oikarinen Date: Fri Jun 12 14:16:52 2009 +0300 wl12xx: Use chipset specific join commands Add implementation to use chipset specific join commands. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit ce650b5cde686a282aed860bb5cd7368e00eac07 Author: Vidhya Govindan Date: Fri Jun 12 14:16:45 2009 +0300 wl12xx: Assign value to rx msdu lifetime variable The patch "wl12xx: cmd and acx interface rework" failed to assign MSDU lifetime value in wl12xx_acx_rx_msdu_life_time() and breaks the functionality. This patch fixes the regression by assigning the correct value. Signed-off-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0182f8d56c1836629f8331a19bd71e3833b81769 Author: Kalle Valo Date: Fri Jun 12 14:16:39 2009 +0300 wl12xx: enable ELP mode ELP mode is working now, let's enable it so that the firmware can sleep and reduce power consumption. Signed-off-by: Kalle Valo Reviewed-by: Luciano Coelho Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c5483b71936333ba9474f57d0f3a7a7abf9b87a0 Author: Kalle Valo Date: Fri Jun 12 14:16:32 2009 +0300 wl12xx: check if elp wakeup failed Check the return call from wl12xx_ps_elp_wakeup() and bail out if it fails. This shouldn't happen, but if does there's a fundamental low level issue. Signed-off-by: Kalle Valo Reviewed-by: Luciano Coelho Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 01d9cfbdaadc64a46b57437c989bbad241074135 Author: Kalle Valo Date: Fri Jun 12 14:16:26 2009 +0300 wl12xx: optimise elp wakeup and sleep calls The wakeup call was done too deep in code path, it's better to wakeup chip from higher levels. This will also reduce wakeup calls significantly. Signed-off-by: Kalle Valo Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit cee4fd2712a3db21f432bdff14e59aed160453b2 Author: Kalle Valo Date: Fri Jun 12 14:16:20 2009 +0300 wl12xx: protect wl12xx_op_set_rts_threshold() The function doesn't lock the mutex before sending the acx. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 6021b2895891b161f73ede9938c101234c63218e Author: Ari Kauppi Date: Fri Jun 12 14:16:13 2009 +0300 wl12xx: Fix CMD_TEST regression via netlink. CMD_TEST via netlink API has been broken since e29c3f59cfbc38c3b481a2694b08962da19c4664: cmd and acx interface rework. The user of the interface sends the request in a buffer without the wl12xx_command header but expects the response to have the wl12xx_command header (with id and status). This patch reverts the e29c3f5 commit for cmd.c:wl12xx_cmd_test and implements the needed wrapper functionality in netlink.c. Now the API of wl12xx_cmd_test and rest of wl12xx_cmd_* commands in cmd.c are similar. Signed-off-by: Ari Kauppi Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit c518a73e537a2c7b83e490335ddedb6465fa5f73 Author: Ari Kauppi Date: Fri Jun 12 14:16:07 2009 +0300 wl12xx: Fix incorrect warning message. A warning message in wl12xx_acx_event_mbox_mask has a copy/paste error. Fix it to print the correct acx command. Signed-off-by: Ari Kauppi Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 8ec8beb28361864c82153fec5ddb82c9d636430f Author: Juuso Oikarinen Date: Fri Jun 12 14:16:00 2009 +0300 wl12xx: Add support for block reading from a fixed register address Add support for block reading (multiple bytes) from a fixed chipset register address. This is required for the wl1271 TX data path. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 9f2ad4fb52916e58a1b75e9a30f42638655932d3 Author: Juuso Oikarinen Date: Fri Jun 12 14:15:54 2009 +0300 wl12xx: Moved wl1251 TX path implementation into chip specific files Moved wl1251 TX path implementation into chip specific files to enable parallel implementation for the wl1271 TX path. Signed-off-by: Juuso Oikarinen Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 9f483dc3d1b0b1695c8177c1dea2e721954b10fb Author: Luciano Coelho Date: Fri Jun 12 14:15:46 2009 +0300 wl12xx: pass the wake up condition when configuring the wake up event Changed the function wl12xx_acx_wake_up_conditions() so that it receives an argument with the actual wake up condition, instead of having WAKE_UP_EVENT_DTIM_BITMAP hardcoded. This is needed because we have to use different conditions in 1271. Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 052a625a859ceba68022862eeee70511f56483a5 Author: Luciano Coelho Date: Fri Jun 12 14:15:41 2009 +0300 wl12xx: add support for fixed address in wl12xx_spi_read In the wl1271 implementation, we need to read memory from the register partition using fixed addresses. This change adds the possibility to request fixed address when calling wl12xx_spi_read() or wl12xx_spi_reg_read(). Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 27797d68f70b28e77e6d183910dc7b3d7505105d Author: Luciano Coelho Date: Fri Jun 12 14:15:33 2009 +0300 wl12xx: add support for new WL1271 chip revision This patch adds the code that recognizes the new WL1271 chip revision (PG 2.0). Full support for this chip is not yet implemented and support for WL1271 PG 1.0 is not guaranteed anymore. Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0d1c38398fa8cd478a229b4428fb511f813376e8 Author: Luciano Coelho Date: Fri Jun 12 14:15:27 2009 +0300 wl12xx: moved firmware version reading routine to chip-specific functions With WL1271, the firmware version can only be read right after booting the chip. To keep WL1251 aligned with this procedure, the code that reads the firmware version initially has been moved to a common place where it can be read from both chipsets. Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit a336e266640cd9f7be96b14ff09bbb37dfa646de Author: Luciano Coelho Date: Fri Jun 12 14:15:22 2009 +0300 wl12xx: add wl12xx_spi_reg_read() and wl12xx_spi_reg_write() functions In some cases we need to read more than 32 bits from the register area. These functions were added to support that, like the existing wl12xx_spi_mem_read() and wl12xx_spi_mem_write() already do for large blocks in the memory area. Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0628817accc305201fc0e1b7f020dec618c868cc Author: Juuso Oikarinen Date: Fri Jun 12 14:15:13 2009 +0300 wl12xx: removed chipset interrupt source configuration from fw wakeup The chipset source interrupt source configuration during fw wakeup was blocking interrupts on the wl1271. The configuration is effectively unused here as it is used to trigger an interrupt for the chipset wake-up event, which is not handled, or waited for, in the fw wakeup anyway on either wl1251 or wl1271. Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 4721213fdde4456a36a5e63f02e5c2556a4df398 Author: Kalle Valo Date: Fri Jun 12 14:15:08 2009 +0300 wl12xx: fix rx descriptor use Rx descriptor was incorrectly allocated from stack, use struct wl12xx instead. Needed for DMA transfers. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 53d65423ba1bc3c38d53b27656395c632b073590 Author: Kalle Valo Date: Fri Jun 12 14:15:00 2009 +0300 wl12xx: use wl12xx_mem_read32() to read the rx counter As a side effect the transfer is now DMA safe. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 5262c12d16334a37354c93d606bdb96499f7e5fc Author: Kalle Valo Date: Fri Jun 12 14:14:55 2009 +0300 wl12xx: allocate buffer the spi busy word from struct wl12xx Needed for DMA transfers. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 56343a3cfdea4d341c7c13d26013024037eae602 Author: Kalle Valo Date: Fri Jun 12 14:14:47 2009 +0300 wl12xx: allocate buffer spi read/write command buffer kzalloc() Needed for DMA safe transfers. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 8d47cdb617e0e76e05ea0f92fc164e53bf874b30 Author: Kalle Valo Date: Fri Jun 12 14:14:41 2009 +0300 wl12xx: reserve buffer for partition command in struct wl12xx This is now DMA safe. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit c4f5c8521868789caaf704c9c2d523b40ccfcb02 Author: Kalle Valo Date: Fri Jun 12 14:14:34 2009 +0300 wl12xx: fix error handling in wl12xx_probe() Resources were not freed properly in some cases. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 1d3b8130611bbe50168ad0a12841735c9c235410 Author: Kalle Valo Date: Fri Jun 12 14:14:28 2009 +0300 wl12xx: reserver buffer for read32()/write32() in struct wl12xx The buffer is needed for DMA safe transfers. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit ff25839bf0c99e828c26864a24417a36a6b6a31e Author: Kalle Valo Date: Fri Jun 12 14:14:19 2009 +0300 wl12xx: cmd and acx interface rework Rework cmd and acx interfaces, it was just too confusing earlier. Now all commands need to contain all the needed headers, either just cmd headers or both cmd and acx headers. This accomplish to remove the extra copy done for each command. The interfaces are now properly documented as well. Also try to make all commands safe for DMA transfers. I might have missed some, but most of them should be fixed now. And this is not all! As a free bonus you will also get some cosmetic cleanups and code reorganisation. Order today! Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit c4f9f16b309b65f9f578ec4ba78b3efa106cf65d Author: Vasanthakumar Thiagarajan Date: Fri Jun 12 10:55:55 2009 +0530 ath9k: Make sure we configure a non-zero beacon interval This patch moves the sanity check on beacon interval which was done only for mesh mode to all operating modes just to be safe. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit e0d6133cba88759bc760b254c27975330fff6519 Author: Andrey Yurovsky Date: Tue Jun 16 13:20:01 2009 -0700 libertas: remove ps_supported flag, use fwcapinfo Power save support depends on the firmware capabilities rather than the card's hardware interface. Use the FW_CAPINFO_PS bit in the firmware capabilities mask throughout the driver in place of the redundant ps_supported flag and don't make decisions about PS support in the interface drivers (with the exception of a special case in the USB driver). V2: put the USB special case in the right place. Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit f0f3d388baabdbc613548d6ad8e5da7616b1cbd1 Author: Bob Copeland Date: Wed Jun 10 22:22:21 2009 -0400 ath5k: enable hardware LEDs Cardbus and some PCI cards use hardware LEDs rather than software GPIOs. Program them with the proper blink patterns when idle, scanning or associated. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13288. Tested-by: Frans Pop Tested-by: Mark Hindley Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 46026e8f487c075f9ec4d671348e351eb5e46d3e Author: Bob Copeland Date: Wed Jun 10 22:22:20 2009 -0400 ath5k: cleanup ath5k_hw struct ah_gpios array isn't used, and ah_current_channel can be a pointer instead of an embedded struct. Removing these and some other write-only variables, and moving some things around for better packing and cache utilization saves 116 bytes. text data bss dec hex filename 121762 472 64 122298 1ddba ath5k_before.ko 121646 472 64 122182 1dd46 ath5k.ko Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 8a46097a6c60dc9d2f09bf01734f3308142614b3 Author: Vasanthakumar Thiagarajan Date: Wed Jun 10 17:50:09 2009 +0530 ath9k: downgrade ASSERT() in ath_clone_txbuf() We can easily run out of tx buf if there is any stuck in transmission, so downgrade it to WARN_ON(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c3d8f02ed9699252d69a9a14276980d9df7c5fe1 Author: Vasanthakumar Thiagarajan Date: Wed Jun 10 17:50:08 2009 +0530 ath9k: Remove unnecessary count for addba attempt mac80211 already has one to keep track of number of failure addba attempts. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 089e698d235162324142063c96780aeacd546d36 Author: Vasanthakumar Thiagarajan Date: Wed Jun 10 17:50:07 2009 +0530 ath9k: Nuke unneccesary helper function to see if aggr is active IEEE80211_TX_CTL_AMPDU in tx control flags should be enough to confirm BA is negotiated for that tid. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit e36d56b64808aec54b68b4e9976180c1da0933b2 Author: Johannes Berg Date: Tue Jun 9 21:04:43 2009 +0200 cfg80211: pass netdev to change_virtual_intf If there was a reason I'm passing the ifidx I cannot remember it any more and don't see one now, so let's just pass the pointer itself. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1aaad49e856ce41adc07d8ae0c8ef35fc4483245 Author: Frans Pop Date: Mon Jul 6 13:31:48 2009 +0200 printk: Restore previous console_loglevel when re-enabling logging When logging to console is disabled from userspace using klogctl() and later re-enabled, console_loglevel gets set to the default log level instead to the previous value. This means that if the kernel was booted with 'quiet', the boot is suddenly no longer quiet after logging to console gets re-enabled. Save the current console_loglevel when logging is disabled and restore to that value. If the log level is set to a specific value while disabled, this is interpreted as an implicit re-enabling of the logging. The problem that prompted this patch is described in: http://lkml.org/lkml/2009/6/28/234 There are two variations possible on the patch below: 1) If klogctl(7) is called while logging is not disabled, then set level to default (partially preserving current functionality): case 7: /* Enable logging to console */ - console_loglevel = default_console_loglevel; + if (saved_console_loglevel == -1) + console_loglevel = default_console_loglevel; + else { + console_loglevel = saved_console_loglevel; + saved_console_loglevel = -1; + } 2) If klogctl(8) is called while logging is disabled, then don't enable logging, but remember the requested value for when logging does get enabled again: case 8: /* Set level of messages printed to console */ [...] - console_loglevel = len; + if (saved_console_loglevel == -1) + console_loglevel = len; + else + saved_console_loglevel = len; Yet another option would be to ignore the request. Signed-off-by: Frans Pop Cc: cryptsetup@packages.debian.org Cc: Andrew Morton Cc: Linus Torvalds LKML-Reference: <200907061331.49930.elendil@planet.nl> Signed-off-by: Ingo Molnar commit a1b4f1a5b7f57be2593a9f1fca465a529c95fc07 Author: Cyrill Gorcunov Date: Sun Jul 5 20:01:54 2009 +0400 x86, ipi: Clean up safe_smp_processor_id() by using the cpu_has_apic() macro helper We already use a lot of cpu_has_ helpers. Lets do here the same for consistency. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090705160154.GB4791@lenovo> Signed-off-by: Ingo Molnar commit 9ff80942992cd5abd0779c815f310f65b7b83860 Author: Cyrill Gorcunov Date: Wed Jul 8 22:03:53 2009 +0400 x86: Clean up idt_descr and idt_tableby using NR_VECTORS instead of hardcoded number Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090708180353.GH5301@lenovo> Signed-off-by: Ingo Molnar commit e202687927c132b1e1ff36b526b5e78ac33de840 Merge: a357800 8b2c70d Author: Ingo Molnar Date: Fri Jul 10 13:30:06 2009 +0200 Merge branch 'tip/tracing/ring-buffer-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/core commit 3c6aae4489e7c05f3685e9eaa538249be7c79ebe Author: Takashi Iwai Date: Fri Jul 10 12:52:27 2009 +0200 ALSA: hda - Check codec errors in snd_hda_get_connections() The codec read errors in snd_hda_get_connections() are ignored so far, and it causes a problem like the bug in the commit 9d30937accf2c01e8b0bd59787409a7348cbbcb7 ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking Better to check errors in the function and returns a proper error code rather than passing bogus NID values. Signed-off-by: Takashi Iwai commit 31909b83ea5b4035ce129bb0df622ec2d2fb3e96 Author: Takashi Iwai Date: Fri Jul 10 12:33:48 2009 +0200 ALSA: hda - Fix the merge error Fix the merge error at the commit 305355aad89f1b7eb27cb210fad2f9d3c67b2572, an addition of the missing alc880_gpio3_init_verbs to ALC882_TARGA model. Signed-off-by: Takashi Iwai commit 8259cf4342029aad37660e524178c8858f48b0ab Author: Robin Getz Date: Thu Jul 9 13:08:37 2009 -0400 printk: Ensure that "console enabled" messages are printed on the console Today, when a console is registered without CON_PRINTBUFFER, end users never see the announcement of it being added, and never know if they missed something, if the console is really at the start or not, and just leads to general confusion. This re-orders existing code, to make sure the console is added, before the "console [%s%d] enabled" is printed out - ensuring that this message is _always_ seen. This has the desired/intended side effect of making sure that "console enabled:" messages are printed on the bootconsole, and the real console. This does cause the same line is printed twice if the bootconsole and real console are the same device, but if they are on different devices, the message is printed to both consoles. Signed-off-by : Robin Getz Cc: "Andrew Morton" Cc: "Linus Torvalds" LKML-Reference: <200907091308.37370.rgetz@blackfin.uclinux.org> Signed-off-by: Ingo Molnar commit a35780005eb256eb5ec83ffcc802967295887a45 Author: Lai Jiangshan Date: Mon Jul 6 16:10:23 2009 +0800 tracing/workqueues: Add refcnt to struct cpu_workqueue_stats The stat entries can be freed when the stat file is being read. The worse is, the ptr can be freed immediately after it's returned from workqueue_stat_start/next(). Add a refcnt to struct cpu_workqueue_stats to avoid use-after-free. Signed-off-by: Lai Jiangshan Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <4A51B16F.6010608@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit d8ea37d5de58d35a39d0b4e7d209751aaa1b8174 Author: Lai Jiangshan Date: Mon Jul 6 16:10:18 2009 +0800 tracing/stat: Add stat_release() callback Add stat_release() callback to struct tracer_stat, so a stat tracer can release it's entries after the stat file has been read out. Signed-off-by: Lai Jiangshan Signed-off-by: Li Zefan Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A51B16A.6020708@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 80098c200e2ee3b4c86a9d1e156dbcd05380e08f Author: Li Zefan Date: Mon Jul 6 16:15:04 2009 +0800 kmemtrace: Rename some functions So we have: - kmemtrace_print_alloc/free() for kmemtrace default output - kmemtrace_print_alloc/free_user() for binary output used by kmemtrace-user. Suggested-by: Eduard - Gabriel Munteanu Signed-off-by: Li Zefan Acked-by: Pekka Enberg Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A51B288.70505@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 6a167c655858cbec4175532fd00417661c87f149 Author: Frederic Weisbecker Date: Thu Jul 9 04:46:30 2009 +0200 tracing/kmemtrace: Use the %pf format Remove the obsolete seq_print_ip_sym() usage and replace it by the %pf format in order to print function symbols. Signed-off-by: Frederic Weisbecker Reviewed-by: Li Zefan Cc: Steven Rostedt Cc: Lai Jiangshan Cc: Pekka Enberg Cc: Eduard - Gabriel Munteanu LKML-Reference: <1247107590-6428-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 68baafcfc46074c4bb4e4c3115c2c76a8a85f37d Author: Frederic Weisbecker Date: Thu Jul 9 04:46:29 2009 +0200 tracing/function-graph-tracer: Use the %pf format Remove the obsolete seq_print_ip_sym() usage and replace it by the %pf format in order to print function symbols. Signed-off-by: Frederic Weisbecker Reviewed-by: Li Zefan Cc: Steven Rostedt Cc: Lai Jiangshan LKML-Reference: <1247107590-6428-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit dc82ec98a4727fd51b77e92d05fe7d2db3dcc11c Author: Xiao Guangrong Date: Thu Jul 9 16:22:22 2009 +0800 tracing/filter: Remove empty subsystem and its directory Remove empty subsystem and its directory when module unload. Before patch: # rmmod trace-events-sample.ko # ls sample enable filter After patch: # rmmod trace-events-sample.ko # ls sample ls: cannot access sample: No such file or directory Signed-off-by: Xiao Guangrong Acked-by: Tom Zanussi Reviewed-by: Li Zefan Cc: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <4A55A8BE.9010707@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c5cb183608167c744cb28bbd85884be5a4ce875d Author: Xiao Guangrong Date: Thu Jul 9 16:20:12 2009 +0800 tracing/filter: Remove preds from struct event_subsystem No need to save preds to event_subsystem, because it's not used. Signed-off-by: Xiao Guangrong Acked-by: Tom Zanussi Reviewed-by: Li Zefan Cc: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <4A55A83C.1030005@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit fa5ec8a1f66f3c2a3af723abcf8085509c9ee682 Author: David Rientjes Date: Tue Jul 7 00:14:14 2009 -0700 slub: add option to disable higher order debugging slabs When debugging is enabled, slub requires that additional metadata be stored in slabs for certain options: SLAB_RED_ZONE, SLAB_POISON, and SLAB_STORE_USER. Consequently, it may require that the minimum possible slab order needed to allocate a single object be greater when using these options. The most notable example is for objects that are PAGE_SIZE bytes in size. Higher minimum slab orders may cause page allocation failures when oom or under heavy fragmentation. This patch adds a new slub_debug option, which disables debugging by default for caches that would have resulted in higher minimum orders: slub_debug=O When this option is used on systems with 4K pages, kmalloc-4096, for example, will not have debugging enabled by default even if CONFIG_SLUB_DEBUG_ON is defined because it would have resulted in a order-1 minimum slab order. Reported-by: Larry Finger Tested-by: Larry Finger Cc: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Pekka Enberg commit e5a8a896f5180f2950695d2d0b79db348d200ca4 Merge: bff3877 e594e96 Author: David S. Miller Date: Thu Jul 9 20:18:24 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 3ccdccfadbd2548abe38682b587f4ba27eac2fc9 Author: Andi Kleen Date: Thu Jul 9 00:31:45 2009 +0200 x86: mce: Lower maximum number of banks to architecture limit The Intel x86 architecture right now only supports 32 machine check banks, more would bump into other MSRs. So lower the max define to 32. This only affects a few bitmaps, most data structures are dynamically sized anyways. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit a2d32bcbc008aa0f9c301a7c6f3494cb23e6af54 Author: Andi Kleen Date: Thu Jul 9 00:31:44 2009 +0200 x86: mce: macros to compute banks MSRs Instead of open coded calculations for bank MSRs hide the indexing of higher banks MCE register MSRs in new macros. No semantic changes. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit cebe182033f156b430952370fb0f9dbe6e89b081 Author: Andi Kleen Date: Thu Jul 9 00:31:43 2009 +0200 x86: mce: Move per bank data in a single datastructure This addresses one of the leftover review comments. Move the per bank data into a single structure. This avoids several separate variables and also separate allocation of sysfs objects. I didn't move the CMCI ownership information so far because that would have needed some non trivial changes in the algorithms. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 9eda8cb3ac235217e4ffa01cb9cedee1c1550599 Author: Andi Kleen Date: Thu Jul 9 00:31:42 2009 +0200 x86: mce: Move code in mce.c Now that the X86_OLD_MCE ifdefs are gone move some code that used to be outside the big ifdef to a more natural place near its user. No code change. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit c1ebf835617035b1f08f734247dcb981e17aac6b Author: Andi Kleen Date: Thu Jul 9 00:31:41 2009 +0200 x86: mce: Rename CONFIG_X86_NEW_MCE to CONFIG_X86_MCE Drop the CONFIG_X86_NEW_MCE symbol and change all references to it to check for CONFIG_X86_MCE directly. No code changes Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 5bb38adcb54cf7192b154368ad62982caa11ca0b Author: Andi Kleen Date: Thu Jul 9 00:31:39 2009 +0200 x86: mce: Remove old i386 machine check code As announced in feature-remove-schedule.txt remove CONFIG_X86_OLD_MCE This patch only removes code. The ancient machine check code for very old systems that are not supported by CONFIG_X86_NEW_MCE is still kept. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit bab9bc6583fe6c1660d6ed36dd14bbb4edfaf393 Author: Andi Kleen Date: Thu Jul 9 00:31:38 2009 +0200 x86: mce: Update X86_MCE description in x86/Kconfig - Clarify that this config controls thermal throttling reporting too - Clarify the types of errors reported by machine checks - Drop references to ancient CPUs. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit c31d96338a6041520ba5f1b6a4a5012ef00686b3 Author: Andi Kleen Date: Thu Jul 9 00:31:37 2009 +0200 x86: mce: Make CONFIG_X86_ANCIENT_MCE dependent on CONFIG_X86_MCE Add a missing depency for ANCIENT_MCE. It didn't matter in practice because the ANCIENT code wasn't compiled without X86_MCE, but it's better to express that clearly in Kconfig. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 65c3f0a2d0f72d210c879e4974c2d222b7951321 Author: Thomas Liu Date: Thu Jul 9 10:00:31 2009 -0400 security: Wrap SMACK and SELINUX audit data structs in ifdefs Wrapped the smack_audit_data and selinux_audit_data structs in include/linux/lsm_audit.h in ifdefs so that the union will always be the correct size. Signed-off-by: Thomas Liu Acked-by: Eric Paris Signed-off-by: James Morris commit d4131ded4d4c1a5c1363ddd93ca104ed97dd0458 Author: Thomas Liu Date: Thu Jul 9 10:00:30 2009 -0400 security: Make lsm_priv union in lsm_audit.h anonymous Made the lsm_priv union in include/linux/lsm_audit.h anonymous. Signed-off-by: Thomas Liu Acked-by: Eric Paris Signed-off-by: James Morris commit ed5215a21460f63d6bdc118cb55a9e6d1b433f35 Author: Thomas Liu Date: Thu Jul 9 10:00:29 2009 -0400 Move variable function in lsm_audit.h into SMACK private space Moved variable function in include/linux/lsm_audit.h into the smack_audit_data struct since it is never used outside of it. Also removed setting of function in the COMMON_AUDIT_DATA_INIT macro because that variable is now private to SMACK. Signed-off-by: Thomas Liu Acked-by: Eric Paris I-dont-see-any-problems-with-it: Casey Schaufler Signed-off-by: James Morris commit 13892cf95d2edf0d3c4285cc2d0113efa73be723 Author: Russell King Date: Thu Jul 9 20:56:14 2009 +0100 [ARM] Update mach-types Signed-off-by: Russell King commit 305355aad89f1b7eb27cb210fad2f9d3c67b2572 Merge: b1e4422 005b107 Author: Takashi Iwai Date: Thu Jul 9 18:48:38 2009 +0200 Merge branch 'fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_realtek.c Signed-off-by: Takashi Iwai commit d7dbf6ea40a2859adaca2dfdbbea83f3d6c73c2f Author: Mark Brown Date: Wed Jul 8 21:12:20 2009 +0100 [ARM] 5596/1: at91sam9g20-ek: Register WM8731 in board file The WM8731 driver has been updated to allow registration via normal device model methods rather than from within the ASoC driver probe so update the AT91SAM9G20-EK to make use of this. Signed-off-by: Mark Brown Acked-by: Andrew Victor Signed-off-by: Russell King commit 19c0a7286f3f0093bbbbcdce0af4c3205421b608 Author: wanzongshun Date: Sat Jul 4 12:26:33 2009 +0100 [ARM] 5591/1: Add group irq enable/disable for w90p910 platform. Add group irq enable/disable for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit c3e3baddbc0b6636b01cb2aa3e44505ad61be17b Author: Hartley Sweeten Date: Mon Jul 6 17:40:53 2009 +0100 [ARM] 5593/1: ep93xx: clock.c __iomem pointer To ensure typesafe io, the enable_reg variable should be a void __iomem pointer not u32. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 583ddafe1787528d08b0026bb3273490a499b730 Author: Hartley Sweeten Date: Mon Jul 6 17:39:50 2009 +0100 [ARM] 5592/1: ep93xx: cleanup platform header includes arch/arm/mach-ep93xx/include/mach/hardware.h 1. Properly name the include files so that they are loaded from the directory and not the local directory. 2. Remove including the ts72xx.h header. This header is not generic to the ep93xx platform. It should only be included by the ts72xx specific files that require it. The only two users in the tree are arch/arm/mach-ep93xx/ts72xx.c and drivers/mtd/nand/ts7250.c. arch/arm/mach-ep93xx/include/mach/ts72xx.h 1. should already be included by any user of this header. Doing the include here hides it from being needed by the calling source file. arch/arm/mach-ep93xx/core.c 1. Remove unnecessary headers. They were probably included originally due to cut-and-paste from other files. 2. should be included not arch/arm/mach-ep93xx/adsphere.c arch/arm/mach-ep93xx/edb93xx.c arch/arm/mach-ep93xx/gesbc9312.c arch/arm/mach-ep93xx/micro9.c arch/arm/mach-ep93xx/ts72xx.c 1. Remove unnecessary headers. arch/arm/mach-ep93xx/ts72xx.c 1. Remove unnecessary headers. 2. Add platform specific header . drivers/mtd/nand/ts7250.c 1. should be included not . 2. Add platform specific header . Cc: Ryan Mallon Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 701fac823e24676ea42451c6597f96d81d9b6aba Author: Hartley Sweeten Date: Tue Jun 30 23:06:43 2009 +0100 [ARM] 5578/1: ep93xx: add ep93xx-keypad clock Add clkdev support for the ep93xx_keypad driver. A matrix keypad driver for the ep93xx just got merged via the input subsystem group. For this driver to work the keypad clock needs to be added to the ep93xx clkdev support. In order to accomplish this the following changes are implemented: 1) Move the EP93XX_EXT_*_RATE defines to mach/include/hardware.h. 2) Add EP93XX_KEYTCHCLK_DIV{4/16} for the keypad driver. 3) Add support for programmable clocks (set_rate() callback). 4) Add clk_keypad for the keypad driver. 5) tab indent the clk_lookup table for easier reading. 6) Add the set_rate() callback to program the keypad clock. This callback is generalized since the ADC clock (touchscreen) can use the same callback. 7) Use the ep93xx_syscon_swlocked_write() core function for updating the software locked register. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 02239f0a4264608686cc0015d906c7b2dead89df Author: Hartley Sweeten Date: Wed Jul 8 02:00:49 2009 +0100 [ARM] 5577/2: ep93xx: syscon locked register functions Add core functions to handle writes to the ep93xx software locked registers. There are a number of registers in the EP93xx System Controller that require a write to the software lock register before they can be updated. This patch adds a number of exported functions to the ep93xx core that handle this access. The software locked clock divider registers, VidClkDiv, MIRClkDiv, I2SClkDiv and KeyTchClkDiv would typically involve writing a specific value to the register. To support this the ep93xx_syscon_swlocked_write() function is provided. For the DeviceCfg register it's more typical to only need to set or clear a single bit. A generic ep93xx_devcfg_set_clear() function is provided to handle both operations. Two inline functions, ep93xx_devcfg_set_bits() and ep93xx_devcfg_clear_bits() are also provided to improve code readability. In addition, the remaining bits in the System Controller Device Config Register have been documented and the previously defined names shortened. All code paths that use this functionality have been updated except for arch/arm/kernel/crunch.c. That code is in a context switch path, which is not reentrant, so it is safe against itself. Cc: Lennert Buytenhek Cc: Matthias Kaehlcke Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 89001446925d6da8785c3265a71316e34c6d15de Author: Russell King Date: Thu Jul 9 15:16:07 2009 +0100 MMC: MMCI: use gpiolib for card detect/write protect Use gpiolib where available (and when valid GPIOs are provided) for write protect/card detect status reporting. We fall back to the old 'status' method where gpiolib support is not available. Signed-off-by: Russell King commit 7fb2bbf4d9e7e62057184f1e061566459eef6c79 Author: Russell King Date: Thu Jul 9 15:15:12 2009 +0100 MMC: MMCI: allow GPIOs to be passed Add and initialize the gpio_wp and gpio_cd members. We need to ensure that all users are covered, because GPIO 0 may be valid. Signed-off-by: Russell King Acked-by: Linus Walleij commit 012b7d339ce8c42d41e35b35c4acc3dd29501d52 Author: Russell King Date: Thu Jul 9 15:13:56 2009 +0100 MMC: MMCI: use AMBA bus accessors Rather than open coding the accessors for decoding peripheral IDs, use the macros already provided. Signed-off-by: Russell King Acked-by: Linus Walleij commit cc369cf504c51d36765e18b0c28a09a92d28ed79 Author: Mark Brown Date: Thu Jul 9 11:28:07 2009 +0100 ASoC: WM8510 has a single frame clock so needs symmetric rates Signed-off-by: Mark Brown commit 63b2413b2ff446e30286c2bd775fd10b12d188c6 Author: Takashi Iwai Date: Thu Jul 9 11:45:59 2009 +0200 ALSA: hda - don't build digital output controls if not exist Signed-off-by: Takashi Iwai commit 7ede5a5ba55a696a6e1d8456526e44635e966a81 Author: Herbert Xu Date: Thu Jul 9 11:34:06 2009 +0800 crypto: api - Fix crypto_drop_spawn crash on blank spawns This patch allows crypto_drop_spawn to be called on spawns that have not been initialised or have failed initialisation. This fixes potential crashes during initialisation without adding special case code. Signed-off-by: Herbert Xu commit ef5d590c9b9a00b017683006fe4cf959b9532336 Author: Herbert Xu Date: Thu Jul 9 11:32:55 2009 +0800 crypto: shash - Add shash_instance_ctx This patch adds the helper shash_instance_ctx which is the shash analogue of crypto_instance_ctx. Signed-off-by: Herbert Xu commit 023bf6f1b8bf58dc4da7f0dc1cf4787b0d5297c1 Author: Tejun Heo Date: Thu Jul 9 11:27:40 2009 +0900 linker script: unify usage of discard definition Discarded sections in different archs share some commonality but have considerable differences. This led to linker script for each arch implementing its own /DISCARD/ definition, which makes maintaining tedious and adding new entries error-prone. This patch makes all linker scripts to move discard definitions to the end of the linker script and use the common DISCARDS macro. As ld uses the first matching section definition, archs can include default discarded sections by including them earlier in the linker script. ia64 is notable because it first throws away some ia64 specific subsections and then include the rest of the sections into the final image, so those sections must be discarded before the inclusion. defconfig compile tested for x86, x86-64, powerpc, powerpc64, ia64, alpha, sparc, sparc64 and s390. Michal Simek tested microblaze. Signed-off-by: Tejun Heo Acked-by: Paul Mundt Acked-by: Mike Frysinger Tested-by: Michal Simek Cc: linux-arch@vger.kernel.org Cc: Michal Simek Cc: microblaze-uclinux@itee.uq.edu.au Cc: Sam Ravnborg Cc: Tony Luck commit 1dcdd0911b5553f0282ce8525773955b59a56919 Author: Michal Simek Date: Thu Jul 9 11:27:40 2009 +0900 microblaze: include EXIT_TEXT to _stext Microblaze wants to throw out EXIT_TEXT during runtime too. This hasn't caused trouble till now because the linker script didn't discard EXIT_TEXT and it ended up in its default output section. As discard definition is about to be unified, include EXIT_TEXT into _stext explicitly and while at it replace explicit exitcall definition to EXIT_CALL. Signed-off-by: Michal Simek Signed-off-by: Tejun Heo commit bff38771e1065c7fc3de87e47ba366151eea573c Author: Anton Vorontsov Date: Wed Jul 8 11:10:56 2009 -0700 netpoll: Introduce netpoll_carrier_timeout kernel option Some PHYs require longer timeouts for carrier detection, and auto-negotiation process may take indefinite amount of time. It may be inconvenient to force longer timeouts for sane PHYs, so let's introduce a kernel command line option. Since we're using module_param(), the option also can be changed in runtime. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit cb507e7e79f3c0e45ecaefad9220c34fcfbe74e8 Author: Mark Brown Date: Wed Jul 8 18:54:57 2009 +0100 ASoC: Add pop delay debug at end of DAPM sequencing Provide an interval after the end of DAPM sequencing so that we can distinguish between a pop in the final step of the sequence and a pop generated from some other source outside DAPM. Signed-off-by: Mark Brown commit 34701fde8f4bf207ca96d10b8700a8667157854c Author: Divy Le Ray Date: Tue Jul 7 19:48:32 2009 +0000 cxgb3: Drain Mac Tx fifo when the port goes down. Drain the MAC TX fifos when a port goes down. Back pressure might otherwise occur, leading to both ports of the same adapter to hang. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 88045b3cf0f8981129cb489c7b6bc36c21dd33a7 Author: Divy Le Ray Date: Tue Jul 7 19:49:04 2009 +0000 cxgb3: fix mac index mapping Override the mac index computation for the gen2 adapter, as each port is expected to use index 0. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit dce7d1d031aeaa8c65bd37ff2480dc450a68185e Author: Divy Le Ray Date: Tue Jul 7 19:48:59 2009 +0000 cxgb3: Fix mss table initialization Fix the HW SMT table initialization to avoid random mss miscomputations for offload connections. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 2e8c07c35b3ffee7689406be61fd1448ee45d3cd Author: Divy Le Ray Date: Tue Jul 7 19:49:09 2009 +0000 cxgb3: use request_firmware() for the EDC registers setup use request_firmware() to load the phy's EDC programmation Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 5e659515569220701bfe3c8936dcab67554cc286 Author: Divy Le Ray Date: Tue Jul 7 19:48:43 2009 +0000 cxgb3: AEL2020 phy support update We don't always see the link status update interrupt when we come out of reset and the peer is up. Check and report the link status right before enabling interrupts. Also fix LED settings, to get a consistent link status. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit cfe2462c6af309ee70e4aeefa55cae976071b9e2 Author: Divy Le Ray Date: Tue Jul 7 19:48:38 2009 +0000 cxgb3: Fix T3C MAC max packet size access Max packet size is not the only field in T3C's High Water Mark register. Mask the register to access this field. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 619f05cf690149bef1f15cd0cec6a31b40d96951 Author: Divy Le Ray Date: Tue Jul 7 19:48:53 2009 +0000 cxgb3: fix phy power down 2 phys are were not getting the Global Tx disable bit set when powered down, leading to an inconsistent link state on peer. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 2c3d50f7db6c4aa85b099613aba8660da6de75d4 Author: Divy Le Ray Date: Tue Jul 7 19:48:48 2009 +0000 cxgb3: AQ100X phy support update Add missing SUPPORTED_TP flag. Update FW version checking. Do the full initialization even if the FW version is unknown, it might help catching further issues. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 96fd6d471b2c953df5379a356be04f8c8f8b4bdf Author: Mark Brown Date: Wed Jul 8 18:26:16 2009 +0100 ASoC: Configure WM8731 SYSCLK at startup on AT91SAM9G20-EK The system clock is currently fixed by the driver and this avoids the need for us to handle errors with enabling and disabling MCLK (which was incorrect previously so this fixes bugs in error handling). Signed-off-by: Mark Brown commit 22df8eb4fe293d67c98732e02a2dbef0d9c6cd96 Author: Mark Brown Date: Wed Jul 8 18:18:19 2009 +0100 ASoC: Disable microphone input for AT91SAM9G20-EK by default As shipped the board does not have inputs but it is relatively straightforward to modify the board to hook them up so support is provided in the driver. When these modifications have not been made enabling the microphone stage can cause problems. Add an ifdef to disable this by default. Don't put it into Kconfig since users will have to get their soldering irons out to change things. Signed-off-by: Mark Brown commit 2a01e5f3587be459c934d711bffddc14d66386f3 Author: Mark Brown Date: Wed Jul 8 18:05:51 2009 +0100 ASoC: Use CODEC as clock master on AT91SAM9G20-EK This simplifies the driver by removing the need to manually configure dividers within the CPU and improve audio performance by ensuring that the optimal phase relationships between the clocks in the system are maintained. Note that currently this means that for playback to work the Output Mixer HiFi switch must be enabled since otherwise CODEC will not generate the DAC clock. Signed-off-by: Mark Brown commit 4934482d93ca42d57180e08bf3ee6b77124f5f8e Author: Mark Brown Date: Wed Jul 8 17:48:12 2009 +0100 ASoC: Limit WM8731 to symmetric rates While the hardware is capable of some limited asynmmetric modes the driver does not currently support those modes so tell applications that only symmetric rates are available. Signed-off-by: Mark Brown commit 942c435ba79fd263a922bb114d56eccab6250662 Author: Mark Brown Date: Fri Jun 5 16:32:59 2009 +0100 ASoC: Add WM8993 CODEC driver The WM8993 is a highly integrated ultra-low power hi-fi CODEC designed for portable devices such as multimedia phones. Signed-off-by: Mark Brown commit ff7d04b130d76ab3a7b79120070346ccf3a72b3f Author: Mark Brown Date: Wed Jul 8 16:54:51 2009 +0100 ASoC: DaVinci I2S needs mach/asp.h Reported-by: Troy Kisky Signed-off-by: Mark Brown commit ef38ed888eee33af93a006db6e337d71320dfa2b Author: Mark Brown Date: Wed Jul 8 17:05:43 2009 +0100 ASoC: Correct WM8731 Mic Capture Switch control name Signed-off-by: Mark Brown commit d00efa648d3c78ba212f08facf0defdff385dc28 Author: Mark Brown Date: Wed Jul 8 16:53:12 2009 +0100 ASoC: Add TLV information for WM8731 Signed-off-by: Mark Brown commit deee2289b932d512035f579b8f8e178796564ba1 Author: Herbert Xu Date: Wed Jul 8 23:39:01 2009 +0800 crypto: shash - Propagate reinit return value This patch fixes crypto_shash_import to propagate the value returned by reinit. Signed-off-by: Herbert Xu commit f88ad8de282a9c4afd79fb0b4b536025f24a2005 Author: Herbert Xu Date: Wed Jul 8 23:32:08 2009 +0800 crypto: shash - Use finup in default digest This patch simplifies the default digest function by using finup. Signed-off-by: Herbert Xu commit 6e5414750af8a521c3ba7805d6ad460ba21df1a1 Author: Troy Kisky Date: Tue Jul 7 17:36:06 2009 -0700 ASoC: DaVinci: pcm, don't play 1st sound period twice Update the dma link with correct data as soon as the master channel has copied it. Otherwise, the 1st period will play twice. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 0390e6aecf571ddac934e6c0644bb4038167b698 Author: Herbert Xu Date: Wed Jul 8 22:36:36 2009 +0800 crypto: shash - Add __crypto_shash_cast This patch adds __crypto_shash_cast which turns a crypto_tfm into crypto_shash. It's analogous to the other __crypto_*_cast functions. It hasn't been needed until now since no existing shash algorithms have had an init function. Signed-off-by: Herbert Xu commit cde6263fa954dfc03ebe169aa3f7f71176d7901b Author: Herbert Xu Date: Wed Jul 8 22:32:07 2009 +0800 crypto: shash - Add crypto_shash_ctx_aligned This patch adds crypto_shash_ctx_aligned which will be needed by hmac after its conversion to shash. Signed-off-by: Herbert Xu commit cc6a8acdeee932f6911d8b236d2c7d6bcc4616f6 Author: Takashi Iwai Date: Tue Jun 17 16:39:06 2008 +0200 ALSA: Fix SG-buffer DMA with non-coherent architectures Using SG-buffers with dma_alloc_coherent() is often very inefficient on non-coherent architectures because a tracking record could be allocated in addition for each dma_alloc_coherent() call. Instead, simply disable SG-buffers but just allocate normal continuous buffers on non-supported (currently all but x86) architectures. Signed-off-by: Takashi Iwai commit b1e4422f96a9b4830ffd8119b05211abb830ef4a Author: William Weston Date: Wed Jul 8 01:10:05 2009 -0700 ALSA: hda - Add quirks for RTL888 & RV630/M76 based MSI GX710 Signed-off-by: William Weston Signed-off-by: Takashi Iwai commit 619a6ebd2547f3a8ec2fbc5245daaa1f2056eb32 Author: Herbert Xu Date: Wed Jul 8 18:46:23 2009 +0800 crypto: shash - Add shash_register_instance This patch adds shash_register_instance so that shash instances can be registered without bypassing the shash checks applied to normal algorithms. Signed-off-by: Herbert Xu commit 7d6f56400a695af497a8b7c23ea0ff9c3d9d99f4 Author: Herbert Xu Date: Wed Jul 8 17:56:28 2009 +0800 crypto: shash - Add shash_attr_alg2 helper This patch adds the helper shash_attr_alg2 which locates a shash algorithm based on the information in the given attribute. Signed-off-by: Herbert Xu commit d06854f0243d91badabaab14503f7f3bb770061d Author: Herbert Xu Date: Wed Jul 8 17:53:16 2009 +0800 crypto: api - Add crypto_attr_alg2 helper This patch adds the helper crypto_attr_alg2 which is similar to crypto_attr_alg but takes an extra frontend argument. This is intended to be used by new style algorithm types such as shash. Signed-off-by: Herbert Xu commit 942969992d86330c9700e2cd9afe8a6bea42df78 Author: Herbert Xu Date: Wed Jul 8 17:21:37 2009 +0800 crypto: shash - Add spawn support This patch adds the functions needed to create and use shash spawns, i.e., to use shash algorithms in a template. Signed-off-by: Herbert Xu commit 97eedce1a64a57648ac5e39f03825528c47ba72e Author: Herbert Xu Date: Wed Jul 8 15:55:52 2009 +0800 crypto: api - Add new style spawn support This patch modifies the spawn infrastructure to support new style algorithms like shash. In particular, this means storing the frontend type in the spawn and using crypto_create_tfm to allocate the tfm. Signed-off-by: Herbert Xu commit 2e4fddd8e420e8f531a34e7a97f9cdb851a6ad13 Author: Herbert Xu Date: Tue Jul 7 15:17:12 2009 +0800 crypto: shash - Add shash_instance This patch adds shash_instance and the associated alloc/free functions. This is meant to be an instance that with a shash algorithm under it. Note that the instance itself doesn't have to be shash. Signed-off-by: Herbert Xu commit 277a57c710ff73af1213f5d4b42bf6458c1ebca3 Author: Takashi Iwai Date: Wed Jul 8 12:42:08 2009 +0200 ALSA: hda - Fix compile warnings in patch_cirrus.c Signed-off-by: Takashi Iwai commit f7370699fbbb18f97442d6f47cc2d478a911ad6f Author: Jim Persson Date: Tue Jul 7 22:07:59 2009 -0700 Input: usbtouchscreen - support for JASTEC/DigiTech DTR-02U USB touch controllers Add support for the JASTEC/DigiTech DTR-02U USB touch screen controllers. Signed-off-by: Jim Persson Signed-off-by: Dmitry Torokhov commit 72398e4b1a4cf55d3698a4f265b638093a470b04 Author: Julia Lawall Date: Tue Jul 7 22:04:55 2009 -0700 Input: use resource_size when allocating resources Use the function resource_size, which reduces the chance of introducing off-by-one errors in calculating the resource size. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct resource *res; @@ - (res->end - res->start) + 1 + resource_size(res) // Signed-off-by: Julia Lawall Signed-off-by: Dmitry Torokhov commit 09bb9aa0ed22bea814b0f137390f911af33ddd1b Author: Maxime Bizon Date: Wed Jul 1 01:29:36 2009 +0000 MIPS: BCM63XX: Add integrated ethernet PHY support for phylib. Signed-off-by: Maxime Bizon Signed-off-by: Ralf Baechle drivers/net/phy/Kconfig | 6 ++ drivers/net/phy/Makefile | 1 drivers/net/phy/bcm63xx.c | 132 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 139 insertions(+) create mode 100644 drivers/net/phy/bcm63xx.c Signed-off-by: David S. Miller commit 460deefae62db4472e8bd16b21c7d70f3c7fd785 Author: Paul Moore Date: Tue Jul 7 08:11:33 2009 +0000 tun: Remove a dead line of code Remove an unnecessary assignment. Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit 50f238fdf38e37f0350be17c36e3ec0fd298cc40 Author: Anton Vorontsov Date: Tue Jul 7 08:38:42 2009 +0000 ucc_geth: Add support for skb recycling We can reclaim transmitted skbs to use in the receive path, so-called skb recycling support. Also reorder ucc_geth_poll() steps, so that we'll clean tx ring firstly, thus maybe reclaim some skbs for rx. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 8b2c70d1e43074cc06afe99b0de12b686d9c9d02 Author: Steven Rostedt Date: Wed Jun 10 15:45:41 2009 -0400 ring-buffer: add design document This adds the design document for the ring buffer and also explains how it is designed to have lockless writes. Signed-off-by: Steven Rostedt commit 77ae365eca895061c8bf2b2e3ae1d9ea62869739 Author: Steven Rostedt Date: Fri Mar 27 11:00:29 2009 -0400 ring-buffer: make lockless This patch converts the ring buffers into a completely lockless buffer recording system. The read side still takes locks since we still serialize readers. But the writers are the ones that must be lockless (those can happen in NMIs). The main change is to the "head_page" pointer. We write to the tail, and read from the head. The "head_page" pointer in the cpu buffer is now just a reference to where to look. The real head page is now kept in the head_page->list->prev->next pointer. That is, in the list head of the previous page we set flags. The list pages are allocated to be aligned such that the lowest significant bits are always zero pointing to the list. This gives us play to put in flags to their pointers. bit 0: set when the page is a head page bit 1: set when the writer is moving the page (for overwrite mode) cmpxchg is used to update the pointer. When the writer wraps the buffer and the tail meets the head, in overwrite mode, the writer must move the head page forward. It first uses cmpxchg to change the pointer flag from 1 to 2. Once this is done, the reader on another CPU will not take the page from the buffer. The writers need to protect against interrupts (we don't bother with disabling interrupts because NMIs are allowed to write too). After the writer sets the pointer flag to 2, it takes care to manage interrupts coming in. This is discribed in detail within the comments of the code. Changes in version 2: - Let reader reset entries value of header page. - Fix tail page passing commit page on reader page test. - Always increment entries and write counter in rb_tail_page_update - Add safety check in rb_set_commit_to_write to break out of infinite loop - add mask in rb_is_reader_page [ Impact: lock free writing to the ring buffer ] Signed-off-by: Steven Rostedt commit 3adc54fa82a68be1cd1ac82ad786ee362796e50a Author: Steven Rostedt Date: Mon Mar 30 15:32:01 2009 -0400 ring-buffer: make the buffer a true circular link list This patch changes the ring buffer data pages from using a link list head pointer, to making each buffer page point to another buffer page and never back to a "head". This makes the handling of the ring buffer less complex, since the traversing of the ring buffer pages no longer needs to account for the head pointer. This change also is needed to make the ring buffer lockless. [ Changes in version 2: - Added change that Lai Jiangshan mentioned. From: Lai Jiangshan Date: Thu, 11 Jun 2009 11:25:48 +0800 LKML-Reference: <4A30793C.6090208@cn.fujitsu.com> I'm not sure whether these 4 lines: bpage = list_entry(pages.next, struct buffer_page, list); list_del_init(&bpage->list); cpu_buffer->pages = &bpage->list; list_splice(&pages, cpu_buffer->pages); equal to these 2 lines: cpu_buffer->pages = pages.next; list_del(&pages); If there are equivalent, I think the second one are simpler. It may be not a really necessarily cleanup. What I asked is: if there are equivalent, could you use these two line: cpu_buffer->pages = pages.next; list_del(&pages); ] [ Impact: simplify the ring buffer to help make it lockless ] Signed-off-by: Steven Rostedt commit 3f405b46a91c0c4cdfa6077b4e1853f35a94e8ef Merge: 4ec5c96 efd13be Author: Mark Brown Date: Tue Jul 7 19:18:46 2009 +0100 Merge branch 'davinci' into for-2.6.32 Conflicts: sound/soc/davinci/davinci-i2s.c commit 72b43cf1402169e8bc088838a6db91d613c35627 Author: Ondrej Zary Date: Tue Jul 7 18:09:48 2009 +0200 ALSA: cmi8330: Allow MPU-401-less operation Adding MPU-401 support to cmi8330 driver could cause a regression (non-working sound) on a system where there is no free IRQ for the MPU-401 device (which is not very uncommon as this card requires two separate IRQs plus a third one for MPU-401). When MPU-401 PnP configuration fails (mostly because of unavailable IRQ), just ignore MPU-401 and continue without it. Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit 70ec7bb91ad0d6cce84c8e17f8cbb608dda7b18c Author: Herbert Xu Date: Tue Jul 7 14:07:37 2009 +0800 crypto: api - Add crypto_alloc_instance2 This patch adds a new argument to crypto_alloc_instance which sets aside some space before the instance for use by algorithms such as shash that place type-specific data before crypto_alg. For compatibility the function has been renamed so that existing users aren't affected. Signed-off-by: Herbert Xu commit b4dabfc452a1011882983db9e464f8ee1e3c01e6 Author: Takashi Iwai Date: Tue Jul 7 09:05:07 2009 +0200 ALSA: hda - Fix the speaker volume control name Increase the name string buffer size so that "Surround Speaker Playback Volume" won't be truncated. Signed-off-by: Takashi Iwai commit ed208255e700073c34b0ef8d2045ac030ac28971 Author: Takashi Iwai Date: Tue Jul 7 09:04:26 2009 +0200 ALSA: hda - Add GPIO setup for MacBook pro 5,5 with CS420x GPIO3 seems corresponding to EAPD that is required for the speaker output. Signed-off-by: Takashi Iwai commit 0b959167237208bc1a811e30bf866cd29bff1652 Author: Ondrej Zary Date: Mon Jul 6 22:08:04 2009 +0200 ALSA: cmi8330: find OPL3 port automatically My CMI8329 had OPL3 port specified in SB16 resources. But now I found out that it was my modification of the card's PnP EEPROM a couple of years ago (can be done using C9SETROM.EXE utility). I did it because the OPL3 port was completely missing from PnP data. It seems to be hardwired to 0x388 on CMI8329. Find OPL3 port automatically by searching in WSS and SB16 resources. If not found, assume that it's hardwired to 0x388. Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit f2ac72e8268d9559c3114d5a22679f91f80a2238 Author: Herbert Xu Date: Tue Jul 7 12:30:33 2009 +0800 crypto: api - Add new template create function This patch introduces the template->create function intended to replace the existing alloc function. The intention is for create to handle the registration directly, whereas currently the caller of alloc has to handle the registration. This allows type-specific code to be run prior to registration. Signed-off-by: Herbert Xu commit ef0657c49e0f93dcebc9b4719e4fe0b478411f60 Author: Julia Lawall Date: Mon Jul 6 19:09:50 2009 -0700 drivers/net/cs89x0.c: Avoid using magic number in set_dma_mode The constant DMA_RX_MODE is defined to be 0x14 in the local include file cs89x0.h. Since a constant with the same name is used elsewhere with set_dma_mode, it seems likely that this constant could be used here. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E1; identifier I; constant int C; @@ ( set_dma_mode(E1,I,...) | *set_dma_mode(E1,C,...) ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 5dcc60b71886795965fd5029b5d9a9ba7b5a2c17 Author: Yeasah Pell Date: Mon Jul 6 18:12:33 2009 -0700 dm9000: add checksum offload support Add checksum offload support for DM9000A and DM9000B chips. v2 changes: added a local copy of ip_summed to save IO cycles in dm9000_send_packet v3 changes: trans_start updating is removed. Signed-off-by: Yeasah Pell Signed-off-by: Mike Rapoport Signed-off-by: David S. Miller commit 482d804cb4b520b6e3134c959c968712ebcdea02 Author: Mark Smith Date: Mon Jul 6 11:05:58 2009 +0000 econet: use NET_RX_SUCCESS instead of magic number 0 for econet_rcv successful return Signed-off-by: Mark Smith Signed-off-by: David S. Miller commit 5c91face51d29f553a444d16db4ac2c6162a3cd0 Author: Mark Smith Date: Mon Jul 6 11:26:24 2009 +0000 ipv6: correct return on ipv6_rcv() packet drop The routine ipv6_rcv() uses magic number 0 for a return when it drops a packet. This corresponds to NET_RX_SUCCESS, which is obviously incorrect. Correct this by using NET_RX_DROP instead. ps. It isn't exactly clear who the IPv6 maintainers are, apologies if I've missed any. Signed-off-by: Mark Smith Signed-off-by: David S. Miller commit b7cb8c2c8275ab081b97610b13a83c80904571a6 Author: Jesse Brandeburg Date: Mon Jul 6 10:45:01 2009 +0000 e1000: fix flow control thresholds when testing the jumbo frames with pages patch, the stats would show rx_missed errors (dropped packets) even when connected to a link partner with flow control enabled. this indicates that for this MTU (9000) the flow control thresholds are not adjusting correctly. In fact, before this change, the FCRTH (xoff threshold) is 36864 when the fifo size is only 40000, with 9000 byte MTU. fix it so that we at least have room for one frame after we send the xoff. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit edbbb3ca107715067b27a71e6ea7f58750912aa2 Author: Jesse Brandeburg Date: Mon Jul 6 10:44:39 2009 +0000 e1000: implement jumbo receive with partial descriptors This is code extremely similar to what is committed in e1000e already. e1000 will no longer request 32kB slab buffers to support jumbo frames on PCI/PCI-X adapters. This will significantly reduce the likelyhood of order:3 allocation failures. This new code adds support for using pages as receive buffers, and the driver will chain multiple pages together to build a jumbo frame for OS consumption. The hardware takes a power of two buffer size and will dump as much data as it can receive into 1 or more buffers. The benefits of applying this are 1) stop akpm's dissing :-) of this lame e1000 behavior [1] 2) more efficient memory allocation (half) when using jumbo frames, which will also allow for much better socket utilization with jumbos since the socket is charged for the full allocation of each receive buffer, regardless of how much is used. 3) this was a feature request by a customer 4) copybreak for small packets < 256 bytes still applies [1] http://lkml.org/lkml/2008/7/10/68 http://article.gmane.org/gmane.linux.network/130986 Signed-off-by: Jesse Brandeburg CC: Andrew Morton Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 94c9e5a89349a1f1ebabe0876c059dc387b8b2a0 Author: Jesse Brandeburg Date: Mon Jul 6 10:44:20 2009 +0000 e1000: allow ethtool coalesece to adjust interrupts per second This patch allows on-the-fly adjustment of the interrupts per second generated by e1000 devices 82545/82546 (hardware support of ITR register is a requirement) adjust using this command: ethtool -C eth0 rx-usecs 10 where 10 is 10 microseconds per interrupt interval, so 10 = 100,000 interrupts per second, and 125 = 8000 interrupts per second. changes should be immediate. 1,3 are special values and indicate the automatic tuning mode to the driver, where 1 is 4000-90000 interrupts per second and 3 is 4000-20000 interrupts per second and is the driver default. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4ec5c9693b46ab34976511cd43bf75c3a0fc704d Merge: 1e30a58 637a935 Author: Mark Brown Date: Mon Jul 6 21:49:35 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit f77139c07a0e1dd164e039320ada50111f899223 Author: Guo-Fu Tseng Date: Mon Jul 6 04:45:58 2009 +0000 jme: Advance driver version number Advance driver version number after modifications. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit ce7d70af2c8b9c74e8afb2c0d69e304d141ce4aa Author: Guo-Fu Tseng Date: Mon Jul 6 04:41:22 2009 +0000 jme: Tuning rxsum function 1. Use more efficient way to determine flag status. 2. Hardware dose not mark fragment bit against IPv6 packets, print TCP/UDP checksum warning message for IPv4 packets only. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit d1dfa1d1de855e8db58ec4e403af5939d273f8fe Author: Guo-Fu Tseng Date: Mon Jul 6 04:40:38 2009 +0000 jme: Remove shadow register support The hardware failed to update the shadow register in several cases. It's known to be failed at 64bit box with more than 4G RAM. In order to make the device working stable, give up using the shadow register feature. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 47bd10d14b3341004266395014007c120a359c9d Author: Guo-Fu Tseng Date: Mon Jul 6 04:39:46 2009 +0000 jme: Change bufinf memory location Instead of using a large chunk of memory space preserved for for modules, using kmalloc to obtain the needed memory. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 44d8d2e9f0dfa52bb1aebdbaa510669bff61c9dc Author: Guo-Fu Tseng Date: Mon Jul 6 04:38:35 2009 +0000 jme: Fix typo Fix enum typo in jme.h Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 38ed0c2107dea55347504042ed4e1d0cbc3e9100 Author: Guo-Fu Tseng Date: Mon Jul 6 04:37:52 2009 +0000 jme: Fix unmatched tasklet_{enable|disable} pair Fix faulty tasklet function usage. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit eacf69a156dd068b3dfaa0aeb4874cda8633de87 Author: Guo-Fu Tseng Date: Mon Jul 6 04:36:30 2009 +0000 jme: Some minor coding style consistency modifications Making coding style more consistent. Signed-off-by: Guo-Fu Tseng Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit eb7fffa39a3f114832df54a3e373d7580d8fe757 Author: Russell King Date: Sun Jul 5 22:41:31 2009 +0100 [ARM] realview: add PL061 gpiolib support Signed-off-by: Russell King commit a6bae20559bb0371e89ebc46689e9cf4e7816813 Author: Takashi Iwai Date: Mon Jul 6 15:15:22 2009 +0200 ALSA: hda - Add quirk for MacBook Pro 5,5 with CS4206 Add the default pin configs for MBP55. Signed-off-by: Takashi Iwai commit 60e53882ace216cf58fc847a94d839f32b8eb7bf Author: Takashi Iwai Date: Mon Jul 6 15:01:09 2009 +0200 ALSA: hda - Fix double creation of SPDIF input controls Signed-off-by: Takashi Iwai commit 9983aa62c321a22774e47cf701b6d8b16d92a822 Author: Takashi Iwai Date: Mon Jul 6 14:31:59 2009 +0200 ALSA: info - Use krealloc() Use krealloc() to resize the buffer in sound/core/info.c. Signed-off-by: Takashi Iwai commit 40c20fa05a29766565f56ede17d0ffa539e1c9a9 Author: Takashi Iwai Date: Mon Jul 6 13:00:57 2009 +0200 ALSA: hda - Add CS420x-specific coef setup Signed-off-by: Takashi Iwai commit ea35929b886975a240660b3ba6c61826761731ad Author: Takashi Iwai Date: Mon Jul 6 12:58:59 2009 +0200 ALSA: hda - Force to initialize input mixer setup for CS420x Signed-off-by: Takashi Iwai commit 21a4dc43acdd547335f59ad52efeef5160247736 Author: Takashi Iwai Date: Mon Jul 6 12:55:46 2009 +0200 ALSA: hda - Fix cirrus codec parsing The parser wasn't called in the proper order. Split now the parser to be called in patch_cirrus(), and the rest are just for building PCMs and controls. Signed-off-by: Takashi Iwai commit bbeddc43e673fb6882cc55efdc3c3002c14f5d08 Author: Russell King Date: Sun Jul 5 22:43:01 2009 +0100 [ARM] versatile: add PL061 gpiolib support Signed-off-by: Russell King commit dfbf9511155d3584b8747c935216077f46eb9a4f Author: Andreas Mohr Date: Sun Jul 5 13:55:46 2009 +0200 ALSA: azt3328: large codec cleanup, add I2S port etc. - fully separate codec I/O port handling, enabling the use of a single function each for all codecs (playback, capture, I2S out) - add a new separate pcm for I2S out port (UNTESTED, no I2S DAC available yet) - switch gameport to low frequency while idle, to try to reduce noise/power - improve snd_azf3328_codec_setdmaa() calculation - minor variable type cleanup (u16, bool etc.) - add some doc updates (help those lost Windows users, debug help, ...) Note that due to the large cleanup aspect of the codec I/O change, I was able to fit everything including all improvements into the same binary size!! (a measly 10 bytes more or so) This should now be the almost last patch to this driver (minus some possible kernel clocksource patch and x86_64 fixes or so). I just felt like taking a break from the usual stuff and wanted to get this driver's structure finished, and it's rather clean now... Tested, working and checkpatch.pl:ed on 2.6.30-rc5, applies cleanly to 2.6.30 proper. Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai commit 3eff8958308ed875a4e845d59a498288f8bbad77 Author: Andreas Mohr Date: Sun Jul 5 13:28:48 2009 +0200 ALSA: azt3328: fix Kconfig entry This driver is about as far from being experimental as it can ever get for an undocumented card, thus create this patch (interestingly it was the only EXPERIMENTAL remaining in the entire Kconfig file). Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai commit ec634fe328182a1a098585bfc7b69e5042bdb08d Author: Patrick McHardy Date: Sun Jul 5 19:23:38 2009 -0700 net: convert remaining non-symbolic return values in ndo_start_xmit() functions This patch converts the remaining occurences of raw return values to their symbolic counterparts in ndo_start_xmit() functions that were missed by the previous automatic conversion. Additionally code that assumed the symbolic value of NETDEV_TX_OK to be zero is changed to explicitly use NETDEV_TX_OK. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a73e76e23c20c05cb8c0b7ba8bc9daa04b05c80f Author: Sreenivasa Honnur Date: Wed Jul 1 21:18:43 2009 +0000 vxge: Version update - Version update Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 0a25bdc69634fb343c4b23e3422a37e5819448f1 Author: Sreenivasa Honnur Date: Wed Jul 1 21:18:06 2009 +0000 vxge: Printing the function's configured mode of operation - Printing the function's configured mode of operation. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 22fa125ee24f8db497fa447c145a4a1293fab098 Author: Sreenivasa Honnur Date: Wed Jul 1 21:17:24 2009 +0000 vxge: Disable fcs stripping. - Disable fcs stripping. The minimum frame size that can be received by the hardware is 57 Bytes. A 64 Byte Ethernet frame with the vlan tag and fcs stripped will result in a 56 Byte frame which will lock up the receive engine. The work around is to disable fcs stripping in the hardware which is done with a firmware upgrade. The fixes are - 1. Ensure that the correct firmware version is used. 2. Decrement the indicated packet length of the receive packet by 4 bytes (FCS length). Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit a5d165b571fcf347e82af6292074d2f0c07de3a6 Author: Sreenivasa Honnur Date: Wed Jul 1 21:16:37 2009 +0000 vxge: Fixes in isr routine - Fixes in isr routine Fixed crash with INTA mode during driver unload. Pass hldev to request_irq instead of vdev. Fixed Traffic failure with GRO in INTA mode. Pass the correct napi context to gro functions. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 6052ae1676b705c67133542e663ec3380f032e2c Author: Sreenivasa Honnur Date: Wed Jul 1 21:15:41 2009 +0000 vxge: Removed the code to bounds check the mss value - Removed the code to bounds check the mss value. The hardware does bounds checking and will not allow an oversized mss to lockup the transmit path. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 3255da416de6da8b3bac6d30b8eed61b54953480 Author: Sreenivasa Honnur Date: Wed Jul 1 21:14:57 2009 +0000 vxge: Corrected Register map entry for xmac_link registers - Corrected Register map entry for xmac_link registers. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit bd9ee6808b6c9106fd8046693c544d081746184b Author: Sreenivasa Honnur Date: Wed Jul 1 21:14:03 2009 +0000 vxge: check for card status before continuing in device close - Fixed the crash in rmmod after vpath open failed when trying to change mtu. We should check for card status before continuing in device close. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 914d0d714fa472d7f99ef899a8180628ecdcd23c Author: Sreenivasa Honnur Date: Wed Jul 1 21:13:12 2009 +0000 vxge: Fixed memory leak by freeing memory allocated for device_config - Fixed memory leak by freeing memory allocated for device_config. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 7975d1eed732c9d50b41f5847453e324f544bd30 Author: Sreenivasa Honnur Date: Wed Jul 1 21:12:23 2009 +0000 vxge: Removed ioremap of unused bar addresses and their references - Removed ioremap of bar1 address Driver needs only bar0 address for register access - Removed references to bar1 and bar2 addresses Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit e04af024b2e74249990587e76ec98220028c01c3 Author: Cyrill Gorcunov Date: Fri Jul 3 20:11:58 2009 +0000 net, netns_xt: shrink netns_xt members In case if kernel was compiled without ebtables support there is no need to keep ebt_table pointers in netns_xt structure. Make it config dependent. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit 1490fd89474dab9c560d3cca1a4aefbdb89be247 Author: Cyrill Gorcunov Date: Fri Jul 3 20:11:57 2009 +0000 net, bridge: align br_nf_ops assignment No functional change -- just for easier reading. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit 6650613d3387dcc30685e2781818ea7d0f840027 Author: oscar.medina@motorola.com Date: Tue Jun 30 03:25:39 2009 +0000 tipc: Add socket options to get number of queued messages This patch allows a TIPC application to determine the number of messages currently waiting in a socket's receive queue (TIPC_SOCK_RECVQ_DEPTH) or in all TIPC socket receive queues (TIPC_NODE_RECVQ_DEPTH). Signed-off-by: Oscar Medina Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit af794c74240d8d788058bdfee339512e7ac029b2 Author: Rami Rosen Date: Thu Jun 25 04:42:19 2009 +0000 cleanup: remove unused member in scm_cookie. This patch removes an unused member (seq) scm_cookie; besides initialized to 0 in the header file, it is not used. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 6f5bec195839dba3ca0ab8a7a53861e679109c0b Author: Michael Opdenacker Date: Wed Jun 24 21:05:09 2009 +0000 Minor code cleanup in drivers/net/r6040.c Replaced '0' by 'bar' in the probe function. The 'bar' variable was already set to '0' and is already used in pci_iomap(). This is cleaner and improves code consistency. Signed-off-by: Michael Opdenacker Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 6ed106549d17474ca17a16057f4c0ed4eba5a7ca Author: Patrick McHardy Date: Tue Jun 23 06:03:08 2009 +0000 net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions This patch is the result of an automatic spatch transformation to convert all ndo_start_xmit() return values of 0 to NETDEV_TX_OK. Some occurences are missed by the automatic conversion, those will be handled in a seperate patch. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0e8635a8e1f2d4a9e1bfc6c3b21419a5921e674f Author: Florian Westphal Date: Sat Jun 20 00:53:25 2009 +0000 net: remove NET_RX_BAD and NET_RX_CN* defines almost no users in the tree; and the few that use them treat them like NET_RX_DROP. Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 6b1344724e10c166d9e3c17011ed879ddf302e94 Merge: 8e4a718 1ded3f5 Author: David S. Miller Date: Sun Jul 5 19:06:45 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit b56063453881a6d94cf5718c6769de6e35e67753 Author: Eric Sandeen Date: Sun Jul 5 12:23:35 2009 -0500 xfs: remove XFS_INO64_OFFSET Commit a19d9f887d81106d52cacbc9930207b487e07e0e removed the ino64 option but left the XFS_INO64_OFFSET define it used in place - just remove it. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit f6f1eb1033959f3633eafbe06dcac92b9c503c41 Author: Mark Brown Date: Sun Jul 5 17:57:57 2009 +0100 ASoC: Factor out WM8580 register cache code Note the slightly tricky cache usage in the volume update function due to the requirement for a separate write for the VU bit. Signed-off-by: Mark Brown commit 5f345346dd715d53fb2ed168a4fd432e1bdcb14d Author: Mark Brown Date: Sun Jul 5 17:35:28 2009 +0100 ASoC: Remove use of hw_read from TLV320AIC3x driver The TLV320AIC3x driver is currently the only user of the CODEC hw_read operation and is jumping through some hoops in order to do so. In order to support future refactoring to make the hw_read operation more usable unwrap the usage in this driver to avoid its use. Signed-off-by: Mark Brown commit 1e30a5828e4e9e49fcc6e471bf0d99d4fd273ba4 Author: Mark Brown Date: Sun Jul 5 17:28:41 2009 +0100 ASoC: Remove unused AK4535 hardware read functionality Nothing uses it and the existing hw_read operation needs to be refectored so it's easier to remove it rather than work with it. Support can be re-added if the code requires volatile registers. Signed-off-by: Mark Brown commit 17a52fd60a0a0e617ed94aadb1b19751a8fa219e Author: Mark Brown Date: Sun Jul 5 17:24:50 2009 +0100 ASoC: Begin to factor out register cache I/O functions A lot of CODECs share the same register data formats and therefore replicate the code to manage access to and caching of the register map. In order to reduce code duplication centralised versions of this code will be introduced with drivers able to configure the use of the common code by calling the new snd_soc_codec_set_cache_io() API call during startup. As an initial user the 7 bit address/9 bit data format used by many Wolfson devices is supported for write only CODECs and the drivers with straightforward register cache implementations are converted to use it. Signed-off-by: Mark Brown commit 5420f30723122012c7bb868a55ff21c7d383b68e Author: Mark Brown Date: Sun Jul 5 16:29:39 2009 +0100 ASoC: Fix leaks in WM8988 registration error handling Signed-off-by: Mark Brown commit 1a01417e85846e42e939a345a294e8ae2287cc1f Author: Mark Brown Date: Sun Jul 5 15:47:03 2009 +0100 ASoC: Fix WM8960 leaks on probe failure Signed-off-by: Mark Brown commit fe5422fc4ac221910083e603eb2a873280a9bd37 Author: Mark Brown Date: Sun Jul 5 15:18:01 2009 +0100 ASoC: Fix leaks in WM8731 probe error handling Signed-off-by: Mark Brown commit 096e49d5e6f7bd93395e7ddf7e0239e1644d0505 Author: Mark Brown Date: Sun Jul 5 15:12:22 2009 +0100 ASoC: Add CODEC volatile register operation Add a volatile_register() operation to the CODEC structure providing a standard operation to query if a register is volatile. This will be used to factor out the register cache I/O operations for the CODECs. Signed-off-by: Mark Brown commit af0adf3e81dbcf782388b8a7d0d7094ef5e70f50 Author: Troy Kisky Date: Sat Jul 4 19:29:59 2009 -0700 ASoC: DaVinci: i2s, add davinci_i2s_prepare and shutdown If the codec is master then prepare should call mcbsp_start, not trigger. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit f5cfa954e6812c09e3a4b89e8009b22285b860a3 Author: Troy Kisky Date: Sat Jul 4 19:29:57 2009 -0700 ASoC: DaVinci: i2s, fix mcbsp_word_length update Code previously just "ors" in this field without clearing first. Fix, by never reading this register. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 9333b594a08f2b2d8b7d96260164817acdbc5cab Author: Troy Kisky Date: Sat Jul 4 19:29:56 2009 -0700 ASoC: DaVinci: i2s, minor cleanup of davinci_i2s_startup Save a few lines of code. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 1bef449989d0866a7db366a8153135cfa3d5cad9 Author: Troy Kisky Date: Sat Jul 4 19:29:55 2009 -0700 ASoC: DaVinci: i2s, only start sample generator if needed Only start sample generator if needed, and more cleanup on davinci_mcbsp_start. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit eba575c30b93755dc0ee5e9adbb5b06d3289b62a Author: Troy Kisky Date: Sat Jul 4 19:29:54 2009 -0700 ASoC: DaVinci: i2s cleanup Move variable declaration closer to use. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit f9af37cc632b59c39768329797443308ad6b4137 Author: Troy Kisky Date: Sat Jul 4 19:29:53 2009 -0700 ASoc: DaVinci: i2s, minor cleanup Add davinci_mcbsp_dev as argument to davinci_mcbsp_start and davinci_mcbsp_stop. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit c392bec716431d77e503345117a3e7ad3face677 Author: Troy Kisky Date: Sat Jul 4 19:29:52 2009 -0700 ASoC: DaVinci: i2s toggle clock to complete reset Add toggle_clock function to complete i2s reset earlier. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 35cf63583d8d81d8ac261e944db9eeb44a60692d Author: Troy Kisky Date: Sat Jul 4 19:29:51 2009 -0700 ASoC: DaVinci: i2s, remove MOD_REG_BIT macro No functional changes. Rename variable w to something more meaningful. Remove code obfuscating macro MOD_REG_BIT. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit c71320d0c445e01555a86fa6523609db47eeaef6 Author: Rafael J. Wysocki Date: Sun Jul 5 00:22:34 2009 +0200 genirq: Fix comment describing suspend_device_irqs() The kerneldoc comment describing suspend_device_irqs() is currently misleading, because generally the function doesn't really disable interrupt lines at the chip level. Replace it with a more accurate one. Signed-off-by: Rafael J. Wysocki LKML-Reference: <200907050022.35117.rjw@sisk.pl> Signed-off-by: Thomas Gleixner commit 96ccd4a43a4d80c80be636cd025a69959cf47424 Author: Thomas Gleixner Date: Sun Jul 5 12:47:52 2009 +0200 genirq: Remove obsolete defines and typedefs The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. The last users are gone, remove them. Signed-off-by: Thomas Gleixner commit 69eb88825a7a562ee3564bdae20c35b0238307b0 Author: Ondrej Zary Date: Sat Jul 4 22:25:44 2009 +0200 cmi8330: Add basic CMI8329 support Add basic support for CMI8329 cards. Makes PCM and OPL3 work. Does not break CMI8330 (tested). Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit e3d0e69268dffb9676bf0800a60fb3573a723480 Author: Ingo Molnar Date: Sun Jul 5 09:44:11 2009 +0200 x86: Further clean up of mtrr/generic.c Yinghai noticed that i defined BIOS_BUG_MSG but added no usage for it. The usage is to clean up this turd in generic.c: printk(KERN_WARNING "WARNING: BIOS bug: VAR MTRR %d " "contains strange UC entry under 1M, check " "with your system vendor!\n", i); Breaking printk lines in the middle looks ugly, is hard to read and breaks 'git grep'. Use the BIOS_BUG_MSG instead. Also complete the moving of structure definitions and variables to the top of the file. Reported-by: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> Signed-off-by: Ingo Molnar commit 1475ef0f0367766417f10f82880178ca42922748 Merge: b0bb3aa 02358fc Author: Takashi Iwai Date: Sat Jul 4 12:20:25 2009 +0200 Merge branch 'fix/hda' into topic/hda commit dbd51be026eaf84088fdee7fab9f38fa92eef26d Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:56:28 2009 +0530 x86: Clean up mtrr/main.c Fix following trivial style problems: ERROR: trailing whitespace X 25 WARNING: Use #include instead of WARNING: Use #include instead of ERROR: do not initialise externals to 0 or NULL X 2 ERROR: "foo * bar" should be "foo *bar" X 5 ERROR: do not use assignment in if condition X 2 WARNING: line over 80 characters X 8 ERROR: return is not a function, parentheses are not required WARNING: braces {} are not necessary for any arm of this statement ERROR: space required before the open parenthesis '(' X 2 ERROR: open brace '{' following function declarations go on the next line ERROR: space required after that ',' (ctx:VxV) X 8 ERROR: space required before the open parenthesis '(' X 3 ERROR: else should follow close brace '}' WARNING: space prohibited between function name and open parenthesis '(' WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable X 2 Also use pr_debug and pr_warning where possible. total: 50 errors, 14 warnings arch/x86/kernel/cpu/mtrr/main.o: text data bss dec hex filename 3668 116 4156 7940 1f04 main.o.before 3668 116 4156 7940 1f04 main.o.after md5: e01af2fd28deef77c8d01e71acfbd365 main.o.before.asm e01af2fd28deef77c8d01e71acfbd365 main.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> Cc: Avi Kivity # Avi, please have a look at the kvm_para.h bit [ More cleanups ] Signed-off-by: Ingo Molnar commit 09b22c85d59dd935fdfa71655a443785e3f99c18 Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:54:53 2009 +0530 x86: Clean up mtrr/state.c Fix: WARNING: Use #include instead of WARNING: line over 80 characters X 4 arch/x86/kernel/cpu/mtrr/state.o: text data bss dec hex filename 864 0 0 864 360 state.o.before 864 0 0 864 360 state.o.after md5: c5c4364b9aeac74d70111e1e49667a2c state.o.before.asm c5c4364b9aeac74d70111e1e49667a2c state.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ More cleanups ] Signed-off-by: Ingo Molnar commit 3ec8dbcb09bb6df83993ca03e88cb85e3aaa8edb Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:54:16 2009 +0530 x86: Clean up mtrr/mtrr.h Fix: ERROR: do not use C99 // comments ERROR: "foo * bar" should be "foo *bar" X 2 Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ More tidyups ] Signed-off-by: Ingo Molnar commit 26dc67eda19beafb7e5ef2770cec5b3ee5995a8e Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:53:40 2009 +0530 x86: Clean up mtrr/if.c Fix: WARNING: Use #include instead of ERROR: trailing whitespace X 7 ERROR: trailing statements should be on next line X 3 WARNING: line over 80 characters X 5 ERROR: space required before the open parenthesis '(' arch/x86/kernel/cpu/mtrr/if.o: text data bss dec hex filename 2239 4 0 2243 8c3 if.o.before 2239 4 0 2243 8c3 if.o.after md5: 78d1f2aa4843ec6509c18e2dee54bc7f if.o.before.asm 78d1f2aa4843ec6509c18e2dee54bc7f if.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ More cleanups to make the code more consistent. ] Signed-off-by: Ingo Molnar commit a1a499a39911fcfecbebaba1f38588088909f918 Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:53:00 2009 +0530 x86: Clean up mtrr/generic.c Fix following trivial style problems: ERROR: trailing whitespace X 4 WARNING: Use #include instead of WARNING: braces {} are not necessary for single statement blocks X 3 ERROR: "foo * bar" should be "foo *bar" WARNING: line over 80 characters X 6 ERROR: "foo * bar" should be "foo *bar" ERROR: spaces required around that '=' (ctx:VxO) ERROR: space required before that '-' (ctx:OxV) WARNING: suspect code indent for conditional statements (8, 12) ERROR: spaces required around that '=' (ctx:VxV) ERROR: do not initialise statics to 0 or NULL ERROR: space prohibited after that open parenthesis '(' X 2 ERROR: space prohibited before that close parenthesis ')' X 2 ERROR: trailing statements should be on next line ERROR: return is not a function, parentheses are not required Also use pr_debug and pr_warning where possible. arch/x86/kernel/cpu/mtrr/generic.o: text data bss dec hex filename 5652 77 4224 9953 26e1 generic.o.before 5652 77 4220 9949 26dd generic.o.after The md5 changed: b34d6c045f06daa4ed092b90cc760e8f generic.o.before.asm a490c6251cfd8442fbffecc0e09a573d generic.o.after.asm Because mtrr_state moved from data to bss, changing its offsets - and also because __LINE__ numbers changed. Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ Further cleanups to make the code more consistent ] Signed-off-by: Ingo Molnar commit 2311037708c170977506fbcbe0a2ba0c6d221940 Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:52:08 2009 +0530 x86: Clean up mtrr/cyrix.c Fix trivial style problems: WARNING: Use #include instead of WARNING: line over 80 characters ERROR: do not initialise statics to 0 or NULL ERROR: space prohibited after that open parenthesis '(' X 2 ERROR: space prohibited before that close parenthesis ')' X 2 ERROR: trailing whitespace X 2 ERROR: trailing statements should be on next line ERROR: do not use C99 // comments X 2 arch/x86/kernel/cpu/mtrr/cyrix.o: text data bss dec hex filename 1637 32 8 1677 68d cyrix.o.before 1637 32 8 1677 68d cyrix.o.after md5: 6f52abd06905be3f4cabb5239f9b0ff0 cyrix.o.before.asm 6f52abd06905be3f4cabb5239f9b0ff0 cyrix.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ Made the code more consistent ] Signed-off-by: Ingo Molnar commit 63f9600fadb10ea739108ae93e3e842d9843c58b Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:51:32 2009 +0530 x86: Clean up mtrr/cleanup.c Fix trivial style problems: WARNING: Use #include instead of WARNING: Use #include instead of Also, nr_mtrr_spare_reg should be unsigned long. arch/x86/kernel/cpu/mtrr/cleanup.o: text data bss dec hex filename 6241 8992 2056 17289 4389 cleanup.o.before 6241 8992 2056 17289 4389 cleanup.o.after The md5 has changed: 1a7a27513aef1825236daf29110fe657 cleanup.o.before.asm bcea358efa2532b6020e338e158447af cleanup.o.after.asm Because a WARN_ON()'s __LINE__ value changed by 3 lines. Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ Did lots of other cleanups to make the code look more consistent. ] Signed-off-by: Ingo Molnar commit 6c4caa1ab737502190e416b76e6c10d2bf24276a Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:50:44 2009 +0530 x86: Clean up mtrr/centaur.c Remove dead code and fix trivial style problems: ERROR: trailing whitespace X 2 WARNING: line over 80 characters X 3 ROR: trailing whitespace ERROR: do not use C99 // comments X 2 arch/x86/kernel/cpu/mtrr/centaur.o: text data bss dec hex filename 605 32 68 705 2c1 centaur.o.before 605 32 68 705 2c1 centaur.o.after md5: a4865ea98ce3c163bb1d376a3949b3e3 centaur.o.before.asm a4865ea98ce3c163bb1d376a3949b3e3 centaur.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ Standardized comments, DocBook, curly braces, newlines. ] Signed-off-by: Ingo Molnar commit 42204455f160dab0c47f19e1be23f5c927af2d17 Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:50:00 2009 +0530 x86: Clean up mtrr/amd.c: Fix trivial style problems : ERROR: trailing whitespace WARNING: line over 80 characters ERROR: do not use C99 // comments arch/x86/kernel/cpu/mtrr/amd.o: text data bss dec hex filename 501 32 0 533 215 amd.o.before 501 32 0 533 215 amd.o.after md5: 62f795eb840ee2d17b03df89e789e76c amd.o.before.asm 62f795eb840ee2d17b03df89e789e76c amd.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ Also restructured comments to be standard, removed stray return, converted function description to DocBook style, etc. ] Signed-off-by: Ingo Molnar commit d7e57676e3ed7ab9b2c7c4bcb7873e51eacbdb84 Merge: feaa045 746a99a Author: Ingo Molnar Date: Sat Jul 4 11:00:38 2009 +0200 Merge branch 'linus' into x86/cleanups Merge reason: We were on an older pre-rc1 base, move to almost-rc2. Signed-off-by: Ingo Molnar commit a530b7958612bafe2027e21359083dba84f0b3b4 Author: Tejun Heo Date: Sat Jul 4 08:11:00 2009 +0900 percpu: teach large page allocator about NUMA Large page first chunk allocator is primarily used for NUMA machines; however, its NUMA handling is extremely simplistic. Regardless of their proximity, each cpu is put into separate large page just to return most of the allocated space back wasting large amount of vmalloc space and increasing cache footprint. This patch teachs NUMA details to large page allocator. Given processor proximity information, pcpu_lpage_build_unit_map() will find fitting cpu -> unit mapping in which cpus in LOCAL_DISTANCE share the same large page and not too much virtual address space is wasted. This greatly reduces the unit and thus chunk size and wastes much less address space for the first chunk. For example, on 4/4 NUMA machine, the original code occupied 16MB of virtual space for the first chunk while the new code only uses 4MB - one 2MB page for each node. [ Impact: much better space efficiency on NUMA machines ] Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Jan Beulich Cc: Andi Kleen Cc: David Miller commit 2f39e637ea240efb74cf807d31c93a71a0b89174 Author: Tejun Heo Date: Sat Jul 4 08:11:00 2009 +0900 percpu: allow non-linear / sparse cpu -> unit mapping Currently cpu and unit are always identity mapped. To allow more efficient large page support on NUMA and lazy allocation for possible but offline cpus, cpu -> unit mapping needs to be non-linear and/or sparse. This can be easily implemented by adding a cpu -> unit mapping array and using it whenever looking up the matching unit for a cpu. The only unusal conversion is in pcpu_chunk_addr_search(). The passed in address is unit0 based and unit0 might not be in use so it needs to be converted to address of an in-use unit. This is easily done by adding the unit offset for the current processor. [ Impact: allows non-linear/sparse cpu -> unit mapping, no visible change yet ] Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: David Miller commit ce3141a277ff6cc37e51008b8888dc2cb7456ef1 Author: Tejun Heo Date: Sat Jul 4 08:11:00 2009 +0900 percpu: drop pcpu_chunk->page[] percpu core doesn't need to tack all the allocated pages. It needs to know whether certain pages are populated and a way to reverse map address to page when freeing. This patch drops pcpu_chunk->page[] and use populated bitmap and vmalloc_to_page() lookup instead. Using vmalloc_to_page() exclusively is also possible but complicates first chunk handling, inflates cache footprint and prevents non-standard memory allocation for percpu memory. pcpu_chunk->page[] was used to track each page's allocation and allowed asymmetric population which happens during failure path; however, with single bitmap for all units, this is no longer possible. Bite the bullet and rewrite (de)populate functions so that things are done in clearly separated steps such that asymmetric population doesn't happen. This makes the (de)population process much more modular and will also ease implementing non-standard memory usage in the future (e.g. large pages). This makes @get_page_fn parameter to pcpu_setup_first_chunk() unnecessary. The parameter is dropped and all first chunk helpers are updated accordingly. Please note that despite the volume most changes to first chunk helpers are symbol renames for variables which don't need to be referenced outside of the helper anymore. This change reduces memory usage and cache footprint of pcpu_chunk. Now only #unit_pages bits are necessary per chunk. [ Impact: reduced memory usage and cache footprint for bookkeeping ] Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: David Miller commit c8a51be4cabb7009db5f865169389242d49c4c60 Author: Tejun Heo Date: Sat Jul 4 08:10:59 2009 +0900 percpu: reorder a few functions in mm/percpu.c (de)populate functions are about to be reimplemented to drop pcpu_chunk->page array. Move a few functions so that the rewrite patch doesn't have code movement making it more difficult to read. [ Impact: code movement ] Signed-off-by: Tejun Heo Cc: Ingo Molnar commit 38a6be525460f52ac6f2de1c3f73c5615a8853cd Author: Tejun Heo Date: Sat Jul 4 08:10:59 2009 +0900 percpu: simplify pcpu_setup_first_chunk() Now that all first chunk allocator helpers allocate and map the first chunk themselves, there's no need to have optional default alloc/map in pcpu_setup_first_chunk(). Drop @populate_pte_fn and only leave @dyn_size optional and make all other params mandatory. This makes it much easier to follow what pcpu_setup_first_chunk() is doing and what actual differences tweaking each parameter results in. [ Impact: drop unused code path ] Signed-off-by: Tejun Heo Cc: Ingo Molnar commit 8c4bfc6e8801616ab2e01c38140b2159b388d2ff Author: Tejun Heo Date: Sat Jul 4 08:10:59 2009 +0900 x86,percpu: generalize lpage first chunk allocator Generalize and move x86 setup_pcpu_lpage() into pcpu_lpage_first_chunk(). setup_pcpu_lpage() now is a simple wrapper around the generalized version. Other than taking size parameters and using arch supplied callbacks to allocate/free/map memory, pcpu_lpage_first_chunk() is identical to the original implementation. This simplifies arch code and will help converting more archs to dynamic percpu allocator. While at it, factor out pcpu_calc_fc_sizes() which is common to pcpu_embed_first_chunk() and pcpu_lpage_first_chunk(). [ Impact: code reorganization and generalization ] Signed-off-by: Tejun Heo Cc: Ingo Molnar commit 8f05a6a65d944f2fed4eb384fb58aa8c8e5a9bab Author: Tejun Heo Date: Sat Jul 4 08:10:59 2009 +0900 percpu: make 4k first chunk allocator map memory At first, percpu first chunk was always setup page-by-page by the generic code. To add other allocators, different parts of the generic initialization was made optional. Now we have three allocators - embed, remap and 4k. embed and remap fully handle allocation and mapping of the first chunk while 4k still depends on generic code for those. This makes the generic alloc/map paths specifci to 4k and makes the code unnecessary complicated with optional generic behaviors. This patch makes the 4k allocator to allocate and map memory directly instead of depending on the generic code. The only outside visible change is that now dynamic area in the first chunk is allocated up-front instead of on-demand. This doesn't make any meaningful difference as the area is minimal (usually less than a page, just enough to fill the alignment) on 4k allocator. Plus, dynamic area in the first chunk usually gets fully used anyway. This will allow simplification of pcpu_setpu_first_chunk() and removal of chunk->page array. [ Impact: no outside visible change other than up-front allocation of dyn area ] Signed-off-by: Tejun Heo Cc: Ingo Molnar commit d4b95f80399471e4bce5e992700ff7f06ef91f6a Author: Tejun Heo Date: Sat Jul 4 08:10:59 2009 +0900 x86,percpu: generalize 4k first chunk allocator Generalize and move x86 setup_pcpu_4k() into pcpu_4k_first_chunk(). setup_pcpu_4k() now is a simple wrapper around the generalized version. Other than taking size parameters and using arch supplied callbacks to allocate/free memory, pcpu_4k_first_chunk() is identical to the original implementation. This simplifies arch code and will help converting more archs to dynamic percpu allocator. While at it, s/pcpu_populate_pte_fn_t/pcpu_fc_populate_pte_fn_t/ for consistency. [ Impact: code reorganization and generalization ] Signed-off-by: Tejun Heo Cc: Ingo Molnar commit 788e5abc5441e9046dd91c995c6f1f75bbd144bf Author: Tejun Heo Date: Sat Jul 4 08:10:58 2009 +0900 percpu: drop @unit_size from embed first chunk allocator The only extra feature @unit_size provides is making dead space at the end of the first chunk which doesn't have any valid usecase. Drop the parameter. This will increase consistency with generalized 4k allocator. James Bottomley spotted missing conversion for the default setup_per_cpu_areas() which caused build breakage on all arcsh which use it. [ Impact: drop unused code path ] Signed-off-by: Tejun Heo Cc: James Bottomley Cc: Ingo Molnar commit 79ba6ac825fac187894e236c9df1ba5fcbf53fd3 Author: Tejun Heo Date: Sat Jul 4 08:10:58 2009 +0900 x86: make pcpu_chunk_addr_search() matching stricter The @addr passed into pcpu_chunk_addr_search() is unit0 based address and thus should be matched inside unit0 area. Currently, when it uses chunk size when determining whether the address falls in the first chunk. Addresses in unitN where N>0 shouldn't be passed in anyway, so this doesn't cause any malfunction but fix it for consistency. [ Impact: mostly cleanup ] Signed-off-by: Tejun Heo Cc: Ingo Molnar commit c43768cbb7655ea5ff782ae250f6e2ef4297cf98 Merge: 1a8dd30 746a99a Author: Tejun Heo Date: Sat Jul 4 07:13:18 2009 +0900 Merge branch 'master' into for-next Pull linus#master to merge PER_CPU_DEF_ATTRIBUTES and alpha build fix changes. As alpha in percpu tree uses 'weak' attribute instead of inline assembly, there's no need for __used attribute. Conflicts: arch/alpha/include/asm/percpu.h arch/mn10300/kernel/vmlinux.lds.S include/linux/percpu-defs.h commit b0bb3aa6233dccfccd040793d0d9ce838e4890e1 Author: Takashi Iwai Date: Fri Jul 3 23:25:37 2009 +0200 ALSA: hda - Don't override maxbps for FLOAT sharing with linear formats When FLOAT PCM format is available but together with other linear PCM formats, don't override maxbps value. For FLOAT format, it's always 32, thus it can be better checked in snd_hda_calc_stream_format(). Otherwise the maxbps 32 might be used wrongly even if the linear PCM doesn't support it. Signed-off-by: Takashi Iwai commit e488fca79fd0e864e993745ebda99e93dffebda8 Merge: 8ab9e0a aa20245 Author: Takashi Iwai Date: Fri Jul 3 15:03:35 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 6814044324e745e7c55aaf4bd47bdfd9a51d842a Author: Lopez Cruz, Misael Date: Fri Jul 3 02:21:39 2009 -0500 ASoC: TWL4030: Add tristate callbacks for HiFi and Voice Add "set_tristate" callbacks for HiFi and Voice DAIs. Machine drivers can enable and disable tristate for each DAI with "snd_soc_dai_set_tristate" function. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 1b6ebdd7bbdb3fdcab82c8056dbae0c23dbaaf4d Author: Candelaria Villareal, Jorge Date: Thu Jul 2 19:04:07 2009 -0500 ASoC: Zoom2: Update twl4030_setup_data parameters Add support for EXTMUTE in Zoom2 machine driver. This is necessary to further reduce pop noise problem. Signal EXTMUTE is connected to signal GPIO 153 in Zoom2 board. In addition, change ramp delay value to 3 (218/161/109 ms). With previous ramp delay value, pop noise was louder. With a longer value the beep tone can be observed. Signed-off-by: Jorge Eduardo Candelaria Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit ddc1637af217dbd8bc51f30e6d24e84476a869a6 Author: Li Zefan Date: Fri Jul 3 17:34:24 2009 +0800 kmemtrace: Print binary output only if 'bin' option is set Currently by default the output of kmemtrace is binary format instead of human-readable output. This patch makes the following changes: - We'll see human-readable output by default - We'll see binary output if 'bin' option is set Note: you may probably need to explicitly disable context-info binary output: # echo 0 > options/context-info # echo 1 > options/bin # cat trace_pipe v2: - use %pF to print call_site Signed-off-by: Li Zefan Acked-by: Pekka Enberg Acked-by: Eduard - Gabriel Munteanu Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A4DD0A0.5060500@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 8ab9e0af6d7709a781b60a51711ddf1d43bd22bb Author: Takashi Iwai Date: Fri Jul 3 10:58:12 2009 +0200 ALSA: hda - Manually expand alc882_init_verbs Instead of expanding alc882_init_verbs to two elements via a macro, manually expand to each entry. This makes clear that some have already the full slot for init_verbs array (currently 5). Signed-off-by: Takashi Iwai commit cb6381225a8064b0911dced3eb10f00bd5520c85 Author: Takashi Iwai Date: Fri Jul 3 10:56:10 2009 +0200 ALSA: hda - Add missing mixer amp initialization for ALC882 After merting patch_alc882() and patch_alc883(), the initialization of mixer amp 0x0b was missing in alc882_base_init_verbs[]. This is usually no critical problem, but it can disable the power-saving as the default state, so better to put to mute these channels. Signed-off-by: Takashi Iwai commit 4d09161196c9a836eacea4b36e2f217bc34894cf Author: Robin Getz Date: Wed Jul 1 21:08:37 2009 -0400 printk: Enable the use of more than one CON_BOOT (early console) Today, register_console() assumes the following usage: - The first console to register with a flag set to CON_BOOT is the one and only bootconsole. - If another register_console() is called with an additional CON_BOOT, it is silently rejected. - As soon as a console without the CON_BOOT set calls registers the bootconsole is automatically unregistered. - Once there is a "real" console - register_console() will silently reject any consoles with it's CON_BOOT flag set. In many systems (alpha, blackfin, microblaze, mips, powerpc, sh, & x86), there are early_printk implementations, which use the CON_BOOT which come out serial ports, vga, usb, & memory buffers. In many embedded systems, it would be nice to have two bootconsoles - in case the primary fails, you always have access to a backup memory buffer - but this requires at least two CON_BOOT consoles... This patch enables that functionality. With the change applied, on boot you get (if you try to re-enable a boot console after the "real" console has been registered): root:/> dmesg | grep console bootconsole [early_shadow0] enabled bootconsole [early_BFuart0] enabled Kernel command line: root=/dev/mtdblock0 rw earlyprintk=serial,uart0,57600 console=ttyBF0,57600 nmi_debug=regs console handover:boot [early_BFuart0] boot [early_shadow0] -> real [ttyBF0] Too late to register bootconsole early_shadow0 or: root:/> dmesg | grep console Kernel command line: root=/dev/mtdblock0 rw console=ttyBF0,57600 console [ttyBF0] enabled Signed-off-by: Robin Getz Cc: "Linus Torvalds" Cc: "Andrew Morton" Cc: "Mike Frysinger" Cc: "Paul Mundt" LKML-Reference: <200907012108.38030.rgetz@blackfin.uclinux.org> Signed-off-by: Ingo Molnar commit 240ebbf81f149b11a31e060ebe5ee51a3c775360 Author: Paul E. McKenney Date: Thu Jun 25 09:08:18 2009 -0700 rcu: Add synchronize_sched_expedited() rcutorture doc + updates This patch updates the rcutorture documentation to include updated output format. It also brings the RCU documentation up to date. Signed-off-by: Paul E. McKenney Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Cc: davem@davemloft.net Cc: dada1@cosmosbay.com Cc: zbr@ioremap.net Cc: jeff.chua.linux@gmail.com Cc: paulus@samba.org Cc: laijs@cn.fujitsu.com Cc: jengelh@medozas.de Cc: r000n@r000n.net Cc: benh@kernel.crashing.org Cc: mathieu.desnoyers@polymtl.ca LKML-Reference: <12459460983193-git-send-email-> Signed-off-by: Ingo Molnar commit 0acc512cb1a29636df5e982c7d845edafe77c2d0 Author: Paul E. McKenney Date: Thu Jun 25 09:08:17 2009 -0700 rcu: Add synchronize_sched_expedited() torture tests This patch adds rcutorture tests for the new synchronize_sched_expedited() primitive, and also does some whitespace cleanups in kernel/rcutorture.c as well. Signed-off-by: Paul E. McKenney Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Cc: davem@davemloft.net Cc: dada1@cosmosbay.com Cc: zbr@ioremap.net Cc: jeff.chua.linux@gmail.com Cc: paulus@samba.org Cc: laijs@cn.fujitsu.com Cc: jengelh@medozas.de Cc: r000n@r000n.net Cc: benh@kernel.crashing.org Cc: mathieu.desnoyers@polymtl.ca LKML-Reference: <12459460981342-git-send-email-> Signed-off-by: Ingo Molnar commit 03b042bf1dc14a268a3d65d38b4ec2a4261e8477 Author: Paul E. McKenney Date: Thu Jun 25 09:08:16 2009 -0700 rcu: Add synchronize_sched_expedited() primitive This adds the synchronize_sched_expedited() primitive that implements the "big hammer" expedited RCU grace periods. This primitive is placed in kernel/sched.c rather than kernel/rcupdate.c due to its need to interact closely with the migration_thread() kthread. The idea is to wake up this kthread with req->task set to NULL, in response to which the kthread reports the quiescent state resulting from the kthread having been scheduled. Because this patch needs to fallback to the slow versions of the primitives in response to some races with CPU onlining and offlining, a new synchronize_rcu_bh() primitive is added as well. Signed-off-by: Paul E. McKenney Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Cc: davem@davemloft.net Cc: dada1@cosmosbay.com Cc: zbr@ioremap.net Cc: jeff.chua.linux@gmail.com Cc: paulus@samba.org Cc: laijs@cn.fujitsu.com Cc: jengelh@medozas.de Cc: r000n@r000n.net Cc: benh@kernel.crashing.org Cc: mathieu.desnoyers@polymtl.ca LKML-Reference: <12459460982947-git-send-email-> Signed-off-by: Ingo Molnar commit ab8b9baac3f48fb3fc3d47790950c0eec134e678 Author: Eric Sandeen Date: Thu Jul 2 21:35:43 2009 -0500 un-static xfs_read_agf CONFIG_XFS_DEBUG builds still need xfs_read_agf to be non-static, oops. Signed-off-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit fd09d7facb7cf3a884979eb5f843338ce1ce9b43 Author: Sebastian Andrzej Siewior Date: Fri Jul 3 12:10:47 2009 +0800 crypto: ansi_prng - alloc cipher just in init As reported by Eric Sesterhenn the re-allocation of the cipher in reset leads to: |BUG: sleeping function called from invalid context at kernel/rwsem.c:21 |in_atomic(): 1, irqs_disabled(): 0, pid: 4926, name: modprobe |INFO: lockdep is turned off. |Pid: 4926, comm: modprobe Tainted: G M 2.6.31-rc1-22297-g5298976 #24 |Call Trace: | [] __might_sleep+0xf9/0x101 | [] down_read+0x16/0x68 | [] crypto_alg_lookup+0x16/0x34 | [] crypto_larval_lookup+0x30/0xf9 | [] crypto_alg_mod_lookup+0x1d/0x62 | [] crypto_alloc_base+0x1e/0x64 | [] reset_prng_context+0xab/0x13f | [] ? __spin_lock_init+0x27/0x51 | [] cprng_init+0x2a/0x42 | [] __crypto_alloc_tfm+0xfa/0x128 | [] crypto_alloc_base+0x33/0x64 | [] alg_test_cprng+0x30/0x1f4 | [] alg_test+0x12f/0x19f | [] ? __alloc_pages_nodemask+0x14d/0x481 | [] do_test+0xf9d/0x163f [tcrypt] | [] do_test+0x3a1/0x163f [tcrypt] | [] tcrypt_mod_init+0x35/0x7c [tcrypt] | [] _stext+0x54/0x12c | [] ? tcrypt_mod_init+0x0/0x7c [tcrypt] | [] ? up_read+0x16/0x2b | [] ? __blocking_notifier_call_chain+0x40/0x4c | [] sys_init_module+0xa9/0x1bf | [] sysenter_do_call+0x12/0x32 because a spin lock is held and crypto_alloc_base() may sleep. There is no reason to re-allocate the cipher, the state is resetted in ->setkey(). This patches makes the cipher allocation a one time thing and moves it to init. Reported-by: Eric Sesterhenn Signed-off-by: Sebastian Andrzej Siewior Acked-by: Neil Horman Signed-off-by: Herbert Xu commit ed94070058033a3c99fe62c90d00c39dc443c679 Author: Sebastian Andrzej Siewior Date: Fri Jul 3 12:09:41 2009 +0800 crypto: ansi_prng - Use just a BH lock The current code uses a mix of sping_lock() & spin_lock_irqsave(). This can lead to deadlock with the correct timming & cprng_get_random() + cprng_reset() sequence. I've converted them to bottom half locks since all three user grab just a BH lock so this runs probably in softirq :) Signed-off-by: Sebastian Andrzej Siewior Acked-by: Neil Horman Signed-off-by: Herbert Xu commit c2b455474e4c6bc8bab6506e2a08dbd5ad50d74d Author: Alessandro Rubini Date: Thu Jul 2 15:29:53 2009 +0100 [ARM] 5588/1: nomadik: add defconfig for nhk8815 Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit 0b260fd4b0eb7c90f9258bfa6317ae553319b5da Author: Alessandro Rubini Date: Thu Jul 2 15:29:43 2009 +0100 [ARM] 5587/1: nomadik: add l2cc Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit 725b1f9d86822246e5a1237bf97d2783857d8a3a Author: Alessandro Rubini Date: Thu Jul 2 15:29:32 2009 +0100 [ARM] 5586/1: nomadik board: added ethernet Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit 63796b740b888b396eb0cc78917d755693cc224c Author: Alessandro Rubini Date: Thu Jul 2 15:29:22 2009 +0100 [ARM] 5585/1: nomadik: add gpio-i2c devices Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit 2ec1d3594563e0283873e24bb5d100dffee5d568 Author: Alessandro Rubini Date: Thu Jul 2 15:29:12 2009 +0100 [ARM] 5584/1: nomadik: add gpio driver and devices Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit 28ad94ec61dc60207dbffdb95ff870c617fbb832 Author: Alessandro Rubini Date: Thu Jul 2 19:06:47 2009 +0100 [ARM] 5590/1: Add basic support for ST Nomadik 8815 SoC and evaluation board This patch adds the basic infrastructure for the Nomadik 8815 CPU and the "Nomadik Hardware Kit" NHK8815. This patch only includes the serial console and core stuff, no drivers. Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit 8c81b52422147b4b09f5adb8d0c6963342a336c6 Author: Alessandro Rubini Date: Thu Jul 2 15:28:52 2009 +0100 [ARM] 5583/1: VIC: acknowledge software interrupts The PrimeCell Vectored Interrupt Controller offers a way to trigger any interrupt through software. This is a useful tool for developing, but such software interrupt can only be acked by writing a bit in the "software clear" register, or the handler will loop forever. This splits ack from mask, and acks the soft irq in case it was the source. Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Acked-by: Linus Walleij Signed-off-by: Russell King commit 87e8824b4588076409692b82ef4b1d98f25cd400 Author: Alessandro Rubini Date: Thu Jul 2 15:28:41 2009 +0100 [ARM] 5582/1: VIC: support ST-modified version with a split init The Nomadik SoC (not yet merged) has a modified PL090 VIC cell. This adds support for it by reading the PrimeCell ID at the end of the page and calling a separate init function. Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit b319ff80852e823c3a18778c839151784990f80b Author: Nicolas Ferre Date: Fri Jun 26 15:37:01 2009 +0100 [ARM] 5570/1: at91: Support for at91sam9g10: core chip & board support From: Hong Xu Here are the modification to at91sam9261 files dedicated to the support of at91sam9g10. This direction has been adopted to minimize code duplication. All at91sam9261 drivers are enabled in _devices and board- files. Modificaton to peripherals that support at91sam9g10 will be added in future patches. Signed-off-by: Hong Xu Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit b784b7c03723891876c9053c589150a4062f9455 Author: Nicolas Ferre Date: Fri Jun 26 15:36:59 2009 +0100 [ARM] 5568/1: at91: Basic support for at91sam9g10: header files From: Hong Xu AT91sam9g10 is an ARM 926ej-s SOC. It is an evolution of the at91sam9261 with a faster clock speed: 266/133MHz. Here is the basic header file support for this product. Signed-off-by: Hong Xu Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit eab4170865cce9b8898a813b7e8024de857a01da Author: Nicolas Ferre Date: Fri Jun 26 15:37:00 2009 +0100 [ARM] 5567/1: at91: Support for at91sam9g10: clocks management From: Hong Xu Add the at91sam9g10 support to the AT91 generic clock file. It takes advantage of the management by functionalities of those PLLs and clocks. Signed-off-by: Hong Xu Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit 4e49ffd10f01950bd81e8ef368a1ffb484a7d759 Author: Candelaria Villareal, Jorge Date: Wed Jul 1 19:17:43 2009 -0500 ASoC: TWL4030: Add EXTMUTE to reduce pop-noise effect According to TRM, an external FET controlled by a 1.8V output signal can be used to reduce the pop-noise heard when the audio amplifier is switched on. It is suggested that GPIO6 of TWL4030 be used, but any other gpio can be used instead. This is indicated in machine driver with the following twl4030_setup_data members: -hs_extmute. Set to 1 if board has support for EXTMUTE. -set_hs_extmute. Set to a callback funcion to control an external gpio line. Set to NULL if MUTE[GPIO6] pin is used. Codec driver takes care of enabling and disabling this output during the headset pop attenuation sequence. Also add a delay to let VMID settle in ramp up sequence. Signed-off-by: Jorge Eduardo Candelaria Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit a68f6610d4f1ebe61818f5926fa8fa9e75d06a95 Author: Herbert Xu Date: Thu Jul 2 16:32:12 2009 +0800 crypto: testmgr - Allow implementation-specific tests This patch adds the support for testing specific implementations. This should only be used in very specific situations. Right now this means specific implementations of random number generators. Signed-off-by: Herbert Xu commit cd775387244e379ef9b284f9b6aff6ee069f4d12 Author: Takashi Iwai Date: Thu Jul 2 10:28:56 2009 +0200 ALSA: ice1724 - Fix section mismatch Now snd_vt1724_chip_reset() is used in the resume callback, thus it cannot be __devinit. Signed-off-by: Takashi Iwai commit 370f048214b4e9aa2102fa3c454ae1374da287c5 Author: Eric Sandeen Date: Thu Jul 2 00:09:33 2009 -0500 xfs: add more statics & drop some unused functions A lot more functions could be made static, but they need forward declarations; this does some easy ones, and also found a few unused functions in the process. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit 2115d2c17369df4b70fd161623a40ce98c261989 Merge: 1dcf98f da9ff1f Author: Mark Brown Date: Wed Jul 1 21:45:47 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit 1dcf98ff8e2a4571a2accb852686023b47ca629a Author: Mark Brown Date: Wed Jul 1 18:28:54 2009 +0100 ASoC: Add WM8523 CODEC driver The WM8523 is a high performance stereo DAC with integral charge pump providing 2Vrms line driver outputs using a single 3.3V power supply rail. Signed-off-by: Mark Brown commit e5f1424807f4fa7aeddc376575e3b413c71c6fe1 Author: Takashi Iwai Date: Wed Jul 1 18:11:44 2009 +0200 ALSA: hda - Add Cirrus Logic CS420x support Signed-off-by: Takashi Iwai commit c78578693376e68ecdfcb64a3cc3a95a31b49295 Merge: b5025c5 ff84847 Author: Takashi Iwai Date: Wed Jul 1 18:09:15 2009 +0200 Merge branch 'fix/hda' into topic/hda commit b5025c50b5e817b3e509ad7e569f131b80d7c223 Author: Takashi Iwai Date: Wed Jul 1 18:05:27 2009 +0200 ALSA: hda - Allow FLOAT PCM format So far, the FLOAT PCM format is used only exclusivley set. But this can be a combination with other formats. This patch changes the parser to allow the FLOAT format in addition to other PCM formats. Signed-off-by: Takashi Iwai commit 020e5f85cb087a40572c8b8b2dd06292a14fa212 Author: Li Zefan Date: Wed Jul 1 10:47:05 2009 +0800 tracing/events: Add trace_event boot option We already have ftrace= boot option, and this adds a similar boot option for trace events, so allow trace events to be enabled at boot, for boot debugging purpose. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A4ACE29.3010407@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c5cb5a2d8d7dc872cf1504091ad0e59fe5ff7cb5 Author: Masami Hiramatsu Date: Tue Jun 30 17:08:14 2009 -0400 kprobes: Clean up insn_pages by using list instead of hlist Use struct list instead of struct hlist for managing insn_pages, because insn_pages doesn't use hash table. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli LKML-Reference: <20090630210814.17851.64651.stgit@localhost.localdomain> Signed-off-by: Ingo Molnar commit 8a123ee2a46daa5c1b6f24eb3b004a5156244889 Author: Mark Brown Date: Tue Jun 30 21:10:34 2009 +0100 ASoC: WM8974 DAPM cleanups Also implement AUX mode control. Signed-off-by: Mark Brown commit 8b83a19367dc3bdfef07634646bbad90f6cba898 Author: Mark Brown Date: Tue Jun 30 19:37:02 2009 +0100 ASoC: WM8974 cosmetic cleanups Signed-off-by: Mark Brown commit cb11d39ead79e5bc8ca42de86b9df8dec8b88681 Author: Mark Brown Date: Tue Jun 30 19:36:39 2009 +0100 ASoC: Use symmetric rates for WM8974 The chip has a single LRCLK. Signed-off-by: Mark Brown commit a5f8d2f1b83d47b09ff7b587b9402c449e1e18d5 Author: Mark Brown Date: Tue Jun 30 19:30:33 2009 +0100 ASoC: Add WM8974 TLV information Signed-off-by: Mark Brown commit 91d0c3ecbaf6616c0723d7aad9b6dadad2dea43f Author: Mark Brown Date: Tue Jun 30 19:02:32 2009 +0100 ASoC: Refresh WM8974 PLL configuration Move away from a fixed table to runtime calculation. Signed-off-by: Mark Brown commit 33d81af4d12fc8863247abba1c1d706b462e89d0 Author: Mark Brown Date: Tue Jun 30 19:01:52 2009 +0100 ASoC: Declare 2 channels for WM8974 The device is a mono device but it can read two channel data and many I2S controllers only understand 2 channels. Signed-off-by: Mark Brown commit df1ef7a38db21a92239c775a28f0c69124c9b454 Author: Mark Brown Date: Tue Jun 30 19:01:09 2009 +0100 ASoC: Refresh WM8974 bias configuration Signed-off-by: Mark Brown commit 416356fcfad46bdebcf8e2afdb94919401ff99d3 Author: Mark Brown Date: Tue Jun 30 19:05:15 2009 +0100 ASoC: Convert to dev_pm_ops Signed-off-by: Mark Brown commit 0d971c9fcf06d22663040570c3cfe08b137c4b2f Author: Takashi Iwai Date: Tue Jun 30 16:11:11 2009 +0200 ALSA: hda - Fix input pinctl for ALC882 auto mode alc882_auto_init_analog_input() sets the input pins to VREF-80 regardless of the input pin types although it shouldn't be for line-in pins. This patch fixes the behavior to follow other codecs. Signed-off-by: Takashi Iwai commit 4953550a6ca399b644ef057626617465d8be9a7b Author: Takashi Iwai Date: Tue Jun 30 15:28:30 2009 +0200 ALSA: hda - Merge patch_alc882() and patch_alc883() Merge patch_alc882() and patch_alc883() to the former one since both codecs have fairly similar connections but just a slight difference. Signed-off-by: Takashi Iwai commit b9791ca013cfe344052455e9c8336e39d133c654 Merge: 546861f 1e7b8c8 Author: Takashi Iwai Date: Tue Jun 30 15:29:38 2009 +0200 Merge branch 'topic/hda-patch' into topic/hda commit 546861f1d3372d69d22e6624f51227d7d10c83f4 Merge: a983b9e 1d955eb Author: Takashi Iwai Date: Tue Jun 30 15:12:11 2009 +0200 Merge branch 'fix/hda' into topic/hda commit ac7242142b03421c96b0a2f8d99f146d075614c2 Merge: 89c8657 2bfdd79 Author: James Morris Date: Tue Jun 30 09:10:35 2009 +1000 Merge branch 'master' into next commit 9ea21ebca1a1c4caf3bdaecb0879034107cac1e9 Author: Mark Brown Date: Mon Jun 29 16:29:06 2009 +0100 ASoC: Fix WM8961 suspend function type Signed-off-by: Mark Brown commit 372a14a4a4db18751cd092aa3fe2a58216a8fc2f Author: Mark Brown Date: Mon Jun 29 14:56:01 2009 +0100 ASoC: Remove unreferenced wm8974_add_controls() Signed-off-by: Mark Brown commit 1a8dd307cc0a2119be4e578c517795464e6dabba Author: Tejun Heo Date: Mon Jun 29 17:45:39 2009 +0900 percpu: use __weak only in the definition of weak percpu variables __weak is necessary only for definition and might even not work in declaration. Drop it from declaration. This change was suggested by Ivan Kokshaysky. Signed-off-by: Tejun Heo Acked-by: Ivan Kokshaysky commit 54d35f29f49224d86b994acb6e5969b9ba09022d Author: Hitoshi Mitake Date: Mon Jun 29 14:44:57 2009 +0900 sched: Hide runqueues from direct reference at source code level for __raw_get_cpu_var() Hide __raw_get_cpu_var() as well - thus all the direct references to runqueues will abstracted out. Signed-off-by: Hitoshi Mitake LKML-Reference: <20090629.144457.886429910353660979.mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 348b346b238d9c0e5694c8d0b835a099cb383835 Merge: 6c697bd 5298976 Author: Ingo Molnar Date: Mon Jun 29 09:16:13 2009 +0200 Merge branch 'linus' into sched/core Merge reason: we will merge a dependent patch. Signed-off-by: Ingo Molnar commit 666cbe342622c959ad95515918a1c1f8210c93f2 Author: David Brownell Date: Sun Jun 28 23:50:08 2009 -0700 Input: dm355evm_keys - use threaded IRQs Convert the dm355evm keys driver to use IRQ threading instead of a private workqueue. IRQ threads were added to Linux after this driver was written, and in this case fit what the driver needs. (Although the non-shared thread costs more runtime memory.) Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit a983b9e5000e4b54b1f05297046dbb7375e9de5f Merge: b7b5114 c912e7a Author: Takashi Iwai Date: Mon Jun 29 08:51:09 2009 +0200 Merge branch 'fix/hda-samsung-p50' into topic/hda commit b7b51141b4fb6f9059a20c03dd2a5bf77c466c7e Author: Takashi Iwai Date: Mon Jun 29 08:34:06 2009 +0200 ALSA: hda - Check "beep" hint Check the hint "beep" in snd_hda_attach_beep_device() to avoid the beep device creation if user doesn't want. Signed-off-by: Takashi Iwai commit 74a0094cd9d030d7a684e6ce1cbd1658eb63bd7d Author: Ondrej Zary Date: Sat Jun 27 16:26:35 2009 +0200 ALSA: cmi8330: revert comments about AD1848 back In ALSA 1.0.20, the comments were changed to say CMI8330 instead of AD1848. The CMI8330 chip includes two codecs - AD1848 and SB16, so the comments were correct and are misleading now. Revert them back. Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit 565b0c1f100408ccbcb04ba458a14da454cb271d Author: Figo.zhang Date: Mon Jun 29 12:02:55 2009 +0800 x86, highmem_32.c: Clean up comment Signed-off-by: Figo.zhang Cc: Andrew Morton LKML-Reference: <1246248175.5759.12.camel@myhost> Signed-off-by: Ingo Molnar commit ce0c0f9eec2f377055e8b23c6fa192202381e022 Author: Figo.zhang Date: Sun Jun 28 18:07:39 2009 +0800 x86, pgtable.h: Clean up types Use "unsigned long" consistently, not "unsigned". Signed-off-by: Figo.zhang LKML-Reference: <1246183659.2530.4.camel@myhost> Signed-off-by: Ingo Molnar commit 087975b06b00af9bf888fab6f94ae113c5cd80bd Author: Akinobu Mita Date: Sat Jun 27 15:35:15 2009 +0900 x86: Clean up dump_pagetable() Use pgtable access helpers for 32-bit version dump_pagetable() and get rid of __typeof__() operators. This needs to make pmd_pfn() available for 2-level pgtable. Also, remove some casts for 64-bit version dump_pagetable(). Signed-off-by: Akinobu Mita LKML-Reference: <20090627063514.GA2834@localhost.localdomain> Signed-off-by: Ingo Molnar commit 789b23bc40a67d9a19bedc2655c6bcab79bcabd8 Author: Nicolas Ferre Date: Fri Jun 26 15:36:58 2009 +0100 [ARM] 5572/1: at91: Support for at91sam9g45 series: core chip & board support Here are the at91 specific files dedicated to the at91sam9g45 series. They mimic the traditional at91 way of managing chips & boards. The first board that embeds at91sam9g45 chip is the AT91SAM9G45-EKES. In the future, the main board for this 9g45 series will be the AT91SAM9M10G45-EK (I choose this last name for the board file). Simple drivers are enabled in _devices and board- files. Newer peripheral support will be added in future patches. Incuded peripherals support (for now): - USART - SPI - Ethernet - NAND flash - LCD - gpio/joystick/buttons - leds and pwm Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit fddcc0ae58edefeb7ac1e460411d7dfbe8ebdacc Author: Nicolas Ferre Date: Fri Jun 26 15:36:56 2009 +0100 [ARM] 5571/1: at91: Basic support for at91sam9g45 series: header files. AT91sam9g45 series is an ARM 926ej-s SOC family clocked at 400/133MHz. It embedds USB high speed host and device, LCD, DDR2 RAM, and a full set of peripherals. Here is the basic header file support for this product series. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit 2ef9df7ada6b6dd53446a994ef6e3a6ad5a300ef Author: Nicolas Ferre Date: Fri Jun 26 15:36:57 2009 +0100 [ARM] 5569/1: at91: Support for at91sam9g45: clocks management Add the at91sam9g45 series support to the AT91 generic clock file. This takes care of the particularities of the PMC for this series. It also takes advantage of the management by functionalities of those PLLs and clocks. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit 7c6425a0404399ba78852ef4108007ecf51ef3dc Author: Ryan Mallon Date: Wed Jun 24 23:15:23 2009 +0100 [ARM] 5566/1: Remove at91_gpiolib_request Remove at91_gpiolib_request. It returns -EPERM if a request pin is not in GPIO mode, however we want to be able to gpio_request alternative function pins to reserve them, and in some cases we need to be able to use the gpiolib functions on alternative function pins. Signed-off-by: Ryan Mallon Acked-by: David Brownell Signed-off-by: Russell King commit 226ddb9833a3c2f1087bfac70659d8e318d3c31f Author: Nicolas Ferre Date: Wed Jun 24 17:13:47 2009 +0100 [ARM] 5564/1: at91: add gpio button and leds support for at91sam9rlek This adds input keyboard gpio support on at91sam9rlek board. It adds button 1 and 2 (left and right click). It also adds gpio leds ds1, ds2 and ds3. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit f04989bbf4a40077dc7ddcc3dccde11a5f3e91f2 Author: Hartley Sweeten Date: Fri Jun 26 21:40:34 2009 +0100 [ARM] 5575/1: ep93xx: Show gpio interrupt type in debugfs output. ep93xx: Show gpio interrupt type in debugfs output. EP93xx uses a private implementation for the debugfs output. Modify this output so it includes the interrupt type when the gpio is configured as an interrupt Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit ddf4f3d994651ee2924432a618d9caefed411dc1 Author: Hartley Sweeten Date: Fri Jun 26 21:39:27 2009 +0100 [ARM] 5574/1: ep93xx: gpio.c: fix header includes and __iomem pointers Fix ep93xx gpio.c header includes and __iomem pointers. 1. should be included instead of 2. should be included instead of 3. data_reg and data_dir_reg in struct ep93xx_gpio_chip should be void __iomem pointers not unsigned int Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 702b59e623c3ca80beaeab79ca5ede4ea23170e2 Author: Hartley Sweeten Date: Fri Jun 26 21:36:36 2009 +0100 [ARM] 5573/1: ep93xx: ensure typesafe io ARM: ep93xx: ensure typesafe io For the ep93xx platform, all EP93XX_*_BASE defines are based on virtual addresses. Ensure that all these defines are properly typesafe for the __raw_{read/write}* macros. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 2495fbf7effa6868f5d74124ae9b22a57980755b Author: H. Peter Anvin Date: Fri Jun 26 10:53:57 2009 -0700 x86, setup: remove obsolete pre-Kconfig CONFIG_VIDEO_ variables There were a set of pre-Kconfig configuration variables defined in the video code. There is absolutely no evidence that they have been tweaked by anybody in modern history, so just get rid of them and hope nobody notices. If someone does complain, these should be made real Kconfig variables. Reported-by: Robert P. J. Day Signed-off-by: H. Peter Anvin commit c2caa4da46a41899b29f90ec30ef3ba86665b334 Author: Mark Brown Date: Fri Jun 26 15:36:56 2009 +0100 ASoC: Fix widget powerdown on shutdown We need to set the widget power state we want to implement. Signed-off-by: Mark Brown commit e3c7dbb07cde886ba97f183c4cc98a2a99b46eaa Author: Lopez Cruz, Misael Date: Thu Jun 25 12:36:14 2009 -0500 ASoC: Remove word "Switch" from Handsfree switch name SoC dapm adds the suffix "Switch" to SND_SOC_DAPM_SWITCH controls, removing word "Switch" from HandsfreeL/HandsfreeR widget name for avoiding to duplicate it. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 55dba52458a11126ff4445b5b94ebde03afcf47a Author: Jiri Kosina Date: Fri Jun 26 10:50:12 2009 +0200 HID: fix memory leak on error path in debug code If hid_get_report() fails, we forgot to free the already allocated buffer for debugging messages on error path. Fix that up. Signed-off-by: Jiri Kosina commit 38b7f49a0654cb52cac61c6455807248eee3059d Author: Jiri Kosina Date: Fri Jun 26 10:48:34 2009 +0200 HID: fix debugfs build with !CONFIG_DEBUG_FS Fix the debug function prototypes to be correct even in the !CONFIG_DEBUG_FS case. Reported-by: Stephen Rothwell Signed-off-by: Jiri Kosina commit 647613e97fa46f6c25cf38b0f2fa81eba5f278d4 Author: Atsushi Nemoto Date: Thu Jun 25 22:36:58 2009 +0900 ASoC: txx9aclc: dynamically allocate dmaengine devname Use kasprintf to allocate temporary devname string instead of a fixed size string. This fixes "FIXME" introduced on removal of BUS_ID_SIZE. Signed-off-by: Atsushi Nemoto Signed-off-by: Mark Brown commit 62b1653e29d8f359c4c7e045b965dc963459473d Merge: 10121a1 d5fc3b5 Author: Takashi Iwai Date: Thu Jun 25 15:28:39 2009 +0200 Merge branch 'for-2.6.32' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc commit d5fc3b5fe374f24b6773c22e90ef4bdda718b845 Merge: e2f551d dd5e8e6 Author: Mark Brown Date: Thu Jun 25 13:58:37 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit e2f551dacbdff8e40365a989ab66104b03316f4d Author: Mark Brown Date: Thu Jun 25 13:57:59 2009 +0100 ASoC: Add core suspend and resume callbacks to WM8961 Signed-off-by: Mark Brown commit 0b67fb65d1b2ba1396de69112b8b9bc95d8d5feb Author: Herbert Xu Date: Thu Jun 25 18:43:48 2009 +0800 crypto: skcipher - Change default sync geniv on SMP to eseqiv As it stands we use chainiv for sync algorithms and eseqiv for async algorithms. However, when there is more than one CPU chainiv forces all processing to be serialised which is usually not what you want. Also, the added overhead of eseqiv isn't that great. Therefore this patch changes the default sync geniv on SMP machines to eseqiv. For the odd situation where the overhead is unacceptable then chainiv is still available as an option. Note that on UP machines chainiv is still preferred over eseqiv for sync algorithms. Signed-off-by: Herbert Xu commit b40e9538124fc9b9333e3eea0fc514da4a185dae Author: Igor Chernyshev Date: Thu Jun 25 09:31:07 2009 +0200 ALSA: ice1724 - Patch for suspend/resume for Audiotrak Prodigy HD2 I've built a small HTPC and had to add suspend/resume support in ice1724 driver. There seem to be 3 existing bugs related to that: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4413 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3748 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2314 Due to hardware (un)availability, I only enabled the fix for Audiotrak Prodigy HD2 card, which is installed in my HTPC. However, most of my code should be reusable in the future on other ice1724-based cards as well (as long as people add card-specific peices of code). The fix is currently based on ALSA 1.0.20 and works on my MythBuntu 9.04 HTPC (using 2.6.28-11 kernel). Signed-off-by: Igor Chernyshev Signed-off-by: Takashi Iwai commit 435578aeaad5859dda8657e3ed2c1a5bc1e524ec Author: Herbert Xu Date: Thu Jun 25 14:46:31 2009 +0800 crypto: skcipher - Fix request for sync algorithms When a sync givcipher algorithm is requested, if an async version of the same algorithm already exists, then we will loop forever without ever constructing the sync version based on a blkcipher. This is because we did not include the requested type/mask when getting a larval for the geniv algorithm that is to be constructed. Signed-off-by: Herbert Xu commit 409a736336b560798f84d71ad6477c8fad20b523 Author: Joe Perches Date: Thu Jun 25 13:50:53 2009 +0800 hwrng: Use PCI_VDEVICE Signed-off-by: Joe Perches Acked-by: Matt Mackall Signed-off-by: Herbert Xu commit 89c86576ecde504da1eeb4f4882b2189ac2f9c4a Author: Thomas Liu Date: Wed Jun 24 17:58:05 2009 -0400 selinux: clean up avc node cache when disabling selinux Added a call to free the avc_node_cache when inside selinux_disable because it should not waste resources allocated during avc_init if SELinux is disabled and the cache will never be used. Signed-off-by: Thomas Liu Acked-by: Eric Paris Signed-off-by: James Morris commit a893a84e8799270fbec5c3708d001650aab47138 Author: Oleg Nesterov Date: Tue Jun 23 21:25:32 2009 +0200 mm_for_maps: simplify, use ptrace_may_access() It would be nice to kill __ptrace_may_access(). It requires task_lock(), but this lock is only needed to read mm->flags in the middle. Convert mm_for_maps() to use ptrace_may_access(), this also simplifies the code a little bit. Also, we do not need to take ->mmap_sem in advance. In fact I think mm_for_maps() should not play with ->mmap_sem at all, the caller should take this lock. With or without this patch, without ->cred_guard_mutex held we can race with exec() and get the new ->mm but check old creds. Signed-off-by: Oleg Nesterov Reviewed-by: Serge Hallyn Signed-off-by: James Morris commit 9e48858f7d36a6a3849f1d1b40c3bf5624b4ee7c Author: Ingo Molnar Date: Thu May 7 19:26:19 2009 +1000 security: rename ptrace_may_access => ptrace_access_check The ->ptrace_may_access() methods are named confusingly - the real ptrace_may_access() returns a bool, while these security checks have a retval convention. Rename it to ptrace_access_check, to reduce the confusion factor. [ Impact: cleanup, no code changed ] Signed-off-by: Ingo Molnar Signed-off-by: James Morris commit 86abcf9cebf7b5ceb33facde297face5ec4d2260 Author: James Morris Date: Thu Jun 18 22:00:05 2009 +1000 keys: annotate seqfile ops with __releases and __acquires Annotate seqfile ops with __releases and __acquires to stop sparse complaining about unbalanced locking. Signed-off-by: James Morris Reviewed-by: Serge Hallyn commit c17ef45342cc033fdf7bdd5b28615e0090f8d2e7 Author: Paul E. McKenney Date: Tue Jun 23 17:12:47 2009 -0700 rcu: Remove Classic RCU Remove Classic RCU, given that the combination of Tree RCU and the proposed Bloatwatch RCU do everything that Classic RCU can with fewer bugs. Tree RCU has been default in x86 builds for almost six months, and seems to be quite reliable, so there does not seem to be much justification for keeping the Classic RCU code and config complexity around anymore. Signed-off-by: Paul E. McKenney Cc: akpm@linux-foundation.org Cc: niv@us.ibm.com Cc: dvhltc@us.ibm.com Cc: dipankar@in.ibm.com Cc: dhowells@redhat.com Cc: lethal@linux-sh.org Cc: kernel@wantstofly.org Signed-off-by: Ingo Molnar commit 1e7b8c87cb53d9a14f1a9ef35eed739f68851f5c Author: Takashi Iwai Date: Wed Jun 17 17:30:54 2009 +0200 ALSA: hda - More description about patch module option Signed-off-by: Takashi Iwai commit 768248256339da88d65088c8beffe1a3dcd9f1ca Author: Takashi Iwai Date: Wed Jun 17 17:17:18 2009 +0200 ALSA: hda - Add description about patch loading Signed-off-by: Takashi Iwai commit 4ea6fbc8eb23c3ae5fd2fb55a340ab85c8649bce Author: Takashi Iwai Date: Wed Jun 17 09:52:54 2009 +0200 ALSA: hda - Add patch module option Added the patch module option to apply a "patch" as a firmware to modify pin configurations or give additional hints to the driver before actually initializing and configuring the codec. This can be used as a workaround when the BIOS doesn't give sufficient information or give wrong information that doesn't match with the real hardware setup, until it's fixed statically in the driver via a quirk. Signed-off-by: Takashi Iwai commit a1e21c9078fb8005e5accb921696ec9e2f38176e Author: Takashi Iwai Date: Wed Jun 17 09:33:52 2009 +0200 ALSA: hda - Don't call snd_hda_codec_configure in snd_hda_codec_new() The codec setup call via snd_hda_codec_configure() isn't necessarily called in snd_hda_codec_new(). For the later added feature, it's better to change the code flow like: - create all codec instances - configure each codec Signed-off-by: Takashi Iwai commit bf4bb2b1f285ec56e7f3cbf0190761b42131871c Author: Tejun Heo Date: Wed Jun 24 16:57:03 2009 +0900 sparc64: fix build breakage introduced by percpu-convert-most patchset Commit e74e396204bfcb67570ba4517b08f5918e69afea incorrectly added HAVE_LEGACY_PER_CPU_AREA to sparc64 although it already has been converted to dynamic percpu allocator. Drop both HAVE_{LEGACY|DYNAMIC}_PER_CPU_AREA. Signed-off-by: Tejun Heo Acked-by: David Miller commit 9a0ef2923abd2cc2c6f78d3663ac7af34c0220e8 Author: Tejun Heo Date: Wed Jun 24 15:13:53 2009 +0900 s390: switch to dynamic percpu allocator 64bit s390 shares the same problem with alpha regarding percpu symbol addressing from modules. It needs assembly magic to force GOTENT reference when building module as the percpu address will be outside the usual 4G range from the module text. This can be solved by using weak percpu variable definitions. This patch makes s390 use weak definitions and switch to dynamic percpu allocator. Please note that weak attribute is not added if !SMP as percpu variables behave exactly the same as normal variables on UP. Compile tested. Generation of GOTENT reference verified. This patch is based on Ivan Kokshaysky's alpha percpu patch. [ Impact: use dynamic percpu allocator ] Signed-off-by: Tejun Heo Cc: Martin Schwidefsky Cc: Heiko Carstens commit 9b7dbc7dc0365a943af2d73b1376a6f0aac5dc0d Author: Tejun Heo Date: Wed Jun 24 15:13:52 2009 +0900 alpha: switch to dynamic percpu allocator Alpha implements custom SHIFT_PERCPU_PTR for modules because percpu area can be located far away from the 4G area where the module text is located. The custom SHIFT_PERCPU_PTR forces GOT usage using ldq instruction with literal relocation; however, the relocation can't be used with dynamically allocated percpu variables. Fortunately, similar result can be achieved by using weak percpu variable definitions. This patch makes alpha use weak definitions and switch to dynamic percpu allocator. asm/tlbflush.h was getting linux/sched.h via asm/percpu.h which no longer needs it. Include linux/sched.h directly in asm/tlbflush.h. Compile tested. Generation of litereal relocation verified. This patch is based on Ivan Kokshaysky's alpha percpu patch. [ Impact: use dynamic percpu allocator ] Signed-off-by: Tejun Heo Acked-by: Ivan Kokshaysky Cc: Richard Henderson commit 6088464cf1ae9fb3d2ccc0ec5feb3f5b971098d8 Author: Tejun Heo Date: Wed Jun 24 15:13:52 2009 +0900 alpha: kill unnecessary __used attribute in PER_CPU_ATTRIBUTES With the previous percpu variable definition change, all percpu variables are global and there's no need to specify __used, which only triggers on recent compilers anyway. Kill it. [ Impact: remove unnecessary percpu attribute ] Signed-off-by: Tejun Heo Cc: Ivan Kokshaysky Cc: Richard Henderson commit 7c756e6e19e71f0327760d8955f7077118ebb2b1 Author: Tejun Heo Date: Wed Jun 24 15:13:50 2009 +0900 percpu: implement optional weak percpu definitions Some archs (alpha and s390) need to use weak definitions for percpu variables in modules so that the compiler generates external references for them. This patch implements weak percpu definitions which arch can enable by defining ARCH_NEEDS_WEAK_PER_CPU in arch percpu header file. This weak definition adds the following two restrictions on percpu variable definitions. 1. percpu symbols must be unique whether static or not 2. percpu variables can't be defined inside a function To ensure that these restrictions are observed in generic code, config option DEBUG_FORCE_WEAK_PER_CPU enables weak percpu definitions for all cases. This patch is inspired by Ivan Kokshaysky's alpha percpu patch. [ Impact: stricter rules for percpu variables, one more debug config option ] Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: David Howells Cc: Ivan Kokshaysky commit 245b2e70eabd797932adb263a65da0bab3711753 Author: Tejun Heo Date: Wed Jun 24 15:13:48 2009 +0900 percpu: clean up percpu variable definitions Percpu variable definition is about to be updated such that all percpu symbols including the static ones must be unique. Update percpu variable definitions accordingly. * as,cfq: rename ioc_count uniquely * cpufreq: rename cpu_dbs_info uniquely * xen: move nesting_count out of xen_evtchn_do_upcall() and rename it * mm: move ratelimits out of balance_dirty_pages_ratelimited_nr() and rename it * ipv4,6: rename cookie_scratch uniquely * x86 perf_counter: rename prev_left to pmc_prev_left, irq_entry to pmc_irq_entry and nmi_entry to pmc_nmi_entry * perf_counter: rename disable_count to perf_disable_count * ftrace: rename test_event_disable to ftrace_test_event_disable * kmemleak: rename test_pointer to kmemleak_test_pointer * mce: rename next_interval to mce_next_interval [ Impact: percpu usage cleanups, no duplicate static percpu var names ] Signed-off-by: Tejun Heo Reviewed-by: Christoph Lameter Cc: Ivan Kokshaysky Cc: Jens Axboe Cc: Dave Jones Cc: Jeremy Fitzhardinge Cc: linux-mm Cc: David S. Miller Cc: Peter Zijlstra Cc: Steven Rostedt Cc: Li Zefan Cc: Catalin Marinas Cc: Andi Kleen commit b9bf3121af348d9255f1c917830fe8c2df52efcb Author: Tejun Heo Date: Wed Jun 24 15:13:47 2009 +0900 percpu: use DEFINE_PER_CPU_SHARED_ALIGNED() There are a few places where ___cacheline_aligned* is used with DEFINE_PER_CPU(). Use DEFINE_PER_CPU_SHARED_ALIGNED() instead. DEFINE_PER_CPU_SHARED_ALIGNED() applies alignment only on SMPs. While all other converted places used _in_smp variant or only get compiled for SMP, net/rds used unconditional ____cacheline_aligned. I don't see any reason these data structures should be aligned on UP and thus converted together. Signed-off-by: Tejun Heo Cc: Mike Frysinger Cc: Tony Luck Cc: Andy Grover commit 204fba4aa303ea4a7bb726a539bf4a5b9e3203d0 Author: Tejun Heo Date: Wed Jun 24 15:13:45 2009 +0900 percpu: cleanup percpu array definitions Currently, the following three different ways to define percpu arrays are in use. 1. DEFINE_PER_CPU(elem_type[array_len], array_name); 2. DEFINE_PER_CPU(elem_type, array_name[array_len]); 3. DEFINE_PER_CPU(elem_type, array_name)[array_len]; Unify to #1 which correctly separates the roles of the two parameters and thus allows more flexibility in the way percpu variables are defined. [ Impact: cleanup ] Signed-off-by: Tejun Heo Reviewed-by: Christoph Lameter Cc: Ingo Molnar Cc: Tony Luck Cc: Benjamin Herrenschmidt Cc: Thomas Gleixner Cc: Jeremy Fitzhardinge Cc: linux-mm@kvack.org Cc: Christoph Lameter Cc: David S. Miller commit fe87f94f341a4b4097285b46f003059b26eb59bf Author: Jesper Nilsson Date: Wed Jun 24 15:13:41 2009 +0900 CRIS: Change DEFINE_PER_CPU of current_pgd to be non volatile. The DEFINE_PER_CPU of current_pgd was on CRIS defined using volatile, which is not needed. Remove volatile. Tested on an ARTPEC-3 (CRISv32) board. tj: extern DEFINE_PER_CPU() replaced with DECLARE_PER_CPU() [ Impact: code cleanup ] Signed-off-by: Jesper Nilsson Signed-off-by: Tejun Heo commit 405d967dc70002991f8fc35c20e0d3cbc7614f63 Author: Tejun Heo Date: Wed Jun 24 15:13:38 2009 +0900 linker script: throw away .discard section x86 throws away .discard section but no other archs do. Also, .discard is not thrown away while linking modules. Make every arch and module linking throw it away. This will be used to define dummy variables for percpu declarations and definitions. This patch is based on Ivan Kokshaysky's alpha percpu patch. [ Impact: always throw away everything in .discard ] Signed-off-by: Tejun Heo Cc: Ivan Kokshaysky Cc: Richard Henderson Cc: Russell King Cc: Haavard Skinnemoen Cc: Bryan Wu Cc: Mikael Starvik Cc: Jesper Nilsson Cc: David Howells Cc: Yoshinori Sato Cc: Tony Luck Cc: Hirokazu Takata Cc: Geert Uytterhoeven Cc: Michal Simek Cc: Ralf Baechle Cc: Kyle McMartin Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Paul Mundt Cc: David S. Miller Cc: Jeff Dike Cc: Chris Zankel Cc: Rusty Russell Cc: Ingo Molnar commit e74e396204bfcb67570ba4517b08f5918e69afea Author: Tejun Heo Date: Mon Mar 30 19:07:44 2009 +0900 percpu: use dynamic percpu allocator as the default percpu allocator This patch makes most !CONFIG_HAVE_SETUP_PER_CPU_AREA archs use dynamic percpu allocator. The first chunk is allocated using embedding helper and 8k is reserved for modules. This ensures that the new allocator behaves almost identically to the original allocator as long as static percpu variables are concerned, so it shouldn't introduce much breakage. s390 and alpha use custom SHIFT_PERCPU_PTR() to work around addressing range limit the addressing model imposes. Unfortunately, this breaks if the address is specified using a variable, so for now, the two archs aren't converted. The following architectures are affected by this change. * sh * arm * cris * mips * sparc(32) * blackfin * avr32 * parisc (broken, under investigation) * m32r * powerpc(32) As this change makes the dynamic allocator the default one, CONFIG_HAVE_DYNAMIC_PER_CPU_AREA is replaced with its invert - CONFIG_HAVE_LEGACY_PER_CPU_AREA, which is added to yet-to-be converted archs. These archs implement their own setup_per_cpu_areas() and the conversion is not trivial. * powerpc(64) * sparc(64) * ia64 * alpha * s390 Boot and batch alloc/free tests on x86_32 with debug code (x86_32 doesn't use default first chunk initialization). Compile tested on sparc(32), powerpc(32), arm and alpha. Kyle McMartin reported that this change breaks parisc. The problem is still under investigation and he is okay with pushing this patch forward and fixing parisc later. [ Impact: use dynamic allocator for most archs w/o custom percpu setup ] Signed-off-by: Tejun Heo Acked-by: Rusty Russell Acked-by: David S. Miller Acked-by: Benjamin Herrenschmidt Acked-by: Martin Schwidefsky Reviewed-by: Christoph Lameter Cc: Paul Mundt Cc: Russell King Cc: Mikael Starvik Cc: Ralf Baechle Cc: Bryan Wu Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Cc: Hirokazu Takata Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Heiko Carstens Cc: Ingo Molnar commit 259c5e05c13daaaea039b5bf29a2674701cfd68e Author: Herbert Xu Date: Wed Jun 24 13:48:13 2009 +0800 crypto: testmgr - Remove hash size check Until hash test vectors grow longer than 256 bytes, the only purpose of the check is to generate a gcc warning. Signed-off-by: Herbert Xu commit c9944881acf02b6f25fa62a0441a98b7dc0d7ae6 Author: Roland Dreier Date: Wed Jun 24 13:42:40 2009 +0800 crypto: aes-ni - Don't print message with KERN_ERR on old system When the aes-intel module is loaded on a system that does not have the AES instructions, it prints Intel AES-NI instructions are not detected. at level KERN_ERR. Since aes-intel is aliased to "aes" it will be tried whenever anything uses AES and spam the console. This doesn't match existing practice for how to handle "no hardware" when initializing a module, so downgrade the message to KERN_INFO. Signed-off-by: Roland Dreier Signed-off-by: Herbert Xu commit 517374704da44c1ba77c1600714fe214524af286 Author: Mark Brown Date: Mon Jun 22 13:16:51 2009 +0100 ASoC: Add a shutdown callback Ensure that the audio subsystem is powered down cleanly when the system shuts down by providing a shutdown operation. This ensures that all the components have been returned to an off state cleanly which should avoid audio issues from partially charged capacitors or noise on digital inputs if the system is restarted quickly. Signed-off-by: Mark Brown Tested-by: Ben Dooks commit 30808ca751c3b8d81e948efb8fed7451a8321010 Author: Lopez Cruz, Misael Date: Mon Jun 22 19:34:07 2009 -0500 ASoC: TWL4030: Correct bypass event for voice sidetone Event for voice sidetone was being interpreted as an analog HiFi bypass event because VSTPGA register offset is less than ARXR2_APGA_CTL offset. Reordering the register checks allows to handle voice digital bypass event properly. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 328d0a138e3d7761f4db53fabf82279b90ea66dd Author: Lopez Cruz, Misael Date: Mon Jun 22 10:51:52 2009 -0500 ASoC: TWL4030: Add AVADC Clock Priority AVDAC clk priority allows to determine the path ADC must be connected when the codec is in option2 and both HiFi and Voice paths are enabled. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 20dda18be9035c487c2e9534e4d18d2a1e1deade Author: Stephen Smalley Date: Mon Jun 22 14:54:53 2009 -0400 selinux: restore optimization to selinux_file_permission Restore the optimization to skip revalidation in selinux_file_permission if nothing has changed since the dentry_open checks, accidentally removed by 389fb800. Also remove redundant test from selinux_revalidate_file_permission. Signed-off-by: Stephen Smalley Reviewed-by: Paul Moore Acked-by: Eric Paris Signed-off-by: James Morris commit c264301c777840b2df130e042b7f5a0c1041646f Author: Lopez Cruz, Misael Date: Fri Jun 19 03:23:42 2009 -0500 ASoC: TWL4030: Fix voice interface clock masters Voice interface of twl4030 codec supports: CBM_CFM and CBS_CFS. It doesn't support CBS_CFM. Signed-off-by: Misael Lopez Cruz Acked-By: Peter Ujfalusi Signed-off-by: Mark Brown commit e370f45aeb76634d81a59b3b8f45b0f2faebef9b Merge: f274143 74dc55e Author: Mark Brown Date: Mon Jun 22 11:08:26 2009 +0100 Merge branch 'wm8961' into for-2.6.32 commit 215ccd6f55a2144bd553e0a3d12e1386f02309fd Author: Neil Horman Date: Sun Jun 21 21:38:03 2009 +0800 crypto: fips - Select CPRNG The ANSI CPRNG has no dependence on FIPS support. FIPS support however, requires the use of the CPRNG. Adjust that depedency relationship in Kconfig. Signed-off-by: Neil Horman Signed-off-by: Herbert Xu commit a95436e44a76a32dcbe7c8df59701ddde53017c1 Author: Borislav Petkov Date: Sat Jun 20 23:28:22 2009 -0700 x86, mce: use atomic_inc_return() instead of add by 1 Use atomic_inc_return() instead of atomic_add_return() by 1. Signed-off-by: Borislav Petkov Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit e487683990972bf9aa4e688434c46ead76748bca Author: Borislav Petkov Date: Sat Jun 20 23:27:16 2009 -0700 x86, mce: fix typo in comment in asm/mce.h Fix comment to match the actual declaration. Signed-off-by: Borislav Petkov Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit f274143f127dd9420e6def7dc47340b55f29c885 Author: Barry Song Date: Sat Jun 20 11:29:56 2009 -0400 ASoC: Blackfin: convert internal names from bf52x to bf5xx These drivers aren't BF52x specific, so don't use bf52x in the names. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit feaa0457ec8351cae855edc9a3052ac49322538e Author: Jaswinder Singh Rajput Date: Sat Jun 20 16:15:40 2009 +0530 x86: ds.c fix invalid assignment Fixes the type mixups that cause the following sparse warnings: CHECK arch/x86/kernel/ds.c arch/x86/kernel/ds.c:549:19: warning: incorrect type in argument 2 (invalid types) arch/x86/kernel/ds.c:549:19: expected bad type enum bts_field field arch/x86/kernel/ds.c:549:19: got int arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:520:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:520:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:520:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:520:7: error: invalid assignment arch/x86/kernel/ds.c:520:35: error: incompatible types for operation (*) Signed-off-by: Jaswinder Singh Rajput Cc: Markus Metzger LKML-Reference: <1245494740.8613.12.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit 423c238d7185a0a8f1b28ddb0be44e0286927909 Author: Mark Brown Date: Sat Jun 20 13:54:02 2009 +0100 ASoC: Staticise put_twl4030_opmode_enum_double() It's an operation for a control and doesn't need to be exported. Signed-off-by: Mark Brown commit b53109db5e016425b767e8e33669a5f41257e6e5 Author: Mark Brown Date: Sat Jun 20 13:53:20 2009 +0100 ASoC: Fix shadowed variables in twl4030 No need to define second copies of mode and format, they're declared with exactly the same type at the head of the function and there's no conflict in their use. Signed-off-by: Mark Brown commit ea4006576945195ed35824acfb4007ca7cb78b70 Author: Herbert Xu Date: Fri Jun 19 20:37:00 2009 +0800 crypto: tcrypt - Fix module return code when testing by name We should return 0/-ENOENT instead of 1/0 when testing by name. Signed-off-by: Herbert Xu commit 27300176d75e4723e2125e745a98a77bf0133f72 Author: Herbert Xu Date: Fri Jun 19 20:32:58 2009 +0800 crypto: ansi_cprng - Do not select FIPS The RNG should work with FIPS disabled. Signed-off-by: Herbert Xu commit a873a5f1c4eda125f506c059a4f8ea48b9f42eff Author: Steffen Klassert Date: Fri Jun 19 19:46:53 2009 +0800 crypto: tcrypt - Test algorithms by name This adds the 'alg' module parameter to be able to test an algorithm by name. If the algorithm type is not ad-hoc clear for a algorithm (e.g. pcrypt, cryptd) it is possilbe to set the algorithm type with the 'type' module parameter. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 56f8c9bc410deb55f21698e6a0d59f559ae1d794 Author: Tetsuo Handa Date: Fri Jun 19 14:13:27 2009 +0900 TOMOYO: Remove next_domain from tomoyo_find_next_domain(). We can update bprm->cred->security inside tomoyo_find_next_domain(). Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit ccf135f509abdbf607e9a68f08ddeee2c66dc36e Author: Tetsuo Handa Date: Fri Jun 19 10:29:34 2009 +0900 TOMOYO: Move tomoyo_delete_domain(). We can mark tomoyo_delete_domain() as a "static" function by moving it from domain.c to common.c . Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit d905163c5b23f6d8511971e06081a1b525e8a0bd Merge: 44c2d9b 0732f87 Author: James Morris Date: Fri Jun 19 08:20:55 2009 +1000 Merge branch 'master' into next commit 73a2d096fdf23aa841f7595d114a11ec85a85e4d Author: Arnd Bergmann Date: Thu Jun 18 21:48:20 2009 +0200 x86: remove all now-duplicate header files All files that have been made identical to the asm-generic version in the previous patches can now be removed, guaranteeing that this does not introduce semantic changes. Signed-off-by: Arnd Bergmann LKML-Reference: Signed-off-by: H. Peter Anvin commit 69d5ffdaad7b77b97229b55c36afb20e5bebd29e Author: Arnd Bergmann Date: Thu Jun 18 21:48:19 2009 +0200 x86: convert termios.h to the asm-generic version This patch turned out more controversial than expected and may get dropped in the future. I'm including it for reference anyway. The user_termio_to_kernel_termios and kernel_termios_to_user_termio functions on x86 are lacking error checking from get_user and are not portable to big-endian systems, so the asm-generic header has to differ in this regard. Signed-off-by: Arnd Bergmann LKML-Reference: Signed-off-by: H. Peter Anvin commit 06f5013aa8eb5895ced2c71d13f5114103605555 Author: Arnd Bergmann Date: Thu Jun 18 21:48:18 2009 +0200 x86: convert almost generic headers to asm-generic version In x86, mman.h, module.h, scatterlist.h, types.h and ucontext.h can use the asm-generic version by just defining the x86 specific parts locally and falling back on the generic code for the common bits. This patch illustrates the differences between the x86 and asm-generic versions by changing a file that is initially identical to the x86 version to one that is identical to the asm-generic version. Signed-off-by: Arnd Bergmann LKML-Reference: Signed-off-by: H. Peter Anvin commit 7bfd124d6dae7d394e73753300594a81a022fe7d Author: Arnd Bergmann Date: Thu Jun 18 21:48:17 2009 +0200 x86: convert trivial headers to asm-generic version For these nine header files, the asm-generic version should be semantically identical to what is in x86. Change the contents to be binary identical, for better review. Signed-off-by: Arnd Bergmann LKML-Reference: Signed-off-by: H. Peter Anvin commit 4adc667593f83a18a8e54ce94f250fd166a272ac Author: Arnd Bergmann Date: Thu Jun 18 21:48:16 2009 +0200 x86: add copies of some headers to convert to asm-generic Just an intermediate step to make reviewing easier. These files are identical copies of the existing headers. Signed-off-by: Arnd Bergmann LKML-Reference: Signed-off-by: H. Peter Anvin commit 21e70878215f620fe99ea7d7c74bc641aeec932f Author: Jaswinder Singh Rajput Date: Thu Jun 18 17:09:27 2009 +0530 x86: oprofile/op_model_amd.c set return values for op_amd_handle_ibs() op_amd_handle_ibs() should return 0 when IBS is not present or not defined. Fix compilation warning: CC [M] arch/x86/oprofile/op_model_amd.o arch/x86/oprofile/op_model_amd.c: In function ‘op_amd_handle_ibs’: arch/x86/oprofile/op_model_amd.c:217: warning: no return statement in function returning non-void Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Robert Richter commit 44c2d9bdd7022ca7d240d5adc009296fc1c6ce08 Author: KaiGai Kohei Date: Thu Jun 18 17:26:13 2009 +0900 Add audit messages on type boundary violations The attached patch adds support to generate audit messages on two cases. The first one is a case when a multi-thread process tries to switch its performing security context using setcon(3), but new security context is not bounded by the old one. type=SELINUX_ERR msg=audit(1245311998.599:17): \ op=security_bounded_transition result=denied \ oldcontext=system_u:system_r:httpd_t:s0 \ newcontext=system_u:system_r:guest_webapp_t:s0 The other one is a case when security_compute_av() masked any permissions due to the type boundary violation. type=SELINUX_ERR msg=audit(1245312836.035:32): \ op=security_compute_av reason=bounds \ scontext=system_u:object_r:user_webapp_t:s0 \ tcontext=system_u:object_r:shadow_t:s0:c0 \ tclass=file perms=getattr,open Signed-off-by: KaiGai Kohei Acked-by: Stephen Smalley Signed-off-by: James Morris commit caabbdc07df4249f2ed516b2c3e2d6b0973bcbb3 Author: KaiGai Kohei Date: Thu Jun 18 17:30:07 2009 +0900 cleanup in ss/services.c It is a cleanup patch to cut down a line within 80 columns. Signed-off-by: KaiGai Kohei -- security/selinux/ss/services.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Signed-off-by: James Morris commit 03b56ce54143a3a69d4fea6ff8130b1c903a47ce Author: Jarod Wilson Date: Thu Jun 18 19:52:59 2009 +0800 crypto: des_s390 - Permit weak keys unless REQ_WEAK_KEY set Just started running fips cavs test vectors through an s390x system for giggles, and discovered that I missed patching s390's arch-specific des3 implementation w/an earlier des3 patch to permit weak keys. This change adds the same flag tweaks as ad79cdd77fc1466e45cf923890f66bcfe7c43f12 (crypto: des3_ede - permit weak keys unless REQ_WEAK_KEY set) for s390's des3 implementation, yields expected test results now. Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit 5b739ef8a4e8cf5201d21abff897e292c232477b Author: Neil Horman Date: Thu Jun 18 19:50:21 2009 +0800 random: Add optional continuous repetition test to entropy store based rngs FIPS-140 requires that all random number generators implement continuous self tests in which each extracted block of data is compared against the last block for repetition. The ansi_cprng implements such a test, but it would be nice if the hw rng's did the same thing. Obviously its not something thats always needed, but it seems like it would be a nice feature to have on occasion. I've written the below patch which allows individual entropy stores to be flagged as desiring a continuous test to be run on them as is extracted. By default this option is off, but is enabled in the event that fips mode is selected during bootup. Signed-off-by: Neil Horman Acked-by: Matt Mackall Signed-off-by: Herbert Xu commit 17950c5b243f99cbabef173415ee988c52104d7e Author: Jeremy Fitzhardinge Date: Fri Apr 24 01:01:01 2009 -0700 x86-64: move clts into batch cpu state updates when preloading fpu When a task is likely to be using the fpu, we preload its state during the context switch, rather than waiting for it to run an fpu instruction. Make sure the clts() happens while we're doing batched fpu state updates to optimise paravirtualized context switches. [ Impact: optimise paravirtual FPU context switch ] Signed-off-by: Jeremy Fitzhardinge Cc: Alok Kataria Cc: Rusty Russell commit 16d9dbf0c2bd167fdd942b83592d59696c7b73bd Author: Jeremy Fitzhardinge Date: Fri Apr 24 00:50:27 2009 -0700 x86-64: move unlazy_fpu() into lazy cpu state part of context switch Make sure that unlazy_fpu()'s stts gets batched along with the other cpu state changes during context switch. (32-bit already does this.) This makes sure it gets batched when running paravirtualized. [ Impact: optimise paravirtual FPU context switch ] Signed-off-by: Jeremy Fitzhardinge Cc: Alok Kataria Cc: Rusty Russell commit 2fcddce10f6771cfa0c56fd1e826d50d67d100b7 Author: Jeremy Fitzhardinge Date: Fri Apr 24 00:45:26 2009 -0700 x86-32: make sure clts is batched during context switch If we're preloading the fpu state during context switch, make sure the clts happens while we're batching the cpu context update, then do the actual __math_state_restore once the updates are flushed. This allows more efficient context switches when running paravirtualized, as all the hypercalls can be folded together into one. [ Impact: optimise paravirtual FPU context switch ] Signed-off-by: Jeremy Fitzhardinge Cc: Alok Kataria Cc: Rusty Russell commit e6e9cac8c3417b43498b243c1f8f11780e157168 Author: Jeremy Fitzhardinge Date: Fri Apr 24 00:40:59 2009 -0700 x86: split out core __math_state_restore Split the core fpu state restoration out into __math_state_restore, which assumes that cr0.TS is clear and that the fpu context has been initialized. This will be used during context switch. There are two reasons this is desireable: - There's a small clarification. When __switch_to() calls math_state_restore, it relies on the fact that tsk_used_math() returns true, and so will never do a blocking init_fpu(). __math_state_restore() does not have (or need) that logic, so the question never arises. - It allows the clts() to be moved earler in __switch_to() so it can be performed while cpu context updates are batched (will be done in a later patch). [ Impact: refactor code to make reuse cleaner; no functional change ] Signed-off-by: Jeremy Fitzhardinge Cc: Alok Kataria Cc: Rusty Russell commit ac5672f82c39ff2f8dce81bf3e68b1dfc41f366f Author: Jeremy Fitzhardinge Date: Tue Apr 14 14:29:44 2009 -0700 x86/paravirt: split paravirt definitions into paravirt_types.h Split the monolithic asm/paravirt.h into separate paravirt.h (inlines and other "active" definitions), and paravirt_types.h (types, constants and other "passive" definitions). This makes it easier to use the type/constant definitions without pulling in everything else and causing circular dependency problems. [ Impact: cleanup ] Signed-off-by: Jeremy Fitzhardinge commit 4f6e1fe1d8ba3d9f4fb52dd006da9714d75243cf Merge: 65795ef b72f7fa Author: Ingo Molnar Date: Wed Jun 17 19:10:28 2009 +0200 Merge branch 'auto' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile into oprofile commit 6c697bdf08a09ce461e305a22362973036e95db3 Author: Mike Galbraith Date: Wed Jun 17 10:48:02 2009 +0200 sched: Add SCHED_RESET_ON_FORK functionality for nice < 0 tasks Signed-off-by: Mike Galbraith Acked-by: Lennart Poettering Cc: Peter Zijlstra LKML-Reference: <1245228482.27326.1.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit b9dc29e72fd3dc2a739ce8eafd958220d0745734 Author: Mike Galbraith Date: Wed Jun 17 10:46:01 2009 +0200 sched: Clean up SCHED_RESET_ON_FORK Make SCHED_RESET_ON_FORK sched_fork() bits a self-contained unlikely code path. Signed-off-by: Mike Galbraith Acked-by: Lennart Poettering Cc: Peter Zijlstra LKML-Reference: <1245228361.18329.6.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit a583cd53478f0c55b92f084bdbe3b66d2b4496df Author: Mark Brown Date: Wed Jun 17 17:30:14 2009 +0100 ASoC: Regulator support for WM8580 Add basic support for integration with the regulator API to WM8580. Since the core cannot yet disable biases when the CODEC is idle we simply request and enable the regulators for the entire time the driver is active. Signed-off-by: Mark Brown commit eedbdf03a25ab3b2c332ad7fa205aa8ffbe477ba Author: Takashi Iwai Date: Tue Jun 16 14:27:35 2009 +0200 ALSA: usb-audio - Correct bogus volume dB information Some USB devices give bogus dB information and it screws up PA. It's better to detect a broken value and correct it in the driver before exposing the value to the outside. Signed-off-by: Takashi Iwai commit b8e1c73f4608b8b9ca1e8f1a09f9fd8684e78071 Author: Takashi Iwai Date: Tue Jun 16 14:04:37 2009 +0200 ALSA: usb-audio - Use the new TLV_DB_MINMAX type Use the new TLV_DB_MINMAX type instead of TLV_DB_SCALE. Signed-off-by: Takashi Iwai commit 085f30654175a91c28d2b66b9ea6cceab627fed0 Author: Takashi Iwai Date: Tue Jun 16 13:57:07 2009 +0200 ALSA: Add new TLV types for dBwith min/max Add new types for TLV dB scale specified with min/max values instead of min/step since the resolution can't match always with the one a device provides. For example, usb audio devices give 1/256 dB resolution while ALSA TLV is based on 1/100 dB resolution. The new min/max types have less problems because the possible rounding error happens only at min/max. Signed-off-by: Takashi Iwai commit 1abd91849990ed61d6468ffa8b7fc1ae61db4b1a Author: Philipp Zabel Date: Mon Jun 15 22:18:23 2009 +0200 ASoC: UDA1380: refactor device registration This patch mostly follows commit 5998102b9095fdb7c67755812038612afea315c5 "ASoC: Refactor WM8731 device registration" to make UDA1380 use standard device instantiation. Similarly, the I2C device registration temporarily moves into the magician machine driver before it will find its final resting place in the board file. At the same time, platform specific configuration is moved to platform data and common power/reset GPIO handling moves into the codec driver. Signed-off-by: Philipp Zabel Signed-off-by: Mark Brown commit ca94c442535a44d508c99a77e54f21a59f4fc462 Author: Lennart Poettering Date: Mon Jun 15 17:17:47 2009 +0200 sched: Introduce SCHED_RESET_ON_FORK scheduling policy flag This patch introduces a new flag SCHED_RESET_ON_FORK which can be passed to the kernel via sched_setscheduler(), ORed in the policy parameter. If set this will make sure that when the process forks a) the scheduling priority is reset to DEFAULT_PRIO if it was higher and b) the scheduling policy is reset to SCHED_NORMAL if it was either SCHED_FIFO or SCHED_RR. Why have this? Currently, if a process is real-time scheduled this will 'leak' to all its child processes. For security reasons it is often (always?) a good idea to make sure that if a process acquires RT scheduling this is confined to this process and only this process. More specifically this makes the per-process resource limit RLIMIT_RTTIME useful for security purposes, because it makes it impossible to use a fork bomb to circumvent the per-process RLIMIT_RTTIME accounting. This feature is also useful for tools like 'renice' which can then change the nice level of a process without having this spill to all its child processes. Why expose this via sched_setscheduler() and not other syscalls such as prctl() or sched_setparam()? prctl() does not take a pid parameter. Due to that it would be impossible to modify this flag for other processes than the current one. The struct passed to sched_setparam() can unfortunately not be extended without breaking compatibility, since sched_setparam() lacks a size parameter. How to use this from userspace? In your RT program simply replace this: sched_setscheduler(pid, SCHED_FIFO, ¶m); by this: sched_setscheduler(pid, SCHED_FIFO|SCHED_RESET_ON_FORK, ¶m); Signed-off-by: Lennart Poettering Acked-by: Peter Zijlstra LKML-Reference: <20090615152714.GA29092@tango.0pointer.de> Signed-off-by: Ingo Molnar commit b3b50b3f31775be5d2e441618bbc1c5cbee4d9f1 Author: Mark Brown Date: Sat Jun 13 22:30:18 2009 +0100 ASoC: Add suspend and resume callbacks to Wolfson CODEC drivers Signed-off-by: Mark Brown commit c64b04fe6e0cb7c78e01751a44ef56cf20344e87 Author: Jaswinder Singh Rajput Date: Sun Jun 14 00:59:50 2009 +0530 x86, cpu: cpu/proc.c display cache alignment and address sizes for 32 bit 32 bits can also access x86_cache_alignment, x86_phys_bits and x86_virt_bits, make them available to user space just as on 64 bits. Signed-off-by: Jaswinder Singh Rajput LKML-Reference: <1244921390.11733.30.camel@ht.satnam> Signed-off-by: H. Peter Anvin commit 831dc0f10f7b2a4856094ff160c018bf19f77527 Author: Mark Brown Date: Sat Jun 13 19:55:02 2009 +0100 ASoC: Add stub suspend and resume calls for ASoC subdevices Now that ASoC subdevices can be regular devices they can have normal suspend and resume calls from their buses. However, suspending them individually is not desirable since this can lead to problems such as pops and clicks from devices being suspended with their signals being amplified or clocks being stopped suddenly. This will be resolved by having the normal device model suspend and resume calls call into ASoC which will suspend the entire card while any of its components are suspended. At present this is not yet implemented but in order to aid the transition of drivers to the standard device model this patch adds API calls for the notifications. Signed-off-by: Mark Brown commit 619439998ac32953d737fbe2dc82eb67024547d0 Author: Mark Brown Date: Fri Jun 12 22:56:59 2009 +0100 ASoC: Automatically manage WM8350 sloping stopband filter For best performance the DAC sloping stopband filter should be enabled below 24kHz and not enabled above that so remove the user visible control for this and do it autonomously in the driver. Signed-off-by: Mark Brown commit 21002e20767292d85701154cdf12a591b45f0979 Author: Mark Brown Date: Fri Jun 12 17:27:52 2009 +0100 ASoC: Automatically manage WM8900 sloping stopband filter For best performance the DAC sloping stopband filter should be enabled below 24kHz and not enabled above that so remove the user visible control for this and do it autonomously in the driver. Signed-off-by: Mark Brown commit 9e79261f302083cbc6aa95e0f778e3583b1ab36e Author: Mark Brown Date: Fri Jun 12 17:27:07 2009 +0100 ASoC: Automatically control WM8903 sloping stopband filter For best performance the DAC sloping stopband filter should be enabled below 24kHz and not enabled above that so remove the user visible control for this and do it autonomously in the driver. Signed-off-by: Mark Brown commit df205936d5d1dfec9a52c90af77bb54a2c9c9728 Author: Lopez Cruz, Misael Date: Thu Jun 11 17:35:27 2009 -0500 ASoC: Zoom2: Add machine driver for Zoom2 board Add support for Zoom2 board. Zoom2 machine driver connects both codec DAIs (audio and voice) to omap3 McBSP ports in the following way: HiFi <-> McBSP2 Voice <-> McBSP3 The zoom2 driver has the following DAPM widgets: * Ext Mic: MAINMIC, SUBMIC (with bias) * Ext Spk: HFL, HFR * Headset Stereophone: HSOL, HSOR * Headset Mic: HSMIC (with bias) * Aux In: AUXL, AUXR Signed-off-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit b72f7fa9788c85866da10d7b2091077397018b7a Merge: 802070f 1cc4ce6 Author: Robert Richter Date: Fri Jun 12 18:46:35 2009 +0200 Merge branches 'oprofile/fixes', 'oprofile/next' and 'oprofile/master' into oprofile/auto commit 802070f5474af1a49435a9528aede47bb18abd47 Author: Robert Richter Date: Fri Jun 12 18:32:07 2009 +0200 x86/oprofile: fix initialization of arch_perfmon for core_i7 Commit: e419294 x86/oprofile: moving arch_perfmon counter setup to op_x86_model_spec.init introduced a bug in the initialization of core_i7 leading to the incorrect model setup to &op_ppro_spec. This patch fixes this. Signed-off-by: Robert Richter commit 74dc55ed5b709e4a2a538252f98ea62358df82ce Author: Mark Brown Date: Tue Jun 9 09:55:51 2009 +0100 ASoC: Add WM8961 driver The WM8961 is a low power, high quality stereo CODEC designed for portable digital applications with headphone and stereo class D speaker drivers. Signed-off-by: Mark Brown commit 1241eb8f136bf3ea409f61590e7663465906d158 Merge: 51563a0 940010c Author: Robert Richter Date: Fri Jun 12 17:58:48 2009 +0200 Merge commit 'tip/perfcounters-for-linus' into oprofile/master Conflicts: arch/x86/oprofile/op_model_ppro.c Signed-off-by: Robert Richter commit 1cc4ce6f5f89cdc355013aa43f06a14a015766d1 Author: Maynard Johnson Date: Wed May 27 10:15:08 2009 -0500 oprofile: reset bt_lost_no_mapping with other stats The bt_lost_no_mapping is not getting reset at the start of a profiling run, thus the oprofiled.log shows erroneous values for this statistic. The attached patch fixes this problem. Signed-off-by: Maynard Johnson Signed-off-by: Robert Richter commit cd667ce24796700e1a0e6e7528efc61c96ff832e Author: Jiri Kosina Date: Fri Jun 12 15:20:57 2009 +0200 HID: use debugfs for events/reports dumping This is a followup patch to the one implemeting rdesc representation in debugfs rather than being dependent on compile-time CONFIG_HID_DEBUG setting. The API of the appropriate formatting functions is slightly modified -- if they are passed seq_file pointer, the one-shot output for 'rdesc' file mode is used, and therefore the message is formatted into the corresponding seq_file immediately. Otherwise the called function allocated a new buffer, formats the text into the buffer and returns the pointer to it, so that it can be queued into the ring-buffer of the processess blocked waiting on input on 'events' file in debugfs. 'debug' parameter to the 'hid' module is now used solely for the prupose of inetrnal driver state debugging (parser, transport, etc). Signed-off-by: Jiri Kosina commit a635f9dd83f3382577f4544a96df12356e951a40 Author: Jiri Kosina Date: Fri Jun 12 15:20:55 2009 +0200 HID: use debugfs for report dumping descriptor It is a little bit inconvenient for people who have some non-standard HID hardware (usually violating the HID specification) to have to recompile kernel with CONFIG_HID_DEBUG to be able to see kernel's perspective of the HID report descriptor and observe the parsed events. Plus the messages are then mixed up inconveniently with the rest of the dmesg stuff. This patch implements /sys/kernel/debug/hid//rdesc file, which represents the kernel's view of report descriptor (both the raw report descriptor data and parsed contents). With all the device-specific debug data being available through debugfs, there is no need for keeping CONFIG_HID_DEBUG, as the 'debug' parameter to the hid module will now only output only driver-specific debugging options, which has absolutely minimal memory footprint, just a few error messages and one global flag (hid_debug). We use the current set of output formatting functions. The ones that need to be used both for one-shot rdesc seq_file and also for continuous flow of data (individual reports, as being sent by the device) distinguish according to the passed seq_file parameter, and if it is NULL, it still output to kernel ringbuffer, otherwise the corresponding seq_file is used for output. The format of the output is preserved. Signed-off-by: Jiri Kosina commit 0e09b67e5886bf549ab14ef73de35d64ac867e2b Merge: fa44c07 291f3bb Author: Mark Brown Date: Thu Jun 11 21:04:04 2009 +0100 Merge branch 'dapm' into for-2.6.32 commit fa44c077eb2a17aa6913feceb493d13f45f3fa25 Author: Daniel Ribeiro Date: Wed Jun 10 15:23:24 2009 -0300 ASoC: remove duplicated code on pxa-ssp.c * We don't need to write the registers twice, remove the first write. * DAIFMT_INV switch is duplicated inside DAIFMT_FORMAT switch, move it out. (This patch is for Mark's for-2.6.32 branch, I have not checked if the code is duplicated on current 2.6.30) Signed-off-by: Daniel Ribeiro Signed-off-by: Mark Brown commit 51563a0e5650d0d76539625388d72d62b34c726e Author: Robert Richter Date: Wed Jun 3 20:54:56 2009 +0200 x86/oprofile: introduce oprofile_add_data64() The IBS implemention writes 64 bit register values to the cpu buffer by writing two 32 values using oprofile_add_data(). This patch introduces oprofile_add_data64() to write a single 64 bit value to the buffer. Signed-off-by: Robert Richter commit c572ae4efd1b0a5cc76c5e6aae05c1b182b6a69c Author: Robert Richter Date: Wed Jun 3 20:10:39 2009 +0200 x86/oprofile: use 64 bit values in IBS functions The IBS code internally uses 32 bit values (a low and a high value) to represent a 64 bit value. This patch changes this and now 64 bit values are used instead. 64 bit MSR functions can be used now. No functional changes. Signed-off-by: Robert Richter commit 1a245c45343651a87ff63afc5ddeb8e24d731835 Author: Robert Richter Date: Fri Jun 5 15:54:24 2009 +0200 x86/oprofile: remove some local variables in MSR save/restore functions The patch removes some local variables in these functions. Signed-off-by: Robert Richter commit 95e74e62c1540b1115fe8cec5b592f22960f2bb2 Author: Robert Richter Date: Wed Jun 3 19:09:27 2009 +0200 x86/oprofile: use 64 bit values to save MSR states This patch removes struct op_saved_msr and replaces it by an u64 variable. This makes code easier and it is possible to use 64 bit MSR functions. Signed-off-by: Robert Richter commit bbc5986d2db427fdd61b6116ff8b9ed988e663a8 Author: Robert Richter Date: Mon May 25 17:38:19 2009 +0200 x86/oprofile: use 64 bit wrmsr functions This patch replaces some wrmsr() functions with wrmsrl(). Signed-off-by: Robert Richter commit 217d3cfb959756cb493fc03106c0253baa420ce8 Author: Robert Richter Date: Thu Jun 4 02:36:44 2009 +0200 x86/oprofile: replace CTR*_IS_RESERVED macros The patch replaces all CTR*_IS_RESERVED macros. Signed-off-by: Robert Richter commit dea3766ca052a4f572b16a23a322553c064d75af Author: Robert Richter Date: Mon May 25 18:11:52 2009 +0200 x86/oprofile: replace CTRL_SET_*ACTIVE macros The patch replaces all CTRL_SET_*ACTIVE macros. 64 bit MSR functions and 64 bit counter values are used now. The code uses bit masks from . Signed-off-by: Robert Richter commit 42399adb239d4f1413899cc618ecf640779e79df Author: Robert Richter Date: Mon May 25 17:59:06 2009 +0200 x86/oprofile: replace CTR_OVERFLOWED macros The patch replaces all CTR_OVERFLOWED macros. 64 bit MSR functions and 64 bit counter values are used now. Thus, it will be easier to later extend the models to use more than 32 bit width counters. Signed-off-by: Robert Richter commit 3370d358569755625aba4d9a846a040ce691d9ed Author: Robert Richter Date: Mon May 25 15:10:32 2009 +0200 x86/oprofile: replace macros to calculate control register This patch introduces op_x86_get_ctrl() to calculate the value of the performance control register. This is generic code usable for all models. The event and reserved masks are model specific and stored in struct op_x86_model_spec. 64 bit MSR functions are used now. The patch removes many hard to read macros used for ctrl calculation. The function op_x86_get_ctrl() is common code and the first step to further merge performance counter implementations for x86 models. Signed-off-by: Robert Richter commit ef8828ddf828174785421af67c281144d4b8e796 Author: Robert Richter Date: Mon May 25 19:31:44 2009 +0200 x86/oprofile: pass the model to setup_ctrs() functions In follow-on patches the setup_ctrs() functions will need data that describes the model. This patch extends the function argument list to pass a pointer of the model to these function. Signed-off-by: Robert Richter commit 9c59354b48ce9cf28048b02fea73dd0236f876ea Author: Robert Richter Date: Mon May 25 18:16:43 2009 +0200 x86/oprofile: remove unused macros for AMD virtualization profiling The use of the macros has no effect. The oprofilefs has to be extended first to support these features. Signed-off-by: Robert Richter commit ec064c093e254f4433afb17dcef7f964c76436af Author: Robert Richter Date: Mon May 25 15:05:50 2009 +0200 x86/oprofile: fix and cleanup CTRL_SET_* macros This patch fixes missing braces around macro parameters. Macro definitions from intel_arch_perfmon.h are used where possible. Signed-off-by: Robert Richter commit 1131a478245b00664ae2dbc0f68db987b51fa806 Author: Robert Richter Date: Mon May 25 20:23:23 2009 +0200 x86/oprofile: remove MSR macros for p4 cpus The macros CTRL_READ() and CTRL_WRITE() make the code hard to read and maintain. This patch replaces them by rdmsr()/wrmsr() functions and simplifies the code. Signed-off-by: Robert Richter commit 74c9a5c341bb1f6cbb5095b07c77230f19682ce8 Author: Robert Richter Date: Fri May 22 19:47:38 2009 +0200 x86/oprofile: remove MSR macros for ppro cpus The macros CTRL_READ() and CTRL_WRITE() make the code hard to read and maintain. This patch replaces them by rdmsr()/wrmsr() functions and simplifies the code. Signed-off-by: Robert Richter commit d2731a4387ad6c6bca07abfe9ed41d450fb6d665 Author: Robert Richter Date: Fri May 22 19:47:38 2009 +0200 x86/oprofile: remove MSR macros for AMD cpus The macros CTRL_READ() and CTRL_WRITE() make the code hard to read and maintain. This patch replaces them by rdmsr()/wrmsr() functions and simplifies the code. Signed-off-by: Robert Richter commit ff9faa8b676e195476b86f03fe58db0f01bda8f3 Author: Robert Richter Date: Fri May 22 15:36:29 2009 +0200 x86/oprofile: move common macros to op_x86_model.h There are duplicate macro implementations in model specific code. This patch moves all common macros to op_x86_model.h. Signed-off-by: Robert Richter commit d20f24c66011f8a397bca6c5d1a6a7c7e612d2d7 Author: Robert Richter Date: Sun Jan 11 13:01:16 2009 +0100 x86/oprofile: simplify AMD cpu init code Signed-off-by: Robert Richter commit 9063759540daac40cc1f402f83a3be6b489f8583 Author: Robert Richter Date: Tue Mar 10 19:15:57 2009 +0100 x86/oprofile: remove #ifdefs in ibs functions IBS code is moved to separate functions. This allows the removal of #ifdefs in functions. Signed-off-by: Robert Richter commit fecfe6320ba71eed6d16849683298f0894aa60de Author: Robert Richter Date: Thu May 7 16:07:41 2009 +0200 oprofile: remove obselete include headers This became obsolete with this commit: 6dad828 oprofile: port to the new ring_buffer Signed-off-by: Robert Richter commit 0dc8335aa3e59f1adbb0fce7c9c0b342146cd036 Author: Robert Richter Date: Thu May 7 15:09:33 2009 +0200 oprofile: remove irq_flags in struct op_entry This became obsolete with this commit: 304cc6a ring_buffer: remove unused flags parameter, fix Signed-off-by: Robert Richter commit 06552ccc36abeb12e37efc16c384dc7f30794f85 Author: Robert Richter Date: Thu May 28 02:12:36 2009 +0200 x86/oprofile: minor style changes in struct op_x86_model_spec Some vertical alignments. Variables are now located in the beginning of the struct. Signed-off-by: Robert Richter commit e419294ed3c98cccc145202e4fe165bfd8099d63 Author: Robert Richter Date: Sun Oct 12 15:12:34 2008 -0400 x86/oprofile: moving arch_perfmon counter setup to op_x86_model_spec.init The function arch_perfmon_init() in nmi_int.c is model specific. This patch moves it to op_model_ppro.c by using the init function pointer in struct op_x86_model_spec. Cc: Andi Kleen Signed-off-by: Robert Richter commit 849620fab413355eff48232eac5a8c53c57615c5 Author: Robert Richter Date: Thu May 14 17:10:52 2009 +0200 Revert "oprofile: discover counters for op ppro too" This reverts commit 59512900baab03c5629f2ff5efad1d5d4e682ece. arch_perfmon_setup_counters() is actually never called for ppro, so there is no code that changes the numbers in op_ppro_spec. The patch as it is has no effect. Cc: Andi Kleen Signed-off-by: Robert Richter commit 0886751c5d8b19fcee2e65d34ae21c9111e652a9 Merge: 7e4e0bd 07a2039 Author: Robert Richter Date: Wed Jun 10 21:47:10 2009 +0200 Merge commit 'v2.6.30' into oprofile/master commit efd13be09e2db4ac4efa2c6101c4f50ee1ead4b0 Author: Chaithrika U S Date: Mon Jun 8 06:49:41 2009 -0400 ASoC: Minor fixes to DaVinci I2S probe function Assign proper errors when platform resource claims fail. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 291f3bbcacf278726911c713e14cedb71c486b16 Author: Mark Brown Date: Sun Jun 7 13:57:17 2009 +0100 ASoC: Make DAPM power sequence lists local variables They are now only accessed within dapm_power_widgets() so can be local to that function. Signed-off-by: Mark Brown commit 4f1c1923851f9734c972812121e80a3b04ab3af4 Author: Mark Brown Date: Sun Jun 7 13:37:44 2009 +0100 ASoC: Coalesce power updates for PGAs Handle gain ramping for PGAs so we can coalesce their power updates too. This is not ideal since we can't cope properly with gain ramping for stereo paths but that was the case without coalescing and gain ramping is relatively infrequently used so the effects are limited. Signed-off-by: Mark Brown commit 81628103dd8527d99ea39b054a3f002d5859d7c3 Author: Mark Brown Date: Sun Jun 7 13:21:24 2009 +0100 ASoC: Coalesce power updates for DAPM widgets with events Signed-off-by: Mark Brown commit e3d4dabd2d9b74778f6f15a830eb3a0027bb3799 Author: Mark Brown Date: Sun Jun 7 13:08:45 2009 +0100 ASoC: Sort specialised mixers and muxes together The more flexible value muxes and named mixers don't need to be sorted differently from a power management point of view, they are different only in terms of the control interface and not in terms of seqencing behaviour. Signed-off-by: Mark Brown commit b22ead2a510fdb30440753f90237e86fdac70fae Author: Mark Brown Date: Sun Jun 7 12:51:26 2009 +0100 ASoC: Coalesce register writes for DAPM sequences Reduce the number of register writes we need to set the power state for a CODEC by coalescing updates to widgets with the same sequence order and same register into a single write. This can be a noticable performance improvement with slow or heavily contended control buses, such as I2C controllers with a low clock frequency, and is particularly noticable when resuming. It can also reduce the noticability of and pops and clicks by ensuring that left and right channels are powered simultaneously if they are in the same register. Currently widgets that have events are not coalesced, including PGAs which may use the volume ramping control. Signed-off-by: Mark Brown commit 46f5822f7841697d4aedaf4672661d7a765172cd Author: Daniel Ribeiro Date: Sun Jun 7 02:49:11 2009 -0300 ASoC: Allow 32 bit registers for DAPM Replace the remaining unsigned shorts with unsigned ints. Tested with pcap2 codec (25 bits registers). Signed-off-by: Daniel Ribeiro Signed-off-by: Mark Brown commit 04f80f5c486b39446af44e218dba90ec210d61ca Author: Chaithrika U S Date: Fri Jun 5 06:28:49 2009 -0400 ASoC: Add machine driver support for DM646x This patch does the following: (1) Add support for the DM646x machine (2) Modifications required to introduce the platform driver model to get platform data for all the machines including dm355 and dm644x. Signed-off-by: Steve Chen Signed-off-by: Pavel Kiryukhin Signed-off-by: Naresh Medisetty Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit b67f4487295560599f6cca55fb7e8773ff27f00a Author: Chaithrika U S Date: Fri Jun 5 06:28:40 2009 -0400 ASoC: Add mcasp support for DM646x Adds driver support for the two instances of McASP on TI's DM646x. The multichannel audio serial port (McASP) functions as a general-purpose audio serial port optimized for the needs of multichannel audio application. (http://www.ti.com/litv/pdf/spruer1b). There are two instances of McASP on DM646x. The McASP0 module includes up to 4 serializers that can be individually enabled to either transmit or receive in different modes. The McASP1 module is limited with only 1 pinned-out serializer that can be enabled to only transmit in DIT mode (neither receiving in any mode nor transmitting in either Burst or TDM mode is supported). McASP0 consists of transmit and receive sections that may operate synchronized, or completely independently with separate master clocks, bit clocks, and frame syncs, and using different transmit modes with different bit-stream formats. Signed-off-by: Steve Chen Signed-off-by: Pavel Kiryukhin Signed-off-by: Naresh Medisetty Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 5204d49676dae3ae1f9dff5b60bf567d24680872 Author: Chaithrika U S Date: Fri Jun 5 06:28:23 2009 -0400 ASoC: Introduce platform driver model for dm644x, dm355 Introduce the platform driver model to get platform data for dm355 and dm644x. Register platform driver and acquire the resources in the probe function Since the platform specific code had been moved from machine driver to dm.c Signed-off-by: Naresh Medisetty Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 163cac061c97394d4ef9c89efe5921dac937ddb8 Author: Mark Brown Date: Sun Jun 7 10:12:52 2009 +0100 ASoC: Factor out DAPM sequence execution Lump the list walk into a single function, and pull in the power application too so we can do some further refactoring. Pure code motion. Signed-off-by: Mark Brown commit 38357ab2c83631728afa37a783c9b1bd474a0739 Author: Mark Brown Date: Sat Jun 6 19:03:23 2009 +0100 ASoC: Sort DAPM power sequences while building lists In the past the DAPM power sequencing was done by iterating over the list of widgets once for each widget type and powering widgets of that type. Instead of doing that do the sorting at the time we insert the widgets into the lists of widgets to apply power changes to. This reduces the amount of computation required for seqencing still further, though the costs are generally dwarfed by the costs of the register writes implementing them. Signed-off-by: Mark Brown commit 4fcbbb67a3cdc7129190a76763480f5ef63e5772 Author: Mark Brown Date: Sat May 23 12:27:03 2009 +0100 ASoC: Update WM8974 to use standard I2C device probe methods Signed-off-by: Mark Brown commit 1a55b3f6ed1d917dd26271dae19dda088d820540 Author: Mark Brown Date: Sat May 23 11:31:40 2009 +0100 ASoC: WM8974 checkpatch cleanups Signed-off-by: Mark Brown commit 0a1bf553359013621c8c5cf745354212c6ef51d3 Author: Mark Brown Date: Sat May 23 11:18:41 2009 +0100 ASoC: Add WM8974 CODEC driver The WM8974 is a low power, high quality mono CODEC designed for portable applications such as digital still cameras or digital voice recorders. This driver was originally written by Graeme Gregory and Liam Girdwood and has since been maintained by myself with some updates contributed by Brett Saunders and Javier Martin. Signed-off-by: Mark Brown commit 606689e9f8c52b537c85fd4bc1ba5ce7b3ee2678 Author: Mark Brown Date: Sat Feb 28 17:33:52 2009 +0000 ASoC: Add Openmoko Neo FreeRunner (GTA02) audio driver This driver supports the audio subsystem on the Openmoko Neo FreeRunner smartphone, often known by its codename GTA02. The system has a WM8753 connected to a Samsung S3C2442 with an external GPIO controlled speaker amplifier. The driver was originally written by Graeme Gregory and has recieved contributions from Openmoko, myself and members of the Openmoko community. For much of this time the primary Openmoko kernel maintainer was Andy Green. Signed-off-by: Graeme Gregory Signed-off-by: Andy Green Signed-off-by: Mark Brown