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 #1428 (closed defect: fixed)

Opened 12 years ago

Last modified 12 years ago

ath_hardstart returns 0 even if queue is full

Reported by: hannemann@i4.informatik.rwth-aachen.de Assigned to:
Priority: minor Milestone: version 0.9.5
Component: madwifi: driver Version: trunk
Keywords: requeue, qdisc, NETDEV_TX_BUSY, ath_hardstart Cc:
Patch is attached: 1 Pending:

Description

ath_hardstart is registered as hard_start_xmit in net_device structure. It is called from the kernel to queue packets for transmit. However ath_hardstart returns 0 even if the internal madwifi queue is full and discards the skb. This is bad because this does not allow the root qdisc of the madwifi device to requeue. The correct behaviour would be to return 1 (NETDEV_TX_BUSY) to signal the kernel that the TX path is busy (internal queue is full).

The attached patch fixes the return value of ath_hardstart in case of a full internal queue. Furthermore it uses the appropriate constants from netdevice.h.

Signed-off-by: Arnd Hannemann <hannemann@i4.informatik.rwth-aachen.de>

Attachments

fix_returncodes_of_ath_hardstart.patch (1.5 kB) - added by hannemann@i4.informatik.rwth-aachen.de on 07/03/07 10:59:16.
[PATCH] fix return codes ath_hardstart

Change History

07/03/07 10:59:16 changed by hannemann@i4.informatik.rwth-aachen.de

  • attachment fix_returncodes_of_ath_hardstart.patch added.

[PATCH] fix return codes ath_hardstart

07/03/07 19:12:19 changed by mentor

  • status changed from new to closed.
  • resolution set to fixed.
  • milestone set to version 0.9.4.

02/11/08 06:20:37 changed by mrenzmann

  • milestone changed from version 0.9.4 to version 0.9.5.