summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-09-25staging: fsl-dpaa2/eth: move generic FD defines to DPIOHoria Geantă
Previous commits: 6e2387e8f19e ("staging: fsl-dpaa2/eth: Add Freescale DPAA2 Ethernet driver") 39163c0ce0f4 ("staging: fsl-dpaa2/eth: Errors checking update") have added bits that are not specific to the WRIOP accelerator. Move these where they belong (in DPIO) such that other accelerators can make use of them. While here, fix the values of FD_CTRL_FSE and FD_CTRL_FAERR, which were shifted off by one bit. Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
2017-09-25crypto: caam/qi2 - fix gfp allocation flags (part II)Horia Geantă
Decide whether to use GFP_ATOMIC / GFP_KERNEL solely based on MAY_SLEEP flag, i.e. remove MAY_BACKLOG flag from the equation. Fixes: 4aef966f7e8a ("crypto: caam/qi2 - add ablkcipher algorithms") Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
2017-09-25crypto: caam/qi2 - fix gfp allocation flags (part I)Horia Geantă
Decide whether to use GFP_ATOMIC / GFP_KERNEL solely based on MAY_SLEEP flag, i.e. remove MAY_BACKLOG flag from the equation. Fixes: 6220d7624b1d ("crypto: caam/qi2 - add DPAA2-CAAM driver") Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
2017-09-25crypto: caam/qi2 - fix fd_flt_dma dma unmapping directionHoria Geantă
Direction for fd_flt_dma dma unmapping must be identical with the direction used for mapping, i.e. DMA_BIDIRECTIONAL. Fixes: 6220d7624b1d ("crypto: caam/qi2 - add DPAA2-CAAM driver") Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
2017-09-25crypto: caam/qi2 - fix caam_exit_common() signatureHoria Geantă
Fix caam_exit_common function signature - it gets a pointer to a caam_ctx struct, not to a tfm. Fixes: 6220d7624b1d ("crypto: caam/qi2 - add DPAA2-CAAM driver") Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
2017-09-25crypto: tcrypt - remove AES-XTS-192 speed testsHoria Geantă
Remove xts(aes) speed tests with 2 x 192-bit keys, since implementations adhering strictly to IEEE 1619-2007 standard cannot cope with key sizes other than 2 x 128, 2 x 256 bits - i.e. AES-XTS-{128,256}: [...] tcrypt: test 5 (384 bit key, 16 byte blocks): caam_jr 8020000.jr: key size mismatch tcrypt: setkey() failed flags=200000 [...] Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit b66ad0b7aa92e62dc65b56f28cfeb93dbeb82f43)
2017-09-25crypto: caam/qi2 - DPAA2-CAAM driver up-revHoria Geantă
Update existing DPAA2-CAAM driver with the latest version submitted in upstream: https://patchwork.kernel.org/patch/9894411 https://patchwork.kernel.org/patch/9894415 https://patchwork.kernel.org/patch/9894413 https://patchwork.kernel.org/patch/9894423 https://patchwork.kernel.org/patch/9894421 Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
2017-09-25crypto: caam - fix incorrect defineRadu Alexe
Fixes: 3ebfa92f49a6 ("crypto: caam - Add new macros for building extended SEC descriptors (> 64 words)") Signed-off-by: Radu Alexe <radu.alexe@nxp.com> Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
2017-09-25crypto: caam - Remove unused dentry membersFabio Estevam
Most of the dentry members from structure caam_drv_private are never used at all, so it is safe to remove them. Since debugfs_remove_recursive() is called, we don't need the file entries. Signed-off-by: Fabio Estevam <festevam@gmail.com> Acked-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit a92f7af3854ce6b80a4cd7e3df6148663f15671b)
2017-09-25crypto: caam - free qman_fq after kill_fqXulin Sun
kill_fq removes a complete frame queue, it needs to free the qman_fq in the last. Else kmemleak will report the below warning: unreferenced object 0xffff800073085c80 (size 128): comm "cryptomgr_test", pid 199, jiffies 4294937850 (age 67.840s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 a0 80 7e 00 00 80 ff ff 00 00 00 00 00 00 00 00 04 00 04 00 5c 01 00 00 backtrace: [<ffff8000001e5760>] create_object+0xf8/0x258 [<ffff800000994e38>] kmemleak_alloc+0x58/0xa0 [<ffff8000001d5f18>] kmem_cache_alloc_trace+0x2c8/0x358 [<ffff8000007e8410>] create_caam_req_fq+0x40/0x170 [<ffff8000007e870c>] caam_drv_ctx_update+0x54/0x248 [<ffff8000007fca54>] aead_setkey+0x154/0x300 [<ffff800000452120>] setkey+0x50/0xf0 [<ffff80000045b144>] __test_aead+0x5ec/0x1028 [<ffff80000045c28c>] test_aead+0x44/0xc8 [<ffff80000045c368>] alg_test_aead+0x58/0xd0 [<ffff80000045bdb4>] alg_test+0x14c/0x308 [<ffff8000004588e8>] cryptomgr_test+0x50/0x58 [<ffff8000000c3b2c>] kthread+0xdc/0xf0 [<ffff800000083c00>] ret_from_fork+0x10/0x50 And check where the function kill_fq() is called to remove the additional kfree to qman_fq and avoid re-calling the released qman_fq. Signed-off-by: Xulin Sun <xulin.sun@windriver.com> Acked-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit 430f13389bdafa6fd9ce2999fed01dca8a5d79ae) Backported to NXP SDK kernel 4.9. Signed-by: Horia Geantă <horia.geanta@nxp.com>
2017-09-25crypto: caam - clean-up in caam_init_rng()Horia Geantă
Clean up the code, as indicated by Coccinelle. Cc: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit f366af462aef1dcaeab0f68b031e5c4c4eb860e1)
2017-09-25crypto: caam - remove unused variables in caam_drv_privateTudor Ambarus
Signed-off-by: Tudor Ambarus <tudor-dan.ambarus@nxp.com> Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit 60a3f737badb0951dd27e93d24cb967dcc1fb855)
2017-09-25crypto: caam - remove unused sg_to_sec4_sg_len()Horia Geantă
sg_to_sec4_sg_len() is no longer used since commit 479bcc7c5b9e ("crypto: caam - Convert authenc to new AEAD interface") Its functionality has been superseded by the usage of sg_nents_for_len() returning the number of S/G entries corresponding to the provided length. Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit bcde1f78cab6741073c32edeecec96e4183d381b) Fixed conflicts. Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
2017-09-25crypto: caam/qi - lower driver verbosityHoria Geantă
Change log level for some prints from dev_info() to dev_dbg(), low-level details are needed only when debugging. Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit c7a91eb80b75513c67c0e0b347ac9e9605944341)
2017-09-25crypto: caam/qi - handle large number of S/Gs caseHoria Geantă
For more than 16 S/G entries, driver currently corrupts memory on ARMv8, see below KASAN log. Note: this does not reproduce on PowerPC due to different (smaller) cache line size - 64 bytes on PPC vs. 128 bytes on ARMv8. One such use case is one of the cbc(aes) test vectors - with 8 S/G entries and src != dst. Driver needs 1 (IV) + 2 x 8 = 17 entries, which goes over the 16 S/G entries limit: (CAAM_QI_MEMCACHE_SIZE - offsetof(struct ablkcipher_edesc, sgt)) / sizeof(struct qm_sg_entry) = 256 / 16 = 16 S/Gs Fix this by: -increasing object size in caamqicache pool from 512 to 768; this means the maximum number of S/G entries grows from (at least) 16 to 32 (again, for ARMv8 case of 128-byte cache line) -add checks in the driver to fail gracefully (ENOMEM) in case the 32 S/G entries limit is exceeded ================================================================== BUG: KASAN: slab-out-of-bounds in ablkcipher_edesc_alloc+0x4ec/0xf60 Write of size 1 at addr ffff800021cb6003 by task cryptomgr_test/1394 CPU: 3 PID: 1394 Comm: cryptomgr_test Not tainted 4.12.0-rc7-next-20170703-00023-g72badbcc1ea7-dirty #26 Hardware name: LS1046A RDB Board (DT) Call trace: [<ffff20000808ac6c>] dump_backtrace+0x0/0x290 [<ffff20000808b014>] show_stack+0x14/0x1c [<ffff200008d62c00>] dump_stack+0xa4/0xc8 [<ffff200008264e40>] print_address_description+0x110/0x26c [<ffff200008265224>] kasan_report+0x1d0/0x2fc [<ffff2000082637b8>] __asan_store1+0x4c/0x54 [<ffff200008b4884c>] ablkcipher_edesc_alloc+0x4ec/0xf60 [<ffff200008b49304>] ablkcipher_encrypt+0x44/0xcc [<ffff20000848a61c>] skcipher_encrypt_ablkcipher+0x120/0x138 [<ffff200008495014>] __test_skcipher+0xaec/0xe30 [<ffff200008497088>] test_skcipher+0x6c/0xd8 [<ffff200008497154>] alg_test_skcipher+0x60/0xe4 [<ffff2000084974c4>] alg_test.part.13+0x130/0x304 [<ffff2000084976d4>] alg_test+0x3c/0x68 [<ffff2000084938ac>] cryptomgr_test+0x54/0x5c [<ffff20000810276c>] kthread+0x188/0x1c8 [<ffff2000080836c0>] ret_from_fork+0x10/0x50 Allocated by task 1394: save_stack_trace_tsk+0x0/0x1ac save_stack_trace+0x18/0x20 kasan_kmalloc.part.5+0x48/0x110 kasan_kmalloc+0x84/0xa0 kasan_slab_alloc+0x14/0x1c kmem_cache_alloc+0x124/0x1e8 qi_cache_alloc+0x28/0x58 ablkcipher_edesc_alloc+0x244/0xf60 ablkcipher_encrypt+0x44/0xcc skcipher_encrypt_ablkcipher+0x120/0x138 __test_skcipher+0xaec/0xe30 test_skcipher+0x6c/0xd8 alg_test_skcipher+0x60/0xe4 alg_test.part.13+0x130/0x304 alg_test+0x3c/0x68 cryptomgr_test+0x54/0x5c kthread+0x188/0x1c8 ret_from_fork+0x10/0x50 Freed by task 0: (stack is not available) The buggy address belongs to the object at ffff800021cb5e00 which belongs to the cache caamqicache of size 512 The buggy address is located 3 bytes to the right of 512-byte region [ffff800021cb5e00, ffff800021cb6000) The buggy address belongs to the page: page:ffff7e0000872d00 count:1 mapcount:0 mapping: (null) index:0x0 compound_mapcount: 0 flags: 0xfffc00000008100(slab|head) raw: 0fffc00000008100 0000000000000000 0000000000000000 0000000180190019 raw: dead000000000100 dead000000000200 ffff800931268200 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff800021cb5f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff800021cb5f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff800021cb6000: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ^ ffff800021cb6080: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff800021cb6100: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ================================================================== Fixes: b189817cf789 ("crypto: caam/qi - add ablkcipher and authenc algorithms") Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit eb9ba37dc15a6e6b6140eb6d62785ba99b7179d7)
2017-09-25crypto: caam/qi - properly set IV after {en,de}cryptHoria Geantă
caam/qi needs a fix similar to what was done for caam/jr in commit "crypto: caam/qi - properly set IV after {en,de}crypt", to allow for ablkcipher/skcipher chunking/streaming. Cc: <stable@vger.kernel.org> Fixes: b189817cf789 ("crypto: caam/qi - add ablkcipher and authenc algorithms") Suggested-by: David Gstir <david@sigma-star.at> Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit a68a193805224d90bedd94e9e8ac287600f07b78)
2017-09-25crypto: caam - properly set IV after {en,de}cryptDavid Gstir
Certain cipher modes like CTS expect the IV (req->info) of ablkcipher_request (or equivalently req->iv of skcipher_request) to contain the last ciphertext block when the {en,de}crypt operation is done. This is currently not the case for the CAAM driver which in turn breaks e.g. cts(cbc(aes)) when the CAAM driver is enabled. This patch fixes the CAAM driver to properly set the IV after the {en,de}crypt operation of ablkcipher finishes. This issue was revealed by the changes in the SW CTS mode in commit 0605c41cc53ca ("crypto: cts - Convert to skcipher") Cc: <stable@vger.kernel.org> # 4.8+ Signed-off-by: David Gstir <david@sigma-star.at> Reviewed-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit 854b06f768794cd664886ec3ba3a5b1c58d42167)
2017-09-25crypto: caam/qi - fix typo in authenc alg driver nameHoria Geantă
s/desi/des for echainiv(authenc(hmac(sha256),cbc(des))) alg. Cc: <stable@vger.kernel.org> Fixes: b189817cf7894 ("crypto: caam/qi - add ablkcipher and authenc algorithms") Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit 84ea95436b83884fa55780618ffaf4bbe3312166)
2017-09-25crypto: caam - fix gfp allocation flags (part II)Horia Geantă
This is the 2nd part of fixing the usage of GFP_KERNEL for memory allocations, taking care off all the places that haven't caused a real problem / failure. Again, the issue being fixed is that GFP_KERNEL should be used only when MAY_SLEEP flag is set, i.e. MAY_BACKLOG flag usage is orthogonal. Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit 019d62db54017f4639fd7d4f6592f5a116a16695)
2017-09-25crypto: caam - fix gfp allocation flags (part I)Horia Geantă
Changes in the SW cts (ciphertext stealing) code in commit 0605c41cc53ca ("crypto: cts - Convert to skcipher") revealed a problem in the CAAM driver: when cts(cbc(aes)) is executed and cts runs in SW, cbc(aes) is offloaded in CAAM; cts encrypts the last block in atomic context and CAAM incorrectly decides to use GFP_KERNEL for memory allocation. Fix this by allowing GFP_KERNEL (sleeping) only when MAY_SLEEP flag is set, i.e. remove MAY_BACKLOG flag. We split the fix in two parts - first is sent to -stable, while the second is not (since there is no known failure case). Link: http://lkml.kernel.org/g/20170602122446.2427-1-david@sigma-star.at Cc: <stable@vger.kernel.org> # 4.8+ Reported-by: David Gstir <david@sigma-star.at> Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit 42cfcafb91dabb0f9d9e08396c39824535948c67)
2017-09-25crypto: caam - make of_device_ids const.Arvind Yadav
of_device_ids are not supposed to change at runtime. All functions working with of_device_ids provided by <linux/of.h> work with const of_device_ids. So mark the non-const structs as const. File size before: text data bss dec hex filename 2376 808 128 3312 cf0 drivers/crypto/caam/jr.o File size after constify caam_jr_match: text data bss dec hex filename 2976 192 128 3296 ce0 drivers/crypto/caam/jr.o Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit 52a33d99882291808681af8582358ddca5b0d0bc)
2017-09-25crypto: caam - fix error return code in caam_qi_init()Wei Yongjun
Fix to return error code -ENOMEM from the kmem_cache_create() error handling case instead of 0(err is 0 here), as done elsewhere in this function. Fixes: 67c2315def06 ("crypto: caam - add Queue Interface (QI) backend support") Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Acked-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit 7e207d8550644c1076ceb070f40abf52701253ec)
2017-09-25crypto: caam - use dma_map_sg() return codeHoria Geantă
dma_map_sg() might coalesce S/G entries, so use the number of S/G entries returned by it instead of what sg_nents_for_len() initially returns. Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> (cherry picked from commit 838e0a89e33a6e15492b8e4d700fc64c21ca3587)
2017-09-25sdk_dpaa: ls1043a errata: maintain timestamp infoCamelia Groza
When creating a new skb for the errata workaround, maintain the socket and timestamp configurations for timestamp hardware offloading. Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
2017-09-25arm64: dts: update the cpu idle nodeYuantian Tang
According to PSCI standard v0.2, for CPU_SUSPEND call, which is used by cpu idle framework, bit[16] of state parameter must be 0. So update bit[16] of property 'arm,psci-suspend-param', which is used as state parameter, to 0. Signed-off-by: Tang Yuantian <andy.tang@nxp.com>
2017-09-25arm: configs: enable CONFIG_IP_MULTICAST in lsdk.configYangbo Lu
1588 stack requires multicast communication. It's proper to enable CONFIG_IP_MULTICAST in default. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2017-09-25dts: ls1043aqds: add #address-cells = <1> and #size-cells to fpga nodeZhao Qiang
Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
2017-09-25drm/fsl-dcu: Fix the interrupt issue in suspend/resume functionsAlison Wang
drm_atomic_helper_suspend()/drm_atomic_helper_resume() are used in suspend/resume functions. Interrupt can not be disabled when calling drm_atomic_helper_resume(). Or else vblank interrupt will not generate and the error about vblank wait timed out will occur. This patch will enable interrupt before calling drm_atomic_helper_resume(). The patch is verified on LS1021ATWR board. Signed-off-by: Alison Wang <alison.wang@nxp.com>
2017-09-25drm/fsl-dcu: Fix DCU pixel clock issue in suspend/resume functionsAlison Wang
As there is not corresponding clk_prepare_enable() for fsl_dev->pix_clk in previous contexts, clk_disable_unprepare() for fsl_dcu->pix_clk in suspend function will fail. This patch will add clk_prepare_enable() for fsl_dev->pix_clk in previous contexts and resume function to fix the issue. This patch is verified on LS1021ATWR board. Signed-off-by: Alison Wang <alison.wang@nxp.com>
2017-09-25i2c: imx: allow i2c devices share an interruptZhang Ying-22455
Allow the I2C device on the same bus can’t claim irq. Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
2017-09-25mtd: spi-nor: fsl-quadspi: workaround for TKT253890Suresh Gupta
TKT253890, Controller needs driver to fill txfifo till 16 byte to trigger data transfer even though extern data will not transferred. Signed-off-by: Suresh Gupta <suresh.gupta@nxp.com>
2017-09-25ARM: dts: ls1021a: Add quirk for Erratum A009116Rajesh Bhagat
Add "snps,quirk-frame-length-adjustment" property to USB3 node for erratum A009116. This property provides value of GFLADJ_30MHZ for post silicon frame length adjustment. Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com> Signed-off-by: Rajesh Bhagat <rajesh.bhagat@freescale.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-09-25usb: dwc3: Add frame length adjustment quirkNikhil Badola
Add adjust_frame_length_quirk for writing to fladj register which adjusts (micro)frame length to value provided by "snps,quirk-frame-length-adjustment" property thus avoiding USB 2.0 devices to time-out over a longer run Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
2017-09-25USB: fix problems with duplicate filename '/bus/platform/devices/fsl-ehci.0'yinbo.zhu
call trace: ------------[ cut here ]------------ WARNING: CPU: 1 PID: 1 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x68/0x78 sysfs: cannot create duplicate filename '/bus/platform/devices/fsl-ehci.0' Modules linked in: CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.11.0-rc6-next-20170411-00342-g415fab02 #30 Hardware name: Freescale LS1021A (unwind_backtrace) from [<c040b91c>] (show_stack+0x10/0x14) [<c040b91c>] (show_stack) from [<c070aa84>] (dump_stack+0x98/0xac) [<c070aa84>] (dump_stack) from [<c04440bc>] (__warn+0xec/0x104) [<c04440bc>] (__warn) from [<c044410c>] (warn_slowpath_fmt+0x38/0x48) [<c044410c>] (warn_slowpath_fmt) from [<c05c0d10>] (sysfs_warn_dup+0x68/0x78) [<c05c0d10>] (sysfs_warn_dup) from [<c05c0fc0>] (sysfs_do_create_link_sd+0xb4/0xc4) [<c05c0fc0>] (sysfs_do_create_link_sd) from [<c096aa1c>] (bus_add_device+0xf4/0x18c) [<c096aa1c>] (bus_add_device) from [<c0968eb4>] (device_add+0x38c/0x574) [<c0968eb4>] (device_add) from [<c096d09c>] (platform_device_add+0xb8/0x220) [<c096d09c>] (platform_device_add) from [<c0c503c4>] (fsl_usb2_mph_dr_of_probe+0x420/0x61c) [<c0c503c4>] (fsl_usb2_mph_dr_of_probe) from [<c096d384>] (platform_drv_probe+0x4c/0xb0) [<c096d384>] (platform_drv_probe) from [<c096b7c0>] (driver_probe_device+0x238/0x2d8) [<c096b7c0>] (driver_probe_device) from [<c0969bfc>] (bus_for_each_drv+0x60/0x94) [<c0969bfc>] (bus_for_each_drv) from [<c096b4a8>] (__device_attach+0xb0/0x114) [<c096b4a8>] (__device_attach) from [<c096ab38>] (bus_probe_device+0x84/0x8c) [<c096ab38>] (bus_probe_device) from [<c0968f14>] (device_add+0x3ec/0x574) [<c0968f14>] (device_add) from [<c096d09c>] (platform_device_add+0xb8/0x220) [<c096d09c>] (platform_device_add) from [<c0c503c4>] (fsl_usb2_mph_dr_of_probe+0x420/0x61c) [<c0c503c4>] (fsl_usb2_mph_dr_of_probe) from [<c096d384>] (platform_drv_probe+0x4c/0xb0) [<c096d384>] (platform_drv_probe) from [<c096b7c0>] (driver_probe_device+0x238/0x2d8) [<c096b7c0>] (driver_probe_device) from [<c096b90c>] (__driver_attach+0xac/0xb0) [<c096b90c>] (__driver_attach) from [<c0969b54>] (bus_for_each_dev+0x68/0x9c) [<c0969b54>] (bus_for_each_dev) from [<c096ade8>] (bus_add_driver+0x1a4/0x21c) [<c096ade8>] (bus_add_driver) from [<c096c3e4>] (driver_register+0x78/0xf8) [<c096c3e4>] (driver_register) from [<c0401e30>] (do_one_initcall+0x40/0x168) [<c0401e30>] (do_one_initcall) from [<c1600df8>] (kernel_init_freeable+0x164/0x200) [<c1600df8>] (kernel_init_freeable) from [<c0eace38>] (kernel_init+0x8/0x110) [<c0eace38>] (kernel_init) from [<c0407ca8>] (ret_from_fork+0x14/0x2c) ---[ end trace 7198de059d5332e9 ]--- fsl-usb2-mph-dr fsl-ehci.0: Can't register usb device fsl-usb2-mph-dr: probe of fsl-ehci.0 failed with error -17 platform fsl-ehci.1: failed to claim resource 0: [mem 0x08600000-0x08600fff] OF: ERROR: Bad of_node_put() on /soc/usb@8600000 CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 4.11.0-rc6-next-20170411-00342-g415fab02 #30 Hardware name: Freescale LS1021A [<c041084c>] (unwind_backtrace) from [<c040b91c>] (show_stack+0x10/0x14) [<c040b91c>] (show_stack) from [<c070aa84>] (dump_stack+0x98/0xac) [<c070aa84>] (dump_stack) from [<c070c074>] (kobject_put+0x74/0xd0) [<c070c074>] (kobject_put) from [<c096ceac>] (platform_device_release+0x10/0x3c) [<c096ceac>] (platform_device_release) from [<c0966b88>] (device_release+0x2c/0x90) [<c0966b88>] (device_release) from [<c070c074>] (kobject_put+0x74/0xd0) [<c070c074>] (kobject_put) from [<c0c50340>] (fsl_usb2_mph_dr_of_probe+0x39c/0x61c) [<c0c50340>] (fsl_usb2_mph_dr_of_probe) from [<c096d384>] (platform_drv_probe+0x4c/0xb0) [<c096d384>] (platform_drv_probe) from [<c096b7c0>] (driver_probe_device+0x238/0x2d8) [<c096b7c0>] (driver_probe_device) from [<c096b90c>] (__driver_attach+0xac/0xb0) [<c096b90c>] (__driver_attach) from [<c0969b54>] (bus_for_each_dev+0x68/0x9c) [<c0969b54>] (bus_for_each_dev) from [<c096ade8>] (bus_add_driver+0x1a4/0x21c) [<c096ade8>] (bus_add_driver) from [<c096c3e4>] (driver_register+0x78/0xf8) [<c096c3e4>] (driver_register) from [<c0401e30>] (do_one_initcall+0x40/0x168) [<c0401e30>] (do_one_initcall) from [<c1600df8>] (kernel_init_freeable+0x164/0x200) [<c1600df8>] (kernel_init_freeable) from [<c0eace38>] (kernel_init+0x8/0x110) [<c0eace38>] (kernel_init) from [<c0407ca8>] (ret_from_fork+0x14/0x2c) fsl-usb2-mph-dr fsl-ehci.0: Can't register usb device fsl-usb2-mph-dr: probe of fsl-ehci.0 failed with error -16 usbcore: registered new interface driver usb-storage Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
2017-09-25crypto: caam/qi - use QBMan (NXP) SDK driverHoria Geantă
caam/qi has been backported to kernel v4.4, however the same is not true for the Queue & Buffer Manager driver, i.e. the SDK version of it is used instead of a backport of its upstream version. Update caam/qi to work with QBMan from NXP SDK. Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
2017-09-25sdk_dpaa: update the xmit timestamp to avoid watchdog timeoutsCamelia Groza
[core-linux part] Update txq0's trans_start in order to prevent the netdev watchdog from triggering too quickly. Since we set the LLTX flag, the stack won't update the jiffies for other tx queues. Prevent the watchdog from checking the other tx queues by adding the NETIF_HW_ACCEL_MQ flag. Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
2017-09-25sdk_dpaa: update the xmit timestamp to avoid watchdog timeoutsCamelia Groza
[dpaa part] Update txq0's trans_start in order to prevent the netdev watchdog from triggering too quickly. Since we set the LLTX flag, the stack won't update the jiffies for other tx queues. Prevent the watchdog from checking the other tx queues by adding the NETIF_HW_ACCEL_MQ flag. Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
2017-09-25dpaa_eth: ls1043a errata: check if the skb is linear after 4k splittingCamelia Groza
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
2017-09-25sdk_dpaa: ls1043a errata: fix arm32 buildCamelia Groza
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
2017-09-25sdk_dpaa: ls1043a errata: do not recycle the realigned buffersCamelia Groza
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
2017-09-25sdk_dpaa: ls1043a errata: verify and resize headroom alignmentCamelia Groza
If the skb's headroom isn't aligned to 16 bytes, reallocate the entire skb and resize its headroom to priv->tx_headroom. Update the pointers to the network and transport headers accordingly. Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
2017-09-25sdk_dpaa: ls1043a errata: realign skb in place if neededCamelia Groza
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
2017-09-25sdk_dpaa: ls1043a errata: realign and linearize egress skbsCamelia Groza
Allocate a new page and copy the skb's contents to it in order to guarantee that 4k boundary crossings do not occur. Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
2017-09-25sdk_dpaa: ls1043a errata: resplit the skb after copyCamelia Groza
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
2017-09-25gianfar: Fix Tx flow control deactivationClaudiu Manoil
The wrong register is checked for the Tx flow control bit, it should have been maccfg1 not maccfg2. This went unnoticed for so long probably because the impact is hardly visible, not to mention the tangled code from adjust_link(). First, link flow control (i.e. handling of Rx/Tx link level pause frames) is disabled by default (needs to be enabled via 'ethtool -A'). Secondly, maccfg2 always returns 0 for tx_flow_oldval (except for a few old boards), which results in Tx flow control remaining always on once activated. Fixes: 45b679c9a3ccd9e34f28e6ec677b812a860eb8eb ("gianfar: Implement PAUSE frame generation support") Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from commit 5d621672bc1a1e5090c1ac5432a18c79e0e13e03)
2017-09-25net: phy: aquantia: add PHY ID of AQR106 and AQR107Shaohui Xie
The AQR106 and AQR107 can use the existing driver. Signed-off-by: Shaohui Xie <Shaohui.Xie@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-09-25iommu/mediatek: Fix M4Uv1 group refcountingRobin Murphy
For each subsequent device assigned to the m4u_group after its initial allocation, we need to take an additional reference. Otherwise, the caller of iommu_group_get_for_dev() will inadvertently remove the reference taken by iommu_group_add_device(), and the group will be freed prematurely if any device is removed. Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
2017-09-25iommu/mediatek: Fix M4Uv2 group refcountingRobin Murphy
For each subsequent device assigned to the m4u_group after its initial allocation, we need to take an additional reference. Otherwise, the caller of iommu_group_get_for_dev() will inadvertently remove the reference taken by iommu_group_add_device(), and the group will be freed prematurely if any device is removed. Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
2017-09-25iommu/amd: Fix group refcountingRobin Murphy
If acpihid_device_group() finds an existing group for the relevant devid, it should be taking an additional reference on that group. Otherwise, the caller of iommu_group_get_for_dev() will inadvertently remove the reference taken by iommu_group_add_device(), and the group will be freed prematurely if any device is removed. Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
2017-09-25iommu/arm-smmu: Fix group refcountingRobin Murphy
When arm_smmu_device_group() finds an existing group due to Stream ID aliasing, it should be taking an additional reference on that group. Otherwise, the caller of iommu_group_get_for_dev() will inadvertently remove the reference taken by iommu_group_add_device(), and the group will be freed prematurely if any device is removed. Reported-by: Sricharan R <sricharan@codeaurora.org> Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>