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;
黄涛 [Fri, 1 Jul 2011 10:59:51 +0000 (18:59 +0800)]
rk29: change IO memory map / VMALLOC_END, better support 1G memory
黄涛 [Fri, 1 Jul 2011 10:46:56 +0000 (18:46 +0800)]
rk29: reset: support reboot to recovery
root [Fri, 1 Jul 2011 10:43:39 +0000 (03:43 -0700)]
A22:modify lcd suspend function
黄涛 [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.
邱建斌 [Fri, 1 Jul 2011 09:18:11 +0000 (17:18 +0800)]
rk29_phone: Adaptive alsa set rate,default 44100
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
蔡枫 [Fri, 1 Jul 2011 08:20:29 +0000 (16:20 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Fri, 1 Jul 2011 08:19:56 +0000 (16:19 +0800)]
read sn for newton
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
邱建斌 [Thu, 30 Jun 2011 12:19:46 +0000 (20:19 +0800)]
rk29_phone : fix wm8994 change channel noise
黄涛 [Thu, 30 Jun 2011 06:25:55 +0000 (14:25 +0800)]
rk29: clock: display power domain is buggy, always keep it on
黄涛 [Thu, 30 Jun 2011 03:53:11 +0000 (11:53 +0800)]
rk: serial: remove printk from suspend/resume
root [Wed, 29 Jun 2011 16:41:45 +0000 (00:41 +0800)]
A22:add spi bus selection for LCD
邱建斌 [Thu, 30 Jun 2011 03:17:37 +0000 (11:17 +0800)]
rk29phone: fix wm8994 suspend and resume noise
黄涛 [Thu, 30 Jun 2011 03:29:37 +0000 (11:29 +0800)]
rk29: backlight: default delay set to 100ms
yangkai [Thu, 30 Jun 2011 02:11:54 +0000 (10:11 +0800)]
fix usb online state in power_supply
root [Wed, 29 Jun 2011 10:36:48 +0000 (18:36 +0800)]
rk29phone:reduce heat consumption for charging
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
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
yangkai [Wed, 29 Jun 2011 09:30:12 +0000 (17:30 +0800)]
support usb gadget rndis
jyk [Tue, 28 Jun 2011 11:50:33 +0000 (19:50 +0800)]
newton: add FT5406 touchscreen driver support
zyw [Wed, 29 Jun 2011 01:57:29 +0000 (09:57 +0800)]
disable cursor when init
黄涛 [Wed, 29 Jun 2011 01:40:21 +0000 (09:40 +0800)]
arm: Makefile: add bootimg/zbootimg target
zhaoyifeng [Tue, 28 Jun 2011 12:54:52 +0000 (20:54 +0800)]
add emmc clk power save config.
蔡枫 [Tue, 28 Jun 2011 11:48:47 +0000 (19:48 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
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
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
黄涛 [Tue, 28 Jun 2011 09:00:04 +0000 (17:00 +0800)]
pack-kernel.sh: exclude newton board, add phone sdk
黄涛 [Tue, 28 Jun 2011 08:27:10 +0000 (16:27 +0800)]
Staging: dream: Kconfig fix for non-HTC hardware
蔡枫 [Tue, 28 Jun 2011 08:16:19 +0000 (16:16 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Tue, 28 Jun 2011 08:16:01 +0000 (16:16 +0800)]
update config file for newton
zyw [Tue, 28 Jun 2011 07:43:00 +0000 (15:43 +0800)]
fix cursor reload bug
蔡枫 [Tue, 28 Jun 2011 07:24:52 +0000 (15:24 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Tue, 28 Jun 2011 07:24:06 +0000 (15:24 +0800)]
add camera support and rtc for newton board
邱建斌 [Tue, 28 Jun 2011 06:50:19 +0000 (14:50 +0800)]
rk29_phone: headset hook key update
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.
xsf@rock-chips.com [Tue, 28 Jun 2011 03:50:02 +0000 (11:50 +0800)]
A22:switch to 32k when sleep
邱建斌 [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
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
黄涛 [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
phc [Mon, 27 Jun 2011 12:38:56 +0000 (20:38 +0800)]
RK29SmartPhone:open 32K crystalloid default
xsf@rock-chips.com [Mon, 27 Jun 2011 12:18:27 +0000 (20:18 +0800)]
RK29SmartPhone:switch to 32k when sleep
黄涛 [Mon, 27 Jun 2011 11:00:30 +0000 (19:00 +0800)]
rk29: ddr3sdk: cpufreq support 1G Hz
黄涛 [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.
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
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
root [Mon, 27 Jun 2011 08:47:30 +0000 (16:47 +0800)]
phonesdk: modify ARM freq and core voltage in running
黄涛 [Mon, 27 Jun 2011 06:16:12 +0000 (14:16 +0800)]
rk29: vivante: alloc_pages add GFP_DMA flag to support 1G memory
黄涛 [Mon, 27 Jun 2011 05:57:32 +0000 (13:57 +0800)]
rk29: Kconfig: support 1G memory
黄涛 [Mon, 27 Jun 2011 05:25:19 +0000 (13:25 +0800)]
rk29: phonepadsdk: support 1G memory
黄涛 [Mon, 27 Jun 2011 05:24:27 +0000 (13:24 +0800)]
rk29: phonesdk: support 1G memory
黄涛 [Mon, 27 Jun 2011 05:24:12 +0000 (13:24 +0800)]
rk29: rk29-ddr3sdk: support 1G memory
黄涛 [Mon, 27 Jun 2011 05:23:52 +0000 (13:23 +0800)]
rk29: rk29sdk: support 1G memory
黄涛 [Mon, 27 Jun 2011 05:14:38 +0000 (13:14 +0800)]
rk29: vivante: fix computation of resource size for 1G memory
黄涛 [Mon, 27 Jun 2011 05:06:52 +0000 (13:06 +0800)]
rk29: mmu.c: enlarge vmalloc_reserve to support 1G memory
黄涛 [Mon, 27 Jun 2011 05:01:05 +0000 (13:01 +0800)]
rk29: memory.h: fix for highmem
黄涛 [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
蔡枫 [Mon, 27 Jun 2011 03:48:04 +0000 (11:48 +0800)]
add 5 point touch, close cs42l52 log for newton
蔡枫 [Sat, 25 Jun 2011 14:42:44 +0000 (22:42 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Sat, 25 Jun 2011 14:42:23 +0000 (22:42 +0800)]
fix tp and codec bug in newton board
phc [Sat, 25 Jun 2011 08:43:26 +0000 (16:43 +0800)]
RK29SmartPhone:23d IMEI read support
蔡枫 [Fri, 24 Jun 2011 14:40:11 +0000 (22:40 +0800)]
Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop
蔡枫 [Fri, 24 Jun 2011 14:39:48 +0000 (22:39 +0800)]
add support for newton board
yangkai [Fri, 24 Jun 2011 10:09:34 +0000 (18:09 +0800)]
fix kernel panic when not standard usb keyboard connect
yangkai [Fri, 24 Jun 2011 08:13:40 +0000 (16:13 +0800)]
revert ddr v2.02 and dpll use high band
xsf@rock-chips.com [Fri, 24 Jun 2011 07:43:10 +0000 (15:43 +0800)]
A22: make wm8310 exit suspend
yangkai [Fri, 24 Jun 2011 06:57:35 +0000 (14:57 +0800)]
adjust usb controller init sequence and remove some log
phc [Fri, 24 Jun 2011 06:39:39 +0000 (14:39 +0800)]
RK29SmartPhone:TP change from GT801 to GT818
黄涛 [Fri, 24 Jun 2011 04:13:19 +0000 (12:13 +0800)]
rk29: cru.h: fix SOFT_RST_HSADC define bug
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
Greg Kroah-Hartman [Thu, 23 Jun 2011 22:24:26 +0000 (15:24 -0700)]
Linux 2.6.32.42
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Dmitry Torokhov [Tue, 31 May 2011 21:37:23 +0000 (14:37 -0700)]
USB: xhci - fix interval calculation for FS isoc endpoints
commit
cd3c18ba2fac14b34d03cae111f215009735ea06 upstream.
Full-speed isoc endpoints specify interval in exponent based form in
frames, not microframes, so we need to adjust accordingly.
NEC xHCI host controllers will return an error code of 0x11 if a full
speed isochronous endpoint is added with the Interval field set to
something less than 3 (2^3 = 8 microframes, or one frame). It is
impossible for a full speed device to have an interval smaller than one
frame.
This was always an issue in the xHCI driver, but commit
dfa49c4ad120a784ef1ff0717168aa79f55a483a "USB: xhci - fix math in
xhci_get_endpoint_interval()" removed the clamping of the minimum value
in the Interval field, which revealed this bug.
This needs to be backported to stable kernels back to 2.6.31.
Reported-by: Matt Evans <matt@ozlabs.org>
Signed-off-by: Dmitry Torokhov <dtor@vmware.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Steffen Sledz [Tue, 7 Jun 2011 12:01:56 +0000 (14:01 +0200)]
USB: serial: add another 4N-GALAXY.DE PID to ftdi_sio driver
commit
a26d31cef06f43a76327c21235e75450869df2b8 upstream.
E.g. newer CAN 2.0 A/B <=> USB 2.0 converters report idProduct=f3c2.
Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Libor Pechacek [Fri, 20 May 2011 12:53:25 +0000 (14:53 +0200)]
USB: core: Tolerate protocol stall during hub and port status read
commit
3824c1ddaf744be44b170a335332b9d6afe79254 upstream.
Protocol stall should not be fatal while reading port or hub status as it is
transient state. Currently hub EP0 STALL during port status read results in
failed device enumeration. This has been observed with ST-Ericsson (formerly
Philips) USB 2.0 Hub (04cc:1521) after connecting keyboard.
Signed-off-by: Libor Pechacek <lpechacek@suse.cz>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Toby Gray [Mon, 6 Jun 2011 13:52:48 +0000 (14:52 +0100)]
USB: cdc-acm: Adding second ACM channel support for Nokia E7 and C7
commit
4061fde2fa80f40cb27114f60500d38d0afcf350 upstream.
This adds the Nokia E7 and C7 to the list of devices in cdc-acm, allowing
the secondary ACM channel on the device to be exposed. Without this patch
the ACM driver won't claim this secondary channel as it's marked as
having a vendor-specific protocol.
Signed-off-by: Toby Gray <toby.gray@realvnc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Joerg Roedel [Mon, 6 Jun 2011 14:04:02 +0000 (16:04 +0200)]
x86/amd-iommu: Fix 3 possible endless loops
commit
0de66d5b35ee148455e268b2782873204ffdef4b upstream.
The driver contains several loops counting on an u16 value
where the exit-condition is checked against variables that
can have values up to 0xffff. In this case the loops will
never exit. This patch fixed 3 such loops.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Dan Carpenter [Fri, 3 Jun 2011 04:45:28 +0000 (07:45 +0300)]
xen: off by one errors in multicalls.c
commit
f124c6ae59e193705c9ddac57684d50006d710e6 upstream.
b->args[] has MC_ARGS elements, so the comparison here should be
">=" instead of ">". Otherwise we read past the end of the array
one space.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
OGAWA Hirofumi [Tue, 31 May 2011 10:38:07 +0000 (19:38 +0900)]
fat: Fix corrupt inode flags when remove ATTR_SYS flag
commit
1adffbae22332bb558c2a29de19d9aca391869f6 upstream.
We are clearly missing '~' in fat_ioctl_set_attributes().
Reported-by: Dmitry Dmitriev <dimondmm@yandex.ru>
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>