On Mon, 21 Jul 2008 11:21:39 -0400
Prarit Bhargava <prarit@xxxxxxxxxx> wrote:
FUJITA Tomonori wrote:
On Mon, 21 Jul 2008 10:15:22 -0400I hit this by declaring a device struct and not declaring a value for dev->dma_parms->segment_boundary_mask.
Prarit Bhargava <prarit@xxxxxxxxxx> wrote:
(This didn't appear on LKML or any of the mirrors ... trying again)Did you actually hit this? pci-gart_64.c is used only by X86_64.
It is possible that alloc_iommu()'s boundary_size overflows as
dma_get_seg_boundary can return 0xffffffff. In that case, further usage of
boundary_size triggers a BUG_ON() in the iommu code.
What do you mean? You set dev->dma_params but does't set
dev->dma_parms->segment_boundary_mask? If so, you need to fix your
code. If you set dev->dma_parms, dma_parms needs to be initialized
properly.