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, 2008-11-18 at 09:57 +0800, Zhu Yi wrote:

> We do suspect the 256 alignment requirement will be an issue. Thus we do
> let people can reproduce this problem check with it. See comment #21,
> #22, #23 in bug
> http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1703. The
> result is people still see this problem even the DMA address is 256
> bytes aligned.

Ok. Reading those comments, I wouldn't be too sure that he still ran
into it without the alignment warning, since he said he missed some
messages. Remember that the driver posts a whole bunch of RX buffers at
init time (I saw this, it filled way more than my screen when printing
just a line for each buffer) and then doesn't do much for quite a while
until you turn on wireless, and the driver might init earlier than other
things so he may have missed those messages. Anyway, hard to tell, hence
me asking if this patch fixes it.

Thanks for the review, you're right about the two missing +256.

Anyone who wants to try it before one of us posts a fixed version should
fix their version as below, I need to get some sleep.

> > @@ -302,7 +305,7 @@ void iwl_rx_queue_free(struct iwl_priv *
> >  	for (i = 0; i < RX_QUEUE_SIZE + RX_FREE_BUFFERS; i++) {
> >  		if (rxq->pool[i].skb != NULL) {
> >  			pci_unmap_single(priv->pci_dev,
> > -					 rxq->pool[i].dma_addr,
> > +					 rxq->pool[i].real_dma_addr,
> >  					 priv->hw_params.rx_buf_size,
> 
> priv->hw_params.rx_buf_size + 256.
> 
> >  					 PCI_DMA_FROMDEVICE);
> >  			dev_kfree_skb(rxq->pool[i].skb);
> > @@ -370,7 +373,7 @@ void iwl_rx_queue_reset(struct iwl_priv 
> >  		 * to an SKB, so we need to unmap and free potential storage */
> >  		if (rxq->pool[i].skb != NULL) {
> >  			pci_unmap_single(priv->pci_dev,
> > -					 rxq->pool[i].dma_addr,
> > +					 rxq->pool[i].real_dma_addr,
> >  					 priv->hw_params.rx_buf_size,
> >  					 PCI_DMA_FROMDEVICE);
> >  			priv->alloc_rxb_skb--;
> 
> ditto.

johannes

Attachment: signature.asc
Description: This is a digitally signed message part


[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