mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-10 06:49:29 -04:00
iwlwifi: pcie: detect the DMA bug and warn if it happens
Warn if the DMA bug is going to happen. We don't have a good way of actually aborting in this case and we have workarounds in place for the cases where it happens, but in order to not be surprised add a safety-check and warn. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:
committed by
Luca Coelho
parent
c4a786b326
commit
c5a4e8eb68
@@ -231,6 +231,17 @@ static int iwl_pcie_gen2_set_tb(struct iwl_trans *trans,
|
||||
int idx = iwl_pcie_gen2_get_num_tbs(trans, tfd);
|
||||
struct iwl_tfh_tb *tb;
|
||||
|
||||
/*
|
||||
* Only WARN here so we know about the issue, but we mess up our
|
||||
* unmap path because not every place currently checks for errors
|
||||
* returned from this function - it can only return an error if
|
||||
* there's no more space, and so when we know there is enough we
|
||||
* don't always check ...
|
||||
*/
|
||||
WARN(crosses_4g_boundary(addr, len),
|
||||
"possible DMA problem with iova:0x%llx, len:%d\n",
|
||||
(unsigned long long)addr, len);
|
||||
|
||||
if (WARN_ON(idx >= IWL_TFH_NUM_TBS))
|
||||
return -EINVAL;
|
||||
tb = &tfd->tbs[idx];
|
||||
|
||||
Reference in New Issue
Block a user