firefly-linux-kernel-4.4.55.git
13 years agork29_phone:1、Changes began to close the codec's strategy to control android 2、Modify...
邱建斌 [Mon, 4 Jul 2011 09:47:36 +0000 (17:47 +0800)]
rk29_phone:1、Changes began to close the codec's strategy to control android  2、Modify i2c stop delay 70us  3、Lower SPK volume to -26DB

13 years agogpu: optimize for gckHEAP_Allocate & FindVideoMemoryRecord
杜坤明 [Mon, 4 Jul 2011 08:02:31 +0000 (16:02 +0800)]
gpu: optimize for gckHEAP_Allocate & FindVideoMemoryRecord

13 years agonewton: add ir remote control driver(cir)
lyx [Mon, 4 Jul 2011 04:50:11 +0000 (21:50 -0700)]
newton: add ir remote control driver(cir)

13 years agonewton:add IRDA driver
lyx [Mon, 4 Jul 2011 03:13:57 +0000 (20:13 -0700)]
newton:add IRDA driver
now is just for sir

13 years agork29: mmu.c: set vmalloc_reserve to 256MB for support 1G memory
黄涛 [Sat, 2 Jul 2011 10:24:45 +0000 (18:24 +0800)]
rk29: mmu.c: set vmalloc_reserve to 256MB for support 1G memory

13 years agork29: memory.h: fix for 1G memory, limit DMA zone only 512MB
黄涛 [Sat, 2 Jul 2011 10:23:18 +0000 (18:23 +0800)]
rk29: memory.h: fix for 1G memory, limit DMA zone only 512MB

13 years agoA22:modify lcd suspend function
root [Thu, 30 Jun 2011 17:31:51 +0000 (01:31 +0800)]
A22:modify lcd suspend function

13 years agork29: disable print_modules
黄涛 [Sat, 2 Jul 2011 04:05:05 +0000 (12:05 +0800)]
rk29: disable print_modules

13 years agogsensor: improve gsensor
lyx [Sat, 2 Jul 2011 03:15:44 +0000 (20:15 -0700)]
gsensor: improve gsensor

13 years agoA22:modify lcd config to add brightening effect
root [Thu, 30 Jun 2011 12:25:01 +0000 (20:25 +0800)]
A22:modify lcd config to add brightening effect

13 years agork29_phone : fix wm8994 change channel noise
邱建斌 [Thu, 30 Jun 2011 12:19:46 +0000 (20:19 +0800)]
rk29_phone : fix wm8994 change channel noise

13 years agoImprove something for A22:
root [Thu, 30 Jun 2011 11:22:42 +0000 (19:22 +0800)]
Improve something for A22:
1、use SPI0 init LCD to avoid SPI1 conflict between WM831X and lcd while system resume;
2、use polling instead of intterupt to read touch screen data to reduce CPU working;
3、reduce time of light backlight when charging to reduce power consumption;

13 years agork29: change IO memory map / VMALLOC_END, better support 1G memory
黄涛 [Fri, 1 Jul 2011 10:59:51 +0000 (18:59 +0800)]
rk29: change IO memory map / VMALLOC_END, better support 1G memory

13 years agork29: reset: support reboot to recovery
黄涛 [Fri, 1 Jul 2011 10:46:56 +0000 (18:46 +0800)]
rk29: reset: support reboot to recovery

13 years agoA22:modify lcd suspend function
root [Fri, 1 Jul 2011 10:43:39 +0000 (03:43 -0700)]
A22:modify lcd suspend function

13 years agoRevert "A22: lcd use spi0 instead of spi1, make lcd enter deep sleep in suspend"
黄涛 [Fri, 1 Jul 2011 10:23:01 +0000 (18:23 +0800)]
Revert "A22: lcd use spi0 instead of spi1, make lcd enter deep sleep in suspend"

This reverts commit 4b0d245e438ce21c92aa5bcb6a643ddb13ce9467.

13 years agork29_phone: Adaptive alsa set rate,default 44100
邱建斌 [Fri, 1 Jul 2011 09:18:11 +0000 (17:18 +0800)]
rk29_phone: Adaptive alsa set rate,default 44100

13 years agoA22: lcd use spi0 instead of spi1, make lcd enter deep sleep in suspend
root [Fri, 1 Jul 2011 09:20:33 +0000 (02:20 -0700)]
A22: lcd use spi0 instead of spi1, make lcd enter deep sleep in suspend

13 years agork29: clock: display power domain is buggy, always keep it on
黄涛 [Thu, 30 Jun 2011 06:25:55 +0000 (14:25 +0800)]
rk29: clock: display power domain is buggy, always keep it on

13 years agork: serial: remove printk from suspend/resume
黄涛 [Thu, 30 Jun 2011 03:53:11 +0000 (11:53 +0800)]
rk: serial: remove printk from suspend/resume

13 years agoA22:add spi bus selection for LCD
root [Wed, 29 Jun 2011 16:41:45 +0000 (00:41 +0800)]
A22:add spi bus selection for LCD

13 years agork29phone: fix wm8994 suspend and resume noise
邱建斌 [Thu, 30 Jun 2011 03:17:37 +0000 (11:17 +0800)]
rk29phone: fix wm8994 suspend and resume noise

13 years agork29: backlight: default delay set to 100ms
黄涛 [Thu, 30 Jun 2011 03:29:37 +0000 (11:29 +0800)]
rk29: backlight: default delay set to 100ms

13 years agofix usb online state in power_supply
yangkai [Thu, 30 Jun 2011 02:11:54 +0000 (10:11 +0800)]
fix usb online state in power_supply

13 years agork29phone:reduce heat consumption for charging
root [Wed, 29 Jun 2011 10:36:48 +0000 (18:36 +0800)]
rk29phone:reduce heat consumption for charging

13 years agork29:touch screen -> modify gt818's INT port and SHUTDOWN port control when resume...
hhb [Wed, 29 Jun 2011 10:11:40 +0000 (18:11 +0800)]
rk29:touch screen -> modify gt818's INT port and SHUTDOWN port control when resume or suspned

13 years agork29:GPIO->fix the problem GPIOPullUpDown() could not set the pull up and down register
hhb [Wed, 29 Jun 2011 10:07:54 +0000 (18:07 +0800)]
rk29:GPIO->fix the problem GPIOPullUpDown() could not set the pull  up and down register

13 years agosupport usb gadget rndis
yangkai [Wed, 29 Jun 2011 09:30:12 +0000 (17:30 +0800)]
support usb gadget rndis

13 years agonewton: add FT5406 touchscreen driver support
jyk [Tue, 28 Jun 2011 11:50:33 +0000 (19:50 +0800)]
newton: add FT5406 touchscreen driver support

13 years agodisable cursor when init
zyw [Wed, 29 Jun 2011 01:57:29 +0000 (09:57 +0800)]
disable cursor when init

13 years agoarm: Makefile: add bootimg/zbootimg target
黄涛 [Wed, 29 Jun 2011 01:40:21 +0000 (09:40 +0800)]
arm: Makefile: add bootimg/zbootimg target

13 years agoadd emmc clk power save config.
zhaoyifeng [Tue, 28 Jun 2011 12:54:52 +0000 (20:54 +0800)]
add emmc clk power save config.

13 years agoMerge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Tue, 28 Jun 2011 11:48:47 +0000 (19:48 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop

13 years agoRK29SmartPhone:SDK board does not have bp_ap_wakeup GPIO, so add judge here before...
phc [Tue, 28 Jun 2011 11:33:25 +0000 (19:33 +0800)]
RK29SmartPhone:SDK board does not have bp_ap_wakeup GPIO, so add judge here before use the GPIO

13 years agork29:UART->add new uart driver and it is default used, but you can use the old driver...
hhb [Tue, 28 Jun 2011 09:23:43 +0000 (17:23 +0800)]
rk29:UART->add new uart driver and it is default used, but you can use the old driver by setting the menuconfig

13 years agopack-kernel.sh: exclude newton board, add phone sdk
黄涛 [Tue, 28 Jun 2011 09:00:04 +0000 (17:00 +0800)]
pack-kernel.sh: exclude newton board, add phone sdk

13 years agoStaging: dream: Kconfig fix for non-HTC hardware
黄涛 [Tue, 28 Jun 2011 08:27:10 +0000 (16:27 +0800)]
Staging: dream: Kconfig fix for non-HTC hardware

13 years agoMerge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Tue, 28 Jun 2011 08:16:19 +0000 (16:16 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop

13 years agoupdate config file for newton
蔡枫 [Tue, 28 Jun 2011 08:16:01 +0000 (16:16 +0800)]
update config file for newton

13 years agofix cursor reload bug
zyw [Tue, 28 Jun 2011 07:43:00 +0000 (15:43 +0800)]
fix cursor reload bug

13 years agoMerge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Tue, 28 Jun 2011 07:24:52 +0000 (15:24 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop

13 years agoadd camera support and rtc for newton board
蔡枫 [Tue, 28 Jun 2011 07:24:06 +0000 (15:24 +0800)]
add camera support and rtc for newton board

13 years agork29_phone: headset hook key update
邱建斌 [Tue, 28 Jun 2011 06:50:19 +0000 (14:50 +0800)]
rk29_phone: headset hook key update

13 years agork29 IPP:IPP driver provides synchronous and asynchronous call interfaces.
chenli [Tue, 28 Jun 2011 06:39:32 +0000 (14:39 +0800)]
rk29 IPP:IPP driver provides synchronous and asynchronous call interfaces.

1.In the case of synchronous call please use ipp_blit_sync function.
  In the case of asynchronous call please use ipp_blit_async function.
  The old interface ipp_do_blit is obsolete!
2.Use ipp_blit_sync instead of ipp_do_blit in rk29_fb.c and rk29_camera_oneframe.c.
3.Translate the Chinese commets into English.

13 years agoA22:switch to 32k when sleep
xsf@rock-chips.com [Tue, 28 Jun 2011 03:50:02 +0000 (11:50 +0800)]
A22:switch to 32k when sleep

13 years agork29_phone: fix hook key irq. if headset have not hook key then not reported keydown
邱建斌 [Tue, 28 Jun 2011 02:32:21 +0000 (10:32 +0800)]
rk29_phone: fix hook key irq. if headset have not hook key then not reported keydown

13 years agork29 IPP:IPP driver provides synchronous and asynchronous call interfaces.
chenli [Tue, 28 Jun 2011 01:58:29 +0000 (09:58 +0800)]
rk29 IPP:IPP driver provides synchronous and asynchronous call interfaces.

1.In case of synchronous call please use ipp_blit_sync function.
  In case of asynchronous call please use ipp_blit_async function.
  The old interface ipp_do_blit is not recommended from now on.
2.Use ipp_blit_sync instead of ipp_do_blit in rk29_fb.c

13 years agoMerge remote-tracking branch 'linux-2.6.32.y/master' into develop
黄涛 [Tue, 28 Jun 2011 01:47:32 +0000 (09:47 +0800)]
Merge remote-tracking branch 'linux-2.6.32.y/master' into develop

Merge Linux 2.6.32.42
Conflicts:
Makefile
drivers/net/wireless/iwlwifi/iwl-5000.c
drivers/net/wireless/p54/p54usb.c

13 years agoRK29SmartPhone:open 32K crystalloid default
phc [Mon, 27 Jun 2011 12:38:56 +0000 (20:38 +0800)]
RK29SmartPhone:open 32K crystalloid default

13 years agoRK29SmartPhone:switch to 32k when sleep
xsf@rock-chips.com [Mon, 27 Jun 2011 12:18:27 +0000 (20:18 +0800)]
RK29SmartPhone:switch to 32k when sleep

13 years agork29: ddr3sdk: cpufreq support 1G Hz
黄涛 [Mon, 27 Jun 2011 11:00:30 +0000 (19:00 +0800)]
rk29: ddr3sdk: cpufreq support 1G Hz

13 years agoRevert "rk29:UART->add new uart driver rk_serial.c which can be configurated in menuc...
黄涛 [Mon, 27 Jun 2011 09:59:38 +0000 (17:59 +0800)]
Revert "rk29:UART->add new uart driver rk_serial.c which can be configurated in menuconfig,but the old driver is default used"

This reverts commit ee1cd711356b310f047bd18a2d26fb9a8987430f.

13 years agork29:UART->add new uart driver rk_serial.c which can be configurated in menuconfig...
hhb [Mon, 27 Jun 2011 09:40:18 +0000 (17:40 +0800)]
rk29:UART->add new uart driver rk_serial.c which can be configurated in menuconfig,but the old driver is default used

13 years agork29:touch screen -> modify tp suspend and resume function which would really work
hhb [Fri, 24 Jun 2011 07:00:49 +0000 (15:00 +0800)]
rk29:touch screen -> modify tp suspend and resume function which would really work

13 years agophonesdk: modify ARM freq and core voltage in running
root [Mon, 27 Jun 2011 08:47:30 +0000 (16:47 +0800)]
phonesdk: modify ARM freq and core voltage in running

13 years agork29: vivante: alloc_pages add GFP_DMA flag to support 1G memory
黄涛 [Mon, 27 Jun 2011 06:16:12 +0000 (14:16 +0800)]
rk29: vivante: alloc_pages add GFP_DMA flag to support 1G memory

13 years agork29: Kconfig: support 1G memory
黄涛 [Mon, 27 Jun 2011 05:57:32 +0000 (13:57 +0800)]
rk29: Kconfig: support 1G memory

13 years agork29: phonepadsdk: support 1G memory
黄涛 [Mon, 27 Jun 2011 05:25:19 +0000 (13:25 +0800)]
rk29: phonepadsdk: support 1G memory

13 years agork29: phonesdk: support 1G memory
黄涛 [Mon, 27 Jun 2011 05:24:27 +0000 (13:24 +0800)]
rk29: phonesdk: support 1G memory

13 years agork29: rk29-ddr3sdk: support 1G memory
黄涛 [Mon, 27 Jun 2011 05:24:12 +0000 (13:24 +0800)]
rk29: rk29-ddr3sdk: support 1G memory

13 years agork29: rk29sdk: support 1G memory
黄涛 [Mon, 27 Jun 2011 05:23:52 +0000 (13:23 +0800)]
rk29: rk29sdk: support 1G memory

13 years agork29: vivante: fix computation of resource size for 1G memory
黄涛 [Mon, 27 Jun 2011 05:14:38 +0000 (13:14 +0800)]
rk29: vivante: fix computation of resource size for 1G memory

13 years agork29: mmu.c: enlarge vmalloc_reserve to support 1G memory
黄涛 [Mon, 27 Jun 2011 05:06:52 +0000 (13:06 +0800)]
rk29: mmu.c: enlarge vmalloc_reserve to support 1G memory

13 years agork29: memory.h: fix for highmem
黄涛 [Mon, 27 Jun 2011 05:01:05 +0000 (13:01 +0800)]
rk29: memory.h: fix for highmem

13 years agork29: rk29_iomap.h: set RK29_SDRAM_PHYS to 0x60000000U, fix gcc warning: integer...
黄涛 [Mon, 27 Jun 2011 05:00:24 +0000 (13:00 +0800)]
rk29: rk29_iomap.h: set RK29_SDRAM_PHYS to 0x60000000U, fix gcc warning: integer overflow in expression

13 years agoadd 5 point touch, close cs42l52 log for newton
蔡枫 [Mon, 27 Jun 2011 03:48:04 +0000 (11:48 +0800)]
add 5 point touch, close cs42l52 log for newton

13 years agoMerge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Sat, 25 Jun 2011 14:42:44 +0000 (22:42 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop

13 years agofix tp and codec bug in newton board
蔡枫 [Sat, 25 Jun 2011 14:42:23 +0000 (22:42 +0800)]
fix tp and codec bug in newton board

13 years agoRK29SmartPhone:23d IMEI read support
phc [Sat, 25 Jun 2011 08:43:26 +0000 (16:43 +0800)]
RK29SmartPhone:23d IMEI read support

13 years agoMerge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Fri, 24 Jun 2011 14:40:11 +0000 (22:40 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop

13 years agoadd support for newton board
蔡枫 [Fri, 24 Jun 2011 14:39:48 +0000 (22:39 +0800)]
add support for newton board

13 years agofix kernel panic when not standard usb keyboard connect
yangkai [Fri, 24 Jun 2011 10:09:34 +0000 (18:09 +0800)]
fix kernel panic when not standard usb keyboard connect

13 years agorevert ddr v2.02 and dpll use high band
yangkai [Fri, 24 Jun 2011 08:13:40 +0000 (16:13 +0800)]
revert ddr v2.02 and dpll use high band

13 years agoA22: make wm8310 exit suspend
xsf@rock-chips.com [Fri, 24 Jun 2011 07:43:10 +0000 (15:43 +0800)]
A22: make wm8310 exit suspend

13 years agoadjust usb controller init sequence and remove some log
yangkai [Fri, 24 Jun 2011 06:57:35 +0000 (14:57 +0800)]
adjust usb controller init sequence and remove some log

13 years agoRK29SmartPhone:TP change from GT801 to GT818
phc [Fri, 24 Jun 2011 06:39:39 +0000 (14:39 +0800)]
RK29SmartPhone:TP change from GT801 to GT818

13 years agork29: cru.h: fix SOFT_RST_HSADC define bug
黄涛 [Fri, 24 Jun 2011 04:13:19 +0000 (12:13 +0800)]
rk29: cru.h: fix SOFT_RST_HSADC define bug

13 years agork29:add rk29_dma_config(dws->rx_dmach, 1, 1) one more argument
hhb [Fri, 24 Jun 2011 02:27:56 +0000 (10:27 +0800)]
rk29:add rk29_dma_config(dws->rx_dmach, 1, 1) one more argument

13 years agoLinux 2.6.32.42
Greg Kroah-Hartman [Thu, 23 Jun 2011 22:24:26 +0000 (15:24 -0700)]
Linux 2.6.32.42

13 years agoRevert "iwlagn: Support new 5000 microcode."
Greg Kroah-Hartman [Wed, 15 Jun 2011 20:12:35 +0000 (13:12 -0700)]
Revert "iwlagn: Support new 5000 microcode."

This reverts commit 6f63415fc1b690cb50c2ad48ba6e9e6e88e271b4.

It turns out this is not what we want to have happen for the .32 and
.33-longterm kernels as it does not work properly at all.

This was reported by Gentoo, Arch, and Canonical developers as causing
problems for their users:
https://bugs.archlinux.org/task/24302
http://bugs.gentoo.org/show_bug.cgi?id=359445
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/796336

Cc: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com>
Cc: Gordon Malm <gengor@gentoo.org>
Cc: Don Fry <donald.h.fry@intel.com>
Cc: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Cc: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agotime: Compensate for rounding on odd-frequency clocksources
Kasper Pedersen [Wed, 20 Oct 2010 22:55:15 +0000 (15:55 -0700)]
time: Compensate for rounding on odd-frequency clocksources

commit a386b5af8edda1c742ce9f77891e112eefffc005 upstream.

When the clocksource is not a multiple of HZ, the clock will be off.  For
acpi_pm, HZ=1000 the error is 127.111 ppm:

The rounding of cycle_interval ends up generating a false error term in
ntp_error accumulation since xtime_interval is not exactly 1/HZ.  So, we
subtract out the error caused by the rounding.

This has been visible since 2.6.32-rc2
commit a092ff0f90cae22b2ac8028ecd2c6f6c1a9e4601
time: Implement logarithmic time accumulation
That commit raised NTP_INTERVAL_FREQ and exposed the rounding error.

testing tool: http://n1.taur.dk/permanent/testpmt.c
Also tested with ntpd and a frequency counter.

Signed-off-by: Kasper Pedersen <kkp2010@kasperkp.dk>
Acked-by: john stultz <johnstul@us.ibm.com>
Cc: John Kacur <jkacur@redhat.com>
Cc: Clark Williams <williams@redhat.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Will Tisdale <willtisdale@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoxen: Use IRQF_FORCE_RESUME
Thomas Gleixner [Sat, 5 Feb 2011 20:08:59 +0000 (20:08 +0000)]
xen: Use IRQF_FORCE_RESUME

commit 676dc3cf5bc36a9e129a3ad8fe3bd7b2ebf20f5d upstream.

Mark the IRQF_NO_SUSPEND interrupts IRQF_FORCE_RESUME and remove the extra
walk through the interrupt descriptors.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agogenirq: Add IRQF_FORCE_RESUME
Thomas Gleixner [Fri, 4 Feb 2011 12:19:20 +0000 (13:19 +0100)]
genirq: Add IRQF_FORCE_RESUME

commit dc5f219e88294b93009eef946251251ffffb6d60 upstream.

Xen needs to reenable interrupts which are marked IRQF_NO_SUSPEND in the
resume path. Add a flag to force the reenabling in the resume code.

Tested-and-acked-by: Ian Campbell <Ian.Campbell@eu.citrix.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoxen: events: do not unmask event channels on resume
Ian Campbell [Mon, 1 Nov 2010 16:30:09 +0000 (16:30 +0000)]
xen: events: do not unmask event channels on resume

commit 6903591f314b8947d0e362bda7715e90eb9df75e upstream.

The IRQ core code will take care of disabling and reenabling
interrupts over suspend resume automatically, therefore we do not need
to do this in the Xen event channel code.

The only exception is those event channels marked IRQF_NO_SUSPEND
which the IRQ core ignores. We must unmask these ourselves, taking
care to obey the current IRQ_DISABLED status. Failure check for
IRQ_DISABLED leads to enabling polled only event channels, such as
that associated with the pv spinlocks, which must never be enabled:

[   21.970432] ------------[ cut here ]------------
[   21.970432] kernel BUG at arch/x86/xen/spinlock.c:343!
[   21.970432] invalid opcode: 0000 [#1] SMP
[   21.970432] last sysfs file: /sys/devices/virtual/net/lo/operstate
[   21.970432] Modules linked in:
[   21.970432]
[   21.970432] Pid: 0, comm: swapper Not tainted (2.6.32.24-x86_32p-xen-01034-g787c727 #34)
[   21.970432] EIP: 0061:[<c102e209>] EFLAGS: 00010046 CPU: 3
[   21.970432] EIP is at dummy_handler+0x3/0x7
[   21.970432] EAX: 0000021c EBX: dfc16880 ECX: 0000001a EDX: 00000000
[   21.970432] ESI: dfc02c00 EDI: 00000001 EBP: dfc47e10 ESP: dfc47e10
[   21.970432]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0069
[   21.970432] Process swapper (pid: 0, ti=dfc46000 task=dfc39440 task.ti=dfc46000)
[   21.970432] Stack:
[   21.970432]  dfc47e30 c10a39f0 0000021c 00000000 00000000 dfc16880 0000021c 00000001
[   21.970432] <0> dfc47e40 c10a4f08 0000021c 00000000 dfc47e78 c12240a7 c1839284 c1839284
[   21.970432] <0> 00000200 00000000 00000000 f5720000 c1f3d028 c1f3d02c 00000180 dfc47e90
[   21.970432] Call Trace:
[   21.970432]  [<c10a39f0>] ? handle_IRQ_event+0x5f/0x122
[   21.970432]  [<c10a4f08>] ? handle_percpu_irq+0x2f/0x55
[   21.970432]  [<c12240a7>] ? __xen_evtchn_do_upcall+0xdb/0x15f
[   21.970432]  [<c122481e>] ? xen_evtchn_do_upcall+0x20/0x30
[   21.970432]  [<c1030d47>] ? xen_do_upcall+0x7/0xc
[   21.970432]  [<c102007b>] ? apic_reg_read+0xd3/0x22d
[   21.970432]  [<c1002227>] ? hypercall_page+0x227/0x1005
[   21.970432]  [<c102d30b>] ? xen_force_evtchn_callback+0xf/0x14
[   21.970432]  [<c102da7c>] ? check_events+0x8/0xc
[   21.970432]  [<c102da3b>] ? xen_irq_enable_direct_end+0x0/0x1
[   21.970432]  [<c105e485>] ? finish_task_switch+0x62/0xba
[   21.970432]  [<c14e3f84>] ? schedule+0x808/0x89d
[   21.970432]  [<c1084dc5>] ? hrtimer_start_expires+0x1a/0x22
[   21.970432]  [<c1085154>] ? tick_nohz_restart_sched_tick+0x15a/0x162
[   21.970432]  [<c102f43a>] ? cpu_idle+0x6d/0x6f
[   21.970432]  [<c14db29e>] ? cpu_bringup_and_idle+0xd/0xf
[   21.970432] Code: 5d 0f 95 c0 0f b6 c0 c3 55 66 83 78 02 00 89 e5 5d 0f 95 \
c0 0f b6 c0 c3 55 b2 01 86 10 31 c0 84 d2 89 e5 0f 94 c0 5d c3 55 89 e5 <0f> 0b \
eb fe 55 80 3d 4c ce 84 c1 00 89 e5 57 56 89 c6 53 74 15
[   21.970432] EIP: [<c102e209>] dummy_handler+0x3/0x7 SS:ESP 0069:dfc47e10
[   21.970432] ---[ end trace c0b71f7e12cf3011 ]---

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agonetfilter: IPv6: fix DSCP mangle code
Fernando Luis Vazquez Cao [Tue, 10 May 2011 08:00:21 +0000 (10:00 +0200)]
netfilter: IPv6: fix DSCP mangle code

commit 1ed2f73d90fb49bcf5704aee7e9084adb882bfc5 upstream.

The mask indicates the bits one wants to zero out, so it needs to be
inverted before applying to the original TOS field.

Signed-off-by: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agonetfilter: IPv6: initialize TOS field in REJECT target module
Fernando Luis Vazquez Cao [Tue, 10 May 2011 07:55:44 +0000 (09:55 +0200)]
netfilter: IPv6: initialize TOS field in REJECT target module

commit 4319cc0cf5bb894b7368008cdf6dd20eb8868018 upstream.

The IPv6 header is not zeroed out in alloc_skb so we must initialize
it properly unless we want to see IPv6 packets with random TOS fields
floating around. The current implementation resets the flow label
but this could be changed if deemed necessary.

We stumbled upon this issue when trying to apply a mangle rule to
the RST packet generated by the REJECT target module.

Signed-off-by: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoexec: delay address limit change until point of no return
Mathias Krause [Thu, 9 Jun 2011 18:05:18 +0000 (20:05 +0200)]
exec: delay address limit change until point of no return

commit dac853ae89043f1b7752875300faf614de43c74b upstream.

Unconditionally changing the address limit to USER_DS and not restoring
it to its old value in the error path is wrong because it prevents us
using kernel memory on repeated calls to this function.  This, in fact,
breaks the fallback of hard coded paths to the init program from being
ever successful if the first candidate fails to load.

With this patch applied switching to USER_DS is delayed until the point
of no return is reached which makes it possible to have a multi-arch
rootfs with one arch specific init binary for each of the (hard coded)
probed paths.

Since the address limit is already set to USER_DS when start_thread()
will be invoked, this redundancy can be safely removed.

Signed-off-by: Mathias Krause <minipli@googlemail.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoxfs: properly account for reclaimed inodes
Johannes Weiner [Fri, 1 Oct 2010 07:43:54 +0000 (07:43 +0000)]
xfs: properly account for reclaimed inodes

commit 081003fff467ea0e727f66d5d435b4f473a789b3 upstream.

When marking an inode reclaimable, a per-AG counter is increased, the
inode is tagged reclaimable in its per-AG tree, and, when this is the
first reclaimable inode in the AG, the AG entry in the per-mount tree
is also tagged.

When an inode is finally reclaimed, however, it is only deleted from
the per-AG tree.  Neither the counter is decreased, nor is the parent
tree's AG entry untagged properly.

Since the tags in the per-mount tree are not cleared, the inode
shrinker iterates over all AGs that have had reclaimable inodes at one
point in time.

The counters on the other hand signal an increasing amount of slab
objects to reclaim.  Since "70e60ce xfs: convert inode shrinker to
per-filesystem context" this is not a real issue anymore because the
shrinker bails out after one iteration.

But the problem was observable on a machine running v2.6.34, where the
reclaimable work increased and each process going into direct reclaim
eventually got stuck on the xfs inode shrinking path, trying to scan
several million objects.

Fix this by properly unwinding the reclaimable-state tracking of an
inode when it is reclaimed.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Alex Elder <aelder@sgi.com>
Backported-by: Stefan Priebe <s.priebe@profihost.ag>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoACPI: use _HID when supplied by root-level devices
Bjorn Helgaas [Wed, 24 Mar 2010 16:44:33 +0000 (10:44 -0600)]
ACPI: use _HID when supplied by root-level devices

commit b7b30de53aef6ce773d34837ba7d8422bd3baeec upstream.

Previously, we assumed the only Device object immediately below the root
was the \_SB Scope (which the ACPI CA treats as a Device), so we forced
the HID of all such objects to ACPI_BUS_HID ("LNXSYBUS").

However, there are DSDTs that supply root-level Device objects with _HIDs.
This patch makes us pay attention to those _HIDs and only add the synthetic
ACPI_BUS_HID for root-level objects that do not supply their own _HID.

For example, this DSDT: https://bugzilla.kernel.org/show_bug.cgi?id=15605
contains:

    Scope (_SB) {
...
    }
    Device (AMW0) {
Name (_HID, EisaId ("PNP0C14"))
...
    }

and we should use "PNP0C14" for the AMW0 device, not "LNXSYBUS".

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Acked-by: Zhang Rui <rui.zhang@intel.com>
Tested-by: Yong Wang <yong.y.wang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Thomas Renninger <trenn@suse.de>
Tested-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agopata_cm64x: fix boot crash on parisc
James Bottomley [Sun, 24 Apr 2011 19:30:14 +0000 (14:30 -0500)]
pata_cm64x: fix boot crash on parisc

commit 9281b16caac1276817b77033c5b8a1f5ca30102c upstream.

The old IDE cmd64x checks the status of the CNTRL register to see if
the ports are enabled before probing them.  pata_cmd64x doesn't do
this, which causes a HPMC on parisc when it tries to poke at the
secondary port because apparently the BAR isn't wired up (and a
non-responding piece of memory causes a HPMC).

Fix this by porting the CNTRL register port detection logic from IDE
cmd64x.  In addition, following converns from Alan Cox, add a check to
see if a mobility electronics bridge is the immediate parent and forgo
the check if it is (prevents problems on hotplug controllers).

Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agopata_cmd64x: remove unused definitions
Bartlomiej Zolnierkiewicz [Mon, 18 Jan 2010 17:15:18 +0000 (18:15 +0100)]
pata_cmd64x: remove unused definitions

commit c754d9b6e04371fb398cdd2f5e77be895126be20 upstream.

s/ARTIM2/ARTTIM23/ in cmd648_bmdma_stop() while at it

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agopata_cmd64x: cmd648_bmdma_stop() fix
Bartlomiej Zolnierkiewicz [Mon, 18 Jan 2010 17:15:11 +0000 (18:15 +0100)]
pata_cmd64x: cmd648_bmdma_stop() fix

commit 03a849e6ddb604ff6a220b78637ee8e122ffc796 upstream.

Clear the primary channel pending interrupt bit
instead of the reserved one.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agopata_cmd64x: fix PIO setup
Bartlomiej Zolnierkiewicz [Mon, 18 Jan 2010 17:14:55 +0000 (18:14 +0100)]
pata_cmd64x: fix PIO setup

commit a2bd62207af4be8f5fe815ff90cc309056407829 upstream.

Fix incorrect handling of recovery clocks value == 16 resulting
in overclocked recovery timings & potentially underclocked active
timings.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoata: use pci_dev->revision
Sergei Shtylyov [Tue, 24 Nov 2009 18:54:49 +0000 (22:54 +0400)]
ata: use pci_dev->revision

commit 89d3b3603bfb648e0113d8682d4f84dd18a776bd upstream.

Some places were using PCI_CLASS_REVISION instead of PCI_REVISION_ID, so
they weren't converted by commit 44c10138fd4bbc4b6d6bff0873c24902f2a9da65
(PCI: Change all drivers to use pci_device->revision).

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agomd/raid5: fix FUA request handling in ops_run_io()
Namhyung Kim [Tue, 14 Jun 2011 04:20:19 +0000 (14:20 +1000)]
md/raid5: fix FUA request handling in ops_run_io()

commit b062962edb086011e94ec4d9eb3f6a6d814f2a8f upstream.

Commit e9c7469bb4f5 ("md: implment REQ_FLUSH/FUA support")
introduced R5_WantFUA flag and set rw to WRITE_FUA in that case.
However remaining code still checks whether rw is exactly same
as WRITE or not, so FUAed-write ends up with being treated as
READ. Fix it.

This bug has been present since 2.6.37 and the fix is suitable for any
-stable kernel since then.  It is not clear why this has not caused
more problems.

Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agomd/raid5: fix raid5_set_bi_hw_segments
Namhyung Kim [Mon, 13 Jun 2011 05:48:22 +0000 (14:48 +0900)]
md/raid5: fix raid5_set_bi_hw_segments

commit 9b2dc8b665932a8e681a7ab3237f60475e75e161 upstream.

The @bio->bi_phys_segments consists of active stripes count in the
lower 16 bits and processed stripes count in the upper 16 bits. So
logical-OR operator should be bitwise one.

This bug has been present since 2.6.27 and the fix is suitable for any
-stable kernel since then.  Fortunately the bad code is only used on
error paths and is relatively unlikely to be hit.

Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agomd: check ->hot_remove_disk when removing disk
Namhyung Kim [Thu, 9 Jun 2011 01:42:54 +0000 (11:42 +1000)]
md: check ->hot_remove_disk when removing disk

commit 01393f3d5836b7d62e925e6f4658a7eb22b83a11 upstream.

Check pers->hot_remove_disk instead of pers->hot_add_disk in slot_store()
during disk removal. The linear personality only has ->hot_add_disk and
no ->hot_remove_disk, so that removing disk in the array resulted to
following kernel bug:

$ sudo mdadm --create /dev/md0 --level=linear --raid-devices=4 /dev/loop[0-3]
$ echo none | sudo tee /sys/block/md0/md/dev-loop2/slot
 BUG: unable to handle kernel NULL pointer dereference at           (null)
 IP: [<          (null)>]           (null)
 PGD c9f5d067 PUD 8575a067 PMD 0
 Oops: 0010 [#1] SMP
 CPU 2
 Modules linked in: linear loop bridge stp llc kvm_intel kvm asus_atk0110 sr_mod cdrom sg

 Pid: 10450, comm: tee Not tainted 3.0.0-rc1-leonard+ #173 System manufacturer System Product Name/P5G41TD-M PRO
 RIP: 0010:[<0000000000000000>]  [<          (null)>]           (null)
 RSP: 0018:ffff880085757df0  EFLAGS: 00010282
 RAX: ffffffffa00168e0 RBX: ffff8800d1431800 RCX: 000000000000006e
 RDX: 0000000000000001 RSI: 0000000000000002 RDI: ffff88008543c000
 RBP: ffff880085757e48 R08: 0000000000000002 R09: 000000000000000a
 R10: 0000000000000000 R11: ffff88008543c2e0 R12: 00000000ffffffff
 R13: ffff8800b4641000 R14: 0000000000000005 R15: 0000000000000000
 FS:  00007fe8c9e05700(0000) GS:ffff88011fa00000(0000) knlGS:0000000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
 CR2: 0000000000000000 CR3: 00000000b4502000 CR4: 00000000000406e0
 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
 Process tee (pid: 10450, threadinfo ffff880085756000, task ffff8800c9f08000)
 Stack:
  ffffffff8138496a ffff8800b4641000 ffff88008543c268 0000000000000000
  ffff8800b4641000 ffff88008543c000 ffff8800d1431868 ffffffff81a78a90
  ffff8800b4641000 ffff88008543c000 ffff8800d1431800 ffff880085757e98
 Call Trace:
  [<ffffffff8138496a>] ? slot_store+0xaa/0x265
  [<ffffffff81384bae>] rdev_attr_store+0x89/0xa8
  [<ffffffff8115a96a>] sysfs_write_file+0x108/0x144
  [<ffffffff81106b87>] vfs_write+0xb1/0x10d
  [<ffffffff8106e6c0>] ? trace_hardirqs_on_caller+0x111/0x135
  [<ffffffff81106cac>] sys_write+0x4d/0x77
  [<ffffffff814fe702>] system_call_fastpath+0x16/0x1b
 Code:  Bad RIP value.
 RIP  [<          (null)>]           (null)
  RSP <ffff880085757df0>
 CR2: 0000000000000000
 ---[ end trace ba5fc64319a826fb ]---

Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoCPUFREQ: Remove cpufreq_stats sysfs entries on module unload.
Dave Jones [Sun, 12 Jun 2011 20:35:28 +0000 (16:35 -0400)]
CPUFREQ: Remove cpufreq_stats sysfs entries on module unload.

commit 13f067537f34456443f61c950cd6dc37d1d5f3ee upstream.

cpufreq_stats leaves behind its sysfs entries, which causes a panic
when something stumbled across them.
(Discovered by unloading cpufreq_stats while powertop was loaded).

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agooprofile, dcookies: Fix possible circular locking dependency
Robert Richter [Tue, 31 May 2011 10:35:41 +0000 (12:35 +0200)]
oprofile, dcookies: Fix possible circular locking dependency

commit fe47ae7f53e179d2ef6771024feb000cbb86640f upstream.

The lockdep warning below detects a possible A->B/B->A locking
dependency of mm->mmap_sem and dcookie_mutex. The order in
sync_buffer() is mm->mmap_sem/dcookie_mutex, while in
sys_lookup_dcookie() it is vice versa.

Fixing it in sys_lookup_dcookie() by unlocking dcookie_mutex before
copy_to_user().

oprofiled/4432 is trying to acquire lock:
 (&mm->mmap_sem){++++++}, at: [<ffffffff810b444b>] might_fault+0x53/0xa3

but task is already holding lock:
 (dcookie_mutex){+.+.+.}, at: [<ffffffff81124d28>] sys_lookup_dcookie+0x45/0x149

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-> #1 (dcookie_mutex){+.+.+.}:
       [<ffffffff8106557f>] lock_acquire+0xf8/0x11e
       [<ffffffff814634f0>] mutex_lock_nested+0x63/0x309
       [<ffffffff81124e5c>] get_dcookie+0x30/0x144
       [<ffffffffa0000fba>] sync_buffer+0x196/0x3ec [oprofile]
       [<ffffffffa0001226>] task_exit_notify+0x16/0x1a [oprofile]
       [<ffffffff81467b96>] notifier_call_chain+0x37/0x63
       [<ffffffff8105803d>] __blocking_notifier_call_chain+0x50/0x67
       [<ffffffff81058068>] blocking_notifier_call_chain+0x14/0x16
       [<ffffffff8105a718>] profile_task_exit+0x1a/0x1c
       [<ffffffff81039e8f>] do_exit+0x2a/0x6fc
       [<ffffffff8103a5e4>] do_group_exit+0x83/0xae
       [<ffffffff8103a626>] sys_exit_group+0x17/0x1b
       [<ffffffff8146ad4b>] system_call_fastpath+0x16/0x1b

-> #0 (&mm->mmap_sem){++++++}:
       [<ffffffff81064dfb>] __lock_acquire+0x1085/0x1711
       [<ffffffff8106557f>] lock_acquire+0xf8/0x11e
       [<ffffffff810b4478>] might_fault+0x80/0xa3
       [<ffffffff81124de7>] sys_lookup_dcookie+0x104/0x149
       [<ffffffff8146ad4b>] system_call_fastpath+0x16/0x1b

other info that might help us debug this:

1 lock held by oprofiled/4432:
 #0:  (dcookie_mutex){+.+.+.}, at: [<ffffffff81124d28>] sys_lookup_dcookie+0x45/0x149

stack backtrace:
Pid: 4432, comm: oprofiled Not tainted 2.6.39-00008-ge5a450d #9
Call Trace:
 [<ffffffff81063193>] print_circular_bug+0xae/0xbc
 [<ffffffff81064dfb>] __lock_acquire+0x1085/0x1711
 [<ffffffff8102ef13>] ? get_parent_ip+0x11/0x42
 [<ffffffff810b444b>] ? might_fault+0x53/0xa3
 [<ffffffff8106557f>] lock_acquire+0xf8/0x11e
 [<ffffffff810b444b>] ? might_fault+0x53/0xa3
 [<ffffffff810d7d54>] ? path_put+0x22/0x27
 [<ffffffff810b4478>] might_fault+0x80/0xa3
 [<ffffffff810b444b>] ? might_fault+0x53/0xa3
 [<ffffffff81124de7>] sys_lookup_dcookie+0x104/0x149
 [<ffffffff8146ad4b>] system_call_fastpath+0x16/0x1b

References: https://bugzilla.kernel.org/show_bug.cgi?id=13809
Signed-off-by: Robert Richter <robert.richter@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
13 years agoALSA: hda: Fix quirk for Dell Inspiron 910
Daniel T Chen [Mon, 6 Jun 2011 22:55:34 +0000 (18:55 -0400)]
ALSA: hda: Fix quirk for Dell Inspiron 910

commit 0a1896b27b030529ec770aefd790544a1bdb7d5a upstream.

BugLink: https://launchpad.net/bugs/792712
The original reporter states that sound from the internal speakers is
inaudible until using the model=auto quirk. This symptom is due to an
existing quirk mask for 0x102802b* that uses the model=dell quirk. To
limit the possible regressions, leave the existing quirk mask but add
a higher priority specific mask for the reporter's PCI SSID.

Reported-and-tested-by: rodni hipp
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>