On 04/18/2012 02:34 PM, Matthew Garrett wrote:
On Wed, Apr 18, 2012 at 01:32:39PM +0200, Arend van Spriel wrote:
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.
Yeah, I can get away with putting generic PCI operations in the
bootloader, but a specific Broadcom driver is probably going a bit
far...
Only as an experiment you could try to reset the device toggling the
pci power state.
Should putting the PCI device in D3 be sufficient for this, or would I
also need to touch any state in the 802.11 core?
I am not sure, but D3 is a good guess. It is all a workaround as the
real fix should be in Apple's UEFI implementation. I think it is
unlikely we can make them do that although we probably supplied them the
wireless part.
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