Please note: This project is no longer active. The website is kept online for historic purposes only.
If you´re looking for a Linux driver for your Atheros WLAN device, you should continue here .

Ticket #2431 (new defect)

Opened 4 years ago

Last modified 4 years ago

bus_unmap_single gets called with wrong length on some tx code paths

Reported by: ilya@total-knowledge.com Assigned to:
Priority: critical Milestone:
Component: madwifi: driver Version: trunk
Keywords: Cc:
Patch is attached: 1 Pending: 0

Description

I've run into a problem with madwifi trunk, running on arm platform. Following sequence of events leads to an oops.

Two machines are configured using commands below (one as sta, one as an AP)

wlanconfig ath0 create wlandev wifi0 wlanmode $MODE iwconfig ath0 channel 149 essid something; ifconfig ath0 up brctl addbr br0 brctl addif br0 ath0; brctl addif br0 eth0 ifconfig br0 $IP

After that some data passes around the station crashes while trying to unmap data after TX processing.

Attached patch fixes the problem.

Note: I'm running linux-2.6.35.4, on ixp465-based platform. eth0 is running ixp4xx-eth driver which ships with the kernel. I do not know if the condition is reproducible with other hardware/software combinations.

Attachments

track-dma-mapping-size.diff (5.9 kB) - added by ilya@total-knowledge.com on 10/31/10 09:54:07.
the fix

Change History

10/31/10 09:54:07 changed by ilya@total-knowledge.com

  • attachment track-dma-mapping-size.diff added.

the fix

(in reply to: ↑ description ) 10/31/10 09:57:51 changed by anonymous

Oops. I failed to format code properly It should look like this:

wlanconfig ath0 create wlandev wifi0 wlanmode $MODE
iwconfig ath0 channel 149 essid something; ifconfig ath0 up
brctl addbr br0
brctl addif br0 ath0
brctl addif br0 eth0
ifconfig br0 $IP

($MODE and $IP are, obviously, different between the two machines)