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

From: Dan Williams
Date: Thu Jul 01 2010 - 03:26:29 EST


On 7/1/2010 12:12 AM, Woodhouse, David wrote:
On Thu, 2010-07-01 at 07:51 +0100, Williams, Dan J wrote:
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?

That just means we have to get the quirk right. Does 'this version' of
the device have its own PCI ID? We can always fall back to checking the
ID of the device at 0000:00:00.0 to check which chipset we're on.


PCI_DEVICE_ID_INTEL_IOAT_SNB only exists on this chipset and to date only "MacPro3,1" platforms have this problem.

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.

Please use WARN_TAINT(TAINT_FIRMWARE_WORKAROUND). That way the
statistics end up in kerneloops.org and we have found that extremely
useful when LARTing the offending vendors.


Good to know, thanks.

--
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/