On Tuesday 10 June 2008 16:42:41 Vegard Nossum wrote: > This change comes from > > commit 353c409463ecba63c3a41a992d3f5fba935eada9 > Author: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> > Date: Fri May 23 19:02:30 2008 +0000 Ok, FUJITA Tomonori, please make sure a patch like the following goes into the same trees that you submitted commit 353c409 to. Also make sure to check b43legacy. I _guess_ you might have added the same bug there. Index: wireless-testing/drivers/net/wireless/b43/dma.c =================================================================== --- wireless-testing.orig/drivers/net/wireless/b43/dma.c 2008-06-10 13:58:22.000000000 +0200 +++ wireless-testing/drivers/net/wireless/b43/dma.c 2008-06-10 16:48:53.000000000 +0200 @@ -802,6 +802,7 @@ struct b43_dmaring *b43_setup_dmaring(st if (!ring) goto out; ring->type = type; + ring->dev = dev; nr_slots = B43_RXRING_SLOTS; if (for_tx) @@ -853,7 +854,6 @@ struct b43_dmaring *b43_setup_dmaring(st DMA_TO_DEVICE); } - ring->dev = dev; ring->nr_slots = nr_slots; ring->mmio_base = b43_dmacontroller_base(type, controller_index); ring->index = controller_index; > dma-mapping-add-the-device-argument-to-dma_mapping_error > > Add per-device dma_mapping_ops support for CONFIG_X86_64 as POWER > architecture does: > > This enables us to cleanly fix the Calgary IOMMU issue that some devices > are not behind the IOMMU (http://lkml.org/lkml/2008/5/8/423). > > I think that per-device dma_mapping_ops support would be also helpful for > KVM people to support PCI passthrough but Andi thinks that this makes it > difficult to support the PCI passthrough (see the above thread). So I > CC'ed this to KVM camp. Comments are appreciated. > > A pointer to dma_mapping_ops to struct dev_archdata is added. If the > pointer is non NULL, DMA operations in asm/dma-mapping.h use it. If it's > NULL, the system-wide dma_ops pointer is used as before. > > If it's useful for KVM people, I plan to implement a mechanism to register > a hook called when a new pci (or dma capable) device is created (it works > with hot plugging). It enables IOMMUs to set up an appropriate > dma_mapping_ops per device. > > The major obstacle is that dma_mapping_error doesn't take a pointer to the > device unlike other DMA operations. So x86 can't have dma_mapping_ops per > device. Note all the POWER IOMMUs use the same dma_mapping_error function > so this is not a problem for POWER but x86 IOMMUs use different > dma_mapping_error functions. > > The first patch adds the device argument to dma_mapping_error. The patch > is trivial but large since it touches lots of drivers and dma-mapping.h in > all the architecture. > > (Added to Cc.) > > > Vegard > -- Greetings Michael. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html