firefly-linux-kernel-4.4.55.git
11 years agobacklight:fix resume backlight flash
yzq [Thu, 17 Jan 2013 10:06:03 +0000 (18:06 +0800)]
backlight:fix resume backlight flash

11 years agoboard-rk3066b-sdk: use new iomux api
黄涛 [Thu, 17 Jan 2013 09:57:42 +0000 (17:57 +0800)]
board-rk3066b-sdk: use new iomux api

11 years agoSDMMC: for RK3188, support new iomux API
xbw [Thu, 17 Jan 2013 09:56:07 +0000 (17:56 +0800)]
SDMMC: for RK3188, support new iomux API

11 years agoUSB: support rk3168/rk3188 usb host
wlf [Thu, 17 Jan 2013 08:10:07 +0000 (16:10 +0800)]
USB: support rk3168/rk3188 usb host

11 years agoMerge remote-tracking branch 'aosp/android-3.0' into develop-3.0
黄涛 [Thu, 17 Jan 2013 07:14:24 +0000 (15:14 +0800)]
Merge remote-tracking branch 'aosp/android-3.0' into develop-3.0

Conflicts:
drivers/cpufreq/cpufreq_interactive.c
drivers/net/wireless/bcmdhd/dhd_linux.c
drivers/net/wireless/bcmdhd/wl_cfg80211.c
scripts/Kbuild.include

11 years agoboard-rk30-sdk-sdmmc: use new iomux api on rk3066b and support rk3188
黄涛 [Thu, 17 Jan 2013 07:03:43 +0000 (15:03 +0800)]
board-rk30-sdk-sdmmc: use new iomux api on rk3066b and support rk3188

11 years agoRevert "board-rk30-sdk-sdmmc: use new iomux api on rk3066b and support rk3188"
黄涛 [Thu, 17 Jan 2013 06:37:13 +0000 (14:37 +0800)]
Revert "board-rk30-sdk-sdmmc: use new iomux api on rk3066b and support rk3188"

This reverts commit 32ffe95a23530773c994889b5deca53d964b3fb1.

11 years agork3168: add ddr freq flag(been mistakenly deleted in update dvfs table)
chenxing [Thu, 17 Jan 2013 06:40:50 +0000 (14:40 +0800)]
rk3168: add ddr freq flag(been mistakenly deleted in update dvfs table)

11 years agork610 codec : cloes debug
邱建斌 [Thu, 17 Jan 2013 03:40:45 +0000 (11:40 +0800)]
rk610 codec : cloes debug

11 years agods1006h rk610 codec : fix boot pop noise
邱建斌 [Thu, 17 Jan 2013 03:38:00 +0000 (11:38 +0800)]
ds1006h rk610 codec : fix boot pop noise

11 years agocpufreq: interactive: sync android-3.0 with android-3.4
Todd Poynor [Sat, 22 Dec 2012 01:44:36 +0000 (17:44 -0800)]
cpufreq: interactive: sync android-3.0 with android-3.4

Change-Id: I71443db4edbe43a08fe58a54a742b4c788ef11e3
Signed-off-by: Todd Poynor <toddpoynor@google.com>
11 years agostaging: logger: hold mutex while removing reader
Rabin Vincent [Wed, 22 Feb 2012 10:28:00 +0000 (15:58 +0530)]
staging: logger: hold mutex while removing reader

The readers list is traversed under the log->mutex lock
(for example from fix_up_readers()), but the deletion of
elements from this list is not being done under this lock.

Cc: Brian Swetland <swetland@google.com>
Cc: Dima Zavin <dima@android.com>
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoscreen b101ew05:add more macro for screen setting
yxj [Wed, 16 Jan 2013 13:29:13 +0000 (21:29 +0800)]
screen b101ew05:add more macro for screen setting

11 years agork screen:delete screen.h
yxj [Wed, 16 Jan 2013 13:21:10 +0000 (21:21 +0800)]
rk screen:delete screen.h

11 years agork fb:move screen related power control from fb driver to lcdc driver
yxj [Wed, 16 Jan 2013 09:37:43 +0000 (17:37 +0800)]
rk fb:move screen related power control from fb driver to lcdc driver

11 years agomove some screen related data structure frome board.h to rk_screen.h
yxj [Wed, 16 Jan 2013 08:04:17 +0000 (16:04 +0800)]
move some screen related data structure frome board.h to rk_screen.h

11 years agocamera: wrong use of iomux_set in file rk30_camera.c, instead of iomux_set_gpio_mode
zyc [Wed, 16 Jan 2013 09:03:53 +0000 (17:03 +0800)]
camera: wrong use of iomux_set in file rk30_camera.c, instead of iomux_set_gpio_mode

11 years agork3188: use rk30 dvfs
黄涛 [Wed, 16 Jan 2013 08:48:51 +0000 (16:48 +0800)]
rk3188: use rk30 dvfs

11 years agork3188: add pmu support
黄涛 [Wed, 16 Jan 2013 08:46:13 +0000 (16:46 +0800)]
rk3188: add pmu support

11 years agocamera(v0.4.1d): sync pingpong mode
ddl [Wed, 16 Jan 2013 08:28:16 +0000 (16:28 +0800)]
camera(v0.4.1d): sync pingpong mode

11 years agocamera:support rk3188,use new iomux.
zyc [Wed, 16 Jan 2013 08:12:54 +0000 (16:12 +0800)]
camera:support rk3188,use new iomux.

11 years agork3188: support more cpus
黄涛 [Wed, 16 Jan 2013 08:05:47 +0000 (16:05 +0800)]
rk3188: support more cpus

11 years agoboard-rk3168-LR097: use new iomux api
黄涛 [Wed, 16 Jan 2013 07:29:47 +0000 (15:29 +0800)]
board-rk3168-LR097: use new iomux api

11 years agoboard-rk3168-ds1006h: use new iomux api
黄涛 [Wed, 16 Jan 2013 07:15:04 +0000 (15:15 +0800)]
board-rk3168-ds1006h: use new iomux api

11 years agork610-core: support new iomux api on rk3066b
黄涛 [Wed, 16 Jan 2013 07:14:13 +0000 (15:14 +0800)]
rk610-core: support new iomux api on rk3066b

11 years agork3066b: remove support old iomux api
黄涛 [Wed, 16 Jan 2013 07:13:16 +0000 (15:13 +0800)]
rk3066b: remove support old iomux api

11 years agoboard-rk3168-tb: use new iomux api on rk3066b and support rk3188
黄涛 [Wed, 16 Jan 2013 06:49:53 +0000 (14:49 +0800)]
board-rk3168-tb: use new iomux api on rk3066b and support rk3188

11 years agoboard-rk30-sdk-sdmmc: use new iomux api on rk3066b and support rk3188
黄涛 [Wed, 16 Jan 2013 06:48:56 +0000 (14:48 +0800)]
board-rk30-sdk-sdmmc: use new iomux api on rk3066b and support rk3188

11 years agork30_camera_oneframe: use new iomux api
黄涛 [Wed, 16 Jan 2013 06:46:46 +0000 (14:46 +0800)]
rk30_camera_oneframe: use new iomux api

11 years agork3066b: usbdev_rk30: delete iomux setup because of gpio_request auto setup iomux
黄涛 [Wed, 16 Jan 2013 06:45:55 +0000 (14:45 +0800)]
rk3066b: usbdev_rk30: delete iomux setup because of gpio_request auto setup iomux

11 years agork3066b_lcdc: support new iomux api
黄涛 [Wed, 16 Jan 2013 06:40:41 +0000 (14:40 +0800)]
rk3066b_lcdc: support new iomux api

11 years agorfkill-rk: setup rts gpio with IOMUX_FMUX
黄涛 [Wed, 16 Jan 2013 06:40:13 +0000 (14:40 +0800)]
rfkill-rk: setup rts gpio with IOMUX_FMUX

11 years agork30_i2s: support new iomux api and rk3188
黄涛 [Wed, 16 Jan 2013 06:39:09 +0000 (14:39 +0800)]
rk30_i2s: support new iomux api and rk3188

11 years agork3066B: sdk: remove arm request log volt
chenxing [Wed, 16 Jan 2013 06:46:49 +0000 (14:46 +0800)]
rk3066B: sdk: remove arm request log volt

11 years agork30: update dvfs volt diff table
chenxing [Wed, 16 Jan 2013 06:29:13 +0000 (14:29 +0800)]
rk30: update dvfs volt diff table

11 years agork3168: update arm volt table, remove arm request log volt
chenxing [Wed, 16 Jan 2013 06:28:47 +0000 (14:28 +0800)]
rk3168: update arm volt table, remove arm request log volt

11 years agort3261: make codec as slave when BT incall, solve an cts problem.
宋秀杰 [Wed, 16 Jan 2013 05:03:08 +0000 (13:03 +0800)]
rt3261: make codec as slave when BT incall, solve an cts problem.

11 years agork30:wm8326:remove wm831x_last_deinit when wm8326 shutdown
张晴 [Wed, 16 Jan 2013 03:39:00 +0000 (11:39 +0800)]
rk30:wm8326:remove wm831x_last_deinit when wm8326 shutdown

11 years agoMerge commit 'v3.0.58' into android-3.0
Todd Poynor [Wed, 16 Jan 2013 03:33:11 +0000 (19:33 -0800)]
Merge commit 'v3.0.58' into android-3.0

Change-Id: I05959ed26f71cf9197df59291e8e13f254b2115c

11 years agork3188 lcdc:implement more interface
yxj [Wed, 16 Jan 2013 03:28:47 +0000 (11:28 +0800)]
rk3188 lcdc:implement more interface

11 years agork3168:act8846:support act8846 pmic reset
张晴 [Wed, 16 Jan 2013 03:21:21 +0000 (11:21 +0800)]
rk3168:act8846:support act8846 pmic reset

11 years agork3188: tb: defconfig enable LCDC0_RK3188
黄涛 [Wed, 16 Jan 2013 01:27:21 +0000 (09:27 +0800)]
rk3188: tb: defconfig enable LCDC0_RK3188

11 years agonet: wireless: bcmdhd: Fix PEAP with dynamic WEP
Dmitry Shmidt [Tue, 15 Jan 2013 23:16:31 +0000 (15:16 -0800)]
net: wireless: bcmdhd: Fix PEAP with dynamic WEP

Change-Id: I62dffdb3b759ea5ccdf9f7ea0f0e67f928ace92b
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
11 years agork3188 fpga defconfig:add LCDC support
yxj [Tue, 15 Jan 2013 12:33:50 +0000 (20:33 +0800)]
rk3188 fpga defconfig:add LCDC support

11 years agork3188 lcdc:fix rk3188 lcdc probe
yxj [Tue, 15 Jan 2013 12:31:50 +0000 (20:31 +0800)]
rk3188 lcdc:fix rk3188 lcdc probe

11 years agork3188 lcdc: fix one err of rgb swap
yxj [Tue, 15 Jan 2013 12:17:41 +0000 (20:17 +0800)]
rk3188 lcdc: fix one err of rgb swap

11 years agoboard rk3188 fpga:add lcdc support
yxj [Tue, 15 Jan 2013 12:11:37 +0000 (20:11 +0800)]
board rk3188 fpga:add lcdc support

11 years agork3188:add lcdc support
yxj [Tue, 15 Jan 2013 12:02:21 +0000 (20:02 +0800)]
rk3188:add lcdc support

11 years agocamera rk2928:add cif reset and power control
zyc [Tue, 15 Jan 2013 10:43:52 +0000 (18:43 +0800)]
camera rk2928:add cif reset and power control

11 years agopl330: fix support RK2928/RK31
黄涛 [Tue, 17 Jul 2012 06:30:05 +0000 (14:30 +0800)]
pl330: fix support RK2928/RK31

11 years agork3188: add pwm support
黄涛 [Tue, 15 Jan 2013 08:07:45 +0000 (16:07 +0800)]
rk3188: add pwm support

11 years agocamera(v0.2.0x1d): version modify to v0.2.0x1d, is only modify version code
ddl [Tue, 15 Jan 2013 07:29:56 +0000 (15:29 +0800)]
camera(v0.2.0x1d): version modify to v0.2.0x1d, is only modify version code

11 years agocamera(v0.2.0x1e): ov2650 fix shutter error
ddl [Tue, 15 Jan 2013 07:22:48 +0000 (15:22 +0800)]
camera(v0.2.0x1e): ov2650 fix shutter error

11 years agork30: pm: fix core periph setup when suspend
黄涛 [Tue, 15 Jan 2013 05:12:07 +0000 (13:12 +0800)]
rk30: pm: fix core periph setup when suspend

11 years agoMerge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0
黄涛 [Tue, 15 Jan 2013 04:45:19 +0000 (12:45 +0800)]
Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0

Merge v3.0.58
Conflicts:
Makefile
drivers/net/wireless/p54/p54usb.c

11 years agork: ddr_freq: never set video/suspend rate when board no setup
黄涛 [Tue, 15 Jan 2013 04:18:50 +0000 (12:18 +0800)]
rk: ddr_freq: never set video/suspend rate when board no setup

11 years agocamera:fix 2928 digitzoom erro of selected zone.
zyc [Tue, 15 Jan 2013 03:34:26 +0000 (11:34 +0800)]
camera:fix 2928 digitzoom erro of selected zone.

11 years agocamera ov5640: add some delay from capture to preview
ddl [Tue, 15 Jan 2013 03:23:06 +0000 (11:23 +0800)]
camera ov5640: add some delay from capture to preview

11 years agork3188: add top board support
黄涛 [Tue, 15 Jan 2013 03:20:14 +0000 (11:20 +0800)]
rk3188: add top board support

11 years agork3188: fpga: enable timer
黄涛 [Tue, 15 Jan 2013 03:13:30 +0000 (11:13 +0800)]
rk3188: fpga: enable timer

11 years agork3188: add rk timer support
黄涛 [Tue, 15 Jan 2013 03:10:05 +0000 (11:10 +0800)]
rk3188: add rk timer support

11 years agork: last_log: fix printk over read bug
黄涛 [Tue, 15 Jan 2013 01:40:36 +0000 (09:40 +0800)]
rk: last_log: fix printk over read bug

version 2.1, fix this bug:
Unable to handle kernel paging request at virtual address f7180000
pgd = c0404000
[f7180000] *pgd=9002c811, *pte=00000000, *ppte=00000000
Internal error: Oops: 7 [#1] PREEMPT SMP
CPU: 0    Tainted: G         C   (3.0.36+ #265)
PC is at log_prefix+0x2c/0xe0
LR is at console_unlock+0x128/0x1b0

11 years agoMerge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into develop-3.0
hwg [Mon, 14 Jan 2013 15:08:17 +0000 (23:08 +0800)]
Merge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into develop-3.0

11 years agowifi: update mt5931 driver to 2.07
hwg [Mon, 14 Jan 2013 15:06:29 +0000 (23:06 +0800)]
wifi: update mt5931 driver to 2.07

11 years agosound soc-core: codec_name not adapted i2c_name
邱建斌 [Mon, 14 Jan 2013 10:28:08 +0000 (18:28 +0800)]
sound soc-core: codec_name not adapted i2c_name

11 years agork610 codec : spk_ctl_io filling in board(rk29)
邱建斌 [Mon, 14 Jan 2013 08:41:10 +0000 (16:41 +0800)]
rk610 codec : spk_ctl_io filling in board(rk29)

11 years agork610 codec : spk_ctl_io filling in board
邱建斌 [Mon, 14 Jan 2013 08:35:58 +0000 (16:35 +0800)]
rk610 codec : spk_ctl_io filling in board

11 years agork_screen.h: fix when DISPLAY_SUPPORT no selected
黄涛 [Mon, 14 Jan 2013 08:25:15 +0000 (16:25 +0800)]
rk_screen.h: fix when DISPLAY_SUPPORT no selected

11 years agork30: devices.c: fix gcc error on fpga: implicit declaration of function 'rk30_init_i2c'
黄涛 [Mon, 14 Jan 2013 08:06:04 +0000 (16:06 +0800)]
rk30: devices.c: fix gcc error on fpga: implicit declaration of function 'rk30_init_i2c'

11 years agork3168: tb: use new iomux api, for compatible with rk3188
黄涛 [Mon, 14 Jan 2013 07:22:29 +0000 (15:22 +0800)]
rk3168: tb: use new iomux api, for compatible with rk3188

11 years agork3188: system use 8k sram
黄涛 [Mon, 14 Jan 2013 07:17:47 +0000 (15:17 +0800)]
rk3188: system use 8k sram

11 years agork3188: default debug uart 2
黄涛 [Mon, 14 Jan 2013 07:15:03 +0000 (15:15 +0800)]
rk3188: default debug uart 2

11 years agork30_camera: fix gcc warning
黄涛 [Mon, 14 Jan 2013 03:51:08 +0000 (11:51 +0800)]
rk30_camera: fix gcc warning

11 years agorga: support rk3188
黄涛 [Mon, 14 Jan 2013 03:49:40 +0000 (11:49 +0800)]
rga: support rk3188

11 years agoadc: support rk3188
黄涛 [Mon, 14 Jan 2013 03:49:13 +0000 (11:49 +0800)]
adc: support rk3188

11 years agods1006h screeen: set OUT_FACE as OUT_P888,because this screen is 24bit
yxj [Mon, 14 Jan 2013 02:18:35 +0000 (10:18 +0800)]
ds1006h screeen: set OUT_FACE as OUT_P888,because this screen is 24bit

11 years agork30 lcdc:use inline function instead of macro set lcdc register
yxj [Fri, 11 Jan 2013 09:07:40 +0000 (17:07 +0800)]
rk30 lcdc:use inline function instead of macro set lcdc register

11 years agoLinux 3.0.58
Greg Kroah-Hartman [Fri, 11 Jan 2013 17:04:08 +0000 (09:04 -0800)]
Linux 3.0.58

11 years agocan: Do not call dev_put if restart timer is running upon close
Alexander Stein [Tue, 27 Nov 2012 07:52:34 +0000 (08:52 +0100)]
can: Do not call dev_put if restart timer is running upon close

commit ab48b03ec9ae1840a1e427e2375bd0d9d554b4ed upstream.

If the restart timer is running due to BUS-OFF and the device is
disconnected an dev_put will decrease the usage counter to -1 thus
blocking the interface removal, resulting in the following dmesg
lines repeating every 10s:
can: notifier: receive list not found for dev can0
can: notifier: receive list not found for dev can0
can: notifier: receive list not found for dev can0
unregister_netdevice: waiting for can0 to become free. Usage count = -1

Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agomm: limit mmu_gather batching to fix soft lockups on !CONFIG_PREEMPT
Michal Hocko [Fri, 4 Jan 2013 23:35:12 +0000 (15:35 -0800)]
mm: limit mmu_gather batching to fix soft lockups on !CONFIG_PREEMPT

commit 53a59fc67f97374758e63a9c785891ec62324c81 upstream.

Since commit e303297e6c3a ("mm: extended batches for generic
mmu_gather") we are batching pages to be freed until either
tlb_next_batch cannot allocate a new batch or we are done.

This works just fine most of the time but we can get in troubles with
non-preemptible kernel (CONFIG_PREEMPT_NONE or CONFIG_PREEMPT_VOLUNTARY)
on large machines where too aggressive batching might lead to soft
lockups during process exit path (exit_mmap) because there are no
scheduling points down the free_pages_and_swap_cache path and so the
freeing can take long enough to trigger the soft lockup.

The lockup is harmless except when the system is setup to panic on
softlockup which is not that unusual.

The simplest way to work around this issue is to limit the maximum
number of batches in a single mmu_gather.  10k of collected pages should
be safe to prevent from soft lockups (we would have 2ms for one) even if
they are all freed without an explicit scheduling point.

This patch doesn't add any new explicit scheduling points because it
relies on zap_pmd_range during page tables zapping which calls
cond_resched per PMD.

The following lockup has been reported for 3.0 kernel with a huge
process (in order of hundreds gigs but I do know any more details).

  BUG: soft lockup - CPU#56 stuck for 22s! [kernel:31053]
  Modules linked in: af_packet nfs lockd fscache auth_rpcgss nfs_acl sunrpc mptctl mptbase autofs4 binfmt_misc dm_round_robin dm_multipath bonding cpufreq_conservative cpufreq_userspace cpufreq_powersave pcc_cpufreq mperf microcode fuse loop osst sg sd_mod crc_t10dif st qla2xxx scsi_transport_fc scsi_tgt netxen_nic i7core_edac iTCO_wdt joydev e1000e serio_raw pcspkr edac_core iTCO_vendor_support acpi_power_meter rtc_cmos hpwdt hpilo button container usbhid hid dm_mirror dm_region_hash dm_log linear uhci_hcd ehci_hcd usbcore usb_common scsi_dh_emc scsi_dh_alua scsi_dh_hp_sw scsi_dh_rdac scsi_dh dm_snapshot pcnet32 mii edd dm_mod raid1 ext3 mbcache jbd fan thermal processor thermal_sys hwmon cciss scsi_mod
  Supported: Yes
  CPU 56
  Pid: 31053, comm: kernel Not tainted 3.0.31-0.9-default #1 HP ProLiant DL580 G7
  RIP: 0010:  _raw_spin_unlock_irqrestore+0x8/0x10
  RSP: 0018:ffff883ec1037af0  EFLAGS: 00000206
  RAX: 0000000000000e00 RBX: ffffea01a0817e28 RCX: ffff88803ffd9e80
  RDX: 0000000000000200 RSI: 0000000000000206 RDI: 0000000000000206
  RBP: 0000000000000002 R08: 0000000000000001 R09: ffff887ec724a400
  R10: 0000000000000000 R11: dead000000200200 R12: ffffffff8144c26e
  R13: 0000000000000030 R14: 0000000000000297 R15: 000000000000000e
  FS:  00007ed834282700(0000) GS:ffff88c03f200000(0000) knlGS:0000000000000000
  CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
  CR2: 000000000068b240 CR3: 0000003ec13c5000 CR4: 00000000000006e0
  DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
  DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
  Process kernel (pid: 31053, threadinfo ffff883ec1036000, task ffff883ebd5d4100)
  Call Trace:
    release_pages+0xc5/0x260
    free_pages_and_swap_cache+0x9d/0xc0
    tlb_flush_mmu+0x5c/0x80
    tlb_finish_mmu+0xe/0x50
    exit_mmap+0xbd/0x120
    mmput+0x49/0x120
    exit_mm+0x122/0x160
    do_exit+0x17a/0x430
    do_group_exit+0x3d/0xb0
    get_signal_to_deliver+0x247/0x480
    do_signal+0x71/0x1b0
    do_notify_resume+0x98/0xb0
    int_signal+0x12/0x17
  DWARF2 unwinder stuck at int_signal+0x12/0x17

Signed-off-by: Michal Hocko <mhocko@suse.cz>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Rik van Riel <riel@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agodrivers/rtc/rtc-vt8500.c: fix handling of data passed in struct rtc_time
Tony Prisk [Fri, 4 Jan 2013 23:35:48 +0000 (15:35 -0800)]
drivers/rtc/rtc-vt8500.c: fix handling of data passed in struct rtc_time

commit 2f90b68309683f2c5765a1b04ca23d71e51f1494 upstream.

tm_mon is 0..11, whereas vt8500 expects 1..12 for the month field,
causing invalid date errors for January, and causing the day field to
roll over incorrectly.

The century flag is only handled in vt8500_rtc_read_time, but not set in
vt8500_rtc_set_time.  This patch corrects the behaviour of the century
flag.

Signed-off-by: Edgar Toernig <froese@gmx.de>
Signed-off-by: Tony Prisk <linux@prisktech.co.nz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agodrivers/rtc/rtc-vt8500.c: correct handling of CR_24H bitfield
Tony Prisk [Fri, 4 Jan 2013 23:35:47 +0000 (15:35 -0800)]
drivers/rtc/rtc-vt8500.c: correct handling of CR_24H bitfield

commit 532db570e5181abc8f4f7bfa6c77c69ec2240198 upstream.

Control register bitfield for 12H/24H mode is handled incorrectly.
Setting CR_24H actually enables 12H mode.  This patch renames the define
and changes the initialization code to correctly set 24H mode.

Signed-off-by: Tony Prisk <linux@prisktech.co.nz>
Cc: Edgar Toernig <froese@gmx.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoCRIS: fix I/O macros
Corey Minyard [Tue, 18 Dec 2012 22:21:19 +0000 (14:21 -0800)]
CRIS: fix I/O macros

commit c24bf9b4cc6a0f330ea355d73bfdf1dae7e63a05 upstream.

The inb/outb macros for CRIS are broken from a number of points of view,
missing () around parameters and they have an unprotected if statement
in them.  This was breaking the compile of IPMI on CRIS and thus I was
being annoyed by build regressions, so I fixed them.

Plus I don't think they would have worked at all, since the data values
were missing "&" and the outsl had a "3" instead of a "4" for the size.
From what I can tell, this stuff is not used at all, so this can't be
any more broken than it was before, anyway.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
Cc: Jesper Nilsson <jesper.nilsson@axis.com>
Cc: Mikael Starvik <starvik@axis.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoBluetooth: cancel power_on work when unregistering the device
Gustavo Padovan [Wed, 21 Nov 2012 02:50:21 +0000 (00:50 -0200)]
Bluetooth: cancel power_on work when unregistering the device

commit b9b5ef188e5a2222cfc16ef62a4703080750b451 upstream.

We need to cancel the hci_power_on work in order to avoid it run when we
try to free the hdev.

[ 1434.201149] ------------[ cut here ]------------
[ 1434.204998] WARNING: at lib/debugobjects.c:261 debug_print_object+0x8e/0xb0()
[ 1434.208324] ODEBUG: free active (active state 0) object type: work_struct hint: hci
_power_on+0x0/0x90
[ 1434.210386] Pid: 8564, comm: trinity-child25 Tainted: G        W    3.7.0-rc5-next-
20121112-sasha-00018-g2f4ce0e #127
[ 1434.210760] Call Trace:
[ 1434.210760]  [<ffffffff819f3d6e>] ? debug_print_object+0x8e/0xb0
[ 1434.210760]  [<ffffffff8110b887>] warn_slowpath_common+0x87/0xb0
[ 1434.210760]  [<ffffffff8110b911>] warn_slowpath_fmt+0x41/0x50
[ 1434.210760]  [<ffffffff819f3d6e>] debug_print_object+0x8e/0xb0
[ 1434.210760]  [<ffffffff8376b750>] ? hci_dev_open+0x310/0x310
[ 1434.210760]  [<ffffffff83bf94e5>] ? _raw_spin_unlock_irqrestore+0x55/0xa0
[ 1434.210760]  [<ffffffff819f3ee5>] __debug_check_no_obj_freed+0xa5/0x230
[ 1434.210760]  [<ffffffff83785db0>] ? bt_host_release+0x10/0x20
[ 1434.210760]  [<ffffffff819f4d15>] debug_check_no_obj_freed+0x15/0x20
[ 1434.210760]  [<ffffffff8125eee7>] kfree+0x227/0x330
[ 1434.210760]  [<ffffffff83785db0>] bt_host_release+0x10/0x20
[ 1434.210760]  [<ffffffff81e539e5>] device_release+0x65/0xc0
[ 1434.210760]  [<ffffffff819d3975>] kobject_cleanup+0x145/0x190
[ 1434.210760]  [<ffffffff819d39cd>] kobject_release+0xd/0x10
[ 1434.210760]  [<ffffffff819d33cc>] kobject_put+0x4c/0x60
[ 1434.210760]  [<ffffffff81e548b2>] put_device+0x12/0x20
[ 1434.210760]  [<ffffffff8376a334>] hci_free_dev+0x24/0x30
[ 1434.210760]  [<ffffffff82fd8fe1>] vhci_release+0x31/0x60
[ 1434.210760]  [<ffffffff8127be12>] __fput+0x122/0x250
[ 1434.210760]  [<ffffffff811cab0d>] ? rcu_user_exit+0x9d/0xd0
[ 1434.210760]  [<ffffffff8127bf49>] ____fput+0x9/0x10
[ 1434.210760]  [<ffffffff81133402>] task_work_run+0xb2/0xf0
[ 1434.210760]  [<ffffffff8106cfa7>] do_notify_resume+0x77/0xa0
[ 1434.210760]  [<ffffffff83bfb0ea>] int_signal+0x12/0x17
[ 1434.210760] ---[ end trace a6d57fefbc8a8cc7 ]---

Reported-by: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoBluetooth: ath3k: Add support for VAIO VPCEH [0489:e027]
Marcos Chaparro [Tue, 6 Nov 2012 19:19:11 +0000 (16:19 -0300)]
Bluetooth: ath3k: Add support for VAIO VPCEH [0489:e027]

commit acd9454433e28c1a365d8b069813c35c1c3a8ac3 upstream.

Added Atheros AR3011 internal bluetooth device found in Sony VAIO VPCEH to the
devices list.
Before this, the bluetooth module was identified as an Foxconn / Hai bluetooth
device [0489:e027], now it claims to be an AtherosAR3011 Bluetooth
[0cf3:3005].

T:  Bus=01 Lev=02 Prnt=02 Port=04 Cnt=02 Dev#=  4 Spd=12   MxCh= 0
D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0489 ProdID=e027 Rev= 0.01
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms

Signed-off-by: Marcos Chaparro <marcos@mrkindustries.com.ar>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Cc: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoPCI: Reduce Ricoh 0xe822 SD card reader base clock frequency to 50MHz
Andy Lutomirski [Sat, 1 Dec 2012 20:37:20 +0000 (12:37 -0800)]
PCI: Reduce Ricoh 0xe822 SD card reader base clock frequency to 50MHz

commit 812089e01b9f65f90fc8fc670d8cce72a0e01fbb upstream.

Otherwise it fails like this on cards like the Transcend 16GB SDHC card:

    mmc0: new SDHC card at address b368
    mmcblk0: mmc0:b368 SDC   15.0 GiB
    mmcblk0: error -110 sending status command, retrying
    mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb0

Tested on my Lenovo x200 laptop.

[bhelgaas: changelog]
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Chris Ball <cjb@laptop.org>
CC: Manoj Iyer <manoj.iyer@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agosolos-pci: fix double-free of TX skb in DMA mode
David Woodhouse [Tue, 11 Dec 2012 14:57:14 +0000 (14:57 +0000)]
solos-pci: fix double-free of TX skb in DMA mode

commit cae49ede00ec3d0cda290b03fee55b72b49efc11 upstream.

We weren't clearing card->tx_skb[port] when processing the TX done interrupt.
If there wasn't another skb ready to transmit immediately, this led to a
double-free because we'd free it *again* next time we did have a packet to
send.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoARM: missing ->mmap_sem around find_vma() in swp_emulate.c
Al Viro [Sun, 16 Dec 2012 00:25:57 +0000 (00:25 +0000)]
ARM: missing ->mmap_sem around find_vma() in swp_emulate.c

commit 7bf9b7bef881aac820bf1f2e9951a17b09bd7e04 upstream.

find_vma() is *not* safe when somebody else is removing vmas.  Not just
the return value might get bogus just as you are getting it (this instance
doesn't try to dereference the resulting vma), the search itself can get
buggered in rather spectacular ways.  IOW, ->mmap_sem really, really is
not optional here.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoARM: mm: use pteval_t to represent page protection values
Will Deacon [Tue, 18 Sep 2012 18:18:35 +0000 (19:18 +0100)]
ARM: mm: use pteval_t to represent page protection values

commit 864aa04cd02979c2c755cb28b5f4fe56039171c0 upstream.

When updating the page protection map after calculating the user_pgprot
value, the base protection map is temporarily stored in an unsigned long
type, causing truncation of the protection bits when LPAE is enabled.
This effectively means that calls to mprotect() will corrupt the upper
page attributes, clearing the XN bit unconditionally.

This patch uses pteval_t to store the intermediate protection values,
preserving the upper bits for 64-bit descriptors.

Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agotcp: RFC 5961 5.2 Blind Data Injection Attack Mitigation
Eric Dumazet [Sun, 21 Oct 2012 19:57:11 +0000 (19:57 +0000)]
tcp: RFC 5961 5.2 Blind Data Injection Attack Mitigation

[ Upstream commit 354e4aa391ed50a4d827ff6fc11e0667d0859b25 ]

RFC 5961 5.2 [Blind Data Injection Attack].[Mitigation]

  All TCP stacks MAY implement the following mitigation.  TCP stacks
  that implement this mitigation MUST add an additional input check to
  any incoming segment.  The ACK value is considered acceptable only if
  it is in the range of ((SND.UNA - MAX.SND.WND) <= SEG.ACK <=
  SND.NXT).  All incoming segments whose ACK value doesn't satisfy the
  above condition MUST be discarded and an ACK sent back.

Move tcp_send_challenge_ack() before tcp_ack() to avoid a forward
declaration.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Cc: Jerry Chu <hkchu@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agotcp: tcp_replace_ts_recent() should not be called from tcp_validate_incoming()
Eric Dumazet [Tue, 13 Nov 2012 05:37:18 +0000 (05:37 +0000)]
tcp: tcp_replace_ts_recent() should not be called from tcp_validate_incoming()

[ Upstream commit bd090dfc634ddd711a5fbd0cadc6e0ab4977bcaf ]

We added support for RFC 5961 in latest kernels but TCP fails
to perform exhaustive check of ACK sequence.

We can update our view of peer tsval from a frame that is
later discarded by tcp_ack()

This makes timestamps enabled sessions vulnerable to injection of
a high tsval : peers start an ACK storm, since the victim
sends a dupack each time it receives an ACK from the other peer.

As tcp_validate_incoming() is called before tcp_ack(), we should
not peform tcp_replace_ts_recent() from it, and let callers do it
at the right time.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Cc: Nandita Dukkipati <nanditad@google.com>
Cc: H.K. Jerry Chu <hkchu@google.com>
Cc: Romain Francoise <romain@orebokech.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agotcp: refine SYN handling in tcp_validate_incoming
Eric Dumazet [Tue, 17 Jul 2012 12:29:30 +0000 (12:29 +0000)]
tcp: refine SYN handling in tcp_validate_incoming

[ Upstream commit e371589917011efe6ff8c7dfb4e9e81934ac5855 ]

Followup of commit 0c24604b68fc (tcp: implement RFC 5961 4.2)

As reported by Vijay Subramanian, we should send a challenge ACK
instead of a dup ack if a SYN flag is set on a packet received out of
window.

This permits the ratelimiting to work as intended, and to increase
correct SNMP counters.

Suggested-by: Vijay Subramanian <subramanian.vijay@gmail.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Vijay Subramanian <subramanian.vijay@gmail.com>
Cc: Kiran Kumar Kella <kkiran@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agotcp: implement RFC 5961 4.2
Eric Dumazet [Tue, 17 Jul 2012 01:41:30 +0000 (01:41 +0000)]
tcp: implement RFC 5961 4.2

[ Upstream commit 0c24604b68fc7810d429d6c3657b6f148270e528 ]

Implement the RFC 5691 mitigation against Blind
Reset attack using SYN bit.

Section 4.2 of RFC 5961 advises to send a Challenge ACK and drop
incoming packet, instead of resetting the session.

Add a new SNMP counter to count number of challenge acks sent
in response to SYN packets.
(netstat -s | grep TCPSYNChallenge)

Remove obsolete TCPAbortOnSyn, since we no longer abort a TCP session
because of a SYN flag.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Kiran Kumar Kella <kkiran@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agotcp: implement RFC 5961 3.2
Eric Dumazet [Tue, 17 Jul 2012 08:13:05 +0000 (10:13 +0200)]
tcp: implement RFC 5961 3.2

[ Upstream commit 282f23c6ee343126156dd41218b22ece96d747e3 ]

Implement the RFC 5691 mitigation against Blind
Reset attack using RST bit.

Idea is to validate incoming RST sequence,
to match RCV.NXT value, instead of previouly accepted
window : (RCV.NXT <= SEG.SEQ < RCV.NXT+RCV.WND)

If sequence is in window but not an exact match, send
a "challenge ACK", so that the other part can resend an
RST with the appropriate sequence.

Add a new sysctl, tcp_challenge_ack_limit, to limit
number of challenge ACK sent per second.

Add a new SNMP counter to count number of challenge acks sent.
(netstat -s | grep TCPChallengeACK)

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Kiran Kumar Kella <kkiran@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agonet: sched: integer overflow fix
Stefan Hasko [Fri, 21 Dec 2012 15:04:59 +0000 (15:04 +0000)]
net: sched: integer overflow fix

[ Upstream commit d2fe85da52e89b8012ffad010ef352a964725d5f ]

Fixed integer overflow in function htb_dequeue

Signed-off-by: Stefan Hasko <hasko.stevo@gmail.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agosparc: huge_ptep_set_* functions need to call set_huge_pte_at()
Dave Kleikamp [Mon, 17 Dec 2012 17:52:47 +0000 (11:52 -0600)]
sparc: huge_ptep_set_* functions need to call set_huge_pte_at()

[ Upstream commit 6cb9c3697585c47977c42c5cc1b9fc49247ac530 ]

Modifying the huge pte's requires that all the underlying pte's be
modified.

Version 2: added missing flush_tlb_page()

Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: sparclinux@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoftrace: Do not function trace inlined functions
Steven Rostedt [Mon, 12 Dec 2011 20:22:41 +0000 (15:22 -0500)]
ftrace: Do not function trace inlined functions

commit 45959ee7aa645815a5ce303a0ea1e48a21e67c6a upstream.

When gcc inlines a function, it does not mark it with the mcount
prologue, which in turn means that inlined functions are not traced
by the function tracer. But if CONFIG_OPTIMIZE_INLINING is set, then
gcc is allowed not to inline a function that is marked inline.

Depending on the options and the compiler, a function may or may
not be traced by the function tracer, depending on whether gcc
decides to inline a function or not. This has caused several
problems in the pass becaues gcc is not always consistent with
what it decides to inline between different gcc versions.

Some places should not be traced (like paravirt native_* functions)
and these are mostly marked as inline. When gcc decides not to
inline the function, and if that function should not be traced, then
the ftrace function tracer will suddenly break when it use to work
fine. This becomes even harder to debug when different versions of
gcc will not inline that function, making the same kernel and config
work for some gcc versions and not work for others.

By making all functions marked inline to not be traced will remove
the ambiguity that gcc adds when it comes to tracing functions marked
inline. All gcc versions will be consistent with what functions are
traced and having volatile working code will be removed.

Note, only the inline macro when CONFIG_OPTIMIZE_INLINING is set needs
to have notrace added, as the attribute __always_inline will force
the function to be inlined and then not traced.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agox86, amd: Disable way access filter on Piledriver CPUs
Andre Przywara [Wed, 31 Oct 2012 16:20:50 +0000 (17:20 +0100)]
x86, amd: Disable way access filter on Piledriver CPUs

commit 2bbf0a1427c377350f001fbc6260995334739ad7 upstream.

The Way Access Filter in recent AMD CPUs may hurt the performance of
some workloads, caused by aliasing issues in the L1 cache.
This patch disables it on the affected CPUs.

The issue is similar to that one of last year:
http://lkml.indiana.edu/hypermail/linux/kernel/1107.3/00041.html
This new patch does not replace the old one, we just need another
quirk for newer CPUs.

The performance penalty without the patch depends on the
circumstances, but is a bit less than the last year's 3%.

The workloads affected would be those that access code from the same
physical page under different virtual addresses, so different
processes using the same libraries with ASLR or multiple instances of
PIE-binaries. The code needs to be accessed simultaneously from both
cores of the same compute unit.

More details can be found here:
http://developer.amd.com/Assets/SharedL1InstructionCacheonAMD15hCPU.pdf

CPUs affected are anything with the core known as Piledriver.
That includes the new parts of the AMD A-Series (aka Trinity) and the
just released new CPUs of the FX-Series (aka Vishera).
The model numbering is a bit odd here: FX CPUs have model 2,
A-Series has model 10h, with possible extensions to 1Fh. Hence the
range of model ids.

Signed-off-by: Andre Przywara <osp@andrep.de>
Link: http://lkml.kernel.org/r/1351700450-9277-1-git-send-email-osp@andrep.de
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: CAI Qian <caiqian@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agocgroup: remove incorrect dget/dput() pair in cgroup_create_dir()
Tejun Heo [Mon, 19 Nov 2012 16:13:35 +0000 (08:13 -0800)]
cgroup: remove incorrect dget/dput() pair in cgroup_create_dir()

commit 175431635ec09b1d1bba04979b006b99e8305a83 upstream.

cgroup_create_dir() does weird dancing with dentry refcnt.  On
success, it gets and then puts it achieving nothing.  On failure, it
puts but there isn't no matching get anywhere leading to the following
oops if cgroup_create_file() fails for whatever reason.

  ------------[ cut here ]------------
  kernel BUG at /work/os/work/fs/dcache.c:552!
  invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
  Modules linked in:
  CPU 2
  Pid: 697, comm: mkdir Not tainted 3.7.0-rc4-work+ #3 Bochs Bochs
  RIP: 0010:[<ffffffff811d9c0c>]  [<ffffffff811d9c0c>] dput+0x1dc/0x1e0
  RSP: 0018:ffff88001a3ebef8  EFLAGS: 00010246
  RAX: 0000000000000000 RBX: ffff88000e5b1ef8 RCX: 0000000000000403
  RDX: 0000000000000303 RSI: 2000000000000000 RDI: ffff88000e5b1f58
  RBP: ffff88001a3ebf18 R08: ffffffff82c76960 R09: 0000000000000001
  R10: ffff880015022080 R11: ffd9bed70f48a041 R12: 00000000ffffffea
  R13: 0000000000000001 R14: ffff88000e5b1f58 R15: 00007fff57656d60
  FS:  00007ff05fcb3800(0000) GS:ffff88001fd00000(0000) knlGS:0000000000000000
  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  CR2: 00000000004046f0 CR3: 000000001315f000 CR4: 00000000000006e0
  DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
  DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
  Process mkdir (pid: 697, threadinfo ffff88001a3ea000, task ffff880015022080)
  Stack:
   ffff88001a3ebf48 00000000ffffffea 0000000000000001 0000000000000000
   ffff88001a3ebf38 ffffffff811cc889 0000000000000001 ffff88000e5b1ef8
   ffff88001a3ebf68 ffffffff811d1fc9 ffff8800198d7f18 ffff880019106ef8
  Call Trace:
   [<ffffffff811cc889>] done_path_create+0x19/0x50
   [<ffffffff811d1fc9>] sys_mkdirat+0x59/0x80
   [<ffffffff811d2009>] sys_mkdir+0x19/0x20
   [<ffffffff81be1e02>] system_call_fastpath+0x16/0x1b
  Code: 00 48 8d 90 18 01 00 00 48 89 93 c0 00 00 00 4c 89 a0 18 01 00 00 48 8b 83 a0 00 00 00 83 80 28 01 00 00 01 e8 e6 6f a0 00 eb 92 <0f> 0b 66 90 0f 1f 44 00 00 55 48 89 e5 41 57 41 56 49 89 fe 41
  RIP  [<ffffffff811d9c0c>] dput+0x1dc/0x1e0
   RSP <ffff88001a3ebef8>
  ---[ end trace 1277bcfd9561ddb0 ]---

Fix it by dropping the unnecessary dget/dput() pair.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Li Zefan <lizefan@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11 years agoxhci: Add Lynx Point LP to list of Intel switchable hosts
Russell Webb [Fri, 9 Nov 2012 21:58:49 +0000 (13:58 -0800)]
xhci: Add Lynx Point LP to list of Intel switchable hosts

commit bb1e5dd7113d2fd178d3af9aca8f480ae0468edf upstream.

Like Lynx Point, Lynx Point LP is also switchable.  See
1c12443ab8eba71a658fae4572147e56d1f84f66 for more details.

This patch should be backported to stable kernels as old as 3.0,
that contain commit 69e848c2090aebba5698a1620604c7dccb448684
"Intel xhci: Support EHCI/xHCI port switching."

Signed-off-by: Russell Webb <russell.webb@linux.intel.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>