On Thursday 03 July 2008 18:30:18 Felipe Maya wrote: > Hi, I have applied this patch and i tested on a wl500gpv2 (BCM5354). The > following part disable the ethernet device. If this part of the patch is > restored the device work ok. Well, I would say your architecture is pretty broken then. This patch replaces an incorrect manual DMA mask setting by a call to the official API. Please report this to your archtitecture maintainer. > > -int ssb_dma_set_mask(struct ssb_device *ssb_dev, u64 mask) > > +int ssb_dma_set_mask(struct ssb_device *dev, u64 mask) > > { > > - struct device *dma_dev = ssb_dev->dma_dev; > > - int err = 0; > > + int err; > > > > -#ifdef CONFIG_SSB_PCIHOST > > - if (ssb_dev->bus->bustype == SSB_BUSTYPE_PCI) { > > - err = pci_set_dma_mask(ssb_dev->bus->host_pci, mask); > > + switch (dev->bus->bustype) { > > + case SSB_BUSTYPE_PCI: > > + err = pci_set_dma_mask(dev->bus->host_pci, mask); > > if (err) > > return err; > > - err = pci_set_consistent_dma_mask(ssb_dev->bus->host_pci, mask); > > + err = pci_set_consistent_dma_mask(dev->bus->host_pci, mask); > > return err; > > + case SSB_BUSTYPE_SSB: > > + return dma_set_mask(dev->dev, mask); > > + default: > > + __ssb_dma_not_implemented(dev); > > } > > -#endif > > - dma_dev->coherent_dma_mask = mask; > > - dma_dev->dma_mask = &dma_dev->coherent_dma_mask; > > - > > - return err; > > + return -ENOSYS; > > } > > EXPORT_SYMBOL(ssb_dma_set_mask); > > > > -- 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