chenxing [Wed, 20 Mar 2013 06:29:15 +0000 (14:29 +0800)]
rk: add /sys/pm_tests/tools support
yxj [Wed, 20 Mar 2013 03:26:56 +0000 (11:26 +0800)]
rk fb : fix a panic bug
panic bug like this:
rk_fb_wait_for_vsync_thread may access inf->fb[0] before it is initialized
[ 1.009224] Unable to handle kernel NULL pointer dereference at virtual address
00000240
[ 1.017323] pgd =
c0404000
[ 1.020035] [
00000240] *pgd=
00000000
[ 1.023620] Internal error: Oops: 5 [#1] PREEMPT SMP
[ 1.028586] CPU: 1 Not tainted (3.0.36+ #217)
[ 1.033297] PC is at rk_fb_wait_for_vsync_thread+0xe8/0x144
[ 1.112136] LR is at rk_fb_wait_for_vsync_thread+0xe8/0x144
[ 1.117708] pc : [<
c06243e0>] lr : [<
c06243e0>] psr:
60000013
[ 1.117715] sp :
efe59f80 ip :
c04384a0 fp :
00000000
[ 1.129194] r10:
00000000 r9 :
efe59f90 r8 :
efe58000
[ 1.134417] r7 :
efe39a98 r6 :
00000000 r5 :
efe59f84 r4 :
efe39a08
[ 1.140942] r3 :
00000000 r2 :
00000000 r1 :
efc475a0 r0 :
00000036
[ 1.147469] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 1.154777] Control:
10c5387d Table:
6040404a DAC:
00000015
wlf [Tue, 19 Mar 2013 13:35:42 +0000 (21:35 +0800)]
USB: do not call disconnect callback func in dwc_otg_hcd_enable
wlf [Tue, 19 Mar 2013 13:20:16 +0000 (21:20 +0800)]
USB: fix urb NULL pointer bug
wlf [Tue, 19 Mar 2013 12:51:14 +0000 (20:51 +0800)]
USB: fix usb_get_configuration bug
黄涛 [Tue, 19 Mar 2013 04:10:20 +0000 (12:10 +0800)]
pack-kernel.sh: exclude rk3028
黄涛 [Tue, 19 Mar 2013 04:05:53 +0000 (12:05 +0800)]
rk3028: rename from rk2928b
wuhao [Tue, 19 Mar 2013 02:57:34 +0000 (10:57 +0800)]
rk3188 ds1006h: config hardware v1.2
hjc [Tue, 19 Mar 2013 02:17:59 +0000 (10:17 +0800)]
rk2928b: pwm regulator ,tp irq and pwm hold
陈辉 [Mon, 18 Mar 2013 09:21:43 +0000 (17:21 +0800)]
rk3168_86v_codec(ds803f): enable MT5931_MT6622 wifi
yxj [Mon, 18 Mar 2013 09:21:48 +0000 (17:21 +0800)]
fix compile err when no select CONFIG_DISPLAY_SUPPORT
黄涛 [Mon, 18 Mar 2013 09:15:50 +0000 (17:15 +0800)]
block: fix request_queue lifetime handling by making blk_queue_cleanup() properly shutdown
commit
c9a929dde3913780b5c416f4bb9d9ed804f509ce upstream.
request_queue is refcounted but actually depdends on lifetime
management from the queue owner - on blk_cleanup_queue(), block layer
expects that there's no request passing through request_queue and no
new one will.
This is fundamentally broken. The queue owner (e.g. SCSI layer)
doesn't have a way to know whether there are other active users before
calling blk_cleanup_queue() and other users (e.g. bsg) don't have any
guarantee that the queue is and would stay valid while it's holding a
reference.
With delay added in blk_queue_bio() before queue_lock is grabbed, the
following oops can be easily triggered when a device is removed with
in-flight IOs.
sd 0:0:1:0: [sdb] Stopping disk
ata1.01: disabled
general protection fault: 0000 [#1] PREEMPT SMP
CPU 2
Modules linked in:
Pid: 648, comm: test_rawio Not tainted 3.1.0-rc3-work+ #56 Bochs Bochs
RIP: 0010:[<
ffffffff8137d651>] [<
ffffffff8137d651>] elv_rqhash_find+0x61/0x100
...
Process test_rawio (pid: 648, threadinfo
ffff880019efa000, task
ffff880019ef8a80)
...
Call Trace:
[<
ffffffff8137d774>] elv_merge+0x84/0xe0
[<
ffffffff81385b54>] blk_queue_bio+0xf4/0x400
[<
ffffffff813838ea>] generic_make_request+0xca/0x100
[<
ffffffff81383994>] submit_bio+0x74/0x100
[<
ffffffff811c53ec>] dio_bio_submit+0xbc/0xc0
[<
ffffffff811c610e>] __blockdev_direct_IO+0x92e/0xb40
[<
ffffffff811c39f7>] blkdev_direct_IO+0x57/0x60
[<
ffffffff8113b1c5>] generic_file_aio_read+0x6d5/0x760
[<
ffffffff8118c1ca>] do_sync_read+0xda/0x120
[<
ffffffff8118ce55>] vfs_read+0xc5/0x180
[<
ffffffff8118cfaa>] sys_pread64+0x9a/0xb0
[<
ffffffff81afaf6b>] system_call_fastpath+0x16/0x1b
This happens because blk_queue_cleanup() destroys the queue and
elevator whether IOs are in progress or not and DEAD tests are
sprinkled in the request processing path without proper
synchronization.
Similar problem exists for blk-throtl. On queue cleanup, blk-throtl
is shutdown whether it has requests in it or not. Depending on
timing, it either oopses or throttled bios are lost putting tasks
which are waiting for bio completion into eternal D state.
The way it should work is having the usual clear distinction between
shutdown and release. Shutdown drains all currently pending requests,
marks the queue dead, and performs partial teardown of the now
unnecessary part of the queue. Even after shutdown is complete,
reference holders are still allowed to issue requests to the queue
although they will be immmediately failed. The rest of teardown
happens on release.
This patch makes the following changes to make blk_queue_cleanup()
behave as proper shutdown.
* QUEUE_FLAG_DEAD is now set while holding both q->exit_mutex and
queue_lock.
* Unsynchronized DEAD check in generic_make_request_checks() removed.
This couldn't make any meaningful difference as the queue could die
after the check.
* blk_drain_queue() updated such that it can drain all requests and is
now called during cleanup.
* blk_throtl updated such that it checks DEAD on grabbing queue_lock,
drains all throttled bios during cleanup and free td when queue is
released.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Tejun Heo [Wed, 19 Oct 2011 12:33:05 +0000 (14:33 +0200)]
block: make get_request[_wait]() fail if queue is dead
Currently get_request[_wait]() allocates request whether queue is dead
or not. This patch makes get_request[_wait]() return NULL if @q is
dead. blk_queue_bio() is updated to fail the submitted bio if request
allocation fails. While at it, add docbook comments for
get_request[_wait]().
Note that the current code has rather unclear (there are spurious DEAD
tests scattered around) assumption that the owner of a queue
guarantees that no request travels block layer if the queue is dead
and this patch in itself doesn't change much; however, this will allow
fixing the broken assumption in the next patch.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Akinobu Mita [Tue, 26 Jul 2011 23:09:03 +0000 (16:09 -0700)]
fail_make_request: cleanup should_fail_request
This changes should_fail_request() to more usable wrapper function of
should_fail(). It can avoid putting #ifdef CONFIG_FAIL_MAKE_REQUEST in
the middle of a function.
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
黄涛 [Mon, 18 Mar 2013 07:14:13 +0000 (15:14 +0800)]
rtc: HYM8563: fix probe error handling by destroy wake lock
fix this bug:
Unable to handle kernel paging request at virtual address
00020008
pgd =
d3e60000
[
00020008] *pgd=
00000000
Internal error: Oops: 5 [#1] PREEMPT SMP
CPU: 1 Tainted: G C (3.0.36+ #6)
PC is at print_lock_stat+0x1c/0x1b8
LR is at wakelock_stats_show+0x3c/0xa4
or this bug:
WARNING: at lib/list_debug.c:26 __list_add+0x60/0x90()
list_add corruption. next->prev should be prev (
c0ae4468), but was
05900000. (next=
d89bb060).
[<
c043ece0>] (unwind_backtrace+0x0/0xfc) from [<
c046dacc>] (warn_slowpath_common+0x4c/0x64)
[<
c046dacc>] (warn_slowpath_common+0x4c/0x64) from [<
c046db78>] (warn_slowpath_fmt+0x30/0x40)
[<
c046db78>] (warn_slowpath_fmt+0x30/0x40) from [<
c060554c>] (__list_add+0x60/0x90)
[<
c060554c>] (__list_add+0x60/0x90) from [<
c04a6140>] (wake_lock_init+0x8c/0xe4)
[<
c04a6140>] (wake_lock_init+0x8c/0xe4) from [<
c071bda0>] (power_supply_register+0xd8/0x100)
[<
c071bda0>] (power_supply_register+0xd8/0x100) from [<
c041e5d8>] (test_power_init+0x18/0x7c)
[<
c041e5d8>] (test_power_init+0x18/0x7c) from [<
c04335d0>] (do_one_initcall+0x34/0x17c)
[<
c04335d0>] (do_one_initcall+0x34/0x17c) from [<
c0408370>] (kernel_init+0x98/0x144)
[<
c0408370>] (kernel_init+0x98/0x144) from [<
c0439f64>] (kernel_thread_exit+0x0/0x8)
hjc [Mon, 18 Mar 2013 06:27:03 +0000 (14:27 +0800)]
rk3168_86v: codec es8323
gwl [Mon, 18 Mar 2013 03:57:12 +0000 (11:57 +0800)]
add broadcom AP series wifi
hjc [Mon, 18 Mar 2013 03:40:03 +0000 (11:40 +0800)]
rk2928b: defconfig delete sdmmc gpio
hjc [Mon, 18 Mar 2013 03:00:12 +0000 (11:00 +0800)]
rk3168_86v: 2in1 IO
hjc [Mon, 18 Mar 2013 02:59:34 +0000 (10:59 +0800)]
rk3168_86v: add support lcd auo A080SN03
hjc [Mon, 18 Mar 2013 02:57:42 +0000 (10:57 +0800)]
rk3168_86v: add support codec es8323,tp goodix_82x
hjc [Mon, 18 Mar 2013 02:40:14 +0000 (10:40 +0800)]
rk2928b: lcd wifi codec hdmi and defconfig
黄涛 [Thu, 14 Mar 2013 10:31:11 +0000 (18:31 +0800)]
rk: alarm: disable rtc alarm irq when shutdown
hhb [Fri, 15 Mar 2013 10:05:16 +0000 (18:05 +0800)]
rgb to mipi: update mipi driver
lyz [Thu, 14 Mar 2013 09:56:44 +0000 (17:56 +0800)]
rk2928 : tune usb-phy config for full/low speed devices
yxj [Fri, 15 Mar 2013 03:53:08 +0000 (11:53 +0800)]
rk30 lcdc:support ioctl RK_FBIOPUT_COLOR_KEY_CFG
wuhao [Fri, 15 Mar 2013 01:38:56 +0000 (09:38 +0800)]
rk3188 ds1006h: add hardware V1.2 support
yzq [Thu, 14 Mar 2013 08:57:03 +0000 (16:57 +0800)]
it66121 hdmi : fix read device_id err
yxj [Thu, 14 Mar 2013 08:47:00 +0000 (16:47 +0800)]
lcdc Kconfig:RK30 lcdc depends on ARCH_RK30XX
yxj [Thu, 14 Mar 2013 07:30:29 +0000 (15:30 +0800)]
lcdc Kconfig:RK30 LCDC depend on SOC_RK3066
yzq [Thu, 14 Mar 2013 06:29:06 +0000 (14:29 +0800)]
it66121 hdmi: update drivers
1、support HDCP
2、if edid read err,assume sink as HDMI
3、add device_id distinguish
张晴 [Thu, 14 Mar 2013 03:47:26 +0000 (11:47 +0800)]
tps65910:set dcdc time step 12.5mv/us
邱建斌 [Thu, 14 Mar 2013 03:42:36 +0000 (11:42 +0800)]
audio DMA : dma_period is not an integer multiple of dma_size support
wbx [Thu, 14 Mar 2013 02:55:09 +0000 (10:55 +0800)]
rk 3188: fix board-rk3168-tb.c for sensor
黄涛 [Thu, 14 Mar 2013 02:35:27 +0000 (10:35 +0800)]
pack-kernel.sh: never build .uu
lyz [Thu, 14 Mar 2013 01:52:36 +0000 (09:52 +0800)]
usb : USB20_OTG support both host & device mode in defconfig for rk3066/3168/3188/2928b
lyz [Thu, 14 Mar 2013 01:44:20 +0000 (09:44 +0800)]
Rk2928 : use uart2 as default uart debug port instead of usb-uart for rk2928_tb
yxj [Wed, 13 Mar 2013 03:44:00 +0000 (11:44 +0800)]
rk3066b lcdc:better support for dump display info interface
yxj [Wed, 13 Mar 2013 02:33:04 +0000 (10:33 +0800)]
board LR097:modify gesnsor orientation to support new sensor framework
yxj [Tue, 12 Mar 2013 08:25:49 +0000 (16:25 +0800)]
rk30 lcdc:better support for dump display info interface
chenxing [Wed, 13 Mar 2013 07:23:12 +0000 (15:23 +0800)]
rk3066: make sure gpll config(nr = 1, nf = 25, no = 2) when use VMAC
kfx [Wed, 13 Mar 2013 03:14:04 +0000 (11:14 +0800)]
update rk3066_openwrt_defconfig
wbx [Wed, 13 Mar 2013 03:08:31 +0000 (11:08 +0800)]
rk3066 : fix board-rk30-ds975.c board-rk30-sdk.c for sensor
wuhao [Wed, 13 Mar 2013 02:55:21 +0000 (10:55 +0800)]
rk3188 ds1006h: pwm is set to 30k
wuhao [Wed, 13 Mar 2013 02:53:07 +0000 (10:53 +0800)]
rk3188 ds1006h: modify freq volt table
黄涛 [Tue, 12 Mar 2013 14:27:07 +0000 (22:27 +0800)]
rk: meminfo: show real totalram
赵子初 [Tue, 12 Mar 2013 09:39:27 +0000 (17:39 +0800)]
update bp driver
wuhao [Tue, 12 Mar 2013 08:46:20 +0000 (16:46 +0800)]
rk3188 ds1006h: configuration the akm8963 based sensors framework
lyz [Tue, 12 Mar 2013 02:16:06 +0000 (10:16 +0800)]
USB: support RK2928B for usb host and usb otg
邱建斌 [Tue, 12 Mar 2013 07:54:08 +0000 (15:54 +0800)]
rt5631 phone : add rt5631 phone/phonepad board info
hjc [Tue, 12 Mar 2013 03:45:38 +0000 (11:45 +0800)]
rk3168_86v: fix gsensor direction mma7660
hhb [Tue, 12 Mar 2013 02:37:26 +0000 (10:37 +0800)]
spi: add slave supprot
hjc [Tue, 12 Mar 2013 02:15:11 +0000 (10:15 +0800)]
rk3168_86v: compatible with wm831x and act8846; set ddr 300 Mhz
luowei [Mon, 11 Mar 2013 11:25:31 +0000 (19:25 +0800)]
sensors:fix NULL pointer problem of compass
hjc [Mon, 11 Mar 2013 09:51:27 +0000 (17:51 +0800)]
rk3168_86v: modify shutdown error
kfx [Mon, 11 Mar 2013 09:34:34 +0000 (17:34 +0800)]
download kernel source code from 10.10.10.29
wbx [Mon, 11 Mar 2013 09:29:23 +0000 (17:29 +0800)]
rk3066: add rk3066_sdk_defconfig and rk30_ds975_defconfig for lower warning
许盛飞 [Mon, 11 Mar 2013 08:50:02 +0000 (16:50 +0800)]
show the lowerpower picture , battery lower-power when start up
许盛飞 [Mon, 11 Mar 2013 08:40:00 +0000 (16:40 +0800)]
adc-battery: for lower-power warning
许盛飞 [Mon, 11 Mar 2013 08:38:16 +0000 (16:38 +0800)]
adc-battery: add for lower warning
yxj [Mon, 11 Mar 2013 06:48:28 +0000 (14:48 +0800)]
rk3188 lcdc:fix bug in rk3188_lcdc_open/close
before disable lcdc clk,we must make sure
the lcdc enter stanby and finish read or write
the lcdc register。
Before this commit,some hdmi hotplug crash made
by thie issue
yxj [Thu, 7 Mar 2013 02:25:01 +0000 (10:25 +0800)]
screen:rename LVDS_FORMAT
wlf [Mon, 11 Mar 2013 02:55:24 +0000 (10:55 +0800)]
USB: support RK3168M for usb host and usb otg
luowei [Sat, 9 Mar 2013 07:57:37 +0000 (15:57 +0800)]
sensors:add akm8963 support,need update HAL
ddl [Sat, 9 Mar 2013 07:08:42 +0000 (15:08 +0800)]
camera: ov5640 soft reset cancel in init_data, because outformat may be error for register write fail
xxx [Fri, 8 Mar 2013 10:57:53 +0000 (18:57 +0800)]
add clk disable by dvfs
ddl [Fri, 8 Mar 2013 09:58:48 +0000 (17:58 +0800)]
camera: update gc2035 and sp2518 driver, 2035 fix some module may output error
wbx [Fri, 8 Mar 2013 09:48:47 +0000 (17:48 +0800)]
rk3066: fix board-rk30-ds975.c for rk_cif_power
hhb [Fri, 8 Mar 2013 08:11:45 +0000 (16:11 +0800)]
rk_serial: set DBG_PORT to CONFIG_RK_DEBUG_UART and close DEBUG
wbx [Fri, 8 Mar 2013 06:14:38 +0000 (14:14 +0800)]
rk3066: fix board-rk30-ds975.c for screen blink
wbx [Fri, 8 Mar 2013 04:49:01 +0000 (12:49 +0800)]
rk3066: add board-rk30-ds975.c for /sys/module/board/parameters/
hjc [Fri, 8 Mar 2013 02:08:23 +0000 (10:08 +0800)]
rk2928b: add board file and defconfig
Cody Xie [Fri, 8 Mar 2013 00:55:01 +0000 (08:55 +0800)]
rk3188 : add board path for /sys/module/board/parameters/
蓝斌元 [Thu, 7 Mar 2013 12:45:38 +0000 (20:45 +0800)]
z600t board add ct36x tp support
lyz [Thu, 7 Mar 2013 09:50:02 +0000 (17:50 +0800)]
rk292x : usb : exit_phy_hi-z_when_check_dpdm
蓝斌元 [Thu, 7 Mar 2013 09:22:55 +0000 (17:22 +0800)]
modify for ct36x touchscreen
xxx [Thu, 7 Mar 2013 07:12:41 +0000 (15:12 +0800)]
add freq volt table selects for productions
黄涛 [Thu, 7 Mar 2013 06:29:08 +0000 (14:29 +0800)]
rk: cpu.h: add soc_is_rk2928b
黄涛 [Thu, 7 Mar 2013 06:28:51 +0000 (14:28 +0800)]
rk: Kconfig add RK2928B support
黄涛 [Thu, 7 Mar 2013 03:43:40 +0000 (11:43 +0800)]
rk30: Makefile: fix board.o define
yzq [Thu, 7 Mar 2013 04:17:05 +0000 (12:17 +0800)]
rk610 : support 1366x768 dual screen
hjc [Thu, 7 Mar 2013 03:00:30 +0000 (11:00 +0800)]
rk3168_86v: set min brightness
cym [Thu, 7 Mar 2013 02:56:17 +0000 (10:56 +0800)]
RK3168 DDR:support DDR change frequency for RK3168
邱建斌 [Thu, 7 Mar 2013 02:40:34 +0000 (10:40 +0800)]
rt5616: add rt5616 audio codec support
蓝斌元 [Thu, 7 Mar 2013 02:18:40 +0000 (10:18 +0800)]
Merge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into develop-3.0
蓝斌元 [Thu, 7 Mar 2013 02:18:31 +0000 (10:18 +0800)]
add board path for /sys/module/board/parameters/
赵子初 [Thu, 7 Mar 2013 02:13:21 +0000 (10:13 +0800)]
add pid for mu509
zsq [Thu, 7 Mar 2013 01:04:56 +0000 (09:04 +0800)]
fix rga mmu map process lock bug
蓝斌元 [Wed, 6 Mar 2013 10:15:57 +0000 (18:15 +0800)]
Merge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into develop-3.0
蓝斌元 [Wed, 6 Mar 2013 10:13:33 +0000 (18:13 +0800)]
rk3066 add phone pad modem support
hjc [Wed, 6 Mar 2013 10:09:07 +0000 (18:09 +0800)]
rk3168_86v: new hardware for lcd_cs pin
wuhao [Tue, 5 Mar 2013 10:51:05 +0000 (18:51 +0800)]
rk3188 ds1006h: wakeup system by OTG BVALID interrupt when USB OTG conneted
黄涛 [Tue, 5 Mar 2013 10:48:02 +0000 (18:48 +0800)]
Revert "netfilter: xt_qtaguid: Allow tracking loopback"
This reverts commit
5310c3c75b0dd301da8c76e0971e82d194df6fdb.
For pass TrafficStatsTest on CTS-4.2_r2
chenxing [Tue, 5 Mar 2013 10:25:53 +0000 (18:25 +0800)]
rk3168/rk3066b: force dclk_lcdc0/1 even div
chm [Tue, 5 Mar 2013 09:46:06 +0000 (17:46 +0800)]
vpu_service: reset decoder when buffer empty
yxj [Tue, 5 Mar 2013 09:14:13 +0000 (17:14 +0800)]
rk3066b lcdc:fix compile err
chenxing [Tue, 5 Mar 2013 08:42:50 +0000 (16:42 +0800)]
rk3188: force dclk_lcdc0/1 even div
hjc [Tue, 5 Mar 2013 07:57:00 +0000 (15:57 +0800)]
rk3168m: defconfig codec rk610
hjc [Tue, 5 Mar 2013 07:55:51 +0000 (15:55 +0800)]
rk3168m: add lcd_hdmi_rk3168m_b101ew05
yxj [Tue, 5 Mar 2013 07:37:41 +0000 (15:37 +0800)]
rk30 lcdc:delay 30ms before turn off lcdc clk when enter standby