summaryrefslogtreecommitdiff
path: root/drivers/pci/slot.c
diff options
context:
space:
mode:
authorHelmut Schaa <helmut.schaa@googlemail.com>2010-04-15 09:13:35 +0200
committerJohn W. Linville <linville@tuxdriver.com>2010-04-16 15:32:00 -0400
commit745b1ae31ba6644a943ec2b6da2d03f00d8b2dd2 (patch)
tree09943fff439ab35fd40b222a35627bcdb0dc42aa /drivers/pci/slot.c
parent410866930ea1929b0fdfb533dd84ddaa234b06e4 (diff)
rt2x00: rt2800pci: fix tx path by not accessing the skb after it was DMA mapped
rt2800pci used the callback write_tx_desc to write the tx descriptor but also to update the txwi which is part of the dma mapped skb. Since the memory was already DMA mapped _before_ the call to write_tx_desc the device didn't get the txwi data at all or only sporadically. The call order is basically as follows (from rt2x00queue.c): 1) write_tx_data 2) rt2x00queue_map_txskb 3) write_tx_desc Hence, we shouldn't touch the skb in write_tx_desc anymore. To fix this issue create a new rt2800pci_write_tx_data callback and use it for updating the txwi _before_ the memory gets DMA mapped. The tx descriptor is still written (as before) in write_tx_desc. This patch allows basic TX on an rt305x soc device but I'm pretty sure that it will fix pci based cards as well. I can associate just fine with an AP now but I wasn't able to get a wpa secured connection working yet. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/pci/slot.c')
0 files changed, 0 insertions, 0 deletions