On 01/09/2011 12:00 AM, Gabor Juhos wrote:
> Hi Ben,
>
>> From: Ben Greear<gree...@candelatech.com>
>>
>> This saves us constantly allocating large, multi-page
>> skbs.  It should fix the order-1 allocation errors reported,
>> and in a 60-vif scenario, this significantly decreases CPU
>> utilization, and latency, and increases bandwidth.
>>
>> Signed-off-by: Ben Greear<gree...@candelatech.com>
>> ---
>> :100644 100644 b2497b8... ea2f67c... M       
>> drivers/net/wireless/ath/ath9k/recv.c
>>   drivers/net/wireless/ath/ath9k/recv.c |   92 
>> ++++++++++++++++++++++-----------
>>   1 files changed, 61 insertions(+), 31 deletions(-)
>
> <...>
>
>> +            if (use_copybreak) {
>> +                    struct pci_dev *pdev = to_pci_dev(sc->dev);
>
> This would cause undefined behaviour with ath9k devices sitting on an AHB bus.
>
>> +                    pci_dma_sync_single_for_cpu(pdev, bf->bf_buf_addr,
>> +                                                len, PCI_DMA_FROMDEVICE);
>> +                    skb_copy_from_linear_data(bf->bf_mpdu, skb->data, len);
>> +                    pci_dma_sync_single_for_device(pdev, bf->bf_buf_addr,
>> +                                                   len, PCI_DMA_FROMDEVICE);
>
> Please use the bus agnostic equivalents of these DMA functions.

Any idea what that might be?

Should we just disable copybreak for things on AHB bus?

Thanks,
Ben

-- 
Ben Greear <gree...@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com
_______________________________________________
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel

Reply via email to