Re: BUG in drivers/dma/ioat/dma_v2.c:314

From: Dan Williams
Date: Thu Jul 01 2010 - 02:51:56 EST


On 6/30/2010 11:21 PM, Woodhouse, David wrote:
On Wed, 2010-06-30 at 22:44 +0100, Williams, Dan J wrote:
I don't see a way around this beyond blacklisting this (platform, vt-d
setting, driver) combination. Is there a quirk infrastructure for this
sort of problem?

Yeah, kind of. If the IOAT PCI device _always_ has its own IOMMU, we
could have a quirk for it which says it must _never_ be matched by a
catch-all IOMMU. That would probably solve it?


This version of the device only exists on the 5400 chipset and always has its own iommu, but since other platforms get the DMAR entry right I think this hammer is too big? Wouldn't this break VT-d operation on non-busted platforms?

Alternatively I can just catch this failure earlier in the init process and fail the driver load with a grumble printk about broken bios... instead of the current BUG_ON() that is meant to catch runtime catastrophes.

--
Dan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/