On 04/11/2012 01:51 PM, Matthew Garrett wrote:
On Wed, Apr 11, 2012 at 01:45:45PM +0200, Arend van Spriel wrote:
Are you disabling bus master or the entire wireless device? Could
you try disabling the device in the bootloader, ie.
pci_disable_device() or something equivalent.
I'm just disabling the bus mastering. Do you expect there to be a
behavioural difference in the core if I disable BAR decoding as well?
I discussed this with hardware designer and here is his quote "You would
need to disable the DMA engines before disable PCIe master mode. If you
didn't do that, and the DMA engines were active, the MAC would almost
certainly hang."
So disabling the master mode solved your memory corruption, but the chip
will hang. The DMA engines mentioned are the on-chip engines. As you
indicated you can only use common PCI operations so I do not expect
disabling BAR decoding will solve the hang in the chip.
Only as an experiment you could try to reset the device toggling the pci
power state.
Gr. AvS
--
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