firefly-linux-kernel-4.4.55.git
13 years agoA22: add working power management function
宋秀杰 [Tue, 5 Jul 2011 07:07:38 +0000 (00:07 -0700)]
A22: add working power management function

13 years ago net:wifi: fixed -O2 compile error"array subscript is below array bounds"
lbt [Tue, 5 Jul 2011 06:48:55 +0000 (14:48 +0800)]
  net:wifi: fixed -O2 compile error"array subscript is below array bounds"

13 years ago mmc: wifi sdio card ignore pm notify. otherwise wifi may work abnormally when resum...
lbt [Tue, 5 Jul 2011 06:42:31 +0000 (14:42 +0800)]
  mmc: wifi sdio card ignore pm notify. otherwise wifi may work abnormally when resume from suspend.

13 years agoA22: default use 32K clock instead of 27M
宋秀杰 [Tue, 5 Jul 2011 04:18:12 +0000 (21:18 -0700)]
A22: default use 32K clock instead of 27M

13 years agousb host controller support remote wakeup
yangkai [Tue, 5 Jul 2011 02:10:50 +0000 (10:10 +0800)]
usb host controller support remote wakeup

13 years agoupdate newton config file and board file
蔡枫 [Mon, 4 Jul 2011 13:21:26 +0000 (21:21 +0800)]
update newton config file and board file

13 years agoMerge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Mon, 4 Jul 2011 12:27:58 +0000 (20:27 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop

13 years agoadd ac detec and gps power control function
蔡枫 [Mon, 4 Jul 2011 12:27:38 +0000 (20:27 +0800)]
add ac detec and gps power control function

13 years agoMerge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Fri, 1 Jul 2011 08:20:29 +0000 (16:20 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop

13 years agoread sn for newton
蔡枫 [Fri, 1 Jul 2011 08:19:56 +0000 (16:19 +0800)]
read sn for newton

13 years agosmartphonesdk: to resolve the waring--unbalanced disable for LDO3,LDO8,LDO9
xsf@rock-chips.com [Fri, 1 Jul 2011 08:15:40 +0000 (16:15 +0800)]
smartphonesdk: to resolve the waring--unbalanced disable for LDO3,LDO8,LDO9

13 years agoA22:add 32K function config support.
root [Fri, 1 Jul 2011 06:30:53 +0000 (14:30 +0800)]
A22:add 32K function config support.

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>