Messages in this thread | | | Date | Mon, 12 Apr 2010 14:47:08 +0200 | From | Andi Kleen <> | Subject | Re: USB transfer_buffer allocations on 64bit systems |
| |
On Mon, Apr 12, 2010 at 02:32:38PM +0200, Daniel Mack wrote: > Another detail I can't explain is that on his machine, the kernel oopses > when kmalloc() with GFP_DMA32 is used. The patch to try this also only > touched the allocation in sound/usb/caiaq/audio.c.
Where did it oops?
> > > > The only which solved this problem was the first patch sent to me by > > > Daniel Mack. I've been using it for days straight and it works fine. > > > > Can you send a full boot log? > > He just did. I put it online here: > > http://caiaq.de/download/tmp/pedro-dmesg
The system seems to set up the soft iotlb correctly.
[ 0.468472] PCI-DMA: Using software bounce buffering for IO (SWIOTLB) [ 0.468539] Placing 64MB software IO TLB between ffff880020000000 - ffff880024000000 [ 0.468610] software IO TLB at phys 0x20000000 - 0x24000000
Also if that was wrong a lot more things would go wrong.
I would suspect the driver. Are you sure:
- it sets up it's dma_masks correctly? - it uses pci_map_single/sg correctly for all transferred data?
-Andi
-- ak@linux.intel.com -- Speaking for myself only.
| |