aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-07-09ARM: 6212/1: atomic ops: add memory constraints to inline asmWill Deacon1-66/+66
Currently, the 32-bit and 64-bit atomic operations on ARM do not include memory constraints in the inline assembly blocks. In the case of barrier-less operations [for example, atomic_add], this means that the compiler may constant fold values which have actually been modified by a call to an atomic operation. This issue can be observed in the atomic64_test routine in <kernel root>/lib/atomic64_test.c: 00000000 <test_atomic64>: 0: e1a0c00d mov ip, sp 4: e92dd830 push {r4, r5, fp, ip, lr, pc} 8: e24cb004 sub fp, ip, #4 c: e24dd008 sub sp, sp, #8 10: e24b3014 sub r3, fp, #20 14: e30d000d movw r0, #53261 ; 0xd00d 18: e3011337 movw r1, #4919 ; 0x1337 1c: e34c0001 movt r0, #49153 ; 0xc001 20: e34a1aa3 movt r1, #43683 ; 0xaaa3 24: e16300f8 strd r0, [r3, #-8]! 28: e30c0afe movw r0, #51966 ; 0xcafe 2c: e30b1eef movw r1, #48879 ; 0xbeef 30: e34d0eaf movt r0, #57007 ; 0xdeaf 34: e34d1ead movt r1, #57005 ; 0xdead 38: e1b34f9f ldrexd r4, [r3] 3c: e1a34f90 strexd r4, r0, [r3] 40: e3340000 teq r4, #0 44: 1afffffb bne 38 <test_atomic64+0x38> 48: e59f0004 ldr r0, [pc, #4] ; 54 <test_atomic64+0x54> 4c: e3a0101e mov r1, #30 50: ebfffffe bl 0 <__bug> 54: 00000000 .word 0x00000000 The atomic64_set (0x38-0x44) writes to the atomic64_t, but the compiler doesn't see this, assumes the test condition is always false and generates an unconditional branch to __bug. The rest of the test is optimised away. This patch adds suitable memory constraints to the atomic operations on ARM to ensure that the compiler is informed of the correct data hazards. We have to use the "Qo" constraints to avoid hitting the GCC anomaly described at http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44492 , where the compiler makes assumptions about the writeback in the addressing mode used by the inline assembly. These constraints forbid the use of auto{inc,dec} addressing modes, so it doesn't matter if we don't use the operand exactly once. Cc: [email protected] Reviewed-by: Nicolas Pitre <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-09ARM: 6211/1: atomic ops: fix register constraints for atomic64_add_unlessWill Deacon1-1/+1
The atomic64_add_unless function compares an atomic variable with a given value and, if they are not equal, adds another given value to the atomic variable. The function returns zero if the addition did not occur and non-zero otherwise. On ARM, the return value is initialised to 1 in C code. Inline assembly code then performs the atomic64_add_unless operation, setting the return value to 0 iff the addition does not occur. This means that when the addition *does* occur, the value of ret must be preserved across the inline assembly and therefore requires a "+r" constraint rather than the current one of "=&r". Thanks to Nicolas Pitre for helping to spot this. Cc: [email protected] Reviewed-by: Nicolas Pitre <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-09ARM: 6210/1: Do not rely on reset defaults of L2X0_AUX_CTRLSascha Hauer1-2/+3
On i.MX35 the L2X0_AUX_CTRL register does not have sensible reset default values. Allow them to be overwritten with the aux_val/aux_mask arguments passed to l2x0_init(). Signed-off-by: Sascha Hauer <[email protected]> Acked-by: Catalin Marinas <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-09ALSA: hda - Restore cleared pin controls on resumeTakashi Iwai2-1/+31
Many codecs now clear the pin controls at suspend via snd_hda_shutup_pins() for reducing the click noise at power-off. But this leaves some pins uninitialized, and they'll be never recovered after resume. This patch adds the proper recovery of cleared pin controls on resume. Also it adds a check of bus->shutdown so that pins won't be cleared at module unloading. Reference: Kernel bug 16339 http://bugzilla.kernel.org/show_bug.cgi?id=16339 Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-07-08Phonet: fix skb leak in pipe endpoint accept()Rémi Denis-Courmont1-0/+1
Signed-off-by: Rémi Denis-Courmont <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2010-07-08ceph: fix printing of ipv6 addrsSage Weil1-18/+6
The buffer was too small. Make it bigger, use snprintf(), put brackets around the ipv6 address to avoid mixing it up with the :port, and use the ever-so-handy %pI[46] formats. Signed-off-by: Sage Weil <[email protected]>
2010-07-08Bluetooth: Update sec_level/auth_type for already existing connectionsVille Tervo1-0/+5
Update auth level for already existing connections if it is lower than required by new connection. Signed-off-by: Ville Tervo <[email protected]> Reviewed-by: Emeltchenko Andrei <[email protected]> Signed-off-by: Luciano Coelho <[email protected]> Signed-off-by: Andrei Emeltchenko <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]>
2010-07-08Bluetooth: Reset the security level after an authentication failureJohan Hedberg1-0/+2
When authentication fails for a connection the assumed security level should be set back to BT_SECURITY_LOW so that subsequent connect attempts over the same link don't falsely assume that security is adequate enough. Signed-off-by: Johan Hedberg <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]>
2010-07-08Bluetooth: Check L2CAP pending status before sending connect requestAndrei Emeltchenko1-3/+11
Due to race condition in L2CAP state machine L2CAP Connection Request may be sent twice for SDP with the same source channel id. Problems reported connecting to Apple products, some carkit, Blackberry phones. ... 2010-06-07 21:18:03.651031 < ACL data: handle 1 flags 0x02 dlen 12 L2CAP(s): Connect req: psm 1 scid 0x0040 2010-06-07 21:18:03.653473 > HCI Event: Number of Completed Packets (0x13) plen 5 handle 1 packets 1 2010-06-07 21:18:03.653808 > HCI Event: Auth Complete (0x06) plen 3 status 0x00 handle 1 2010-06-07 21:18:03.653869 < ACL data: handle 1 flags 0x02 dlen 12 L2CAP(s): Connect req: psm 1 scid 0x0040 ... Patch uses L2CAP_CONF_CONNECT_PEND flag to mark that L2CAP Connection Request has been sent already. Modified version of patch from Ville Tervo. Signed-off-by: Andrei Emeltchenko <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]>
2010-07-08IB/qib: Use request_firmware() to load SD7220 firmwareBen Hutchings7-1100/+600
Extract the microcode for the QLogic QLE7220 series IB HCA and use the kernel microcode request facility to load the microcode. This supports Debian Linux's requirements to separate microcode which doesn't have open source code available from the device driver. Signed-off-by: Ben Hutchings <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2010-07-08ocfs2: Zero the tail cluster when extending past i_size.Joel Becker6-54/+207
ocfs2's allocation unit is the cluster. This can be larger than a block or even a memory page. This means that a file may have many blocks in its last extent that are beyond the block containing i_size. There also may be more unwritten extents after that. When ocfs2 grows a file, it zeros the entire cluster in order to ensure future i_size growth will see cleared blocks. Unfortunately, block_write_full_page() drops the pages past i_size. This means that ocfs2 is actually leaking garbage data into the tail end of that last cluster. This is a bug. We adjust ocfs2_write_begin_nolock() and ocfs2_extend_file() to detect when a write or truncate is past i_size. They will use ocfs2_zero_extend() to ensure the data is properly zeroed. Older versions of ocfs2_zero_extend() simply zeroed every block between i_size and the zeroing position. This presumes three things: 1) There is allocation for all of these blocks. 2) The extents are not unwritten. 3) The extents are not refcounted. (1) and (2) hold true for non-sparse filesystems, which used to be the only users of ocfs2_zero_extend(). (3) is another bug. Since we're now using ocfs2_zero_extend() for sparse filesystems as well, we teach ocfs2_zero_extend() to check every extent between i_size and the zeroing position. If the extent is unwritten, it is ignored. If it is refcounted, it is CoWed. Then it is zeroed. Signed-off-by: Joel Becker <[email protected]> Cc: [email protected]
2010-07-08ocfs2: When zero extending, do it by page.Joel Becker2-64/+84
ocfs2_zero_extend() does its zeroing block by block, but it calls a function named ocfs2_write_zero_page(). Let's have ocfs2_write_zero_page() handle the page level. From ocfs2_zero_extend()'s perspective, it is now page-at-a-time. Signed-off-by: Joel Becker <[email protected]> Cc: [email protected]
2010-07-08V4L/DVB: v4l: mem2mem_testdev: fix g_fmt NULL pointer dereferencePawel Osciak1-0/+3
Calling g_fmt before s_fmt resulted in a NULL pointer dereference as no default formats were being selected on probe. Reported-by: Németh Márton <[email protected]> Signed-off-by: Pawel Osciak <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2010-07-08V4L/DVB: uvcvideo: Power line frequency control doesn't support GET_MIN/MAX/RESLaurent Pinchart1-2/+2
Issuing a GET_MIN request on the power line frequency control times out on at least the Apple iSight. As the UVC specification doesn't list GET_MIN/MAX/RES as supported on that control, remove them from the uvc_ctrls array. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2010-07-08V4L/DVB: ivtv: Add delay to ensure the decoder always restarts with a blank ↵Ian Armstrong1-0/+3
screen Add a short delay when stopping the decoder, allowing it to settle and preventing some unexpected interaction with other firmware commands. Signed-off-by: Ian Armstrong <[email protected]> Tested-by: Martin Dauskardt <[email protected]> Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2010-07-08V4L/DVB: Documentation: Add the Philips FQ1236 MK5 to video4linux/CARDLIST.tunerAndy Walls1-0/+1
Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2010-07-08V4L/DVB: tveeprom: Add an entry for tuner code 168: a TCL M30WTP-4N-E tunerAndy Walls1-0/+15
Hauppauge EEPROM tuner code 168 has recently shown up on HVR-1600 TV capture cards supported by the cx18 driver. This change allows analog tuner type autodetection to succeed for these cards. Information for decoding tuner code 168 was provided by Hauppauge. Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2010-07-08V4L/DVB: tuner: Add a definition for the Philips FQ1236 MK5 NTSC tunerAndy Walls3-0/+18
Signed-off-by: Andy Walls <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2010-07-08V4L/DVB: OMAP_VOUT: fix: Module params were not working through bootargsVaibhav Hiremath1-2/+2
Signed-off-by: Vaibhav Hiremath <[email protected]> Signed-off-by: Muralidharan Karicheri <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2010-07-08V4L/DVB: OMAP_VOUT: fix: Replaced dma-sg with dma-contigVaibhav Hiremath2-32/+16
Actually OMAP doesn't support scatter-gather DMA for Display subsystem but due to legacy coding it has been overlooked till now. Signed-off-by: Vaibhav Hiremath <[email protected]> Signed-off-by: Muralidharan Karicheri <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2010-07-08V4L/DVB: OMAP_VOUT:Build FIX: Rebased against latest DSS2 changesVaibhav Hiremath2-17/+20
Changes - - Kconfig option dependancy changed to ARCH_OMAP2/3 from ARCH_OMAP24XX/34XX - There are some moments of function from omap_dss_device to omap_dss_driver. Incorporated changes for the same. Signed-off-by: Vaibhav Hiremath <[email protected]> Signed-off-by: Muralidharan Karicheri <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2010-07-08Merge branch 'for-linus' of ↵Linus Torvalds15-66/+148
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: IPoIB: Fix world-writable child interface control sysfs attributes IB/qib: Clean up properly if qib_init() fails IB/qib: Completion queue callback needs to be single threaded IB/qib: Update 7322 serdes tables IB/qib: Clear 6120 hardware error register IB/qib: Clear eager buffer memory for each new process IB/qib: Mask hardware error during link reset IB/qib: Don't mark VL15 bufs as WC to avoid a rare 7322 chip problem RDMA/cxgb4: Derive smac_idx from port viid RDMA/cxgb4: Avoid false GTS CIDX_INC overflows RDMA/cxgb4: Don't call abort_connection() for active connect failures RDMA/cxgb4: Use the DMA state API instead of the pci equivalents
2010-07-08Merge branches 'cxgb4', 'ipoib' and 'qib' into for-nextRoland Dreier9-41/+106
2010-07-08Merge branch 'for-linus' of ↵Linus Torvalds2-2/+18
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 - Enable beep on Realtek codecs with PCI SSID override ALSA: usb-audio - Add volume resolution quirk for some Logitech webcams ALSA: hda - Add Macbook 5,2 quirk ALSA: hda - Fix uninitialized variable
2010-07-08Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-blockLinus Torvalds8-254/+122
* 'for-linus' of git://git.kernel.dk/linux-2.6-block: writeback: simplify the write back thread queue writeback: split writeback_inodes_wb writeback: remove writeback_inodes_wbc fs-writeback: fix kernel-doc warnings splice: check f_mode for seekable file splice: direct_splice_actor() should not use pos in sd
2010-07-08Merge branch 'merge' of ↵Linus Torvalds13-37/+184
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Fix userspace build of ptrace.h powerpc: Fix default_machine_crash_shutdown #ifdef botch powerpc: Fix logic error in fixup_irqs powerpc/iseries: Fix possible null pointer dereference in iSeries_pcibios_fixup_resources powerpc: Linux cannot run with 0 cores powerpc: Fix feature-fixup tests for gcc 4.5 powerpc: Disable SPARSE_IRQ by default powerpc: Fix compile errors in prom_init_check for gcc 4.5 powerpc: Fix module building for gcc 4.5 and 64 bit powerpc/perf_event: Fix for power_pmu_disable()
2010-07-08ceph: add kfree() to error pathDan Carpenter1-0/+1
We leak a "pi" on this error path. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Sage Weil <[email protected]>
2010-07-08Merge branch 's5p-fixes-for-linus' of ↵Linus Torvalds4-56/+67
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung * 's5p-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: SAMSUNG: Fix on wrong function name for S5PV210 sdhci0 ARM: S5P6442: Fix PLL setting announce message. ARM: SAMSUNG: Fix build without SDHCI controllers for S3C64XX ARM: S5PV210: Correct clock register properties ARM: S5P: Bug fix on external interrupt for S5P SoCs
2010-07-08Merge branch 'fix/misc' into for-linusTakashi Iwai1-0/+13
2010-07-08Merge branch 'fix/hda' into for-linusTakashi Iwai1-2/+5
2010-07-08powerpc: Fix userspace build of ptrace.hSam Ravnborg1-18/+14
Build of ptrace.h failed for assembly because it pulls in stdint.h. Use exportable types (__u32, __u64) to avoid the dependency on stdint.h. Signed-off-by: Sam Ravnborg <[email protected]> Cc: Andrey Volkov <[email protected]> Cc: Dave Kleikamp <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Acked-by: Dave Kleikamp <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-07-08powerpc: Fix default_machine_crash_shutdown #ifdef botchPaul E. McKenney1-1/+1
crash_kexec_wait_realmode() is defined only if CONFIG_PPC_STD_MMU_64 and CONFIG_SMP, but is called if CONFIG_PPC_STD_MMU_64 even if !CONFIG_SMP. Fix the conditional compilation around the invocation. Signed-off-by: Paul E. McKenney <[email protected]> Acked-by: Michael Neuling <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-07-08powerpc: Fix logic error in fixup_irqsJohannes Berg1-1/+4
When SPARSE_IRQ is set, irq_to_desc() can return NULL. While the code here has a check for NULL, it's not really correct. Fix it by separating the check for it. This fixes CPU hot unplug for me. Reported-by: Alastair Bridgewater <[email protected]> Cc: [email protected] [2.6.32+] Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-07-08powerpc/iseries: Fix possible null pointer dereference in ↵Denis Kirjanov1-1/+5
iSeries_pcibios_fixup_resources I don't know if this is a right fix for the problem since of_get_property can return NULL. Since iseries_device_information is used only for informational purpose, we can skip this function without valid HvSubBusNumber number. Signed-off-by: Denis Kirjanov <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-07-08powerpc: Linux cannot run with 0 coresAnton Blanchard1-1/+1
If we configure with CONFIG_SMP=n or set NR_CPUS less than the number of SMT threads we will set the max cores property to 0 in the ibm,client-architecture-support structure. On new versions of firmware that understand this property it obliges and terminates our partition. Use DIV_ROUND_UP so we handle not only the CONFIG_SMP=n case but also the case where NR_CPUS isn't a multiple of the number of SMT threads. Signed-off-by: Anton Blanchard <[email protected]> Acked-by: Paul E. McKenney <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-07-08powerpc: Fix feature-fixup tests for gcc 4.5Stephen Rothwell1-8/+9
The feature-fixup test declare some extern void variables and then take their addresses. Fix this by declaring them as extern u8 instead. Fixes these warnings (treated as errors): CC arch/powerpc/lib/feature-fixups.o cc1: warnings being treated as errors arch/powerpc/lib/feature-fixups.c: In function 'test_cpu_macros': arch/powerpc/lib/feature-fixups.c:293:23: error: taking address of expression of type 'void' arch/powerpc/lib/feature-fixups.c:294:9: error: taking address of expression of type 'void' arch/powerpc/lib/feature-fixups.c:297:2: error: taking address of expression of type 'void' arch/powerpc/lib/feature-fixups.c:297:2: error: taking address of expression of type 'void' arch/powerpc/lib/feature-fixups.c: In function 'test_fw_macros': arch/powerpc/lib/feature-fixups.c:306:23: error: taking address of expression of type 'void' arch/powerpc/lib/feature-fixups.c:307:9: error: taking address of expression of type 'void' arch/powerpc/lib/feature-fixups.c:310:2: error: taking address of expression of type 'void' arch/powerpc/lib/feature-fixups.c:310:2: error: taking address of expression of type 'void' arch/powerpc/lib/feature-fixups.c: In function 'test_lwsync_macros': arch/powerpc/lib/feature-fixups.c:321:23: error: taking address of expression of type 'void' arch/powerpc/lib/feature-fixups.c:322:9: error: taking address of expression of type 'void' arch/powerpc/lib/feature-fixups.c:326:3: error: taking address of expression of type 'void' arch/powerpc/lib/feature-fixups.c:326:3: error: taking address of expression of type 'void' arch/powerpc/lib/feature-fixups.c:329:3: error: taking address of expression of type 'void' arch/powerpc/lib/feature-fixups.c:329:3: error: taking address of expression of type 'void' Signed-off-by: Stephen Rothwell <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-07-08powerpc: Disable SPARSE_IRQ by defaultYang Li1-2/+2
The SPARSE_IRQ considerably adds overhead to critical path of IRQ handling. However it doesn't benefit much in space for most systems with limited IRQ_NR. Should be disabled unless really necessary. Signed-off-by: Li Yang <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-07-08powerpc: Fix compile errors in prom_init_check for gcc 4.5Stephen Rothwell1-0/+6
Just whitelist these extra compiler generated symbols. Fixes these errors: Error: External symbol '_restgpr0_14' referenced from prom_init.c Error: External symbol '_restgpr0_20' referenced from prom_init.c Error: External symbol '_restgpr0_22' referenced from prom_init.c Error: External symbol '_restgpr0_24' referenced from prom_init.c Error: External symbol '_restgpr0_25' referenced from prom_init.c Error: External symbol '_restgpr0_26' referenced from prom_init.c Error: External symbol '_restgpr0_27' referenced from prom_init.c Error: External symbol '_restgpr0_28' referenced from prom_init.c Error: External symbol '_restgpr0_29' referenced from prom_init.c Error: External symbol '_restgpr0_31' referenced from prom_init.c Error: External symbol '_savegpr0_14' referenced from prom_init.c Error: External symbol '_savegpr0_20' referenced from prom_init.c Error: External symbol '_savegpr0_22' referenced from prom_init.c Error: External symbol '_savegpr0_24' referenced from prom_init.c Error: External symbol '_savegpr0_25' referenced from prom_init.c Error: External symbol '_savegpr0_26' referenced from prom_init.c Error: External symbol '_savegpr0_27' referenced from prom_init.c Error: External symbol '_savegpr0_28' referenced from prom_init.c Error: External symbol '_savegpr0_29' referenced from prom_init.c Error: External symbol '_savegpr0_31' referenced from prom_init.c Signed-off-by: Stephen Rothwell <[email protected]> Acked-by: Segher Boessenkool <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-07-08powerpc: Fix module building for gcc 4.5 and 64 bitStephen Rothwell4-4/+138
Gcc 4.5 is now generating out of line register save and restore in the function prefix and postfix when we use -Os. Signed-off-by: Stephen Rothwell <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-07-08powerpc/perf_event: Fix for power_pmu_disable()Matt Evans1-1/+4
When power_pmu_disable() removes the given event from a particular index into cpuhw->event[], it shuffles down higher event[] entries. But, this array is paired with cpuhw->events[] and cpuhw->flags[] so should shuffle them similarly. If these arrays get out of sync, code such as power_check_constraints() will fail. This caused a bug where events were temporarily disabled and then failed to be re-enabled; subsequent code tried to write_pmc() with its (disabled) idx of 0, causing a message "oops trying to write PMC0". This triggers this bug on POWER7, running a miss-heavy test: perf record -e L1-dcache-load-misses -e L1-dcache-store-misses ./misstest Signed-off-by: Matt Evans <[email protected]> Acked-by: Paul Mackerras <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2010-07-08perf: Sync callchains with period based hitsFrederic Weisbecker3-19/+20
Hists have their hits increased by the event period. And this period based counting is the foundation of all the stats in perf report. But callchains still use the raw number of hits, without taking the period into account. So when we compute the percentage, absolute based percentages are totally broken, and relative ones too in the first parent level. Because we pass the number of events muliplied by their period as the total number of hits to the callchain filtering, while callchains expect this number to be the number of raw hits. perf report -g graph was simply not working, showing no graph unless the min percent was zero. And even there the percentage of the branches was always 0. And may be fractal filtering was broken on the first branch level too. flat also was broken, but it was hidden because of other breakages. Anyway fix this by counting using periods on callchains. Signed-off-by: Frederic Weisbecker <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Arnaldo Carvalho de Melo <[email protected]> Cc: Paul Mackerras <[email protected]>
2010-07-08perf: Resurrect flat callchainsFrederic Weisbecker1-0/+3
Initialize the callchain radix tree root correctly. When we walk through the parents, we must stop after the root, but since it wasn't well initialized, its parent pointer was random. Also the number of hits was random because uninitialized, hence it was part of the callchain while the root doesn't contain anything. This fixes segfaults and percentages followed by empty callchains while running: perf report -g flat Reported-by: Ingo Molnar <[email protected]> Signed-off-by: Frederic Weisbecker <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Arnaldo Carvalho de Melo <[email protected]> Cc: Paul Mackerras <[email protected]> Cc: 2.6.31.x-2.6.34.x <[email protected]>
2010-07-07Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds36-189/+332
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (35 commits) NET: SB1250: Initialize .owner vxge: show startup message with KERN_INFO ll_temac: Fix missing iounmaps bridge: Clear IPCB before possible entry into IP stack bridge br_multicast: BUG: unable to handle kernel NULL pointer dereference net: Fix definition of netif_vdbg() when VERBOSE_DEBUG is defined net/ne: fix memory leak in ne_drv_probe() xfrm: fix xfrm by MARK logic virtio_net: fix oom handling on tx virtio_net: do not reschedule rx refill forever s2io: resolve statistics issues linux/net.h: fix kernel-doc warnings net: decreasing real_num_tx_queues needs to flush qdisc sched: qdisc_reset_all_tx is calling qdisc_reset without qdisc_lock qlge: fix a eeh handler to not add a pending timer qlge: Replacing add_timer() to mod_timer() usbnet: Set parent device early for netdev_printk() net: Revert "rndis_host: Poll status channel before control channel" netfilter: ip6t_REJECT: fix a dst leak in ipv6 REJECT drivers: bluetooth: bluecard_cs.c: Fixed include error, changed to linux/io.h ...
2010-07-07input: i8042 - add runtime check in x86's i8042_platform_initFeng Tang1-0/+10
Then it will first check x86_platforms's i8042 detection result, then go on with normal probe. Signed-off-by: Feng Tang <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Tony Luck <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2010-07-07Revert "Input: fixup X86_MRST selects"Feng Tang2-2/+2
This reverts commit 0b28bac5aef7bd1ab213723df031e61db9ff151a. After adding x86_platform's detection for i8042 controller, we don't need the force dependency on !X86_MRST any more Cc: Randy Dunlap <[email protected]> Signed-off-by: Feng Tang <[email protected]> LKML-Reference: <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2010-07-07Revert "Input: do not force selecting i8042 on Moorestown"Feng Tang2-2/+2
This reverts commit 685afae02557a178185a4be36f58332976e79f63. After adding x86_platform's detection for i8042 controller, we don't need the force dependency on !X86_MRST any more Cc: Jacob Pan <[email protected]> Signed-off-by: Feng Tang <[email protected]> LKML-Reference: <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2010-07-07x86, mrst: Add i8042_detect API for Moorestwon platformFeng Tang1-0/+7
It will just return 0 as there is no i8042 controller Signed-off-by: Feng Tang <[email protected]> LKML-Reference: <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2010-07-07x86: Add i8042 pre-detection hook to x86_platform_opsFeng Tang2-1/+5
Some x86 platforms like Intel MID platforms don't have i8042 controllers, and i8042 driver's probe to some legacy IO ports may hang the MID processor. With this hook, i8042 driver can runtime check and skip the probe when the pretection fail which also saves some probe time [ hpa note: this is currently a compile-time check, which breaks the i386 allyesconfig build. This patch series thus does fix a regression. ] Signed-off-by: Feng Tang <[email protected]> LKML-Reference: <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]>
2010-07-07x86, platform: Export x86_platform to modulesH. Peter Anvin1-0/+3
Export x86_platform to modules in preparation of using it for i8042 discovery control. Signed-off-by: H. Peter Anvin <[email protected]> LKML-Reference: <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Feng Tang <[email protected]> Cc: Dmitry Torokhov <[email protected]>
2010-07-07NET: SB1250: Initialize .ownerRalf Baechle1-0/+1
Signed-off-by: Ralf Baechle <[email protected]> drivers/net/sb1250-mac.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) Signed-off-by: David S. Miller <[email protected]>