Search Linux Wireless

Re: brcmsmac hangs machine if loaded after busmastering disabled

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

 



On Wed, Apr 11, 2012 at 01:45:45PM +0200, Arend van Spriel wrote:
> On 03/19/2012 10:51 PM, Matthew Garrett wrote:
> >
> >I'm dealing with a platform with some buggy system firmware that enables
> >DMA on the wireless card and leaves it running even after OS handover,
> 
> From what you showed me we are dealing with a MacBook Air using
> UEFI. As our meeting was brief I may have misunderstood, but am I
> correct to say the wireless card is active with UEFI mode to allow
> wireless network selection for netboot or something like that?

Yes.

> I also assume the proper fix should be to have the system firmware
> shutdown the wireless device properly before OS handover. My guess
> is that the device is still doing DMA transfers to some physical
> address space which is OK in UEFI context but the OS has assigned it
> for something else.

That seems to be exactly the problem.

> >triggering memory corruption. I'm working around that by disabling bus
> >mastering on the device in the bootloader, but that results in the
> >system hanging during brcmsmac init. pci_set_master() is being called in
> >the bcma code, so it's nothing that straghtforward. Any idea what might
> >be going wrong here?
> >
> 
> You showed me a boot menu. So after selecting Fedora the system is
> moving to the grub bootloader first?

Yup.

> 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?

-- 
Matthew Garrett | mjg59@xxxxxxxxxxxxx
--
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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux