firefly-linux-kernel-4.4.55.git
11 years agork fb : fix flash screen when switch hdmi
yzq [Tue, 13 Nov 2012 08:06:34 +0000 (16:06 +0800)]
rk fb : fix flash screen when switch hdmi

11 years agobacklight:change rk29_backlight_set api for hdmi switch
yzq [Tue, 13 Nov 2012 07:39:28 +0000 (15:39 +0800)]
backlight:change rk29_backlight_set api for hdmi switch

11 years agoi2c: warning if rk610 is exist
kfx [Tue, 13 Nov 2012 03:53:27 +0000 (11:53 +0800)]
i2c: warning if rk610 is exist

e.g.
*************** WARNING ****************
i2c i2c-0: rk610 is exist, clients:
client: rk610_ctl, addr: 0x40
client: rk610_tvout, addr: 0x42
client: rk610_hdmi, addr: 0x46
client: rk610_i2c_codec, addr: 0x60
client: wm8326, addr: 0x34
****************************************

11 years agork2928 hdmi: make hdmi start later
yzq [Tue, 13 Nov 2012 03:51:16 +0000 (11:51 +0800)]
rk2928 hdmi: make hdmi start later

11 years agork2928 codec: solve music volume become very small after wakeup in rk2926
hwg [Mon, 12 Nov 2012 13:33:12 +0000 (21:33 +0800)]
rk2928 codec: solve music volume become very small after wakeup in rk2926

11 years agoIPP V1.002:fix power off bug in rk29_ipp_release
chenli [Mon, 12 Nov 2012 09:37:39 +0000 (17:37 +0800)]
IPP V1.002:fix power off bug in rk29_ipp_release

11 years agorevert v86 reported chg_ok of commit cb6f8a8f312c9ee1420a1b1afeb4b550b958f1ac and...
wuhao [Mon, 12 Nov 2012 08:06:34 +0000 (16:06 +0800)]
revert v86 reported chg_ok of commit cb6f8a8f312c9ee1420a1b1afeb4b550b958f1ac and Re reported

11 years agosupports dual camera for v86
wuhao [Mon, 12 Nov 2012 06:30:22 +0000 (14:30 +0800)]
supports dual camera for v86

11 years agophonepad: rt3261 add write reg into memory.
宋秀杰 [Mon, 12 Nov 2012 08:07:12 +0000 (16:07 +0800)]
phonepad: rt3261 add write reg into memory.

11 years agofix display size err in hdmi mode
yxj [Mon, 12 Nov 2012 06:57:49 +0000 (14:57 +0800)]
fix display size err in hdmi mode

11 years agork29 backlight;do not call rk29_backlight_set in suspend mode
yxj [Mon, 12 Nov 2012 06:49:51 +0000 (14:49 +0800)]
rk29 backlight;do not call rk29_backlight_set in suspend mode

11 years agork2928 lcdc:switch all lcdc io to gpio mode when hdmi plug in
yxj [Mon, 12 Nov 2012 01:34:49 +0000 (09:34 +0800)]
rk2928 lcdc:switch all lcdc io to gpio mode when hdmi plug in

11 years agork2928/rk30xx: disable dvfs tree debug and avs debug, same Macro as /proc/clocks
chenxing [Mon, 12 Nov 2012 07:04:47 +0000 (15:04 +0800)]
rk2928/rk30xx: disable dvfs tree debug and avs debug, same Macro as /proc/clocks

11 years agoRevert "rk30/rk2928: disable dvfs tree debug and avs debug"
chenxing [Mon, 12 Nov 2012 06:45:50 +0000 (14:45 +0800)]
Revert "rk30/rk2928: disable dvfs tree debug and avs debug"

This reverts commit d3c5f9f2f4ac1bcbbf5e51a83648f458fb327691.

11 years agork30/rk2928: disable dvfs tree debug and avs debug
chenxing [Mon, 12 Nov 2012 06:41:25 +0000 (14:41 +0800)]
rk30/rk2928: disable dvfs tree debug and avs debug

11 years agoadd to support rt5370 usb wifi
gwl [Mon, 12 Nov 2012 04:44:22 +0000 (12:44 +0800)]
add to support rt5370 usb wifi

11 years agork30: cpufreq: better support thermal throttle when benchmark
黄涛 [Mon, 12 Nov 2012 03:36:26 +0000 (11:36 +0800)]
rk30: cpufreq: better support thermal throttle when benchmark

This patch was ported from develop-3.0.8-stable commit ad324989c9f314e0ad40ce71dedca6da9c6a59fd

11 years agork2928: change ddr freq from 330M to 300M for video
hwg [Sat, 10 Nov 2012 07:17:38 +0000 (15:17 +0800)]
rk2928: change ddr freq from 330M to 300M for video

11 years agorevert lcd display of commit cb6f8a8f312c9ee1420a1b1afeb4b550b958f1ac and add lcd_YQ...
wuhao [Wed, 7 Nov 2012 10:16:43 +0000 (18:16 +0800)]
revert lcd display of  commit cb6f8a8f312c9ee1420a1b1afeb4b550b958f1ac and add lcd_YQ70CPT9160_v86.c for v86

11 years agorevert v86 sitronix_ts of commit cb6f8a8f312c9ee1420a1b1afeb4b550b958f1ac and Re...
wuhao [Wed, 7 Nov 2012 09:05:33 +0000 (17:05 +0800)]
revert v86 sitronix_ts of commit cb6f8a8f312c9ee1420a1b1afeb4b550b958f1ac and Re touchscreen control for v86

11 years agork:modify tps65910 i2c write speed from 100k to 200k
张晴 [Fri, 9 Nov 2012 10:29:40 +0000 (18:29 +0800)]
rk:modify tps65910 i2c write speed from 100k to 200k

11 years agork30: irq_base use IRQ_BOARD_BASE
黄涛 [Thu, 8 Nov 2012 06:51:00 +0000 (14:51 +0800)]
rk30: irq_base use IRQ_BOARD_BASE

11 years agork30: irqs.h add IRQ_BOARD_BASE define
黄涛 [Thu, 8 Nov 2012 06:48:58 +0000 (14:48 +0800)]
rk30: irqs.h add IRQ_BOARD_BASE define

11 years agork2928: tps65910: irq_base use IRQ_BOARD_BASE
黄涛 [Thu, 8 Nov 2012 06:48:13 +0000 (14:48 +0800)]
rk2928: tps65910: irq_base use IRQ_BOARD_BASE

11 years agork2928: irqs.h add IRQ_BOARD_BASE define
黄涛 [Thu, 8 Nov 2012 06:33:34 +0000 (14:33 +0800)]
rk2928: irqs.h add IRQ_BOARD_BASE define

11 years agoRevert "rk2928: irqs.h add IRQ_BOARD_START define"
黄涛 [Thu, 8 Nov 2012 06:26:46 +0000 (14:26 +0800)]
Revert "rk2928: irqs.h add IRQ_BOARD_START define"

This reverts commit c4642fb5aef133e08fd4e8d77c5b624b814fcb79.

11 years agork2928: irqs.h add IRQ_BOARD_START define
黄涛 [Thu, 8 Nov 2012 03:21:45 +0000 (11:21 +0800)]
rk2928: irqs.h add IRQ_BOARD_START define

11 years agork30sdk : fix rk610 core pdata error
邱建斌 [Wed, 7 Nov 2012 09:38:51 +0000 (17:38 +0800)]
rk30sdk : fix rk610 core pdata error

11 years agork610_codec : In the state of the low volume noise problem
邱建斌 [Wed, 7 Nov 2012 09:09:36 +0000 (17:09 +0800)]
rk610_codec : In the state of the low volume noise problem

11 years agofb: add sys point for dual display mode
yzq [Wed, 7 Nov 2012 08:35:47 +0000 (16:35 +0800)]
fb: add sys point for dual display mode

11 years agoM701: add is_reboot_charging function, avoid to charging display error.
zhengxing [Wed, 7 Nov 2012 04:15:32 +0000 (12:15 +0800)]
M701: add is_reboot_charging function, avoid to charging display error.

11 years agocamera: add support interpolate to 8Mega, version v0.2.0x17
ddl [Wed, 7 Nov 2012 03:53:13 +0000 (11:53 +0800)]
camera: add support interpolate to 8Mega, version v0.2.0x17

11 years agoadc-battery: add battery-power decision method when reboot the system
许盛飞 [Wed, 7 Nov 2012 03:46:01 +0000 (11:46 +0800)]
adc-battery: add battery-power decision method when reboot the system

11 years agoMerge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into v86-develop-1106
wuhao [Wed, 7 Nov 2012 02:25:06 +0000 (10:25 +0800)]
Merge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into v86-develop-1106

11 years agophonepad: modify HDMI suspend and resume crash, mute pad sound when insert HDMI.
宋秀杰 [Wed, 7 Nov 2012 01:11:31 +0000 (09:11 +0800)]
phonepad: modify HDMI suspend and resume crash, mute pad sound when insert HDMI.

11 years agousb wifi: disable wifi power then enable in first open
hwg [Tue, 6 Nov 2012 12:56:54 +0000 (20:56 +0800)]
usb wifi: disable wifi power then enable in first open

11 years agoMerge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into v86-develop-1106
wuhao [Tue, 6 Nov 2012 12:17:23 +0000 (20:17 +0800)]
Merge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into v86-develop-1106

11 years agoMerge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into develop-3.0
hwg [Tue, 6 Nov 2012 12:05:46 +0000 (20:05 +0800)]
Merge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into develop-3.0

11 years agousb wifi: add rk29sdk_wifi_bt_gpio_control_init
hwg [Tue, 6 Nov 2012 12:05:25 +0000 (20:05 +0800)]
usb wifi: add rk29sdk_wifi_bt_gpio_control_init

11 years agoMerge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into v86-develop-1106
wuhao [Tue, 6 Nov 2012 10:22:46 +0000 (18:22 +0800)]
Merge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into v86-develop-1106

11 years agork2928: fixed 'WARNING: modpost: Found 1 section mismatch(es).'
kfx [Tue, 6 Nov 2012 08:58:07 +0000 (16:58 +0800)]
rk2928: fixed 'WARNING: modpost: Found 1 section mismatch(es).'

11 years agorevert the wifi power control of commit cb6f8a8f312c9ee1420a1b1afeb4b550b958f1ac
wuhao [Tue, 6 Nov 2012 08:28:31 +0000 (16:28 +0800)]
revert the wifi power control of commit cb6f8a8f312c9ee1420a1b1afeb4b550b958f1ac

11 years agoadd rk2926_v86_defconfig for v86
wuhao [Tue, 6 Nov 2012 07:35:13 +0000 (15:35 +0800)]
add rk2926_v86_defconfig for v86

11 years agofix : ddr and logic voltage control opposite for v86
wuhao [Tue, 6 Nov 2012 07:34:19 +0000 (15:34 +0800)]
fix : ddr and logic voltage control opposite for v86

11 years agousb wifi: support gpio power control
hwg [Tue, 6 Nov 2012 07:24:39 +0000 (15:24 +0800)]
usb wifi: support gpio power control

11 years agocamera: add svga fps info in rk_camera.c
zyc [Tue, 6 Nov 2012 03:29:24 +0000 (11:29 +0800)]
camera: add svga fps info in rk_camera.c

11 years agork2928 defconfig: v86(v1.1) support
kfx [Tue, 6 Nov 2012 02:40:53 +0000 (10:40 +0800)]
rk2928 defconfig: v86(v1.1) support

11 years agoadd gt811 board config for v86
wuhao [Mon, 5 Nov 2012 11:33:11 +0000 (19:33 +0800)]
add gt811 board config for v86

11 years agoadd ft5x0x for v86
wuhao [Mon, 5 Nov 2012 11:30:03 +0000 (19:30 +0800)]
add ft5x0x for v86

11 years agofor rk2928 v86
wuhao [Mon, 5 Nov 2012 10:44:40 +0000 (18:44 +0800)]
for rk2928 v86

11 years agork2928_defconfig: 'pmic: Initialized first && charge: set default parameter
kfx [Mon, 5 Nov 2012 10:05:55 +0000 (18:05 +0800)]
rk2928_defconfig: 'pmic: Initialized first && charge: set default parameter

11 years agorga: make armv7_va_to_pa static
黄涛 [Mon, 5 Nov 2012 09:56:19 +0000 (17:56 +0800)]
rga: make armv7_va_to_pa static

11 years agor2926_tb_defconfig: rk2928-l support
kfx [Mon, 5 Nov 2012 09:04:55 +0000 (17:04 +0800)]
r2926_tb_defconfig: rk2928-l support

11 years agocamera :invalidate useless series of sp0838 and sp2518
zyc [Mon, 5 Nov 2012 09:03:56 +0000 (17:03 +0800)]
camera :invalidate useless series of sp0838 and sp2518

11 years agork2928 hdmi: fix hdmi switch status
yzq [Mon, 5 Nov 2012 08:00:09 +0000 (16:00 +0800)]
rk2928 hdmi: fix hdmi switch status

11 years agork fb: modify drivers/video/rockchip/Kconfig
yxj [Mon, 5 Nov 2012 02:08:17 +0000 (10:08 +0800)]
rk fb: modify  drivers/video/rockchip/Kconfig

11 years agork2928 defconfig: fix lcd_aclk(15M-->150M)
kfx [Mon, 5 Nov 2012 02:57:03 +0000 (10:57 +0800)]
rk2928 defconfig: fix lcd_aclk(15M-->150M)

11 years agork2928 defconfig: set OTG_DRVVBUS mode, if usb_otg_drv=-1
kfx [Mon, 5 Nov 2012 01:48:31 +0000 (09:48 +0800)]
rk2928 defconfig: set OTG_DRVVBUS mode, if usb_otg_drv=-1

11 years agork3066b lcdc: fix some warning
yxj [Sat, 3 Nov 2012 08:51:32 +0000 (16:51 +0800)]
rk3066b lcdc: fix some warning

11 years agork3066b lcdc: turn on frame start interrupt after all lcdc register resumed
yxj [Sat, 3 Nov 2012 08:43:48 +0000 (16:43 +0800)]
rk3066b lcdc: turn on frame start interrupt after all lcdc register resumed

11 years agocamera ov5640: fix sensor_qsxga stream is off after sensor_720p
ddl [Sat, 3 Nov 2012 08:46:56 +0000 (16:46 +0800)]
camera ov5640: fix sensor_qsxga stream is off after sensor_720p

11 years agobacklight: add get_backlight_status api for fb backlight ctrl
yzq [Sat, 3 Nov 2012 08:18:28 +0000 (16:18 +0800)]
backlight: add get_backlight_status api for fb backlight ctrl

11 years agork2928 lcdc: freee gpio before swith to RGB IO
yxj [Sat, 3 Nov 2012 08:07:38 +0000 (16:07 +0800)]
rk2928 lcdc: freee gpio before swith to RGB IO

11 years agork2928: update rk2928_defconfig: camera: support: ov2659, gc0308, hi704
kfx [Sat, 3 Nov 2012 07:28:56 +0000 (15:28 +0800)]
rk2928: update rk2928_defconfig: camera: support: ov2659, gc0308, hi704

11 years agoadc_factory: return -EINVAL if fail to register and init
许盛飞 [Sat, 3 Nov 2012 03:44:19 +0000 (11:44 +0800)]
adc_factory: return -EINVAL if fail to register and init

11 years agocamera:add interpolation for gc0308 and hi253.
zyc [Sat, 3 Nov 2012 02:29:54 +0000 (10:29 +0800)]
camera:add interpolation for gc0308 and hi253.

11 years agork:pmu tps65910:set dcdc in pwm mode,and set dcdc in pfm mode when enter sleep
张晴 [Sat, 3 Nov 2012 02:20:12 +0000 (10:20 +0800)]
rk:pmu tps65910:set dcdc in pwm mode,and set dcdc in pfm mode  when enter sleep

11 years agophonepad: update rt3261 to V1.3, you must set some mode in your board.
宋秀杰 [Fri, 2 Nov 2012 05:31:11 +0000 (13:31 +0800)]
phonepad: update rt3261 to V1.3, you must set some mode in your board.

11 years agocamera : fix careless erro in rk_camera.c.
zyc [Fri, 2 Nov 2012 03:44:55 +0000 (11:44 +0800)]
camera : fix careless erro in rk_camera.c.

11 years agork: sram: fix gcc warning: extra tokens at end of #else directive and fix for rk3066b
黄涛 [Thu, 1 Nov 2012 09:33:13 +0000 (17:33 +0800)]
rk: sram: fix gcc warning: extra tokens at end of #else directive and fix for rk3066b

11 years agoMerge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0
黄涛 [Thu, 1 Nov 2012 09:13:08 +0000 (17:13 +0800)]
Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0

Conflicts:
Makefile

11 years agoRevert "gpio debug"
yzq [Thu, 1 Nov 2012 06:18:06 +0000 (14:18 +0800)]
Revert "gpio debug"

This reverts commit 861ef61d90ad822dd60f64beaf110e0a4e18603d.

11 years agork3066b m701: change stb timing to fix flash screen when resume
yzq [Thu, 1 Nov 2012 04:20:59 +0000 (12:20 +0800)]
rk3066b m701: change stb timing to  fix flash screen when resume

11 years agogpio debug
yzq [Wed, 10 Oct 2012 01:15:08 +0000 (09:15 +0800)]
gpio debug

11 years agoLinux 3.0.50
Greg Kroah-Hartman [Wed, 31 Oct 2012 16:51:59 +0000 (09:51 -0700)]
Linux 3.0.50

11 years agodrm/i915: no lvds quirk for Zotac ZDBOX SD ID12/ID13
Sjoerd Simons [Fri, 22 Jun 2012 07:43:07 +0000 (09:43 +0200)]
drm/i915: no lvds quirk for Zotac ZDBOX SD ID12/ID13

commit 9756fe38d10b2bf90c81dc4d2f17d5632e135364 upstream.

This box claims to have an LVDS interface but doesn't
actually have one.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agostaging: comedi: amplc_pc236: fix invalid register access during detach
Ian Abbott [Wed, 3 Oct 2012 15:25:17 +0000 (16:25 +0100)]
staging: comedi: amplc_pc236: fix invalid register access during detach

commit aaeb61a97b7159ebe30b18a422d04eeabfa8790b upstream.

`pc236_detach()` is called by the comedi core if it attempted to attach
a device and failed.  `pc236_detach()` calls `pc236_intr_disable()` if
the comedi device private data pointer (`devpriv`) is non-null.  This
test is insufficient as `pc236_intr_disable()` accesses hardware
registers and the attach routine may have failed before it has saved
their I/O base addresses.

Fix it by checking `dev->iobase` is non-zero before calling
`pc236_intr_disable()` as that means the I/O base addresses have been
saved and the hardware registers can be accessed.  It also implies the
comedi device private data pointer is valid, so there is no need to
check it.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agox86, mm: Undo incorrect revert in arch/x86/mm/init.c
Yinghai Lu [Thu, 25 Oct 2012 22:45:26 +0000 (15:45 -0700)]
x86, mm: Undo incorrect revert in arch/x86/mm/init.c

commit f82f64dd9f485e13f29f369772d4a0e868e5633a upstream.

Commit

    844ab6f9 x86, mm: Find_early_table_space based on ranges that are actually being mapped

added back some lines back wrongly that has been removed in commit

    7b16bbf97 Revert "x86/mm: Fix the size calculation of mapping tables"

remove them again.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Link: http://lkml.kernel.org/r/CAE9FiQW_vuaYQbmagVnxT2DGsYc=9tNeAbdBq53sYkitPOwxSQ@mail.gmail.com
Acked-by: Jacob Shin <jacob.shin@amd.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agox86, mm: Find_early_table_space based on ranges that are actually being mapped
Jacob Shin [Wed, 24 Oct 2012 19:24:44 +0000 (14:24 -0500)]
x86, mm: Find_early_table_space based on ranges that are actually being mapped

commit 844ab6f993b1d32eb40512503d35ff6ad0c57030 upstream.

Current logic finds enough space for direct mapping page tables from 0
to end. Instead, we only need to find enough space to cover mr[0].start
to mr[nr_range].end -- the range that is actually being mapped by
init_memory_mapping()

This is needed after 1bbbbe779aabe1f0768c2bf8f8c0a5583679b54a, to address
the panic reported here:

  https://lkml.org/lkml/2012/10/20/160
  https://lkml.org/lkml/2012/10/21/157

Signed-off-by: Jacob Shin <jacob.shin@amd.com>
Link: http://lkml.kernel.org/r/20121024195311.GB11779@jshin-Toonie
Tested-by: Tom Rini <trini@ti.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agocpufreq / powernow-k8: Remove usage of smp_processor_id() in preemptible code
Andreas Herrmann [Mon, 22 Oct 2012 22:55:10 +0000 (00:55 +0200)]
cpufreq / powernow-k8: Remove usage of smp_processor_id() in preemptible code

commit e4df1cbcc1f329e53a1fff7450b2229e0addff20 upstream.

Commit 6889125b8b4e09c5e53e6ecab3433bed1ce198c9
(cpufreq/powernow-k8: workqueue user shouldn't migrate the kworker to another CPU)
causes powernow-k8 to trigger a preempt warning, e.g.:

  BUG: using smp_processor_id() in preemptible [00000000] code: cpufreq/3776
  caller is powernowk8_target+0x20/0x49
  Pid: 3776, comm: cpufreq Not tainted 3.6.0 #9
  Call Trace:
   [<ffffffff8125b447>] debug_smp_processor_id+0xc7/0xe0
   [<ffffffff814877e7>] powernowk8_target+0x20/0x49
   [<ffffffff81482b02>] __cpufreq_driver_target+0x82/0x8a
   [<ffffffff81484fc6>] cpufreq_governor_performance+0x4e/0x54
   [<ffffffff81482c50>] __cpufreq_governor+0x8c/0xc9
   [<ffffffff81482e6f>] __cpufreq_set_policy+0x1a9/0x21e
   [<ffffffff814839af>] store_scaling_governor+0x16f/0x19b
   [<ffffffff81484f16>] ? cpufreq_update_policy+0x124/0x124
   [<ffffffff8162b4a5>] ? _raw_spin_unlock_irqrestore+0x2c/0x49
   [<ffffffff81483640>] store+0x60/0x88
   [<ffffffff811708c0>] sysfs_write_file+0xf4/0x130
   [<ffffffff8111243b>] vfs_write+0xb5/0x151
   [<ffffffff811126e0>] sys_write+0x4a/0x71
   [<ffffffff816319a9>] system_call_fastpath+0x16/0x1b

Fix this by by always using work_on_cpu().

Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agobcma: fix unregistration of cores
Piotr Haber [Thu, 11 Oct 2012 12:05:15 +0000 (14:05 +0200)]
bcma: fix unregistration of cores

commit 1fffa905adffbf0d3767fc978ef09afb830275eb upstream.

When cores are unregistered, entries
need to be removed from cores list in a safe manner.

Reported-by: Stanislaw Gruszka <sgruszka@redhat.com>
Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Signed-off-by: Piotr Haber <phaber@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agomac80211: check if key has TKIP type before updating IV
Stanislaw Gruszka [Tue, 2 Oct 2012 19:34:23 +0000 (21:34 +0200)]
mac80211: check if key has TKIP type before updating IV

commit 4045f72bcf3c293c7c5932ef001742d8bb5ded76 upstream.

This patch fix corruption which can manifest itself by following crash
when switching on rfkill switch with rt2x00 driver:
https://bugzilla.redhat.com/attachment.cgi?id=615362

Pointer key->u.ccmp.tfm of group key get corrupted in:

ieee80211_rx_h_michael_mic_verify():

        /* update IV in key information to be able to detect replays */
        rx->key->u.tkip.rx[rx->security_idx].iv32 = rx->tkip_iv32;
        rx->key->u.tkip.rx[rx->security_idx].iv16 = rx->tkip_iv16;

because rt2x00 always set RX_FLAG_MMIC_STRIPPED, even if key is not TKIP.

We already check type of the key in different path in
ieee80211_rx_h_michael_mic_verify() function, so adding additional
check here is reasonable.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoARM: at91/i2c: change id to let i2c-gpio work
Bo Shen [Mon, 15 Oct 2012 09:30:27 +0000 (17:30 +0800)]
ARM: at91/i2c: change id to let i2c-gpio work

commit 7840487cd6298f9f931103b558290d8d98d41c49 upstream.

The i2c core driver will turn the platform device ID to busnum
When using platfrom device ID as -1, it means dynamically assigned
the busnum. When writing code, we need to make sure the busnum,
and call i2c_register_board_info(int busnum, ...) to register device
if using -1, we do not know the value of busnum

In order to solve this issue, set the platform device ID as a fix number
Here using 0 to match the busnum used in i2c_regsiter_board_info()

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agovhost: fix mergeable bufs on BE hosts
Michael S. Tsirkin [Wed, 24 Oct 2012 18:37:51 +0000 (20:37 +0200)]
vhost: fix mergeable bufs on BE hosts

commit 910a578f7e9400a78a3b13aba0b4d2df16a2cb05 upstream.

We copy head count to a 16 bit field, this works by chance on LE but on
BE guest gets 0. Fix it up.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Alexander Graf <agraf@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoxhci: Fix potential NULL ptr deref in command cancellation.
Sarah Sharp [Tue, 16 Oct 2012 20:17:43 +0000 (13:17 -0700)]
xhci: Fix potential NULL ptr deref in command cancellation.

commit 43a09f7fb01fa1e091416a2aa49b6c666458c1ee upstream.

The command cancellation code doesn't check whether find_trb_seg()
couldn't find the segment that contains the TRB to be canceled.  This
could cause a NULL pointer deference later in the function when next_trb
is called.  It's unlikely to happen unless something is wrong with the
command ring pointers, so add some debugging in case it happens.

This patch should be backported to stable kernels as old as 3.0, that
contain the commit b63f4053cc8aa22a98e3f9a97845afe6c15d0a0d "xHCI:
handle command after aborting the command ring".

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: mos7840: remove invalid disconnect handling
Johan Hovold [Thu, 25 Oct 2012 16:56:33 +0000 (18:56 +0200)]
USB: mos7840: remove invalid disconnect handling

commit e681b66f2e19fadbe8a7e2a17900978cb6bc921f upstream.

Remove private zombie flag used to signal disconnect and to prevent
control urb from being submitted from interrupt urb completion handler.

The control urb will not be re-submitted as both the control urb and the
interrupt urb is killed on disconnect.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: mos7840: remove NULL-urb submission
Johan Hovold [Thu, 25 Oct 2012 16:56:32 +0000 (18:56 +0200)]
USB: mos7840: remove NULL-urb submission

commit 28c3ae9a8cf45f439c9a0779ebd0256e2ae72813 upstream.

The private int_urb is never allocated so the submission from the
control completion handler will always fail. Remove this odd piece of
broken code.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: mos7840: fix port-device leak in error path
Johan Hovold [Thu, 25 Oct 2012 11:35:10 +0000 (13:35 +0200)]
USB: mos7840: fix port-device leak in error path

commit 3eb55cc4ed88eee3b5230f66abcdbd2a91639eda upstream.

The driver set the usb-serial port pointers to NULL on errors in attach,
effectively preventing usb-serial core from decrementing the port ref
counters and releasing the port devices and associated data.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: mos7840: fix urb leak at release
Johan Hovold [Thu, 25 Oct 2012 11:35:09 +0000 (13:35 +0200)]
USB: mos7840: fix urb leak at release

commit 65a4cdbb170e4ec1a7fa0e94936d47e24a17b0e8 upstream.

Make sure control urb is freed at release.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: sierra: fix memory leak in probe error path
Johan Hovold [Thu, 25 Oct 2012 08:29:18 +0000 (10:29 +0200)]
USB: sierra: fix memory leak in probe error path

commit 084817d79399ab5ccab2f90a148b0369912a8369 upstream.

Move interface data allocation to attach so that it is deallocated on
errors in usb-serial probe.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: sierra: fix memory leak in attach error path
Johan Hovold [Thu, 25 Oct 2012 08:29:17 +0000 (10:29 +0200)]
USB: sierra: fix memory leak in attach error path

commit 7e41f9bcdd2e813ea2a3c40db291d87ea06b559f upstream.

Make sure port private data is deallocated on errors in attach.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: serial: Fix memory leak in sierra_release()
Lennart Sorensen [Wed, 24 Oct 2012 14:23:09 +0000 (10:23 -0400)]
USB: serial: Fix memory leak in sierra_release()

commit f7bc5051667b74c3861f79eed98c60d5c3b883f7 upstream.

I found a memory leak in sierra_release() (well sierra_probe() I guess)
that looses 8 bytes each time the driver releases a device.

Signed-off-by: Len Sorensen <lsorense@csclub.uwaterloo.ca>
Acked-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: opticon: fix memory leak in error path
Johan Hovold [Thu, 25 Oct 2012 08:29:12 +0000 (10:29 +0200)]
USB: opticon: fix memory leak in error path

commit acbf0e5263de563e25f7c104868e4490b9e72b13 upstream.

Fix memory leak in write error path.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: opticon: fix DMA from stack
Johan Hovold [Thu, 25 Oct 2012 08:29:11 +0000 (10:29 +0200)]
USB: opticon: fix DMA from stack

commit ea0dbebffe118724cd4df7d9b071ea8ee48d48f0 upstream.

Make sure to allocate the control-message buffer dynamically as some
platforms cannot do DMA from stack.

Note that only the first byte of the old buffer was used.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoUSB: whiteheat: fix memory leak in error path
Johan Hovold [Thu, 25 Oct 2012 08:29:01 +0000 (10:29 +0200)]
USB: whiteheat: fix memory leak in error path

commit c129197c99550d356cf5f69b046994dd53cd1b9d upstream.

Make sure command buffer is deallocated in case of errors during attach.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Cc: <support@connecttech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agousb hub: send clear_tt_buffer_complete events when canceling TT clear work
Octavian Purdila [Mon, 1 Oct 2012 19:21:12 +0000 (22:21 +0300)]
usb hub: send clear_tt_buffer_complete events when canceling TT clear work

commit 3b6054da68f9b0d5ed6a7ed0f42a79e61904352c upstream.

There is a race condition in the USB hub code with regard to handling
TT clear requests that can get the HCD driver in a deadlock. Usually
when an TT clear request is scheduled it will be executed immediately:

<7>[    6.077583] usb 2-1.3: unlink qh1-0e01/f4d4db00 start 0 [1/2 us]
<3>[    6.078041] usb 2-1: clear tt buffer port 3, a3 ep2 t04048d82
<7>[    6.078299] hub_tt_work:731
<7>[    9.309089] usb 2-1.5: link qh1-0e01/f4d506c0 start 0 [1/2 us]
<7>[    9.324526] ehci_hcd 0000:00:1d.0: reused qh f4d4db00 schedule
<7>[    9.324539] usb 2-1.3: link qh1-0e01/f4d4db00 start 0 [1/2 us]
<7>[    9.341530] usb 1-1.1: link qh4-0e01/f397aec0 start 2 [1/2 us]
<7>[   10.116159] usb 2-1.3: unlink qh1-0e01/f4d4db00 start 0 [1/2 us]
<3>[   10.116459] usb 2-1: clear tt buffer port 3, a3 ep2 t04048d82
<7>[   10.116537] hub_tt_work:731

However, if a suspend operation is triggered before hub_tt_work is
scheduled, hub_quiesce will cancel the work without notifying the HCD
driver:

<3>[   35.033941] usb 2-1: clear tt buffer port 3, a3 ep2 t04048d80
<5>[   35.034022] sd 0:0:0:0: [sda] Stopping disk
<7>[   35.034039] hub 2-1:1.0: hub_suspend
<7>[   35.034067] usb 2-1: unlink qh256-0001/f3b1ab00 start 1 [1/0 us]
<7>[   35.035085] hub 1-0:1.0: hub_suspend
<7>[   35.035102] usb usb1: bus suspend, wakeup 0
<7>[   35.035106] ehci_hcd 0000:00:1a.0: suspend root hub
<7>[   35.035298] hub 2-0:1.0: hub_suspend
<7>[   35.035313] usb usb2: bus suspend, wakeup 0
<7>[   35.035315] ehci_hcd 0000:00:1d.0: suspend root hub
<6>[   35.250017] PM: suspend of devices complete after 216.979 msecs
<6>[   35.250822] PM: late suspend of devices complete after 0.799 msecs
<7>[   35.252343] ehci_hcd 0000:00:1d.0: wakeup: 1
<7>[   35.262923] ehci_hcd 0000:00:1d.0: --> PCI D3hot
<7>[   35.263302] ehci_hcd 0000:00:1a.0: wakeup: 1
<7>[   35.273912] ehci_hcd 0000:00:1a.0: --> PCI D3hot
<6>[   35.274254] PM: noirq suspend of devices complete after 23.442 msecs
<6>[   35.274975] ACPI: Preparing to enter system sleep state S3
<6>[   35.292666] PM: Saving platform NVS memory
<7>[   35.295030] Disabling non-boot CPUs ...
<6>[   35.297351] CPU 1 is now offline
<6>[   35.300345] CPU 2 is now offline
<6>[   35.303929] CPU 3 is now offline
<7>[   35.303931] lockdep: fixing up alternatives.
<6>[   35.304825] Extended CMOS year: 2000

When the device will resume the EHCI driver will get stuck in
ehci_endpoint_disable waiting for the tt_clearing flag to reset:

<0>[   47.610967] usb 2-1.3: **** DPM device timeout ****
<7>[   47.610972]  f2f11c60 00000092 f2f11c0c c10624a5 00000003 f4c6e880 c1c8a4c0 c1c8a4c0
<7>[   47.610983]  15c55698 0000000b f56b34c0 f2a45b70 f4c6e880 00000082 f2a4602c f2f11c30
<7>[   47.610993]  c10787f8 f4cac000 f2a45b70 00000000 f4cac010 f2f11c58 00000046 00000001
<7>[   47.611004] Call Trace:
<7>[   47.611006]  [<c10624a5>] ? sched_clock_cpu+0xf5/0x160
<7>[   47.611019]  [<c10787f8>] ? lock_release_holdtime.part.22+0x88/0xf0
<7>[   47.611026]  [<c103ed46>] ? lock_timer_base.isra.35+0x26/0x50
<7>[   47.611034]  [<c17592d3>] ? schedule_timeout+0x133/0x290
<7>[   47.611044]  [<c175b43e>] schedule+0x1e/0x50
<7>[   47.611051]  [<c17592d8>] schedule_timeout+0x138/0x290
<7>[   47.611057]  [<c10624a5>] ? sched_clock_cpu+0xf5/0x160
<7>[   47.611063]  [<c103e560>] ? usleep_range+0x40/0x40
<7>[   47.611070]  [<c1759445>] schedule_timeout_uninterruptible+0x15/0x20
<7>[   47.611077]  [<c14935f4>] ehci_endpoint_disable+0x64/0x160
<7>[   47.611084]  [<c147d1ee>] ? usb_hcd_flush_endpoint+0x10e/0x1d0
<7>[   47.611092]  [<c1165663>] ? sysfs_add_file+0x13/0x20
<7>[   47.611100]  [<c147d5a9>] usb_hcd_disable_endpoint+0x29/0x40
<7>[   47.611107]  [<c147fafc>] usb_disable_endpoint+0x5c/0x80
<7>[   47.611111]  [<c147fb57>] usb_disable_interface+0x37/0x50
<7>[   47.611116]  [<c1477650>] usb_reset_and_verify_device+0x4b0/0x640
<7>[   47.611122]  [<c1474665>] ? hub_port_status+0xb5/0x100
<7>[   47.611129]  [<c147a975>] usb_port_resume+0xd5/0x220
<7>[   47.611136]  [<c148877f>] generic_resume+0xf/0x30
<7>[   47.611142]  [<c14821a3>] usb_resume+0x133/0x180
<7>[   47.611147]  [<c1473b10>] ? usb_dev_thaw+0x10/0x10
<7>[   47.611152]  [<c1473b1d>] usb_dev_resume+0xd/0x10
<7>[   47.611157]  [<c13baa60>] dpm_run_callback+0x40/0xb0
<7>[   47.611164]  [<c13bdb03>] ? pm_runtime_enable+0x43/0x70
<7>[   47.611171]  [<c13bafc6>] device_resume+0x1a6/0x2c0
<7>[   47.611177]  [<c13ba940>] ? dpm_show_time+0xe0/0xe0
<7>[   47.611183]  [<c13bb0f9>] async_resume+0x19/0x40
<7>[   47.611189]  [<c10580c4>] async_run_entry_fn+0x64/0x160
<7>[   47.611196]  [<c104a244>] ? process_one_work+0x104/0x480
<7>[   47.611203]  [<c104a24c>] ? process_one_work+0x10c/0x480
<7>[   47.611209]  [<c104a2c0>] process_one_work+0x180/0x480
<7>[   47.611215]  [<c104a244>] ? process_one_work+0x104/0x480
<7>[   47.611220]  [<c1058060>] ? async_schedule+0x10/0x10
<7>[   47.611226]  [<c104c15c>] worker_thread+0x11c/0x2f0
<7>[   47.611233]  [<c104c040>] ? manage_workers.isra.27+0x1f0/0x1f0
<7>[   47.611239]  [<c10507f8>] kthread+0x78/0x80
<7>[   47.611244]  [<c1750000>] ? timer_cpu_notify+0xd6/0x20d
<7>[   47.611253]  [<c1050780>] ? __init_kthread_worker+0x60/0x60
<7>[   47.611258]  [<c176357e>] kernel_thread_helper+0x6/0xd
<7>[   47.611283] ------------[ cut here ]------------

This patch changes hub_quiesce behavior to flush the TT clear work
instead of canceling it, to make sure that no TT clear request remains
uncompleted before suspend.

Signed-off-by: Octavian Purdila <octavian.purdila@intel.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agousb-storage: add unusual_devs entry for Casio EX-N1 digital camera
Michael Shigorin [Mon, 22 Oct 2012 09:18:56 +0000 (12:18 +0300)]
usb-storage: add unusual_devs entry for Casio EX-N1 digital camera

commit d7870af7e2e3a91b462075ec1ca669b482215187 upstream.

This commit sets removable subclass for Casio EX-N1 digital camera.

The patch has been tested within an ALT Linux kernel:
http://git.altlinux.org/people/led/packages/?p=kernel-image-3.0.git;a=commitdiff;h=c0fd891836e89fe0c93a4d536a59216d90e4e3e7

See also https://bugzilla.kernel.org/show_bug.cgi?id=49221

Signed-off-by: Oleksandr Chumachenko <ledest@gmail.com>
Signed-off-by: Michael Shigorin <mike@osdn.org.ua>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoehci: Add yet-another Lucid nohandoff pci quirk
Anisse Astier [Tue, 9 Oct 2012 10:22:37 +0000 (12:22 +0200)]
ehci: Add yet-another Lucid nohandoff pci quirk

commit 8daf8b6086f9d575200cd0aa3797e26137255609 upstream.

Board name changed on another shipping Lucid tablet.

Signed-off-by: Anisse Astier <anisse@astier.eu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoehci: fix Lucid nohandoff pci quirk to be more generic with BIOS versions
Anisse Astier [Tue, 9 Oct 2012 10:22:36 +0000 (12:22 +0200)]
ehci: fix Lucid nohandoff pci quirk to be more generic with BIOS versions

commit c323dc023b9501e5d09582ec7efd1d40a9001d99 upstream.

BIOS vendors keep changing the BIOS versions. Only match the beginning
of the string to match all Lucid tablets with board name M11JB.

Signed-off-by: Anisse Astier <anisse@astier.eu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agosysfs: sysfs_pathname/sysfs_add_one: Use strlcat() instead of strcat()
Geert Uytterhoeven [Sat, 29 Sep 2012 20:23:19 +0000 (22:23 +0200)]
sysfs: sysfs_pathname/sysfs_add_one: Use strlcat() instead of strcat()

commit 66081a72517a131430dcf986775f3268aafcb546 upstream.

The warning check for duplicate sysfs entries can cause a buffer overflow
when printing the warning, as strcat() doesn't check buffer sizes.
Use strlcat() instead.

Since strlcat() doesn't return a pointer to the passed buffer, unlike
strcat(), I had to convert the nested concatenation in sysfs_add_one() to
an admittedly more obscure comma operator construct, to avoid emitting code
for the concatenation if CONFIG_BUG is disabled.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>