mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-03 09:04:21 +08:00
741a49a4dc
The dma related ...sync_sg... functions check the link state before the
dma function is actually called. But the check in smc_link_usable()
allows links in ACTIVATING state which are not yet mapped to dma memory.
Under high load it may happen that the sync_sg functions are called for
such a link which results in an debug output like
DMA-API: mlx5_core 0002:00:00.0: device driver tries to sync
DMA memory it has not allocated [device address=0x0000000103370000]
[size=65536 bytes]
To fix that introduce a helper to check for the link state ACTIVE and
use it where appropriate. And move the link state update to ACTIVATING
to the end of smcr_link_init() when most initial setup is done.
Reviewed-by: Ursula Braun <ubraun@linux.ibm.com>
Fixes:
|
||
---|---|---|
.. | ||
af_smc.c | ||
Kconfig | ||
Makefile | ||
smc_cdc.c | ||
smc_cdc.h | ||
smc_clc.c | ||
smc_clc.h | ||
smc_close.c | ||
smc_close.h | ||
smc_core.c | ||
smc_core.h | ||
smc_diag.c | ||
smc_ib.c | ||
smc_ib.h | ||
smc_ism.c | ||
smc_ism.h | ||
smc_llc.c | ||
smc_llc.h | ||
smc_netns.h | ||
smc_pnet.c | ||
smc_pnet.h | ||
smc_rx.c | ||
smc_rx.h | ||
smc_tx.c | ||
smc_tx.h | ||
smc_wr.c | ||
smc_wr.h | ||
smc.h |