2024-06-11 13:54:32

by Johannes Berg

[permalink] [raw]
Subject: Re: iwlwifi: Regression after migrating to 6.6.32

Hi Fabio,

>
> I did as suggested:
>
> --- a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c
> +++ b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c
> @@ -266,7 +266,8 @@ static void iwl_pcie_rxmq_restock(struct iwl_trans *trans,
> list_del(&rxb->list);
> rxb->invalid = false;
> /* some low bits are expected to be unset (depending on hw) */
> - WARN_ON(rxb->page_dma & trans_pcie->supported_dma_mask);
> + WARN_ONCE(rxb->page_dma & trans_pcie->supported_dma_mask,
> + "rxb->offset is %d trans_pcie->rx_buf_bytes
> is %d\n", rxb->offset, trans_pcie->rx_buf_bytes);
>

> [ 5.038174] rxb->offset is 0 trans_pcie->rx_buf_bytes is 4096

so that looks pretty normal?

Might be useful to see rx->page_dma too, supported_dma_mask should be
4095 or 2047 depending on the device, but I'm not sure how you could end
up with a DMA mapping for a page that's not at least 11 bit aligned?

johannes