Re: No dma_sync_* during pci_probe? (Sparc, post 2.6.22 regression)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Stefan Richter <[email protected]>
Date: Tue, 18 Dec 2007 00:53:03 +0100

> The fault happens due to dma_sync_single_for_device() which
> drivers/firewire/fw-ohci.c calls in ar_context_add_page() when still
> being in its pci_probe method.  I suspect that --- at least on Sparc and
> after 2.6.22 --- it is not possible anymore to use dma_sync_* before the
> pci_device's or device's probe was finished.
> 
> Would that be a bug in the Sparc platform code?  Or a bug in driver core
> code or in PCI code?  Or am I expected to refrain from dma_sync_* calls
> until after the probe returned?

The problem is likely what device struct you are passing to
dma_sync_single_for_device(), it has to be a real pci_dev or similar
that has it's dev_archdata properly initialized.

I bet dev_archdata in whatever "struct device" is being passed in has
a NULL iommu pointer or something like that.

Oh yeah, I see what you're doing, that won't work, please pass in
the correct device struct pointer.  Please pass in the &pci_dev->dev
not this ohci->card.device thing.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux