Bugzilla – Bug 808
NETDEV_TX_BUSY returned when (re)loading driver
Last modified: 2006-01-07 03:51:47
You need to log in before you can comment on or make changes to this bug.
I've noticed that when I `modprobe -r ipw2200` and then `modprobe ipw2200` a minute or so later (with 1.0.7) I get: eth1: NETDEV_TX_BUSY returned; driver should report queue full via ieee_device->is_queue_full. The above message only appear once, and only upon reloading the driver.
I get the... eth1: NETDEV_TX_BUSY returned; driver should report queue full via ieee_device->is_queue_full. When doing a dhclient eth1, even if it has been loaded for hours already.
I booted my FC4 laptop and I saw this message in dmesg right after booting (which brings up my wireless interface). eth1: NETDEV_TX_BUSY returned; driver should report queue full via ieee_device->is_queue_full. kernel: 2.6.13-1.1532_FC4 ieee80211: 1.1.6 ipw2200: 1.0.8
I get them at boot time as well - upon the first modprobe of ipw2200.
Created an attachment (id=574) [details] patch to try
(In reply to comment #4) > Created an attachment (id=574) [edit] [details] > patch to try Works for me.
You can go ahead and close this bug. It also works for me.
I looked at the patch. It deletes the call to NETDEV_TX_BUSY and replaces it with nothing. I have no knowledge of the internals of this driver, so feel free to ignore me, but is just deleting it the right thing? In other words: 1. What problem was the call to NETDEV_TX_BUSY trying to solve in the first place? 2. Does that problem still exist? If (2.) is true, then deleting the call and replacing it with nothing isn't the answer. The error message says is basically saying that the kernel API has changed and now ieee_device->is_queue_full should be used instead. The proposed patch doesn't do that.
two problems in the driver: 1. we now have the ieee_device->is_queue_full interface, and it will be called at the beginning of ieee80211_xmit function. So no need to call it at the driver xmit function. 2. NETDEV_TX_BUSY happens to be 1, and in ipw_net_hard_start_xmit(), we will return 1 if the card is not associated, so the NETDEV_TX_BUSY message will appear even if queue is not full. Thanks, Hong
Marking as TESTED_PATCH_EXISTS for patch to be picked up
Works perfectly fine, thanks all!
Please push this patch to netdev for inclusion into Linus tree. THANKS!
ieee80211_crypt: unregistered algorithm 'NULL' ieee80211_crypt: registered algorithm 'NULL' ieee80211: 802.11 data/management/control stack, git-1.1.7 ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com> ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, git-1.0.8 ipw2200: Copyright(c) 2003-2005 Intel Corporation ACPI: PCI Interrupt 0000:02:02.0[A] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11 PCI: Enabling bus mastering for device 0000:02:02.0 ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection eth1: NETDEV_TX_BUSY returned; driver should report queue full via ieee_device->is_queue_full.
alejandro, could you test git-1.0.8 + the patch or just git-1.0.8
Mi, I'm already on git-1.0.8. Check the errors above. This patch does work against 1.0.8 tarball. Please push upstream. Let me know if you need me to test anything else.
need to be verified on the next version
Verified with ipw2200-1.0.9.