kernel_optimize_test/drivers/ntb
Joey Zhang a944ccc3b0 ntb_hw_switchtec: Fix setup MW with failure bug
Switchtec does not support setting multiple MWs simultaneously. The
driver takes a hardware lock to ensure that two peers are not doing this
simultaneously and it fails if someone else takes the lock. In most
cases, this is fine as clients only setup the MWs once on one side of
the link.

However, there's a race condition when a re-initialization is caused by
a link event. The driver will re-setup the shared memory window
asynchronously and this races with the client setting up it's memory
windows on the link up event.

To fix this we ensure do the entire initialization in a work queue and
signal the client once it's done.

Signed-off-by: Joey Zhang <joey.zhang@microchip.com>
Signed-off-by: Wesley Sheng <wesley.sheng@microchip.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
2019-06-13 08:59:31 -04:00
..
hw ntb_hw_switchtec: Fix setup MW with failure bug 2019-06-13 08:59:31 -04:00
test NTB: ntb_perf: Clear stale values in doorbell and command SPAD register 2019-06-13 08:58:05 -04:00
Kconfig NTB: Add ping pong test client 2015-07-04 14:07:42 -04:00
Makefile NTB: Add ping pong test client 2015-07-04 14:07:42 -04:00
ntb_transport.c NTB: ntb_transport: Ensure qp->tx_mw_dma_addr is initaliazed 2019-06-13 08:58:12 -04:00
ntb.c NTB: Set dma mask and dma coherent mask to NTB devices 2018-01-28 22:17:23 -05:00