Search Linux Wireless

Re: [PATCH/RFT] iwlagn: fix RX skb alignment

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

 



On Tue, Nov 18, 2008 at 2:52 AM, Johannes Berg
<johannes@xxxxxxxxxxxxxxxx> wrote:

> @@ -265,11 +265,14 @@ void iwl_rx_allocate(struct iwl_priv *pr
>                list_del(element);
>
>                /* Get physical address of RB/SKB */
> -               rxb->dma_addr = pci_map_single(priv->pci_dev, rxb->skb->data,
> -                          priv->hw_params.rx_buf_size, PCI_DMA_FROMDEVICE);
> +               rxb->real_dma_addr = pci_map_single(priv->pci_dev, rxb->skb->data,
> +                          priv->hw_params.rx_buf_size + 256, PCI_DMA_FROMDEVICE);
>
> -               /* RBD must be 256 bytes aligned and no more than 36 bits */
> -               BUG_ON(rxb->dma_addr & (~DMA_BIT_MASK(36) & 0xff));
> +               /* dma address must be no more than 36 bits */
> +               BUG_ON(rxb->real_dma_addr & ~DMA_BIT_MASK(36));
> +               /* and also 256 byte aligned! */
> +               rxb->aligned_dma_addr = ALIGN(rxb->real_dma_addr, 256);

aligned_dma_addr can obviously be > real_dma_addr at this point, what
gaurantees we can use it on our own whim?

  Luis
--
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 Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux