Age | Commit message (Collapse) | Author |
|
As per Apps this patch/erratum is not required.
|
|
We can not allow for Jumbo frames and large MTU values on LS1043A due to
the A-010022 FMan errata. All outgoing frames larger than 4K bytes are dropped.
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
|
|
TBDR is 4 bytes aligned buffer and to fill that, reading
always 4 bytes from above layer, might exceed the
boundary of above layer buffer and generate crash.
patch resolve the crash of type
"Unable to handle kernel paging request at virtual address **"
Signed-off-by: Rajat Srivastava <rajat.srivastava@nxp.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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)
|
|
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>
|
|
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>
|
|
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)
|
|
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>
|
|
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)
|
|
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)
|
|
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>
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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>
|
|
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>
|
|
1588 stack requires multicast communication. It's proper
to enable CONFIG_IP_MULTICAST in default.
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
|
Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
|
|
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>
|
|
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>
|
|
Allow the I2C device on the same bus can’t claim irq.
Signed-off-by: Zhang Ying-22455 <ying.zhang22455@nxp.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
[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>
|
|
[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>
|
|
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
|
|
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
|
|
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
|
|
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>
|
|
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
|
|
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>
|
|
Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
|
|
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)
|
|
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>
|