Age | Commit message (Collapse) | Author |
|
Commit e2929e1e0ab910995090ce0714beab75618db694 "powerpc/e6500: Make
TLB lock recursive" introduced a bug whereby cpu 0 uses the same value
for "lock held" as is used to indicate that the lock is free. This
means that cpu 1 can acquire the lock whenever it wants, regardless of
whether cpu 0 has it locked, which in turn means we can get duplicate
TLB entries.
Add one to the CPU value to ensure we do not use zero as a "lock held"
value.
Signed-off-by: Scott Wood <scottwood@freescale.com>
Change-Id: I8c8013adc2e153f19d780a3b202c993054feb47f
Reviewed-on: http://git.am.freescale.net:8181/12823
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Mihai Claudiu Caraman <mihai.caraman@freescale.com>
Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
|
|
For QMan version 3.1.2 the DCE Channel number is different.
QMan contains a cfg revision number which is a direct correlation.
Add this attribute and fix up the dce channel number based on qman revision info.
Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com>
Change-Id: I0ff79ec01f741fb71caf0a9d4f0a9f3760d64f15
Reviewed-on: http://git.am.freescale.net:8181/12851
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Haiying Wang <Haiying.Wang@freescale.com>
Reviewed-by: Geoff Thorpe <Geoff.Thorpe@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
T1042 will trigger an Machine Check Exception when clearing the EPU
registers in resume process. The cause is that the sequence of clearing
the EPU registers is critical to make things right, especiallly
for T1042.
Therefore, follow the exact sequence in RM to clear the EPU registers.
Change-Id: Icec8b3fd37b0e122801c19eede81592000abb5f5
Signed-off-by: Chenhui Zhao <chenhui.zhao@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/12784
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Dongsheng Wang <dongsheng.wang@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Interrupt mode for t1040RDB is working. Enable it to
avoid redundant poling mode.
Signed-off-by: Haijun Zhang <Haijun.Zhang@freescale.com>
Change-Id: I686faa7c763758815f7c6146670ab4061a76a63d
Reviewed-on: http://git.am.freescale.net:8181/12830
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
This reverts commit a2b468f094846bca51c49c28c071accb46a18daa.
Change-Id: If862fe836cf057ec254aab4c45c2091071cfd996
Reviewed-on: http://git.am.freescale.net:8181/12827
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
|
|
This reverts commit c9b7e8bcef1fb9476e4198c66bc066d1a22acb24.
Horia is right - this issue must be fixed in userspace to avoid inter-kernel version compatibility (e.g., this now makes the SDK kernel not able to run IPSec SHA2 with any other kernel). If the tools you are using don't support it, either use a tool that does, or fix the tool itself.
Change-Id: I48db232b1e55bc5bd9957667b88fe27e66114546
Reviewed-on: http://git.am.freescale.net:8181/12825
Reviewed-by: Scott Wood <scottwood@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
|
|
As per RFC 4868,the ICV length of SHA2 should be 128 bits.
Signed-off-by: Biao Cao <B32719@freescale.com>
Signed-off-by: Ganga Negi <ganga.negi@freescale.com>
Change-Id: I54ee3eef1c6c9b3c5abe678a24126ddc46082397
Reviewed-on: http://git.am.freescale.net:8181/12814
Reviewed-by: Hemant Agrawal <hemant@freescale.com>
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
The IPSec general statistics were displayed incorrectly on B4 and T
platforms because in kernel compatibility mode (32bit user space apps
combined with 64bit kernel) the DPA_IPSEC_IOC_GET_STATS message
processing was not updated with the support for multiple IPSec
instances.
Signed-off-by: Marian Chereji <marian.chereji@freescale.com>
Change-Id: I694324154ee70b9f54bdf941dfe78aa42f77823b
Reviewed-on: http://git.am.freescale.net:8181/12781
Reviewed-by: Ioana Tibuleac <ioana.tibuleac@freescale.com>
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
By default we enable CONFIG_RTC_DRV_DS1307 to support
DS1339 RTC on some boards.
Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Change-Id: Ic0370434e00ff4616b2ea563a0e3e8b99efa649a
Reviewed-on: http://git.am.freescale.net:8181/12665
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
- fix i2c nodes for pca9546, adt7481, rtc ds1339, eeprom.
- remove incorrect sst25wf040 device node, only one Micron
n25q512a on t2080rdb.
Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Change-Id: I4c0d6a549e5f7164ec14cb2e59468ca14df19317
Reviewed-on: http://git.am.freescale.net:8181/12663
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Add support for EON en25s64 spi device.
Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Change-Id: Ia16f275a272c0fa338d7c22d1b3bc95897c7ba28
Reviewed-on: http://git.am.freescale.net:8181/12664
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
- update SPI nodes to support 3 SPI devices: Micron n25q128a11,
SST sst25wf040 and EON en25s64.
- remove unnecessary spi partition nodes, which is replaced by mtdparts.
Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Change-Id: I20cf48f886507d5c31859d8a2e3491f4489bb518
Reviewed-on: http://git.am.freescale.net:8181/12662
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
TDM can either use an external (on-board) oscillator or use
platform clock as source. On the boards which do not have an
external clock enable TDM to use internal clock.
Signed-off-by: Sandeep Singh <sandeep@freescale.com>
Change-Id: Ic07aa8c419bb2fa4f61db17195638acf4914df0a
Reviewed-on: http://git.am.freescale.net:8181/12415
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
The tty atomic_write_lock does not provide an exclusion guarantee for
the tty driver if the termios settings are LECHO & !OPOST. And since
it is unexpected and not allowed to call TTY buffer helpers like
tty_insert_flip_string concurrently, this may lead to crashes when
concurrect writers call pty_write. In that case the following two
writers:
* the ECHOing from a workqueue and
* pty_write from the process
race and can overflow the corresponding TTY buffer like follows.
If we look into tty_insert_flip_string_fixed_flag, there is:
int space = __tty_buffer_request_room(port, goal, flags);
struct tty_buffer *tb = port->buf.tail;
...
memcpy(char_buf_ptr(tb, tb->used), chars, space);
...
tb->used += space;
so the race of the two can result in something like this:
A B
__tty_buffer_request_room
__tty_buffer_request_room
memcpy(buf(tb->used), ...)
tb->used += space;
memcpy(buf(tb->used), ...) ->BOOM
B's memcpy is past the tty_buffer due to the previous A's tb->used
increment.
Since the N_TTY line discipline input processing can output
concurrently with a tty write, obtain the N_TTY ldisc output_lock to
serialize echo output with normal tty writes. This ensures the tty
buffer helper tty_insert_flip_string is not called concurrently and
everything is fine.
Note that this is nicely reproducible by an ordinary user using
forkpty and some setup around that (raw termios + ECHO). And it is
present in kernels at least after commit
d945cb9cce20ac7143c2de8d88b187f62db99bdc (pty: Rework the pty layer to
use the normal buffering logic) in 2.6.31-rc3.
js: add more info to the commit log
js: switch to bool
js: lock unconditionally
js: lock only the tty->ops->write call
References: CVE-2014-0196
Reported-and-tested-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 4291086b1f081b869c6d79e5b7441633dc3ace00)
Signed-off-by: Scott Wood <scottwood@freescale.com>
Change-Id: Ia026d31182516be7ff8e70017422a3522cfeb425
Reviewed-on: http://git.am.freescale.net:8181/12529
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Yusong Sun <yorksun@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
The DPAA jumbo frames optimizations do not depend anymore on the FMan
dynamic resource allocation algorithm and are available on all
platforms.
Signed-off-by: Cristian Bercaru <cristian.bercaru@freescale.com>
Change-Id: Ia270d0aeba9801d67fa401bae4215ab1f25040fe
Reviewed-on: http://git.am.freescale.net:8181/12501
Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com>
Reviewed-by: Madalin-Cristian Bucur <madalin.bucur@freescale.com>
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Add following affected SOCs and their variants
P1010 rev2.0
B4860 rev1.0 rev2.0 rev2.1 rev2.2
T2080 rev1.0
T2081 rev1.0
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Change-Id: I954877e5b878abf63667b0215aa41a8a3a93eddf
Reviewed-on: http://git.am.freescale.net:8181/12743
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
12*NSEC_PER_SEC will overflow on 32-bit OS. Besides, The transition latency
is "12 internal platform clocks", rounding errors might lead to a result that
it is shorter than 12 platform clocks which is not we expected.
Signed-off-by: Zhang Zhuoyu <Zhuoyu.Zhang@freescale.com>
Change-Id: Ic8627f70abb70e964abdec0a5b4d86aa15833a7d
Reviewed-on: http://git.am.freescale.net:8181/12555
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Yuantian Tang <yuantian.tang@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
The operation of adding the newly allocated node in alloc->used list
must be protected by the alloc->lock.
Change-Id: I8f80006b59102dd4563f36d0d196afe3c5307489
Signed-off-by: Horia Geanta <horia.geanta@freescale.com>
Tested-by: Mircea Pop <mircea.pop@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/12525
Reviewed-by: Alexandru Porosanu <alexandru.porosanu@freescale.com>
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Previously TID was being cleared before the tlbsx, but not after. This
can lead to a multiway hit between a TLB entry with TID=0 (previously
inserted when PID=0) and a TLB entry with TID!=0 that matches PID.
This can theoretically result in undefined behavior, though we probably
get lucky due to the details of the overlap. It also results in the
inability to use multihit detection to detect other conflicting TLB
entries, as well as poorer TLB utilization due to duplicating kernel
TLB entries.
Rather than try to patch up MAS1 after tlbsx, the entire value is
saved/restored as with MAS2.
I observed a slight improvement in TLB miss performance with this patch
applied.
Signed-off-by: Scott Wood <scottwood@freescale.com>
Reported-by: Ed Swarthout <ed.swarthout@freescale.com>
Change-Id: Ia756411e110c245781357a3b1985fade648d791a
Reviewed-on: http://git.am.freescale.net:8181/12509
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Edward L Swarthout <ed.swarthout@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
A ioport setting was needed when used the QE uart function on TWR-P1025.
Added a conditional definition to avoid missing this setting when the
QE-uart driver was bulit to a module.
Signed-off-by: Xie Xiaobo <X.Xie@freescale.com>
Change-Id: I95b40c760335ce5fa7a27a94287dbef28219b5fa
Reviewed-on: http://git.am.freescale.net:8181/6643
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Yang Li <LeoLi@freescale.com>
Reviewed-by: Thomas Trefny <Tom.Trefny@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/12045
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
With this patch, the option FMAN_DISABLE_OH_TO_REUSE_RESOURCES is not
availeble anymore because it depends on
FMAN_RESOURCE_ALLOCATION_ALGORITHM, which no longer exists.
Signed-off-by: Cristian Bercaru <cristian.bercaru@freescale.com>
Change-Id: I67a1e45f8b8b11c9b191cae0d8c9b56bdc912876
Reviewed-on: http://git.am.freescale.net:8181/12502
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Mandy Lavi <Mandy.Lavi@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
49KB can accomodate buffers for 2x1G + 1xOH + 1xOP
Change-Id: Ib2da4bb8e9d393f207bb756cf1b5a3ab1e75cdd2
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/12499
Reviewed-by: Nir Erez <nir.erez@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Erratum A-008007 states that PVR register value is unreliable for
e5500 cores (Major revision 1.0, Minor revision 2.0) which are
present in T1040 Rev1.0 SoC.
This workaround implementation
-adds a new config option 'CONFIG_FSL_ERRATUM_A_008007' in t1040
specific defconfig files. This config option is used to make
sure that changes does not impact non-T1040 platforms.
-replaces mfspr(x) macro defintion to check if above erratum is
defined and if x is same as SPRN_PVR, then return static value
else call mfspr instruction.
-Similarly replaces mfpvr() calls
TODO:
1.Use some cleaner approach like reading SVR rgeister or parse
device tree to check if T1040 Rev1.0 Si instead of using config option.
2.This patch only replaces current accesses of PVR register but
does not restrict any new code which tries to read this.
A mechanism needs to be implemented to restrict this.
Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Change-Id: Ib5f17dec01ca0d98c5f506b1be23dfe06a541015
Reviewed-on: http://git.am.freescale.net:8181/12350
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
142KB can accomodate buffers for 5x1G + 1xOH + 1xOP
5*0x6400+0xa00+0x3200=140KB
Change-Id: I37d7a1713101796cf3ab942ad4981d0070df4a98
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/12473
Reviewed-by: Jianhua Xie <jianhua.xie@freescale.com>
Reviewed-by: Nir Erez <nir.erez@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Change-Id: Ided02763bb84061238a52d00bc3976a6681c5bfc
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/12455
Reviewed-by: Nir Erez <nir.erez@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Remove BQL support from Gianfar. The original upstream
commit that added BQL to Gianfar does not revert cleanly:
"d8a0f1b gianfar: Add support for byte queue limits."
BQL has been integrated in Gianfar by the upstream comunity
with no clear reason why would it be required / how would it
benefit to this particular driver. Only a few drivers have it
integrated. BQL adds processing overhead to the Tx path and
potential functional issues as it may stop the transmission,
which could result in tx timeout.
Change-Id: I71e0a99d9616bf86dd98c795a927c89f881b4b08
Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/12254
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Jianhua Xie <jianhua.xie@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
If there was a error during the process operation the output of zero bytes
was still being allocated. This causes a trace to occur in vmalloc.
Skip allocating and copying output on error.
Signed-off-by: Jeffrey Ladouceur <Jeffrey.Ladouceur@freescale.com>
Change-Id: Ie4f0462902a15aae44a20a7de2478a6488da0e1d
Reviewed-on: http://git.am.freescale.net:8181/12426
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Roy Pledge <roy.pledge@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Modified test to cover SLIC loopback also. This test can
now be run for internal as well as external loopback. To
choose which test (internal/external) is to be executed
can be controlled by module param "in_loopback". When
in_loopback=1 test is configured for internal loopback,
when in_loopback=0 test is configured for external(SLIC)
loopback.
Signed-off-by: Sandeep Singh <sandeep@freescale.com>
Change-Id: I1244e9930e00ea7e17cff28f28e351814cc0d249
Reviewed-on: http://git.am.freescale.net:8181/12414
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
The workaround for erratum A-007907 is needed for T4080.
Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Change-Id: I249329c174b853f7f4cccb2dfcb51017d2a3f8de
Reviewed-on: http://git.am.freescale.net:8181/12437
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Xiaobo Xie <X.Xie@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Add 1588 timer node in file:
arch/powerpc/boot/dts/fsl/bsc9131si-post.dtsi
Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
Change-Id: I1dbbcab7ed38d136d3d8bd589adbf5e451db612c
Reviewed-on: http://git.am.freescale.net:8181/12433
Reviewed-by: Xiaobo Xie <X.Xie@freescale.com>
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Change-Id: I8acfcfe0da35031c20b55a67626f0fbe13a42246
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/12367
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Nir Erez <nir.erez@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Change-Id: I0080ab68d4658bf8eb855b6c4b43ed2526f2a878
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/12366
Reviewed-by: Nir Erez <nir.erez@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
|
|
Change-Id: I54409ee49f85935ced3f9c2038a8dfcc801e6f6e
Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/12365
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Nir Erez <nir.erez@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
In the case when KMs have no listeners, km_query() will fail and
temporary SAs are garbage collected immediately after their allocation.
This causes strain on memory allocation, leading even to OOM since
temporary SA alloc/free cycle is performed for every packet
and garbage collection does not keep up the pace.
The sane thing to do is to make sure we have audience before
temporary SA allocation.
Signed-off-by: Horia Geanta <horia.geanta@freescale.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Change-Id: I241fdd8133f4974aaf14a9bc12be089aaa1730ae
Reviewed-on: http://git.am.freescale.net:8181/12383
Reviewed-by: Marian Cristian Rotariu <marian.rotariu@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
|
|
|
|
Signed-off-by: Eyal Harari <Eyal.Harari@freesacle.com>
Change-Id: I2b775e3609510a0290e751adc1cf3726cf11904f
Reviewed-on: http://git.am.freescale.net:8181/12341
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
|
|
|
|
|
|
The patch "net: gianfar: do not try to cleanup TX packets if they are
not done" for 3.12-rt left out the return value for gfar_clean_tx_ring().
This would cause an error when building this module. Note, this module
does not build on x86 and was not tested because of that.
Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
The changes to move the migrate_disable() down in the trylocks()
caused race conditions to appear in the cpu hotplug code. The
migrate disables must be done before any of the rtmutexes are
taken, otherwise a lock may be held that prevents hotplug from
moving forward.
Link: http://lkml.kernel.org/r/20140429201308.63292691@gandalf.local.home
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Mike Galbraith <umgwanakikbuti@gmail.com>
Cc: Nicholas Mc Guire <der.herr@hofr.at>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: linux-rt-users <linux-rt-users@vger.kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: John Kacur <jkacur@redhat.com>
Cc: Clark Williams <williams@redhat.com>
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/n/tip-8vdw4bfcsds27cvox6rpb334@git.kernel.org
|
|
It uses anon semaphores
|drivers/md/bcache/request.c: In function ‘cached_dev_write_complete’:
|drivers/md/bcache/request.c:1007:2: error: implicit declaration of function ‘up_read_non_owner’ [-Werror=implicit-function-declaration]
| up_read_non_owner(&dc->writeback_lock);
| ^
|drivers/md/bcache/request.c: In function ‘request_write’:
|drivers/md/bcache/request.c:1033:2: error: implicit declaration of function ‘down_read_non_owner’ [-Werror=implicit-function-declaration]
| down_read_non_owner(&dc->writeback_lock);
| ^
either we get rid of those or we have to introduce them…
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
The ntp code for notify_cmos_timer() is called from a hard interrupt
context. schedule_delayed_work() under PREEMPT_RT_FULL calls spinlocks
that have been converted to mutexes, thus calling schedule_delayed_work()
from interrupt is not safe.
Add a helper thread that does the call to schedule_delayed_work and wake
up that thread instead of calling schedule_delayed_work() directly.
This is only for CONFIG_PREEMPT_RT_FULL, otherwise the code still calls
schedule_delayed_work() directly in irq context.
Note: There's a few places in the kernel that do this. Perhaps the RT
code should have a dedicated thread that does the checks. Just register
a notifier on boot up for your check and wake up the thread when
needed. This will be a todo.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
|
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
Completions have no long lasting callbacks and therefor do not need
the complex waitqueue variant. Use simple waitqueues which reduces the
contention on the waitqueue lock.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Merged Steven's
static void rcu_nocb_gp_cleanup(struct rcu_state *rsp, struct rcu_node *rnp) {
- swait_wake(&rnp->nocb_gp_wq[rnp->completed & 0x1]);
+ wake_up_all(&rnp->nocb_gp_wq[rnp->completed & 0x1]);
}
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
The function "swait_head_has_waiters()" was internalized into
wait-simple.c but it parallels the waitqueue_active of normal
waitqueue support. Given that there are over 150 waitqueue_active
users in drivers/ fs/ kernel/ and the like, lets make it globally
visible, and rename it to parallel the waitqueue_active accordingly.
We'll need to do this if we expect to expand its usage beyond RT.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
wait_queue is a swiss army knife and in most of the cases the
complexity is not needed. For RT waitqueues are a constant source of
trouble as we can't convert the head lock to a raw spinlock due to
fancy and long lasting callbacks.
Provide a slim version, which allows RT to replace wait queues. This
should go mainline as well, as it lowers memory consumption and
runtime overhead.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
smp_mb() added by Steven Rostedt to fix a race condition with swait
wakeups vs adding items to the list.
|