lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4740F9A6.1030802@lwfinger.net>
Date:	Sun, 18 Nov 2007 20:49:10 -0600
From:	Larry Finger <larry.finger@...inger.net>
To:	Arjan van de Ven <arjan@...radead.org>
CC:	LKML <linux-kernel@...r.kernel.org>,
	Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: Regression in 2.6.24-rc3 - 64-bit DMA fails for BCM94311MCG rev
 02

Arjan van de Ven wrote:
> On Sun, 18 Nov 2007 18:04:51 -0600
> Larry Finger <Larry.Finger@...inger.net> wrote:
> 
>> I get a failure of 64-bit DMA on a BCM94311MCG rev 02 wireless
>> interface running on x86_64 using an AMD Turion 64 X2 processor on an
>> HP Pavilion dv2125nr laptop. The error code indicates that the
>> interface is getting a descriptor read error, even though the
>> descriptor ring and all the DMA buffers have been checked when
>> allocated. This particular card version is newly supported; however,
>> it was working correctly on 2.6.24-rc2.
>>
> 
> 
> worth adding a pci_set_dma_mask(pdev, DMA_32BIT_MASK); in the driver,
> just after pci_enable_device(); (also check if there's other
> pci_set_dma_mask functions, to make sure it doesn't get set back to 64
> bit)

The hardware for this driver comes in 30-, 32-, and 64-bit flavors. After determining which flavor
we have, the driver sends that information to the ssb driver, which actually handles the PCI
enabling. For the device that fails, I'm passing DMA_BIT_MASK(64) to the appropriate routine in ssb,
which calls dma_supported() with that mask. There are no other calls to any of the dma or pci mask
routines. I changed the dma_supported() to a set_dma_mask(), but it didn't make any difference. My
32-bit device works OK - just the 64-bit one fails.

Larry


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ