Search Linux Wireless

Re: [PATCH 2/4 v2] iwlwifi: fix the Transmit Frame Descriptor rings

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

 



On Fri, May 11, 2012 at 2:50 PM, Johannes Berg
<johannes@xxxxxxxxxxxxxxxx> wrote:
> From: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
>
> The logic that allows to have a short TFD queue was completely wrong.
> We do maintain 256 Transmit Frame Descriptors, but they point to
> recycled buffers. We used to attach and de-attach different TFDs for
> the same buffer and it worked since they pointed to the same buffer.
>
> Also zero the number of BDs after unmapping a TFD. This seems not
> necessary since we don't reclaim the same TFD twice, but I like
> housekeeping.
>
> This patch solves this warning:
>
> [ 6427.079855] WARNING: at lib/dma-debug.c:866 check_unmap+0x727/0x7a0()
> [ 6427.079859] Hardware name: Latitude E6410
> [ 6427.079865] iwlwifi 0000:02:00.0: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0x00000000296d393c] [size=8 bytes]
> [ 6427.079870] Modules linked in: ...
> [ 6427.079950] Pid: 6613, comm: ifconfig Tainted: G           O 3.3.3 #5
> [ 6427.079954] Call Trace:
> [ 6427.079963]  [<c10337a2>] warn_slowpath_common+0x72/0xa0
> [ 6427.079982]  [<c1033873>] warn_slowpath_fmt+0x33/0x40
> [ 6427.079988]  [<c12dcb77>] check_unmap+0x727/0x7a0
> [ 6427.079995]  [<c12dcdaa>] debug_dma_unmap_page+0x5a/0x80
> [ 6427.080024]  [<fe2312ac>] iwlagn_unmap_tfd+0x12c/0x180 [iwlwifi]
> [ 6427.080048]  [<fe231349>] iwlagn_txq_free_tfd+0x49/0xb0 [iwlwifi]
> [ 6427.080071]  [<fe228e37>] iwl_tx_queue_unmap+0x67/0x90 [iwlwifi]
> [ 6427.080095]  [<fe22d221>] iwl_trans_pcie_stop_device+0x341/0x7b0 [iwlwifi]
> [ 6427.080113]  [<fe204b0e>] iwl_down+0x17e/0x260 [iwlwifi]
> [ 6427.080132]  [<fe20efec>] iwlagn_mac_stop+0x6c/0xf0 [iwlwifi]
> [ 6427.080168]  [<fd8480ce>] ieee80211_stop_device+0x5e/0x190 [mac80211]
> [ 6427.080198]  [<fd833208>] ieee80211_do_stop+0x288/0x620 [mac80211]
> [ 6427.080243]  [<fd8335b7>] ieee80211_stop+0x17/0x20 [mac80211]
> [ 6427.080250]  [<c148dac1>] __dev_close_many+0x81/0xd0
> [ 6427.080270]  [<c148db3d>] __dev_close+0x2d/0x50
> [ 6427.080276]  [<c148d152>] __dev_change_flags+0x82/0x150
> [ 6427.080282]  [<c148e3e3>] dev_change_flags+0x23/0x60
> [ 6427.080289]  [<c14f6320>] devinet_ioctl+0x6a0/0x770
> [ 6427.080296]  [<c14f8705>] inet_ioctl+0x95/0xb0
> [ 6427.080304]  [<c147a0f0>] sock_ioctl+0x70/0x270
>
> Cc: stable@xxxxxxxxxxxxxxx
> Reported-by: Antonio Quartulli <ordex@xxxxxxxxxxxxx>
> Tested-by: Antonio Quartulli <ordex@xxxxxxxxxxxxx>
> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx>
> Reviewed-by: Wey-Yi W Guy <wey-yi.w.guy@xxxxxxxxx>
> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
> ---
> v2: rebased onto wireless.git rather than wireless-testing.git, sorry!
>

Tested-by: Sedat Dilek <sedat.dilek@xxxxxxxxx>
--
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 Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux