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.
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev

Reply via email to