Ticket #1428 (closed defect: fixed)

Opened 1 year ago

Last modified 10 months 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.

Add/Change #1428 (ath_hardstart returns 0 even if queue is full)