Guosong Zhou [Thu, 14 Sep 2017 07:49:47 +0000 (15:49 +0800)]
amlvideo2: fix unuse code and bad compare
PD#150094: driver defect clean up:
#32
#86
#90
#92
#97
#101
#103
#152
#155
#157~#158
#164
#167
#169~#179
#187~#191
#193~#199
#201~#210
#212~#213
#316~#319
#385
#572
#693~#694
#696~#697
Change-Id: I9669e5c0d717ee2287faf57a271ff27692039802
Signed-off-by: Guosong Zhou <guosong.zhou@amlogic.com>
Jiamin Ma [Wed, 6 Sep 2017 03:50:07 +0000 (11:50 +0800)]
security: fix security issues about mem corruption and info leakage
PD#150578: kernel4.9 secure review issues
1. Kernel Debugging Options Enabled
2. Exploit Mitigations (KASLR, Stack Protector)
Not Enabled In Kernel Config
3. Buffer Overflow in Amvideo Driver file_name
SysFS Attribute
4. Memory Corruption in VFM Driver SysFS Attribute
5. Kernel Syslog Accessible To Unprivileged Users
6. Kernel Memory Corruption in EFuse Driver
7. Kernel Memory Corruption in Unifykey IOCTL
Change-Id: I277c449f4cb14141bf37f90fd66764b8dccaaee0
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
Pengcheng Chen [Tue, 12 Sep 2017 09:08:06 +0000 (17:08 +0800)]
osd: create logo_reserved node in dts in Android O
PD#150868: create logo_reserved node in dts in Android O
Change-Id: I4057aef2e40504920a9d3b086d31d96aa23bb52f
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>
Victor Wan [Fri, 15 Sep 2017 06:23:48 +0000 (14:23 +0800)]
Merge branch 'android-4.9' into amlogic-4.9-dev
Yi Zhou [Tue, 5 Sep 2017 12:31:51 +0000 (20:31 +0800)]
hdmitx: fix DEADCODE errors
PD#150471: hdmitx: driver defect clean up:
#168
#186
#200
#211
#192
Change-Id: Iffafec12c39cd98f8260a99417cb709ccc94935d
Signed-off-by: Yi Zhou <yi.zhou@amlogic.com>
Pengcheng Chen [Thu, 14 Sep 2017 05:26:58 +0000 (13:26 +0800)]
osd: fix move cursor caused android O reboot issue
PD#150952: fix move cursor caused android O reboot issue
Change-Id: Iba352617d7250167666029f80f82fd8bc9e4de3f
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>
Yixun Lan [Sat, 9 Sep 2017 13:36:29 +0000 (21:36 +0800)]
eth: stmmac: fix timer expire issue in resume stage
PD#150780: eth: stmmac: fix timer expire issue in resume stage
Change-Id: I1d154c1eb581972d6131871901ade2272a1192ad
Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Nanxin Qin [Sun, 3 Sep 2017 14:47:21 +0000 (22:47 +0800)]
media: merged code from
c502feca7 on the amlogic-3.14-dev [1/3]
PD#150739: merged code from
c502feca7 on the amlogic-3.14-dev
1.codec_mm: fixed tvp first wait long time bug
2.pcrmaster: fix some avsync issue in pcrmaster mode
3.vfm: fix vf provider crash issue
Change-Id: I64202a38a3ed0c50ba665fb477caea26c67ddcb0
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
Pengcheng Chen [Wed, 13 Sep 2017 04:34:47 +0000 (12:34 +0800)]
osd: clean up deadcode
PD#150472: driver defect clean up:
#118
#147
Change-Id: I5eb405b884e05d42f238db43c9d3a16255f06d84
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>
Dezhi Kong [Thu, 7 Sep 2017 01:10:47 +0000 (09:10 +0800)]
viu: null point check
PD#150474: viu: null point check
driver defect clean up:
#95
Change-Id: I29daf5b12927c7f6227c332d0064d2e437099a8c
Signed-off-by: Dezhi Kong <dezhi.kong@amlogic.com>
Jiamin Ma [Thu, 31 Aug 2017 01:51:01 +0000 (09:51 +0800)]
unifykey: check return value of of_property_read_u32
PD#150092: Calling "of_property_read_u32" without checking return value
driver defect clean up:
#30
Change-Id: I590627fec489e2251c689b9a013d5c792ff19975
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
Bo Yang [Wed, 30 Aug 2017 06:56:08 +0000 (14:56 +0800)]
jtag: add check for class_register
PD#150090: driver defect clean up:
#28
Change-Id: Ib75bbc51cf415b9ccdf8db9bbec7ae764b06e036
Signed-off-by: Bo Yang <bo.yang@amlogic.com>
Yonghui Yu [Tue, 5 Sep 2017 12:07:22 +0000 (20:07 +0800)]
mtd: nand: add slc ids and fix timing
PD#150552: mtd: nand: add slc ids and fix timing
Add ids:
1. Toshiba 4Gib TC58BVG2S0HTA00
2. Micron 4Gib MT29F4G08ABAEA
3. Micron 4Gib MT29F4G08ABADA
fix timing for spansion/AMD
1. S34ML02G1
2. S34ML01G2
Change-Id: Ie92b0d5b25d1c27701e3ab1c06e5e0fbc7f27630
Signed-off-by: Yonghui Yu <yonghui.yu@amlogic.com>
Jiyu Yang [Mon, 11 Sep 2017 11:18:26 +0000 (19:18 +0800)]
osd: use the old fence close way [3/3]
PD#149525: osd use the old fence close way
Change-Id: I9473e4820d2cbf42c623ee6c563163b654c7fe85
Signed-off-by: Jiyu Yang <Jiyu.Yang@amlogic.com>
Rongjun Chen [Mon, 11 Sep 2017 07:49:50 +0000 (15:49 +0800)]
PD#146454 wifi: update dhd_static_buf[1/2]
update dhd_static_buf to fix prealloc mem issue
Change-Id: I0f11d174d3b8d688b1ffe37f5dd922244cfae873
Signed-off-by: Rongjun Chen <rongjun.chen@amlogic.com>
Lianghu Su [Tue, 12 Sep 2017 09:24:47 +0000 (17:24 +0800)]
dts: p241: add p241 dts config.
PD#150865: add p241 dts.
1. system partition size is 0x80000000.
2. max gpu clk is 650M.
3. uart_A status is disable, uart_C is okay.
4. vpu clk level is 200M.
Change-Id: I03cc3119e3d5be8ccedc2f6f3304189fd89ef33b
Signed-off-by: Lianghu Su <lianghu.su@amlogic.com>
jianxin.pan [Wed, 13 Sep 2017 09:36:51 +0000 (17:36 +0800)]
Revert "emmc: buffer size setting mismatch"
revert this commit to avoid android boot error.
This reverts commit
709ec9c96bd9ca869b32d536fb97bc5c6772dddd.
Change-Id: Ie813a0051b38743fefa495b5401490459c15d1e4
Signed-off-by: jianxin.pan <jianxin.pan@amlogic.com>
Zongdong Jiao [Mon, 4 Sep 2017 12:20:03 +0000 (20:20 +0800)]
hdmitx: fix dead code and bad sizeof
PD#150078: driver defect clean up:
#14
#89
#111
#124
#133
#136
#137
#146
#148
#150
#153
Change-Id: I734a66a8b92a0dc57a232879463a3fc074534fa0
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
Zongdong Jiao [Mon, 4 Sep 2017 12:35:35 +0000 (20:35 +0800)]
hdmitx: clean up bad compare and dead code
PD#150071: hdmitx: driver defect clean up:
#2
#156
Change-Id: Icf9d9d0cd112344d9981ed33171b04f744930808
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
Signed-off-by: Yi Zhou <yi.zhou@amlogic.com>
Weiguang Ruan [Wed, 13 Sep 2017 05:53:32 +0000 (13:53 +0800)]
bt: compile hci_uart as module [3/4]
PD#150522: compile hci_uart as module
meson64_smarthome_defconfig:
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_QCA=y
1. realtek bt has its own hci_uart driver
so we need compile both hci_uart driver
as module
2. add hciuart_qca support, for we need qualcomm
bt for bluez later
Change-Id: Icffbb66623a5e28803a4f26bb3523f79cae91bc3
Signed-off-by: Weiguang Ruan <Weiguang.ruan@amlogic.com>
KeLe Bai [Thu, 7 Sep 2017 03:01:19 +0000 (11:01 +0800)]
di: clean up deadcode
PD#150463: driver defect clean up:
#69
Change-Id: If9604d390f5a77e2470d009058b2e77ce13f10e7
Signed-off-by: KeLe Bai <kele.bai@amlogic.com>
KeLe Bai [Wed, 6 Sep 2017 09:25:56 +0000 (17:25 +0800)]
di: clean up deadcode in flm
PD#150460: driver defect clean up
#57
Change-Id: I91f65ecadb8799971503fa26e1e58a557d54516e
Signed-off-by: KeLe Bai <kele.bai@amlogic.com>
KeLe Bai [Wed, 30 Aug 2017 06:57:38 +0000 (14:57 +0800)]
di: fix CHECK_RETURN error
PD#150096: di: fix CHECK_RETURN error add return check for reserved mem
driver defect clean up:
#34
Change-Id: I18c38121e3f7628e83cc3f385c142dfda96ff412
Signed-off-by: KeLe Bai <kele.bai@amlogic.com>
Long Yu [Fri, 1 Sep 2017 06:36:37 +0000 (14:36 +0800)]
emmc: buffer size setting mismatch
PD#150079: emmc: buffer size setting mismatch
1. change the tmp_table size from 16 to 20
driver defect clean up:
#15
#16
#17
Change-Id: Iebd919e760cd0ab975508a6a57e862ff5f683fc0
Signed-off-by: Long Yu <long.yu@amlogic.com>
Peipeng Zhao [Fri, 8 Sep 2017 11:31:28 +0000 (19:31 +0800)]
defconfig: add meson64_smarthome_defconfig for audio product
PD#150725: defconfig: add meson64_smarthome_defconfig for audio product
Change-Id: I92611e5c28b66e8d48f4cd6ce190979311b92773
Signed-off-by: Peipeng Zhao <peipeng.zhao@amlogic.com>
Jian Hu [Thu, 31 Aug 2017 02:18:22 +0000 (10:18 +0800)]
i2c: clean up bad shift and return check
PD#150077: driver defect clean up:
#8
#9
#10
#11
#12
#13
#24
Change-Id: I6bc36d30b761588a06a27957820d3ebc6aa5bf13
Signed-off-by: Jian Hu <jian.hu@amlogic.com>
Evoke Zhang [Wed, 6 Sep 2017 04:51:58 +0000 (12:51 +0800)]
vout: driver defect clean up
PD#150476: driver defect clean up:
#115
#597
#607
#609
#845
Change-Id: I92f0366ff00c8bd5e684db80c20000635256f612
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
Tao Zeng [Tue, 12 Sep 2017 08:39:40 +0000 (16:39 +0800)]
mm: forward memory reclaim process
PD#150206: mm: forward memory reclaim process
memory reclaim process is usually do when first allocate failed
from buddy. This will cause some process crash especially when
memory is low, because there is not enough time to do reclaim
process. This change try to wake up kswapd process to reclaim
memory if free memory is less than high water mark. After apply
this change, free memory is usually keeps high than high_water
mark.
Change-Id: I03b5b931b6ec1fe1345d6f5cf8c15150438a26d3
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
Evoke Zhang [Mon, 4 Sep 2017 07:49:24 +0000 (15:49 +0800)]
vpu: driver defect clean up
PD#150097: driver defect clean up:
#35
#39
#54
#55
#83
#94
#96
#102
#649
#690
#695
Change-Id: I1b9a9384100f4e39da246c5242de8e506671454d
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
Evoke Zhang [Wed, 6 Sep 2017 01:57:35 +0000 (09:57 +0800)]
lcd: driver defect clean up
PD#150465: driver defect clean up:
#71
#77
#109
#127
#411
#600
#602
#603
#604
#611
#612
Change-Id: I38ac5ed6583bd6e57df9f42eaab04d05ee4ed663
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
Evoke Zhang [Mon, 4 Sep 2017 09:45:05 +0000 (17:45 +0800)]
backlight: driver defect clean up
driver defect clean up:
#40
#41
#99
#100
#395
#396
#475
#614
#669
Change-Id: I581aaa8a1b950278bbf74d0c94aa647de89e07a9
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
Evoke Zhang [Mon, 4 Sep 2017 08:41:42 +0000 (16:41 +0800)]
lcd_extern: driver defect clean up
PD#150081: driver defect clean up:
#20
#38
#87
#468
#469
#470
#471
#613
#668
Change-Id: Ifa0756e25088599571761b33efaffb6c2c898dfc
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
Nian Jing [Fri, 1 Sep 2017 03:25:32 +0000 (11:25 +0800)]
cvbs: clean up bad shift, deadcode, mixed enums errors
PD#150075: driver defect clean up:
vdac_dev.c:
#5
#6
#876
tv_vout.c:
#181
#267
#311
#312
#313
#314
#315
#532
#605
Change-Id: I185072efb68df1abdad036a21867bb64efca914c
Signed-off-by: Nian Jing <nian.jing@amlogic.com>
Jiamin Ma [Tue, 12 Sep 2017 01:32:39 +0000 (09:32 +0800)]
cpufreq: change interactive default parameters
PD#138714: change interactive default parameters
Change-Id: I1813cda0f52755486a72efd85f79b0a4cc108514
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
Pengcheng Chen [Fri, 8 Sep 2017 06:56:05 +0000 (14:56 +0800)]
osd: move alloc buffer to osd_mmap for save memory in android
PD#148907: osd: move alloc buffer to osd_mmap for save memory in android
Change-Id: Id8f42a08dbca33468bd8cea016aa88fa71e282c8
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>
Shuai Li [Wed, 6 Sep 2017 11:37:57 +0000 (19:37 +0800)]
audio: optimize DDR fifo management
PD#150616: optimize audio DDR FIFO management driver.
Previously, we need to set DDR num and DDR IRQ number
in each audio devices.
This commit add one DDR manager which manipulate all
the ddr num and irq stuffs.
Make other audio driver easy to use it by simple interface.
Change-Id: Ie9688e651a4eff6fd4135811c50aa343e89580fe
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
Peipeng Zhao [Mon, 11 Sep 2017 02:10:42 +0000 (10:10 +0800)]
codec: fixed audio codec tlv320adc3101 input mode error
PD#150798: codec: fixed audio codec tlv320adc3101 input mode
add single end and differential input for S400&S420
Change-Id: I83086663b38e322425f6719247c89877504f22f5
Signed-off-by: Peipeng Zhao <peipeng.zhao@amlogic.com>
Yao.Liu [Thu, 7 Sep 2017 13:23:48 +0000 (21:23 +0800)]
vfm: fixed vfm bug on provider init
PD#149448: vfm: fixed vfm bug on provider init
if provider use_cnt init later,
some one may have on peek/get
use_cnt may become error.
Change-Id: Ic4e416ab4ec6e0590ee095cbd1a8b40990537980
Signed-off-by: Yao.Liu <yao.liu@amlogic.com>
Zhi Zhou [Fri, 21 Jul 2017 06:45:41 +0000 (14:45 +0800)]
media: merge some bugfix from 3.14
PD#146178: codec_mm: fixed scatter inc check bug
PD#148029: fixed codec_mm tvp aligned bug.
PD#148029 codec_mm: fixed 2 bugs [1/1]
fixed scatter memory check bug.
fixed codec_mm tvp alloc aligned bug.
PD#147242: amports: add protect for video keepr.
if not memory may free on keeping.
Change-Id: I7ebe0d3fb3caac3849dea558d91129123f8147ad
Signed-off-by: Zhi Zhou <zhi.zhou@amlogic.com>
Long Yu [Fri, 8 Sep 2017 02:26:34 +0000 (10:26 +0800)]
emmc: refixed RPMB operation process
PD149212: emmc: refixed RPMB operation process
Change-Id: Ifc845dc1009d2c28ee57a51fd45e43f12c28b7f6
Signed-off-by: Long Yu <long.yu@amlogic.com>
Nan Li [Wed, 6 Sep 2017 02:25:10 +0000 (10:25 +0800)]
emmc: pre-alloc cali blk_test memory to fix suspend/resume failed
PD#150194: modify suspend & resume fail.
1. fixed alloc blk_test memory on probe,
pre-allocated memory allows suspend/resume
without dynamic allocation.
2. do not flush cache while resume.
Change-Id: If4a310da82f053359f89599fd187ad51a24f16ba
Signed-off-by: Nan Li <nan.li@amlogic.com>
Yao.Liu [Thu, 7 Sep 2017 09:08:53 +0000 (17:08 +0800)]
dts: enlarge buffer size for omx & framebuffer
PD#150660: dts: enlarge buffer size for omx & framebuffer
Change-Id: Ib57e9ceef98df0c2f1b1f4785e5bcb916a8a35c0
Signed-off-by: Yao.Liu <yao.liu@amlogic.com>
Qi Duan [Thu, 7 Sep 2017 09:10:07 +0000 (17:10 +0800)]
USB: disable usb device interrupt when host mode
PD#150668: USB: disable usb device interrupt when host mode. [1/1]
Change-Id: I4888617a442e0271f238a52d3998301264d4af4a
Signed-off-by: Qi Duan <qi.duan@amlogic.com>
Evoke Zhang [Thu, 24 Aug 2017 08:38:22 +0000 (16:38 +0800)]
tvin: add bt656in and hdmirx_ext support
PD#149610: tvin: add bt656in & hdmirx_ext support
Change-Id: Ic4bde4b8d9c5a945f59023dd6cb961b736c83eb2
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
Tao Zeng [Wed, 6 Sep 2017 08:38:09 +0000 (16:38 +0800)]
mm: update cma policy and debug sysfs
PD#150194: mm: update cma policy and debug sysfs
1. For movable memory, using CMA first, this can help to avoid
low memory issue and driver can't allocate pages issue;
2. change /proc/slabinfo sysfs with total size print of each slab;
3. change /proc/pagetypeinfo with toatal pages of each migrate type;
4. add statistics for free pages of each migrate type, and show in
echo m > /proc/sysrq-trigger.
Change-Id: I2fdab73c2d1278cd025185362a1159e4f683166b
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
Weiguang Ruan [Thu, 31 Aug 2017 08:16:54 +0000 (16:16 +0800)]
wifi: add pci reinit and remove_reinit function [4/7]
PD#148564: add pci reinit and remove_reinit function
pci_reinit: power on/off then rescan pci device.
pci_remove_reinit: remove pci device first,
then power on/off, rescan pci device.
Change-Id: I03f3ceb7b526ce686b835eaacddbbd7f2ed2c384
Signed-off-by: Weiguang Ruan <Weiguang.ruan@amlogic.com>
Peifu Jiang [Tue, 4 Jul 2017 06:38:16 +0000 (14:38 +0800)]
reboot: add rpmbp reboot mode
PD#145456: Support RPMB shared secret provisioning [2/2]
[Problem]
RPMB requires a shared secret between host (AP) and device (eMMC flash)
in order to perform HMAC authentication.
[Solution]
This commit provides a special reboot mode, reboot rpmbp, to securely
provision the shared secret into eMMC flash device.
[Test]
Tested on GXL reference board P212. Passed.
Change-Id: I81dd482215d0f0232fe10efbc60b6af4ba2d9641
Signed-off-by: Peifu Jiang <peifu.jiang@amlogic.com>
Matthew Shyu [Wed, 21 Jun 2017 10:06:28 +0000 (18:06 +0800)]
crypto: crypto update for axg
PD#146628: crypto update for axg
1. KEY_IV now can only read 16 bytes a time
2. DES is completely disabled and TDES with three identical keys are
also disabled. This creates a potential hole in TDES driver, and
thus TDES support is removed from dts in axg
Change-Id: Iface9c52d494b8b5232e4f5915e0f85a959863a4
Signed-off-by: Matthew Shyu <matthew.shyu@amlogic.com>
Xindong Xu [Fri, 1 Sep 2017 06:24:07 +0000 (14:24 +0800)]
md: use dm-anroid-verity [3/4]
PD#150024: md: use dm-android-verity.c for android dm-verity
Change-Id: I44ee22afb38aeb8f7c5958a6974f6bc48c721dbc
Signed-off-by: Xindong Xu <xindong.xu@amlogic.com>
Xindong Xu [Mon, 28 Aug 2017 07:29:26 +0000 (15:29 +0800)]
dts: change a/b update partition table [3/3]
PD#150024 dts: change a/b update partition table
1. a/b update do not need recovery/cache
2. boot/system/vendor/odm need two slots: _a & _b
Change-Id: If74667eb4f7ebbd96a9ded3618d3d6b4c1fb8ae4
Signed-off-by: Xindong Xu <xindong.xu@amlogic.com>
Xindong Xu [Wed, 6 Sep 2017 01:38:04 +0000 (09:38 +0800)]
dts: p230: enlarge buffer size for omx & framebuffer [1/1]
PD#148907: enlarge buffer size for omx & framebuffer
Change-Id: I0c9725b1ce35ba1e330ca1b603e09d99a26e0a86
Signed-off-by: Xindong Xu <xindong.xu@amlogic.com>
Yao.Liu [Tue, 5 Sep 2017 09:05:37 +0000 (17:05 +0800)]
amlvideo: set omx output buffer size to compWidth*compHeight
PD#150218: amlvideo: set omx output buffer size to compWidth*compHeight
Change-Id: I69ff2e5defb8344cd4aec05582f4696faa0abe7f
Signed-off-by: Yao.Liu <yao.liu@amlogic.com>
Yueguie He [Mon, 4 Sep 2017 09:07:33 +0000 (17:07 +0800)]
mtd: nand : add slc ids
PD#150442: mtd: nand: add 128m FS33ND01GS108TFI0 nand
Change-Id: Ibda5d793825cef1a3c522cf42f277f74db3172f7
Signed-off-by: Yueguie He <yuegui.he@amlogic.com>
Nanxin Qin [Wed, 6 Sep 2017 03:10:03 +0000 (11:10 +0800)]
frame_sync: replace the magic number with msecs_to_jiffies.
PD#150542: replace the magic number with msecs_to_jiffies.
Change-Id: I071da655a9ea3edf496fca65dc67167145ccc167
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
Nanxin Qin [Mon, 4 Sep 2017 12:32:41 +0000 (20:32 +0800)]
video_sink: modify modules dir in the sysfs to compatible with kernel 3.14 [1/3]
PD#150498: modify modules dir in the sysfs to compatible with kernel 3.14
Change-Id: If34cb6a153a4e5b97537faad1da04a1afec3fe4b
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
Jiamin Ma [Wed, 6 Sep 2017 02:28:42 +0000 (10:28 +0800)]
scheduler: remove log info for cpu capacity updating
PD#138714: too much log info for cpu capacity updating
Change-Id: I14164903950afc2f29d7446d743ba0b0062edc19
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
Yueguie He [Tue, 5 Sep 2017 12:49:38 +0000 (20:49 +0800)]
nand: change boot partition size
PD#150531: nand: change boot partition size to 15M
Change-Id: I64e376b89908b882b6b70bfd370871bc540020f1
Signed-off-by: Yueguie He <yuegui.he@amlogic.com>
Nan Li [Tue, 5 Sep 2017 02:39:24 +0000 (10:39 +0800)]
sd: add sd_uart support
PD#149976: add sd to uart support
modify emmc init min clk freq to 400k.
Change-Id: I204d68668497a1a6a1f37f5e06d944a2687412ff
Signed-off-by: Nan Li <nan.li@amlogic.com>
Tao Zeng [Mon, 4 Sep 2017 03:07:03 +0000 (11:07 +0800)]
gcc: add options to limit large object and stack usage
PD#150373: gcc: add options to limit large object and stack usage
We should restrict limit large size of global object allocated in
driver code to reduce size of .data/.bss/.rodata sections. Also,
large array/many variables declared in a function is not allowed,
this behavior may cause kernel stack overflow especially in IRQ
context or recursion calls.
Right now we just set a very high limit in order to pass comiple.
Final target is to limit:
1. large global object size should not over 4096 bytes, a page size;
2. stack usage of each function should not over 256 bytes.
If your global object is larger than a page size, we advise allocate
it as a static pointer, and allocate it's memory during probe stage.
Change-Id: Ic14995f642bc1e0b47d3a07143468e6e1dac7bfc
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
sky zhou [Mon, 4 Sep 2017 14:54:14 +0000 (22:54 +0800)]
osd: init osd output pt value to 1, and fix osd buf hnd leak. [1/3]
PD#148907: fix osd output fence error and framebuffer hnd leak.
Change-Id: Ic5a412d41b808766d6d0e05edeb770b2b20bb4a6
Signed-off-by: sky zhou <sky.zhou@amlogic.com>
Weiguang Ruan [Wed, 30 Aug 2017 02:45:15 +0000 (10:45 +0800)]
wifi: add wext and wext_priv [5/8]
PD#150114: add wext and wext_priv
select WIRELESS_EXT WEXT_PRIV in
driver/amlogic/wifi/Kconfig
qualcomm wifi drivers need wext support
Change-Id: I1f85481013ba6c35b304eeb45d0c4917a67c67eb
Signed-off-by: Weiguang Ruan <Weiguang.ruan@amlogic.com>
Jiyu Yang [Fri, 1 Sep 2017 12:59:13 +0000 (20:59 +0800)]
osd: use new fence api. [3/7]
PD#149525: osd use new fence api
Change-Id: I3c7f0acf63012a12cdc9a3b4512db0d3bd4f8927
Signed-off-by: Jiyu Yang <Jiyu.Yang@amlogic.com>
Jiyu Yang [Fri, 1 Sep 2017 12:45:37 +0000 (20:45 +0800)]
sync: new fence api [2/7]
PD#149525: sync: new fence api
Change-Id: I3c957758a67fb6c0a0b3aa5031637b00d3d510e8
Signed-off-by: Jiyu Yang <Jiyu.Yang@amlogic.com>
Jiyu Yang [Tue, 22 Aug 2017 11:41:10 +0000 (19:41 +0800)]
Revert "android: port fence driver from kernel-4.4 "[1/7]
PD#149525: Revert "android: port fence driver from kernel-4.4
This reverts commit
22f718c442a2c91e6c92eb000f795dfe781721e9.
Change-Id: I0ad1ad31fe6624b11bb840bc13d64c9c5af5d651
Signed-off-by: Jiyu Yang <Jiyu.Yang@amlogic.com>
jintao xu [Thu, 31 Aug 2017 08:21:23 +0000 (16:21 +0800)]
ionvideo: omx support osd display
PD#150258: omx support osd display
Change-Id: I566e530e0ec2dc5e7eb73e33b90345552f6ae7fc
Signed-off-by: jintao xu <jintao.xu@amlogic.com>
Qi Duan [Fri, 1 Sep 2017 06:52:16 +0000 (14:52 +0800)]
USB: don't set softdisconnect when suspend
PD#148350: USB: don't set softdisconnect when suspend. [1/1]
Change-Id: I037d951f23c6d5c606af64f8c1b5550246256d79
Signed-off-by: Qi Duan <qi.duan@amlogic.com>
KeLe Bai [Fri, 1 Sep 2017 02:24:39 +0000 (10:24 +0800)]
di: support muti decode
PD#150173: di: merge muti decode from bug143269
Change-Id: I821171c93aa3a6a77a1309429a9c8a37e704b17b
Signed-off-by: KeLe Bai <kele.bai@amlogic.com>
Ao Xu [Fri, 1 Sep 2017 08:44:29 +0000 (16:44 +0800)]
defconfig: add config to solve AndroidO CTS&VTS fail
PD#149771: add config to solve AndroidO CTS&VTS fail
add the following configs:
1. CONFIG_ARMV8_DEPRECATED=y
CONFIG_SWP_EMULATION=y
CONFIG_CP15_BARRIER_EMULATION=y
CONFIG_SETEND_EMULATION=y
2. CONFIG_RANDOMIZE_BASE=y
3. CONFIG_PM_AUTOSLEEP=y
4. CONFIG_INET_DIAG_DESTROY=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_IP_NF_SECURITY=y
5. CONFIG_PPPOLAC=y
CONFIG_PPPOPNS=y
6. CONFIG_USB_CONFIGFS_F_PTP=y
CONFIG_USB_CONFIGFS_F_ACC=y
CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
CONFIG_USB_CONFIGFS_F_MIDI=y
7. CONFIG_QUOTA_NETLINK_INTERFACE=y
8. CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
CONFIG_HARDENED_USERCOPY=y
Change-Id: If0a9667682ed42790ed76addc9383dfdb62ff0c4
Signed-off-by: Ao Xu <ao.xu@amlogic.com>
Yueguie He [Thu, 31 Aug 2017 07:15:10 +0000 (15:15 +0800)]
dts: axg: sync dts config
PD#150185: dts: sync dts config
Change-Id: I3edcba36aefc1c487fcb8e31b4bdb23108b226cb
Signed-off-by: Yueguie He <yuegui.he@amlogic.com>
Zhi Zhou [Thu, 31 Aug 2017 03:03:59 +0000 (11:03 +0800)]
media: codec_mm: fixed scatter cache bug
PD#150197: codec_mm: fixed tvp first wait long time bug
Change-Id: Ide5532c0e331948a70bdc809fe232b06b4a7076d
Signed-off-by: Zhi Zhou <zhi.zhou@amlogic.com>
Xing Wang [Wed, 30 Aug 2017 16:00:35 +0000 (00:00 +0800)]
audio: fix loopback channel map
PD#149869: audio: fix tdmin_lb channel mask and swap for loopback
Change-Id: I1bf2dd42a2869ca2404b72e1f0e57a267f365e23
Signed-off-by: Xing Wang <xing.wang@amlogic.com>
Victor Wan [Thu, 31 Aug 2017 06:01:28 +0000 (14:01 +0800)]
Merge branch 'android-4.9' into amlogic-4.9-dev
Conflicts:
arch/arm/configs/s3c2410_defconfig
drivers/mmc/core/mmc.c
Signed-off-by: Victor Wan <victor.wan@amlogic.com>
Peipeng Zhao [Wed, 30 Aug 2017 09:32:43 +0000 (17:32 +0800)]
codec: fixed codec tlv320adc3101 driver clk error on 48K and 16K
PD#150168: fixed codec tlv320adc3101 record error on 48K and 16K
Change-Id: Ia672427de4c1a0e730eecdb00133d84640720785
Signed-off-by: Peipeng Zhao <peipeng.zhao@amlogic.com>
Greg Kroah-Hartman [Wed, 30 Aug 2017 13:24:10 +0000 (15:24 +0200)]
Merge 4.9.46 into android-4.9
Changes in 4.9.46
sparc64: remove unnecessary log message
af_key: do not use GFP_KERNEL in atomic contexts
dccp: purge write queue in dccp_destroy_sock()
dccp: defer ccid_hc_tx_delete() at dismantle time
ipv4: fix NULL dereference in free_fib_info_rcu()
net_sched/sfq: update hierarchical backlog when drop packet
net_sched: remove warning from qdisc_hash_add
bpf: fix bpf_trace_printk on 32 bit archs
openvswitch: fix skb_panic due to the incorrect actions attrlen
ptr_ring: use kmalloc_array()
ipv4: better IP_MAX_MTU enforcement
nfp: fix infinite loop on umapping cleanup
sctp: fully initialize the IPv6 address in sctp_v6_to_addr()
tipc: fix use-after-free
ipv6: reset fn->rr_ptr when replacing route
ipv6: repair fib6 tree in failure case
tcp: when rearming RTO, if RTO time is in past then fire RTO ASAP
net/mlx4_core: Enable 4K UAR if SRIOV module parameter is not enabled
irda: do not leak initialized list.dev to userspace
net: sched: fix NULL pointer dereference when action calls some targets
net_sched: fix order of queue length updates in qdisc_replace()
bpf, verifier: add additional patterns to evaluate_reg_imm_alu
bpf: adjust verifier heuristics
bpf, verifier: fix alu ops against map_value{, _adj} register types
bpf: fix mixed signed/unsigned derived min/max value bounds
bpf/verifier: fix min/max handling in BPF_SUB
Input: trackpoint - add new trackpoint firmware ID
Input: elan_i2c - add ELAN0602 ACPI ID to support Lenovo Yoga310
Input: ALPS - fix two-finger scroll breakage in right side on ALPS touchpad
KVM: s390: sthyi: fix sthyi inline assembly
KVM: s390: sthyi: fix specification exception detection
KVM: x86: block guest protection keys unless the host has them enabled
ALSA: usb-audio: Add delay quirk for H650e/Jabra 550a USB headsets
ALSA: core: Fix unexpected error at replacing user TLV
ALSA: hda - Add stereo mic quirk for Lenovo G50-70 (17aa:3978)
ALSA: firewire: fix NULL pointer dereference when releasing uninitialized data of iso-resource
ARCv2: PAE40: Explicitly set MSB counterpart of SLC region ops addresses
mm, shmem: fix handling /sys/kernel/mm/transparent_hugepage/shmem_enabled
i2c: designware: Fix system suspend
mm/madvise.c: fix freeing of locked page with MADV_FREE
fork: fix incorrect fput of ->exe_file causing use-after-free
mm/memblock.c: reversed logic in memblock_discard()
drm: Release driver tracking before making the object available again
drm/atomic: If the atomic check fails, return its value first
drm: rcar-du: Fix crash in encoder failure error path
drm: rcar-du: Fix display timing controller parameter
drm: rcar-du: Fix H/V sync signal polarity configuration
tracing: Call clear_boot_tracer() at lateinit_sync
tracing: Fix kmemleak in tracing_map_array_free()
tracing: Fix freeing of filter in create_filter() when set_str is false
kbuild: linker script do not match C names unless LD_DEAD_CODE_DATA_ELIMINATION is configured
cifs: Fix df output for users with quota limits
cifs: return ENAMETOOLONG for overlong names in cifs_open()/cifs_lookup()
nfsd: Limit end of page list when decoding NFSv4 WRITE
ftrace: Check for null ret_stack on profile function graph entry function
perf/core: Fix group {cpu,task} validation
perf probe: Fix --funcs to show correct symbols for offline module
perf/x86/intel/rapl: Make package handling more robust
timers: Fix excessive granularity of new timers after a nohz idle
x86/mm: Fix use-after-free of ldt_struct
net: sunrpc: svcsock: fix NULL-pointer exception
Revert "leds: handle suspend/resume in heartbeat trigger"
netfilter: nat: fix src map lookup
Bluetooth: hidp: fix possible might sleep error in hidp_session_thread
Bluetooth: cmtp: fix possible might sleep error in cmtp_session
Bluetooth: bnep: fix possible might sleep error in bnep_session
Revert "android: binder: Sanity check at binder ioctl"
binder: use group leader instead of open thread
binder: Use wake up hint for synchronous transactions.
ANDROID: binder: fix proc->tsk check.
iio: imu: adis16480: Fix acceleration scale factor for adis16480
iio: hid-sensor-trigger: Fix the race with user space powering up sensors
staging: rtl8188eu: add RNX-N150NUB support
Clarify (and fix) MAX_LFS_FILESIZE macros
ntb_transport: fix qp count bug
ntb_transport: fix bug calculating num_qps_mw
NTB: ntb_test: fix bug printing ntb_perf results
ntb: no sleep in ntb_async_tx_submit
ntb: ntb_test: ensure the link is up before trying to configure the mws
ntb: transport shouldn't disable link due to bogus values in SPADs
ACPI: ioapic: Clear on-stack resource before using it
ACPI / APEI: Add missing synchronize_rcu() on NOTIFY_SCI removal
ACPI: EC: Fix regression related to wrong ECDT initialization order
powerpc/mm: Ensure cpumask update is ordered
Linux 4.9.46
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Kaifu Hu [Wed, 30 Aug 2017 09:19:54 +0000 (17:19 +0800)]
hdmitx: fix 4k smpte no signal
PD#149239: hdmitx: fix 4k smpte no signal
when 4k smpte 444,10bit, div40 and scramble need be setted
Change-Id: Iadfc337519e1444c244b36086c3929d231bd80c4
Signed-off-by: Kaifu Hu <kaifu.hu@amlogic.com>
Greg Kroah-Hartman [Wed, 30 Aug 2017 08:24:43 +0000 (10:24 +0200)]
Linux 4.9.46
Benjamin Herrenschmidt [Mon, 24 Jul 2017 04:28:00 +0000 (14:28 +1000)]
powerpc/mm: Ensure cpumask update is ordered
commit
1a92a80ad386a1a6e3b36d576d52a1a456394b70 upstream.
There is no guarantee that the various isync's involved with
the context switch will order the update of the CPU mask with
the first TLB entry for the new context being loaded by the HW.
Be safe here and add a memory barrier to order any subsequent
load/store which may bring entries into the TLB.
The corresponding barrier on the other side already exists as
pte updates use pte_xchg() which uses __cmpxchg_u64 which has
a sync after the atomic operation.
Cc: stable@vger.kernel.org
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Add comments in the code]
[mpe: Backport to 4.12, minor context change]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Lv Zheng [Wed, 16 Aug 2017 07:29:49 +0000 (15:29 +0800)]
ACPI: EC: Fix regression related to wrong ECDT initialization order
commit
98529b9272e06a7767034fb8a32e43cdecda240a upstream.
Commit
2a5708409e4e (ACPI / EC: Fix a gap that ECDT EC cannot handle
EC events) introduced acpi_ec_ecdt_start(), but that function is
invoked before acpi_ec_query_init(), which is too early. This causes
the kernel to crash if an EC event occurs after boot, when ec_query_wq
is not valid:
BUG: unable to handle kernel NULL pointer dereference at
0000000000000102
...
Workqueue: events acpi_ec_event_handler
task:
ffff9f539790dac0 task.stack:
ffffb437c0e10000
RIP: 0010:__queue_work+0x32/0x430
Normally, the DSDT EC should always be valid, so acpi_ec_ecdt_start()
is actually a no-op in the majority of cases. However, commit
c712bb58d827 (ACPI / EC: Add support to skip boot stage DSDT probe)
caused the probing of the DSDT EC as the "boot EC" to be skipped when
the ECDT EC is valid and uncovered the bug.
Fix this issue by invoking acpi_ec_ecdt_start() after acpi_ec_query_init()
in acpi_ec_init().
Link: https://jira01.devtools.intel.com/browse/LCK-4348
Fixes:
2a5708409e4e (ACPI / EC: Fix a gap that ECDT EC cannot handle EC events)
Fixes:
c712bb58d827 (ACPI / EC: Add support to skip boot stage DSDT probe)
Reported-by: Wang Wendy <wendy.wang@intel.com>
Tested-by: Feng Chenzhou <chenzhoux.feng@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
[ rjw: Changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
James Morse [Thu, 16 Mar 2017 14:30:39 +0000 (14:30 +0000)]
ACPI / APEI: Add missing synchronize_rcu() on NOTIFY_SCI removal
commit
7d64f82cceb21e6d95db312d284f5f195e120154 upstream.
When removing a GHES device notified by SCI, list_del_rcu() is used,
ghes_remove() should call synchronize_rcu() before it goes on to call
kfree(ghes), otherwise concurrent RCU readers may still hold this list
entry after it has been freed.
Signed-off-by: James Morse <james.morse@arm.com>
Reviewed-by: "Huang, Ying" <ying.huang@intel.com>
Fixes:
81e88fdc432a (ACPI, APEI, Generic Hardware Error Source POLL/IRQ/NMI notification type support)
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Joerg Roedel [Wed, 22 Mar 2017 17:33:23 +0000 (18:33 +0100)]
ACPI: ioapic: Clear on-stack resource before using it
commit
e3d5092b6756b9e0b08f94bbeafcc7afe19f0996 upstream.
The on-stack resource-window 'win' in setup_res() is not
properly initialized. This causes the pointers in the
embedded 'struct resource' to contain stale addresses.
These pointers (in my case the ->child pointer) later get
propagated to the global iomem_resources list, causing a #GP
exception when the list is traversed in
iomem_map_sanity_check().
Fixes:
c183619b63ec (x86/irq, ACPI: Implement ACPI driver to support IOAPIC hotplug)
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dave Jiang [Fri, 28 Jul 2017 22:10:48 +0000 (15:10 -0700)]
ntb: transport shouldn't disable link due to bogus values in SPADs
commit
f3fd2afed8eee91620d05b69ab94c14793c849d7 upstream.
It seems that under certain scenarios the SPAD can have bogus values caused
by an agent (i.e. BIOS or other software) that is not the kernel driver, and
that causes memory window setup failure. This should not cause the link to
be disabled because if we do that, the driver will never recover again. We
have verified in testing that this issue happens and prevents proper link
recovery.
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Acked-by: Allen Hubbe <Allen.Hubbe@dell.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Fixes:
84f766855f61 ("ntb: stop link work when we do not have memory")
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Logan Gunthorpe [Tue, 25 Jul 2017 20:57:42 +0000 (14:57 -0600)]
ntb: ntb_test: ensure the link is up before trying to configure the mws
commit
0eb46345364d7318b11068c46e8a68d5dc10f65e upstream.
After the link tests, there is a race on one side of the test for
the link coming up. It's possible, in some cases, for the test script
to write to the 'peer_trans' files before the link has come up.
To fix this, we simply use the link event file to ensure both sides
see the link as up before continuning.
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Acked-by: Allen Hubbe <Allen.Hubbe@dell.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Fixes:
a9c59ef77458 ("ntb_test: Add a selftest script for the NTB subsystem")
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Allen Hubbe [Fri, 9 Jun 2017 22:06:36 +0000 (18:06 -0400)]
ntb: no sleep in ntb_async_tx_submit
commit
88931ec3dc11e7dbceb3b0df455693873b508fbe upstream.
Do not sleep in ntb_async_tx_submit, which could deadlock.
This reverts commit "
8c874cc140d667f84ae4642bb5b5e0d6396d2ca4"
Fixes:
8c874cc140d6 ("NTB: Address out of DMA descriptor issue with NTB")
Reported-by: Jia-Ju Bai <baijiaju1990@163.com>
Signed-off-by: Allen Hubbe <Allen.Hubbe@dell.com>
Acked-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Logan Gunthorpe [Mon, 5 Jun 2017 16:13:24 +0000 (10:13 -0600)]
NTB: ntb_test: fix bug printing ntb_perf results
commit
07b0b22b3e58824f70b9188d085d400069ca3240 upstream.
The code mistakenly prints the local perf results for the remote test
so the script reports identical results for both directions. Fix this
by ensuring we print the remote result.
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Fixes:
a9c59ef77458 ("ntb_test: Add a selftest script for the NTB subsystem")
Acked-by: Allen Hubbe <Allen.Hubbe@dell.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Logan Gunthorpe [Mon, 5 Jun 2017 20:00:53 +0000 (14:00 -0600)]
ntb_transport: fix bug calculating num_qps_mw
commit
8e8496e0e9564b66165f5219a4e8ed20b0d3fc6b upstream.
A divide by zero error occurs if qp_count is less than mw_count because
num_qps_mw is calculated to be zero. The calculation appears to be
incorrect.
The requirement is for num_qps_mw to be set to qp_count / mw_count
with any remainder divided among the earlier mws.
For example, if mw_count is 5 and qp_count is 12 then mws 0 and 1
will have 3 qps per window and mws 2 through 4 will have 2 qps per window.
Thus, when mw_num < qp_count % mw_count, num_qps_mw is 1 higher
than when mw_num >= qp_count.
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Fixes:
e26a5843f7f5 ("NTB: Split ntb_hw_intel and ntb_transport drivers")
Acked-by: Allen Hubbe <Allen.Hubbe@dell.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Logan Gunthorpe [Mon, 5 Jun 2017 20:00:52 +0000 (14:00 -0600)]
ntb_transport: fix qp count bug
commit
cb827ee6ccc3e480f0d9c0e8e53eef55be5b0414 upstream.
In cases where there are more mw's than spads/2-2, the mw count gets
reduced to match the limitation. ntb_transport also tries to ensure that
there are fewer qps than mws but uses the full mw count instead of
the reduced one. When this happens, the math in
'ntb_transport_setup_qp_mw' will get confused and result in a kernel
paging request bug.
This patch fixes the bug by reducing qp_count to the reduced mw count
instead of the full mw count.
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Fixes:
e26a5843f7f5 ("NTB: Split ntb_hw_intel and ntb_transport drivers")
Acked-by: Allen Hubbe <Allen.Hubbe@dell.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Linus Torvalds [Sun, 27 Aug 2017 19:12:25 +0000 (12:12 -0700)]
Clarify (and fix) MAX_LFS_FILESIZE macros
commit
0cc3b0ec23ce4c69e1e890ed2b8d2fa932b14aad upstream.
We have a MAX_LFS_FILESIZE macro that is meant to be filled in by
filesystems (and other IO targets) that know they are 64-bit clean and
don't have any 32-bit limits in their IO path.
It turns out that our 32-bit value for that limit was bogus. On 32-bit,
the VM layer is limited by the page cache to only 32-bit index values,
but our logic for that was confusing and actually wrong. We used to
define that value to
(((loff_t)PAGE_SIZE << (BITS_PER_LONG-1))-1)
which is actually odd in several ways: it limits the index to 31 bits,
and then it limits files so that they can't have data in that last byte
of a page that has the highest 31-bit index (ie page index 0x7fffffff).
Neither of those limitations make sense. The index is actually the full
32 bit unsigned value, and we can use that whole full page. So the
maximum size of the file would logically be "PAGE_SIZE << BITS_PER_LONG".
However, we do wan tto avoid the maximum index, because we have code
that iterates over the page indexes, and we don't want that code to
overflow. So the maximum size of a file on a 32-bit host should
actually be one page less than the full 32-bit index.
So the actual limit is ULONG_MAX << PAGE_SHIFT. That means that we will
not actually be using the page of that last index (ULONG_MAX), but we
can grow a file up to that limit.
The wrong value of MAX_LFS_FILESIZE actually caused problems for Doug
Nazar, who was still using a 32-bit host, but with a 9.7TB 2 x RAID5
volume. It turns out that our old MAX_LFS_FILESIZE was 8TiB (well, one
byte less), but the actual true VM limit is one page less than 16TiB.
This was invisible until commit
c2a9737f45e2 ("vfs,mm: fix a dead loop
in truncate_inode_pages_range()"), which started applying that
MAX_LFS_FILESIZE limit to block devices too.
NOTE! On 64-bit, the page index isn't a limiter at all, and the limit is
actually just the offset type itself (loff_t), which is signed. But for
clarity, on 64-bit, just use the maximum signed value, and don't make
people have to count the number of 'f' characters in the hex constant.
So just use LLONG_MAX for the 64-bit case. That was what the value had
been before too, just written out as a hex constant.
Fixes:
c2a9737f45e2 ("vfs,mm: fix a dead loop in truncate_inode_pages_range()")
Reported-and-tested-by: Doug Nazar <nazard@nazar.ca>
Cc: Andreas Dilger <adilger@dilger.ca>
Cc: Mark Fasheh <mfasheh@versity.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Dave Kleikamp <shaggy@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Charles Milette [Fri, 18 Aug 2017 20:30:34 +0000 (16:30 -0400)]
staging: rtl8188eu: add RNX-N150NUB support
commit
f299aec6ebd747298e35934cff7709c6b119ca52 upstream.
Add support for USB Device Rosewill RNX-N150NUB.
VendorID: 0x0bda, ProductID: 0xffef
Signed-off-by: Charles Milette <charles.milette@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Srinivas Pandruvada [Sat, 12 Aug 2017 16:09:21 +0000 (09:09 -0700)]
iio: hid-sensor-trigger: Fix the race with user space powering up sensors
commit
f1664eaacec31035450132c46ed2915fd2b2049a upstream.
It has been reported for a while that with iio-sensor-proxy service the
rotation only works after one suspend/resume cycle. This required a wait
in the systemd unit file to avoid race. I found a Yoga 900 where I could
reproduce this.
The problem scenerio is:
- During sensor driver init, enable run time PM and also set a
auto-suspend for 3 seconds.
This result in one runtime resume. But there is a check to avoid
a powerup in this sequence, but rpm is active
- User space iio-sensor-proxy tries to power up the sensor. Since rpm is
active it will simply return. But sensors were not actually
powered up in the prior sequence, so actaully the sensors will not work
- After 3 seconds the auto suspend kicks
If we add a wait in systemd service file to fire iio-sensor-proxy after
3 seconds, then now everything will work as the runtime resume will
actually powerup the sensor as this is a user request.
To avoid this:
- Remove the check to match user requested state, this will cause a
brief powerup, but if the iio-sensor-proxy starts immediately it will
still work as the sensors are ON.
- Also move the autosuspend delay to place when user requested turn off
of sensors, like after user finished raw read or buffer disable
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Tested-by: Bastien Nocera <hadess@hadess.net>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dragos Bogdan [Thu, 3 Aug 2017 22:37:27 +0000 (01:37 +0300)]
iio: imu: adis16480: Fix acceleration scale factor for adis16480
commit
fdd0d32eb95f135041236a6885d9006315aa9a1d upstream.
According to the datasheet, the range of the acceleration is [-10 g, + 10 g],
so the scale factor should be 10 instead of 5.
Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Martijn Coenen [Fri, 28 Jul 2017 11:56:08 +0000 (13:56 +0200)]
ANDROID: binder: fix proc->tsk check.
commit
b2a6d1b999a4c13e5997bb864694e77172d45250 upstream.
Commit
c4ea41ba195d ("binder: use group leader instead of open thread")'
was incomplete and didn't update a check in binder_mmap(), causing all
mmap() calls into the binder driver to fail.
Signed-off-by: Martijn Coenen <maco@android.com>
Tested-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Riley Andrews [Thu, 29 Jun 2017 19:01:37 +0000 (12:01 -0700)]
binder: Use wake up hint for synchronous transactions.
commit
00b40d613352c623aaae88a44e5ded7c912909d7 upstream.
Use wake_up_interruptible_sync() to hint to the scheduler binder
transactions are synchronous wakeups. Disable preemption while waking
to avoid ping-ponging on the binder lock.
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Omprakash Dhyade <odhyade@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Todd Kjos [Thu, 29 Jun 2017 19:01:36 +0000 (12:01 -0700)]
binder: use group leader instead of open thread
commit
c4ea41ba195d01c9af66fb28711a16cc97caa9c5 upstream.
The binder allocator assumes that the thread that
called binder_open will never die for the lifetime of
that proc. That thread is normally the group_leader,
however it may not be. Use the group_leader instead
of current.
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Todd Kjos [Wed, 5 Jul 2017 20:46:01 +0000 (13:46 -0700)]
Revert "android: binder: Sanity check at binder ioctl"
commit
a2b18708ee14baec4ef9c0fba96070bba14d0081 upstream.
This reverts commit
a906d6931f3ccaf7de805643190765ddd7378e27.
The patch introduced a race in the binder driver. An attempt to fix the
race was submitted in "[PATCH v2] android: binder: fix dangling pointer
comparison", however the conclusion in the discussion for that patch
was that the original patch should be reverted.
The reversion is being done as part of the fine-grained locking
patchset since the patch would need to be refactored when
proc->vmm_vm_mm is removed from struct binder_proc and added
in the binder allocator.
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jeffy Chen [Tue, 27 Jun 2017 09:34:42 +0000 (17:34 +0800)]
Bluetooth: bnep: fix possible might sleep error in bnep_session
commit
25717382c1dd0ddced2059053e3ca5088665f7a5 upstream.
It looks like bnep_session has same pattern as the issue reported in
old rfcomm:
while (1) {
set_current_state(TASK_INTERRUPTIBLE);
if (condition)
break;
// may call might_sleep here
schedule();
}
__set_current_state(TASK_RUNNING);
Which fixed at:
dfb2fae Bluetooth: Fix nested sleeps
So let's fix it at the same way, also follow the suggestion of:
https://lwn.net/Articles/628628/
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Reviewed-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: AL Yu-Chen Cho <acho@suse.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Cc: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jeffy Chen [Tue, 27 Jun 2017 09:34:43 +0000 (17:34 +0800)]
Bluetooth: cmtp: fix possible might sleep error in cmtp_session
commit
f06d977309d09253c744e54e75c5295ecc52b7b4 upstream.
It looks like cmtp_session has same pattern as the issue reported in
old rfcomm:
while (1) {
set_current_state(TASK_INTERRUPTIBLE);
if (condition)
break;
// may call might_sleep here
schedule();
}
__set_current_state(TASK_RUNNING);
Which fixed at:
dfb2fae Bluetooth: Fix nested sleeps
So let's fix it at the same way, also follow the suggestion of:
https://lwn.net/Articles/628628/
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Reviewed-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: AL Yu-Chen Cho <acho@suse.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Cc: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jeffy Chen [Tue, 27 Jun 2017 09:34:44 +0000 (17:34 +0800)]
Bluetooth: hidp: fix possible might sleep error in hidp_session_thread
commit
5da8e47d849d3d37b14129f038782a095b9ad049 upstream.
It looks like hidp_session_thread has same pattern as the issue reported in
old rfcomm:
while (1) {
set_current_state(TASK_INTERRUPTIBLE);
if (condition)
break;
// may call might_sleep here
schedule();
}
__set_current_state(TASK_RUNNING);
Which fixed at:
dfb2fae Bluetooth: Fix nested sleeps
So let's fix it at the same way, also follow the suggestion of:
https://lwn.net/Articles/628628/
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Tested-by: AL Yu-Chen Cho <acho@suse.com>
Tested-by: Rohit Vaswani <rvaswani@nvidia.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Cc: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Florian Westphal [Fri, 7 Jul 2017 11:07:17 +0000 (13:07 +0200)]
netfilter: nat: fix src map lookup
commit
97772bcd56efa21d9d8976db6f205574ea602f51 upstream.
When doing initial conversion to rhashtable I replaced the bucket
walk with a single rhashtable_lookup_fast().
When moving to rhlist I failed to properly walk the list of identical
tuples, but that is what is needed for this to work correctly.
The table contains the original tuples, so the reply tuples are all
distinct.
We currently decide that mapping is (not) in range only based on the
first entry, but in case its not we need to try the reply tuple of the
next entry until we either find an in-range mapping or we checked
all the entries.
This bug makes nat core attempt collision resolution while it might be
able to use the mapping as-is.
Fixes:
870190a9ec90 ("netfilter: nat: convert nat bysrc hash to rhashtable")
Reported-by: Jaco Kroon <jaco@uls.co.za>
Tested-by: Jaco Kroon <jaco@uls.co.za>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Zhang Bo [Tue, 13 Jun 2017 02:39:20 +0000 (10:39 +0800)]
Revert "leds: handle suspend/resume in heartbeat trigger"
commit
436c4c45b5b9562b59cedbb51b7343ab4a6dd8cc upstream.
This reverts commit
5ab92a7cb82c66bf30685583a38a18538e3807db.
System cannot enter suspend mode because of heartbeat led trigger.
In autosleep_wq, try_to_suspend function will try to enter suspend
mode in specific period. it will get wakeup_count then call pm_notifier
chain callback function and freeze processes.
Heartbeat_pm_notifier is called and it call led_trigger_unregister to
change the trigger of led device to none. It will send uevent message
and the wakeup source count changed. As wakeup_count changed, suspend
will abort.
Fixes:
5ab92a7cb82c ("leds: handle suspend/resume in heartbeat trigger")
Signed-off-by: Zhang Bo <bo.zhang@nxp.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Vadim Lomovtsev [Mon, 21 Aug 2017 11:23:07 +0000 (07:23 -0400)]
net: sunrpc: svcsock: fix NULL-pointer exception
commit
eebe53e87f97975ee58a21693e44797608bf679c upstream.
While running nfs/connectathon tests kernel NULL-pointer exception
has been observed due to races in svcsock.c.
Race is appear when kernel accepts connection by kernel_accept
(which creates new socket) and start queuing ingress packets
to new socket. This happens in ksoftirq context which could run
concurrently on a different core while new socket setup is not done yet.
The fix is to re-order socket user data init sequence and add
write/read barrier calls to be sure that we got proper values
for callback pointers before actually calling them.
Test results: nfs/connectathon reports '0' failed tests for about 200+ iterations.
Crash log:
---<-snip->---
[ 6708.638984] Unable to handle kernel NULL pointer dereference at virtual address
00000000
[ 6708.647093] pgd =
ffff0000094e0000
[ 6708.650497] [
00000000] *pgd=
0000010ffff90003, *pud=
0000010ffff90003, *pmd=
0000010ffff80003, *pte=
0000000000000000
[ 6708.660761] Internal error: Oops:
86000005 [#1] SMP
[ 6708.665630] Modules linked in: nfsv3 nfnetlink_queue nfnetlink_log nfnetlink rpcsec_gss_krb5 nfsv4 dns_resolver nfs fscache overlay xt_CONNSECMARK xt_SECMARK xt_conntrack iptable_security ip_tables ah4 xfrm4_mode_transport sctp tun binfmt_misc ext4 jbd2 mbcache loop tcp_diag udp_diag inet_diag rpcrdma ib_isert iscsi_target_mod ib_iser rdma_cm iw_cm libiscsi scsi_transport_iscsi ib_srpt target_core_mod ib_srp scsi_transport_srp ib_ipoib ib_ucm ib_uverbs ib_umad ib_cm ib_core nls_koi8_u nls_cp932 ts_kmp nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack vfat fat ghash_ce sha2_ce sha1_ce cavium_rng_vf i2c_thunderx sg thunderx_edac i2c_smbus edac_core cavium_rng nfsd auth_rpcgss nfs_acl lockd grace sunrpc xfs libcrc32c nicvf nicpf ast i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops
[ 6708.736446] ttm drm i2c_core thunder_bgx thunder_xcv mdio_thunder mdio_cavium dm_mirror dm_region_hash dm_log dm_mod [last unloaded: stap_3c300909c5b3f46dcacd49aab3334af_87021]
[ 6708.752275] CPU: 84 PID: 0 Comm: swapper/84 Tainted: G W OE 4.11.0-4.el7.aarch64 #1
[ 6708.760787] Hardware name: www.cavium.com CRB-2S/CRB-2S, BIOS 0.3 Mar 13 2017
[ 6708.767910] task:
ffff810006842e80 task.stack:
ffff81000689c000
[ 6708.773822] PC is at 0x0
[ 6708.776739] LR is at svc_data_ready+0x38/0x88 [sunrpc]
[ 6708.781866] pc : [<
0000000000000000>] lr : [<
ffff0000029d7378>] pstate:
60000145
[ 6708.789248] sp :
ffff810ffbad3900
[ 6708.792551] x29:
ffff810ffbad3900 x28:
ffff000008c73d58
[ 6708.797853] x27:
0000000000000000 x26:
ffff81000bbe1e00
[ 6708.803156] x25:
0000000000000020 x24:
ffff800f7410bf28
[ 6708.808458] x23:
ffff000008c63000 x22:
ffff000008c63000
[ 6708.813760] x21:
ffff800f7410bf28 x20:
ffff81000bbe1e00
[ 6708.819063] x19:
ffff810012412400 x18:
00000000d82a9df2
[ 6708.824365] x17:
0000000000000000 x16:
0000000000000000
[ 6708.829667] x15:
0000000000000000 x14:
0000000000000001
[ 6708.834969] x13:
0000000000000000 x12:
722e736f622e676e
[ 6708.840271] x11:
00000000f814dd99 x10:
0000000000000000
[ 6708.845573] x9 :
7374687225000000 x8 :
0000000000000000
[ 6708.850875] x7 :
0000000000000000 x6 :
0000000000000000
[ 6708.856177] x5 :
0000000000000028 x4 :
0000000000000000
[ 6708.861479] x3 :
0000000000000000 x2 :
00000000e5000000
[ 6708.866781] x1 :
0000000000000000 x0 :
ffff81000bbe1e00
[ 6708.872084]
[ 6708.873565] Process swapper/84 (pid: 0, stack limit = 0xffff81000689c000)
[ 6708.880341] Stack: (0xffff810ffbad3900 to 0xffff8100068a0000)
[ 6708.886075] Call trace:
[ 6708.888513] Exception stack(0xffff810ffbad3710 to 0xffff810ffbad3840)
[ 6708.894942] 3700:
ffff810012412400 0001000000000000
[ 6708.902759] 3720:
ffff810ffbad3900 0000000000000000 0000000060000145 ffff800f79300000
[ 6708.910577] 3740:
ffff000009274d00 00000000000003ea 0000000000000015 ffff000008c63000
[ 6708.918395] 3760:
ffff810ffbad3830 ffff800f79300000 000000000000004d 0000000000000000
[ 6708.926212] 3780:
ffff810ffbad3890 ffff0000080f88dc ffff800f79300000 000000000000004d
[ 6708.934030] 37a0:
ffff800f7930093c ffff000008c63000 0000000000000000 0000000000000140
[ 6708.941848] 37c0:
ffff000008c2c000 0000000000040b00 ffff81000bbe1e00 0000000000000000
[ 6708.949665] 37e0:
00000000e5000000 0000000000000000 0000000000000000 0000000000000028
[ 6708.957483] 3800:
0000000000000000 0000000000000000 0000000000000000 7374687225000000
[ 6708.965300] 3820:
0000000000000000 00000000f814dd99 722e736f622e676e 0000000000000000
[ 6708.973117] [< (null)>] (null)
[ 6708.977824] [<
ffff0000086f9fa4>] tcp_data_queue+0x754/0xc5c
[ 6708.983386] [<
ffff0000086fa64c>] tcp_rcv_established+0x1a0/0x67c
[ 6708.989384] [<
ffff000008704120>] tcp_v4_do_rcv+0x15c/0x22c
[ 6708.994858] [<
ffff000008707418>] tcp_v4_rcv+0xaf0/0xb58
[ 6709.000077] [<
ffff0000086df784>] ip_local_deliver_finish+0x10c/0x254
[ 6709.006419] [<
ffff0000086dfea4>] ip_local_deliver+0xf0/0xfc
[ 6709.011980] [<
ffff0000086dfad4>] ip_rcv_finish+0x208/0x3a4
[ 6709.017454] [<
ffff0000086e018c>] ip_rcv+0x2dc/0x3c8
[ 6709.022328] [<
ffff000008692fc8>] __netif_receive_skb_core+0x2f8/0xa0c
[ 6709.028758] [<
ffff000008696068>] __netif_receive_skb+0x38/0x84
[ 6709.034580] [<
ffff00000869611c>] netif_receive_skb_internal+0x68/0xdc
[ 6709.041010] [<
ffff000008696bc0>] napi_gro_receive+0xcc/0x1a8
[ 6709.046690] [<
ffff0000014b0fc4>] nicvf_cq_intr_handler+0x59c/0x730 [nicvf]
[ 6709.053559] [<
ffff0000014b1380>] nicvf_poll+0x38/0xb8 [nicvf]
[ 6709.059295] [<
ffff000008697a6c>] net_rx_action+0x2f8/0x464
[ 6709.064771] [<
ffff000008081824>] __do_softirq+0x11c/0x308
[ 6709.070164] [<
ffff0000080d14e4>] irq_exit+0x12c/0x174
[ 6709.075206] [<
ffff00000813101c>] __handle_domain_irq+0x78/0xc4
[ 6709.081027] [<
ffff000008081608>] gic_handle_irq+0x94/0x190
[ 6709.086501] Exception stack(0xffff81000689fdf0 to 0xffff81000689ff20)
[ 6709.092929] fde0:
0000810ff2ec0000 ffff000008c10000
[ 6709.100747] fe00:
ffff000008c70ef4 0000000000000001 0000000000000000 ffff810ffbad9b18
[ 6709.108565] fe20:
ffff810ffbad9c70 ffff8100169d3800 ffff810006843ab0 ffff81000689fe80
[ 6709.116382] fe40:
0000000000000bd0 0000ffffdf979cd0 183f5913da192500 0000ffff8a254ce4
[ 6709.124200] fe60:
0000ffff8a254b78 0000aaab10339808 0000000000000000 0000ffff8a0c2a50
[ 6709.132018] fe80:
0000ffffdf979b10 ffff000008d6d450 ffff000008c10000 ffff000008d6d000
[ 6709.139836] fea0:
0000000000000054 ffff000008cd3dbc 0000000000000000 0000000000000000
[ 6709.147653] fec0:
0000000000000000 0000000000000000 0000000000000000 ffff81000689ff20
[ 6709.155471] fee0:
ffff000008085240 ffff81000689ff20 ffff000008085244 0000000060000145
[ 6709.163289] ff00:
ffff81000689ff10 ffff00000813f1e4 ffffffffffffffff ffff00000813f238
[ 6709.171107] [<
ffff000008082eb4>] el1_irq+0xb4/0x140
[ 6709.175976] [<
ffff000008085244>] arch_cpu_idle+0x44/0x11c
[ 6709.181368] [<
ffff0000087bf3b8>] default_idle_call+0x20/0x30
[ 6709.187020] [<
ffff000008116d50>] do_idle+0x158/0x1e4
[ 6709.191973] [<
ffff000008116ff4>] cpu_startup_entry+0x2c/0x30
[ 6709.197624] [<
ffff00000808e7cc>] secondary_start_kernel+0x13c/0x160
[ 6709.203878] [<
0000000001bc71c4>] 0x1bc71c4
[ 6709.207967] Code: bad PC value
[ 6709.211061] SMP: stopping secondary CPUs
[ 6709.218830] Starting crashdump kernel...
[ 6709.222749] Bye!
---<-snip>---
Signed-off-by: Vadim Lomovtsev <vlomovts@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>